安卓应用运行失败并显示"duplicate entry: META-INF/services"错误



我正在尝试将我的应用程序转换为AndroidX。我已经将其更新到版本28(pie(,然后使用"pie"将其转换为Android X;重构迁移到Android X";。一切似乎都很好,项目在几秒钟内就可以同步了。

当我尝试构建文件(使用build:rebuild项目(或在模拟器上运行它时,我的问题就出现了——运行失败,并显示消息

Cause:duplicate entry: META-INF/services/javax.annotation.processing.Processor

我试过几种不同的";包装选项";build.gradle文件中的条目,包括:

packagingOptions {
exclude 'META-INF/*'
}

packagingOptions {
pickFirst 'META-INF/*'
}

packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
}

但我每次都收到同样的信息。然而,如果我清理这个项目(build:clean project(,它就会说构建是可以的。

我的build.gradle文件当前如下:

apply plugin: 'com.android.application'
android {
compileSdkVersion 30
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.barney.aboutmyjourney"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/*'
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.gms:play-services-location:17.1.0'
implementation 'com.github.bumptech.glide:glide:4.2.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}

我是一个Android爱好者,我不得不承认,我真的不明白什么是";META-INF/服务";正在执行,或条目所在的位置。我的问题是重复的文件,还是另一个文件中的重复引用?

我不知道还能尝试什么。有人能帮忙吗?

我做了一些更改,包括将一些build.gradle依赖项更新到更高版本,问题已经解决。

我仍然不明白是什么原因导致了这个问题,也不知道是什么具体行动解决了这个问题。所以如果有人能给出任何解释,如果再次发生,我仍然会很感激。

相关内容

最新更新