更新Gradle后自动生成文件错误

时间:2018-11-15 05:12:00

标签: android gradle

我有一个应用程序,该应用程序的android库模块具有旧的gradle。升级gradle之后,出现了我不知道如何解决的错误。它们主要是自动生成的文件,因此我不知道有什么办法可以修复错误。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
  Output:  C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-small-v4\values-small-v4.xml:6: error: invalid resource type 'attr' for parent of style.

  Command: C:\Users\NEW03\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\fbd6ed1dfcb88e47cef4efaddf896fef\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
          -o \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\res\merged\debug \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-small-v4\values-small-v4.xml
  Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0
  Output:  C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\src\main\res\values-small\style.xml:4:5-7:13: AAPT: error: invalid resource type 'attr' for parent of style.

  Command: C:\Users\NEW03\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\fbd6ed1dfcb88e47cef4efaddf896fef\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
          -o \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\res\merged\debug \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-small-v4\values-small-v4.xml
  Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0

这是我的gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

这是我的项目级别build.gradle

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven { url 'https://maven.google.com/' }
    }
}

这是我的应用级别build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '25.0.0'

    defaultConfig {
        applicationId "com.csipsimple"
        minSdkVersion 14
        targetSdkVersion 23
    }
    useLibrary 'org.apache.http.legacy'

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:23.1.0'
    compile project(':sherlok')
    configurations.compile.exclude module: 'support-v4'
}

这是values-small-v4.xml。该文件是自动生成的,每次我Rebuild Project时,我对该文件所做的任何更改都会恢复为旧值。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="menu_in_bar">false</bool>
    <dimen name="incall_bottom_bar_height">36dip</dimen>
    <integer name="dialpad_layout_weight_autocomplete_list">30</integer>
    <style name="TextAppearance.SlidingTabActive" parent="@android:attr/textAppearanceMedium">
        <item name="android:textColor">@android:color/black</item>
        <item name="android:textSize">22sp</item>
    </style>
</resources>

这是整个构建日志。也许这会有所帮助。

:app:checkDebugClasspath
:app:preBuild UP-TO-DATE
:sherlok:preBuild UP-TO-DATE
:sherlok:preDebugBuild UP-TO-DATE
:sherlok:checkDebugManifest
:sherlok:processDebugManifest
:app:preDebugBuild
:sherlok:compileDebugAidl NO-SOURCE
aidl.exe E 11-15 13:43:01  6868  8452 aidl.cpp:581] refusing to generate code from aidl file defining parcelable

aidl.exe E 11-15 13:43:01  4324  6792 aidl.cpp:581] refusing to generate code from aidl file defining parcelable

aidl.exe E 11-15 13:43:01  9176  4956 aidl.cpp:581] refusing to generate code from aidl file defining parcelable

aidl.exe E 11-15 13:43:01  6720  7752 aidl.cpp:581] refusing to generate code from aidl file defining parcelable

:app:compileDebugAidl
:sherlok:packageDebugRenderscript NO-SOURCE
:app:compileDebugRenderscript
:app:checkDebugManifest
:app:generateDebugBuildConfig
:app:prepareLintJar
:app:mainApkListPersistenceDebug
:app:generateDebugResValues
:app:generateDebugResources
:sherlok:compileDebugRenderscript
:sherlok:generateDebugResValues
:sherlok:generateDebugResources
:sherlok:packageDebugResources
:app:mergeDebugResources
C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:1044: warn: multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?.

:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
  Output:  C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-small-v4\values-small-v4.xml:6: error: invalid resource type 'attr' for parent of style.

  Command: C:\Users\NEW03\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\6adb54aa7c184c3636835ca90813d16d\aapt2-3.2.1-4818971-windows\aapt2.exe compile --legacy \
          -o \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\res\merged\debug \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-small-v4\values-small-v4.xml
  Daemon:  AAPT2 aapt2-3.2.1-4818971-windows Daemon #0
  Output:  C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\src\main\res\values-small\style.xml:4:5-7:13: AAPT: error: invalid resource type 'attr' for parent of style.

  Command: C:\Users\NEW03\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\6adb54aa7c184c3636835ca90813d16d\aapt2-3.2.1-4818971-windows\aapt2.exe compile --legacy \
          -o \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\res\merged\debug \
          C:\Users\NEW03\Documents\AndroidProjects\cssimple\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-small-v4\values-small-v4.xml
  Daemon:  AAPT2 aapt2-3.2.1-4818971-windows Daemon #0

使用以下代码添加gradle.properties文件之后。

org.gradle.jvmargs=-Xmx2048m
android.enableAapt2=false

自动生成的文件出现新错误。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':sherlok:generateDebugRFile'.
> Failed to parse XML resource file 'C:\Users\NEW03\Documents\AndroidProjects\cssimple\sherlok\build\intermediates\packaged_res\debug\values\values.xml'

