自从我更新到Android Studio 1.3以来,我遇到了一个非常奇怪的问题。当我尝试启动我的应用时,它会告诉我:
“Gradle 2.4需要Android Gradle插件1.2.0(或更新版本),但项目使用的是1.0.0版本。请使用Android Gradle插件1.2.0或更新版本。”
当我点击“修复插件版本和同步项目”时,它会在我的build.gradle文件中更改此内容
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
到此:
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
但由于此资源(在我的sw600dp / config.xml文件中),我无法启动我的应用程序:
<item name="is_tablet" type="bool">true</item>
它表示此资源已在自动生成的文件“values-sw600dp-v13 / values.xml”中定义:
<resources>
<!-- From: file:.../src/main/res/values-sw600dp/config.xml -->
<eat-comment/>
<item name="is_tablet" type="bool">true</item>
</resources>
(它说,当我打开这个文件时,“构建文件夹下的文件已经生成,不应该被编辑”)。
如果我在sw600dp / config.xml文件中注释资源,它可以工作,但之前有效,它不应该说已经定义了!它在我的所有应用程序中都可以实现!
我已经尝试过:
失败:构建因异常而失败。
出了什么问题: 任务':app:processDebugResources'的执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'命令'/Users/tapptic/Library/Android/sdk/build-tools/21.1.2/aapt' '完成了非零退出值1
我还尝试过“文件&gt;无效缓存/重启”
这些都不起作用!
我该怎么办?
(我正在使用MAC)
提前多多感谢!
答案 0 :(得分:3)
这是因为AAPT如何破坏资源的变化,如果在项目中可能包含的任何库中存在具有相同名称的资源(仅.aar依赖项可以包含资源),则会失败。
解决方案是找出冲突的来源并将其从项目中排除。