Articles of 机器人工作室

为什么Gradle只包含来自我的库的具有项目依赖性的类

我正在构build一个依赖于自定义库的Android应用程序,当我使用项目依赖项时,Gradle只会包含我的自定义库,而不是当我使用文件依赖项来包含库的jar文件时。 我正在用API levee 19 SDK构build我的应用程序和库。 从build.gradle失败的dependencies部分: dependencies { compile 'com.android.support:appcompat-v7:+' compile files('libs/MyLibrary.jar') } 如果我使用上面的dependencies部分,没有任何MyLibrary.jar中的类包含在构buildapk文件中,通过提取其classes.dex和运行dexdump来validation。 我还validation了所有的类都存在于我正在使用的jar文件中。 如果我使用下面的dependencies部分,那么MyLibrary中的所有类都包含在apk文件中: dependencies { compile 'com.android.support:appcompat-v7:+' compile project(':MyLibrary') } 我使用的是Android Studio 0.4.0,Gradle 1.9,我认为Gradle插件0.7.1。 这里发生了什么? 我真的想build立我的应用程序的API级别18 sdk来testing兼容性,但我不能得到那个工作,除非我能够使用我的库的jar文件。

Eclipse到Android Studio导入

我正在按照Android官方网站的build议将所有源代码移动到AS。 但是,这个经验不是很好。 这里描述的非常缓慢。 但是现在这不是我最终的问题。 我已经解决了很多问题,比如将compileSdkVersion更新为23,这样99个这样的错误: 错误:(13)检索项目的父项时出错:找不到与给定名称“android:TextAppearance.Material.Inverse”相匹配的资源。 可以纠正。 但是随着问题的不断出现, 现在我有这个64k Dex的问题。 错误:.dex文件中的方法引用数量不能超过64K。 通过https://developer.android.com/tools/building/multidex.html了解如何解决此问题 使用Eclipse时我从来没有这个Dex问题。 我在AS中的源代码与在Eclipse的源代码完全一样。 唯一的区别是只需要在AS上工作的那些gradle变更。 任何想法为什么这突如其来的问题? 如果我将multiDexEnabled设置为true ,会有什么影响?

Android Studio XML布局文件存在,但我找不到它

我想在Android Studio中创build一个Fragment ,所以我做了以下步骤: 右键单击包 新 – > Android(其他) – >片段(列表) 检查两个包括片段工厂方法? 并在大屏幕上切换到网格视图 描述说: “创build一个新的片段,包含一个列表,在大屏幕上可以select更改为网格。” 下面是有趣的部分:当我正在阅读代码来理解这个切换是如何完成的,我找不到任何代码来切换XML文件或任何东西。 我发现的唯一奇怪的事情是用于Adapter的XML被称为R.layout.fragment_item , 但是在我的布局文件夹中没有像这样的XML。 有2个名为R.layout.fragment_item_list和R.layout.fragment_item_grid XML。 所以我虽然“嘿,也许在内部框架自动决定是否去 _grid 或 _list ,这就是为什么它不标记 R.layout.fragment_item 它不存在” 当我读完代码后,我从布局文件夹中删除了R.layout.fragment_item_list和R.layout.fragment_item_grid ,并猜测是什么? R.layout.fragment_item 不被标记为不存在,并且在我的Layout文件夹中没有这样的文件。 我已经去build设>清洁和build设>重build项目 ,它仍然标记为存在。 我在这里错过了什么? 听起来像有一些基本的东西我没有考虑到。

Android工作室 – Gradle – GitHub回购

