如何解决 AAPT2 错误?

How to resolve AAPT2 error?

我正在通过 firebase 进行身份验证,因为当我添加 implementation 'com.firebaseui:firebase-ui-auth:3.3.0' 时,我在同步 gradle 后收到 AAPT2 error: check logs for details 错误。 这是我的 build.gradle 个文件。

build.gradle(应用程序)

apply plugin: 'com.android.application'
repositories {
mavenLocal()
flatDir {
    dirs 'libs'
}
}

android {
compileSdkVersion 24
buildToolsVersion '27.0.3'

defaultConfig {
    applicationId "com.google.firebase.udacity.friendlychat"
    minSdkVersion 16
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE-FIREBASE.txt'
    exclude 'META-INF/NOTICE'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'

implementation 'com.android.support:design:24.2.1'
implementation 'com.android.support:appcompat-v7:24.2.1'


//  Firebase
implementation 'com.google.firebase:firebase-database:12.0.1'

implementation 'com.firebaseui:firebase-ui-auth:3.3.0'
implementation 'com.google.firebase:firebase-auth:12.0.1'

// Displaying images
implementation 'com.github.bumptech.glide:glide:3.6.1'
}

apply plugin: 'com.google.gms.google-services'

和build.gradle(项目)

// Top-level build file where you can add configuration options common to 
all sub-projects/modules.

buildscript {
repositories {
    jcenter()
    mavenLocal()
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.0'
    classpath 'com.google.gms:google-services:3.2.1' // google-services 
plugin



    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    jcenter()
    mavenLocal()
    maven {
        url "https://maven.google.com" // Google's Maven repository
    }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

我删除这个 implementation 'com.firebaseui:firebase-ui-auth:3.3.0' 错误就消失了。我认为添加这个是在创建 AAPT2 error.

Google SDK ToolsGoogle RepositoryGoogle Play Services 也已安装。还请解释这是什么 AAPT2 error 以及如果可能的话这是如何发生的。

使用这个

implementation 'com.android.support:design:27.0.3'
implementation 'com.android.support:appcompat-v7:27.0.3'

而不是这个

implementation 'com.android.support:design:24.2.1'
implementation 'com.android.support:appcompat-v7:24.2.1'

Update compileSdkVersion 27 and targetSdkVersion 27

在 Android 中,当您使用 gradle 3.0 的 android 插件时,Studio Aapt2 默认启用。

这主要是为了改进增量资源处理,查看 this 页面了解更多信息。

如果您不想看到此错误,可以通过在 gradle.properties.

中添加以下行来禁用它

android.enableAapt2=false

已解决!!问题出在版本控制上。

your app's build.gradle must also be updated to specify a compileSdkVersion of at least 26 (Android O)

我花了几个小时才弄明白。

在此处阅读更多内容,https://firebase.googleblog.com/2017/08/some-updates-to-apps-using-google-play.html