无法使用Android Studio 1.3进行编译,gradle表示资源已经定义

时间:2015-08-04 07:56:00

标签: android android-studio gradle

自从我更新到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)

提前多多感谢!

1 个答案:

答案 0 :(得分:3)

这是因为AAPT如何破坏资源的变化,如果在项目中可能包含的任何库中存在具有相同名称的资源(仅.aar依赖项可以包含资源),则会失败。

解决方案是找出冲突的来源并将其从项目中排除。