我正在通过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 Tools
,Google Repository
和Google Play Services
。还请解释这个AAPT2 error
是什么以及如果可能的话如何发生。
答案 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