我正在尝试使用Glide从Firebase加载图片。当我尝试实现Glide时,我开始遇到错误。在gradle sync期间,一切都很好。但是,当我清理并重建程序时,它将显示以下错误。
`Program type already present: com.bumptech.glide.gifdecoder.GifDecoder$BitmapProvider Message{kind=ERROR, text=Program type already present: com.bumptech.glide.gifdecoder.GifDecoder$BitmapProvider, sources=[Unknown source file], tool name=Optional.of(D8)}`
我正在使用sdk 26,因为我在使用sdk 27时遇到了运行时错误。我已确保所有依赖项都不会覆盖sdk 27。
gradle产出:项目
buildscript {
repositories {
google()
jcenter()
maven
{
url "https://maven.google.com"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
gradle:app
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.user.uploadimage7"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.firebaseui:firebase-ui-storage:3.1.0'
implementation 'com.android.support:support-fragment:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
//implementation 'jp.wasabeef:glide-transformations:3.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
apply plugin: 'com.google.gms.google-services'
我试过“排除组:”com.android.support“但它不起作用
通过删除libs文件夹中的重复.jar来解决该错误
我建议您将SDK更新到版本27并进行以下更改。首先,将您的gradle更新为最新版本3.2.1
:
classpath 'com.android.tools.build:gradle:3.2.1'
现在更改以下代码行:
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.firebaseui:firebase-ui-storage:3.1.0'
至
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.firebase:firebase-storage:16.0.5'
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.firebaseui:firebase-ui-storage:4.2.1'
对于Glide,请更改此行:
implementation "com.github.bumptech.glide:glide:4.3.1"
至
implementation "com.github.bumptech.glide:glide:4.7.1"
将Glide从3升级到4后得到相同的构建错误。解决方法: