【问题标题】:AAPT2 Compile time error Android StudioAAPT2 编译时错误 Android Studio
【发布时间】:2018-01-01 18:29:51
【问题描述】:

我已经很好地使用了 Android Studio 很长时间了,但是当我尝试在我的布局文件中使用 CardView 时。

Information:Gradle tasks [:app:assembleDebug]
/Users/professori/.gradle/caches/transforms-1/files-1.1/cardview-v7-25.0.0.aar/1cf3ea204bf2d379f4a71d608f48a715/res/values/values.xml
Error:(18, 5) error: expected color reference but got (raw string) #000t.
/Users/professori/Projects/house/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
Error:(2146) expected color reference but got (raw string) #000t.
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 19s
Information:7 errors
Information:0 warnings
Information:See complete output in console

我正在使用各自支持库的buildToolsVersion 27.0.1v26.1.0。我的gradle 版本是3.0.1。

我曾多次尝试清理项目,甚至重新启动 Android Studio,但都没有帮助。一些 StackOverflow 答案建议在 gradle.properties 中禁用 aapt2 ,但这只会带来一些我不想涉及的问题。

是否有永久解决此问题的方法?现在在我正在进行的 2 个独立项目中发生了两次。

【问题讨论】:

  • 看起来这个库正在尝试使用“#000t”作为颜色,但这不是一个有效的代码。可以查看XML文件(/Users/professori/.gradle/caches/transforms-1/files-1.1/cardview-v7-25.0.0.aar/1cf3ea204bf2d379f4a71d608f48a715/res/values/values.xml),找到哪个资源使用了不正确的颜色并在您自己的应用中覆盖它以修复此错误。
  • 关于哪个资源使用了无效颜色的任何更新?

标签: android android-resources aapt2


【解决方案1】:

我认为颜色代码有问题您使用的是“#000t” 在重建后使用正确的颜色代码,如果没有,这将起作用,然后尝试以下解决方案

1:- 从您的代码中删除所有不必要的 XML 文件

2:- 重新打开并检查 XML 文件

清理并重建项目

如果还有问题

去你的 gradle.properties 写下面的代码

android.enableAapt2=false 

然后转到您的 build.gradle(app) 编写以下代码并同步您的项目

aaptOptions {
        cruncherEnabled = false
    }

注意 android.enableAapt2=false 已弃用,将于 2018 年底移除,因此这并不能解决问题,只是临时解决方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    相关资源
    最近更新 更多