如何解决Android应用运行失败,并显示“重复条目:META-INF /服务”错误
我正在尝试将我的应用转换为AndroidX。我已经将其更新为版本28(饼),然后使用“将其迁移到Android X”将其转换为AndroidX。一切似乎都正常,项目在几秒钟内就同步了。
当我尝试构建文件(使用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 / services”在做什么,或者该条目所在的位置。我的问题是重复的文件,还是另一个文件中的重复引用?
我不知道还能尝试什么。有人可以帮忙吗?
解决方法
我进行了许多更改,包括将一些build.gradle依赖项更新到更高版本,并且问题已经消失。
我仍然不了解是什么原因导致了问题或由哪些具体措施解决了问题,因此,如果有人可以提供任何解释,如果再次发生,我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。