有没有人有一个想法,如果有可能使用github回购作为依赖,没有它被发布到maven中央。 比方说,我正在开发一个拥有自己的github回购的Android库。 我希望能够“编译”这个库有gradle依赖项,在我的android studio项目中,而不必发布到maven central(至less现在是这样)。 换句话说:我想使用一个不在Maven中心的依赖。 这是一个直的github回购(一个也使用gradle的android库)。 我想我的build.gradle做这样的事情: dependencies { // Google Play Services (normal dependency) compile "com.google.android.gms:play-services:5.2.08" // The library I want to pull from github compile "path_to_my_github_repo" } 谢谢!

如何将Android Studio(1.0)项目导入Intellij 14 Ultimate

我有一个Android Studio项目,我想开始使用Intellij 14 Ultimate来利用它提供的一些很酷的function。 当我尝试打开我的项目时,我收到一条消息: Gradle同步 Android Gradle插件的1.0.0-rc4版本需要Gradle null或更新。 没有发现当地的Gradle分布…. 点击“确定”使用Gradle包装器。 我点击确定,它会尝试同步,但失败。 这是错误控制台说: Gradle版本2.2是必需的。 当前版本是2.1。 如果使用gradle包装,请尝试编辑〜gradle-wrapper.properties〜中的distributionUrl 我修改文件点击“再试一次” 什么都没发生。 以下是日志文件中的内容: 2014-12-13 09:40:23,845 [ 572317] ERROR – llij.ide.plugins.PluginManager – null java.lang.AssertionError at com.android.tools.idea.gradle.project.PreSyncChecks.attemptToUpdateGradleVersionInWrapper(PreSyncChecks.java:175) at com.android.tools.idea.gradle.project.PreSyncChecks.ensureCorrectGradleSettings(PreSyncChecks.java:72) at com.android.tools.idea.gradle.project.PreSyncChecks.canSync(PreSyncChecks.java:53) at com.android.tools.idea.gradle.project.GradleProjectImporter.doImport(GradleProjectImporter.java:439) at com.android.tools.idea.gradle.project.GradleProjectImporter.doRequestSync(GradleProjectImporter.java:219) at com.android.tools.idea.gradle.project.GradleProjectImporter.access$000(GradleProjectImporter.java:77) at com.android.tools.idea.gradle.project.GradleProjectImporter$2.run(GradleProjectImporter.java:184) at com.intellij.ui.AppUIUtil.invokeLaterIfProjectAlive(AppUIUtil.java:77) at com.android.tools.idea.gradle.project.GradleProjectImporter.requestProjectSync(GradleProjectImporter.java:191) at com.android.tools.idea.gradle.project.GradleProjectImporter.requestProjectSync(GradleProjectImporter.java:166) at com.android.tools.idea.editors.ProjectSyncStatusNotificationProvider$ProjectImportFailedNotificationPanel$1.run(ProjectSyncStatusNotificationProvider.java:105) at com.intellij.ui.EditorNotificationPanel$2.hyperlinkActivated(EditorNotificationPanel.java:95) at com.intellij.ui.HyperlinkAdapter.hyperlinkUpdate(HyperlinkAdapter.java:28) […]

我的设置活动的布局文件在哪里?

我使用了Settings Activity模板来在android studio中创build一个新的活动。 创build它之后,我找不到活动的布局文件。 我在哪里可以find布局文件? 如果Settings Activity模板没有布局文件,如何更改其内容? Android工作室还创build了一个名为xml的新文件夹,这与设置活动有什么关系吗?

每个模块必须有一个独特的path

我使用GIT从版本控制导入了一个项目。 导入后,同步和所有这一切,给了我这个错误: 错误:模块的“LinkedCraftMobile”,“linkedcraft_android”指向文件系统中的相同目录。 每个模块必须有一个独特的path。 我想要一个可以使用Android Studio直接使用GIT更新的模块。

在android studio中,如何在一个窗口中打开多个项目?

我正在尝试谷歌的Android工作室。 在eclipse中,我可以在一个窗口下打开多个项目。 这是一个在android studio中做到这一点的方法吗?

Android项目在部署时显示重复的应用程序

我的目录结构如下: Project –libraries —-volley –myapplication —-libs ——android-support-v4.jar ——etc.jar Volley是一个导入的图书馆项目。 一切都运行良好的应用程序,但是当它安装,2个不同的应用程序显示在Android应用程序列表中具有相同的名称和图标。 其中一个按预期工作,另一个似乎是一些空的活动,并执行时崩溃的错误: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapplication/com.libs.volley.ACTIVITY_ENTRY_NAME}: java.lang.ClassNotFoundException: Didn't find class "com.libs.volley.ACTIVITY_ENTRY_NAME" on path: /data/app/com.example.myapplication-1.apk 我试过清理和重build和从设备本身卸载,无济于事。 我想要做的就是摆脱这个额外的应用程序。 AndroidManifest.xml中 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapplication" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-feature android:name="android.hardware.camera.front" […]

Android Studio:一段时间后无法编辑文件

我刚刚安装了Android Studio,我有一个问题: 经过一段时间的工作,我无法编辑文件,我不得不重新启动IDE编辑一段时间了。 这非常烦人 有没有办法解决这个问题? 我在谷歌上看到其他人几乎有同样的问题(主要是在Ubuntu),但我没有find任何解决scheme,除了一个临时的:如果我点击滚动条的文件,我可以再次编辑,但如果我改变文件或者做其他任何事情,问题将再次被触发; 所以实际的问题是编辑没有通过点击来获得焦点。 我在Windows 8.1上。