代码之家  ›  专栏  ›  技术社区  ›  hasanghaforian

在Android Studio中更改项目的“buildToolsVersion”时出错

  •  1
  • hasanghaforian  · 技术社区  · 6 年前

    我用 Android Studio 3.1.4 android gradle plugin version 3.1.4 .

    我之前设定的 buildToolsVersion "27.0.3" 在里面 build.gradle build tools 和改变 build.gradle公司 使用它: buildToolsVersion "28.0.2"

    但当我试图 sync project with gradle files rebuild project 它以 AAPT2 错误:

    AGPBI: {"kind":"error","text":"error: \u003citem\u003e inner element must either be a resource reference or empty.","sources":[{"file":"<path to module>/src/main/res/values/ids.xml","position":{"startLine":16,"startColumn":4,"startOffset":752,"endColumn":55,"endOffset":803}}],"original":"","tool":"AAPT"}
    ....
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':<modulee-name>:mergeDebugResources'.
    > Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
    

    但我不明白是什么导致了这个错误。例如,地址行错误是:

    <item type="id" name="bookmark">false</item>
    

    是什么导致了这个错误?我该如何解决这个问题?

    编辑

    android.enableAapt2=false gradle.properties 它似乎忽略了错误,但会导致以下警告:

    选项“android.enableapt2”已弃用,不应使用 不再。使用“android.enableapt2=true”删除此警告。它 将在2018年底被移除。。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Martin Zeitler    6 年前

    您不能分配 false (也没有其他价值,但是 name )给一个 ID resource .

    具有 android.enableAapt2=false