更新: 现在我遇到了这个错误。

[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"background\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\appcompat-v7-26.1.0.aar\\508a22a81bc4139c79d92f3f1428ae0c\\res\\values\\values.xml",
    "position":{"startLine":86,"startColumn":4,"startOffset":6582,"endColumn":103,"endOffset":6681}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[
    {"file":
        "C:\\Users\\NEW03\\Documents\\AndroidProjects\\cssimple_bak2\\sherlok\\build\\intermediates\\packaged_res\\debug\\values\\values.xml",
    "position":{"startLine":2,"startColumn":4,"startOffset":105,"endColumn":54,"endOffset":155}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"navigationMode\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\Documents\\AndroidProjects\\cssimple_bak2\\sherlok\\build\\intermediates\\packaged_res\\debug\\values\\values.xml",
    "position":{"startLine":78,"startColumn":4,"startOffset":4681,"endLine":80,"endColumn":24,"endOffset":4799}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\appcompat-v7-26.1.0.aar\\508a22a81bc4139c79d92f3f1428ae0c\\res\\values\\values.xml",
    "position":{"startLine":86,"startColumn":4,"startOffset":6582,"endColumn":103,"endOffset":6681}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"displayOptions\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\Documents\\AndroidProjects\\cssimple_bak2\\sherlok\\build\\intermediates\\packaged_res\\debug\\values\\values.xml","position":
    {"startLine":78,"startColumn":4,"startOffset":4681,"endLine":80,"endColumn":24,"endOffset":4799}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\appcompat-v7-26.1.0.aar\\508a22a81bc4139c79d92f3f1428ae0c\\res\\values\\values.xml",
    "position":{"startLine":86,"startColumn":4,"startOffset":6582,"endColumn":103,"endOffset":6681}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"itemBackground\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\Documents\\AndroidProjects\\cssimple_bak2\\sherlok\\build\\intermediates\\packaged_res\\debug\\values\\values.xml",
    "position":{"startLine":216,"startColumn":4,"startOffset":11002,"endLine":233,"endColumn":24,"endOffset":12031}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\design-26.0.0-beta2.aar\\a4d391f9e97b934910e6f25234ed4504\\res\\values\\values.xml",
    "position":{"startLine":159,"startColumn":4,"startOffset":8147,"endColumn":462,"endOffset":8605}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"actionBarSize\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\design-26.0.0-beta2.aar\\a4d391f9e97b934910e6f25234ed4504\\res\\values\\values.xml",
    "position":{"startLine":162,"startColumn":4,"startOffset":8872,"endColumn":174,"endOffset":9042}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\design-26.0.0-beta2.aar\\a4d391f9e97b934910e6f25234ed4504\\res\\values\\values.xml",
    "position":{"startLine":29,"startColumn":4,"startOffset":1659,"endColumn":198,"endOffset":1853}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"windowMinWidthMajor\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\design-26.0.0-beta2.aar\\a4d391f9e97b934910e6f25234ed4504\\res\\values\\values.xml",
    "position":{"startLine":162,"startColumn":4,"startOffset":8872,"endColumn":174,"endOffset":9042}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\appcompat-v7-26.1.0.aar\\508a22a81bc4139c79d92f3f1428ae0c\\res\\values\\values.xml",
    "position":{"startLine":125,"startColumn":4,"startOffset":9652,"endLine":127,"endColumn":5296,"endOffset":16283}}],"original":"","tool":"AAPT"}
[org.gradle.api.Project] AGPBI: {"kind":"error","text":"Attribute \"windowMinWidthMinor\" already defined with incompatible format.","sources":[
    {"file":
        "C:\\Users\\NEW03\\.gradle\\caches\\transforms-1\\files-1.1\\design-26.0.0-beta2.aar\\a4d391f9e97b934910e6f25234ed4504\\res\\values\\values.xml",
    "position":{"startLine":162,"startColumn":4,"startOffset":8872,"endColumn":174,"endOffset":9042}}],"original":"","tool":"AAPT"}

我将Android Studio 3.2.1降级到3.1,因为我记得这个错误并未出现在较低版本的Android Studio中。

2 个答案:

答案 0 :(得分:1)

enter image description here

gradle.properties文件中,您将找到android.enableAapt2=true,因为您已经升级了gradle,所以它必须为false。如果您没有此gradle.properties,我建议您回到以前的gradle版本,将其更改为false,然后升级gradle,我不确定是否会起作用。我遇到了这个问题,我不记得我如何解决问题,但我记得一点点与此文件和gradle版本有关

答案 1 :(得分:0)

将此添加到gradle.properteries并同步项目

android.databinding.enableV2=true
android.enableJetifier=true
android.useAndroidX=true

此外,尝试将build.gradle(project)更新为

dependencies {
...
classpath 'com.android.tools.build:gradle:3.2.1'
..
}