如何解决AAPT2错误?

时间:2018-04-07 12:33:49

标签: android android-studio android-gradle android-studio-3.0 aapt2

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

的build.gradle(APP)

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是什么以及如果可能的话如何发生。

3 个答案:

答案 0 :(得分:2)

使用此

func requestDownload(urlString: String){
    guard let url                = URL(string: urlString) else {return}
    downloadTask                 = urlSession.downloadTask(with: url)
    downloadTask.taskDescription = urlString
    downloadTask.resume()
}

而不是这个

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' compileSdkVersion 27

答案 1 :(得分:0)

在Android Studio中,当您使用Android插件进行gradle 3.0时,默认情况下会启用Aapt2。

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

如果您不想看到此错误,可以通过在gradle.properties中添加以下行来禁用它。

android.enableAapt2 =假

答案 2 :(得分:0)

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

  

还必须更新您应用的build.gradle,以指定至少为26(Android O)的compileSdkVersion

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

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