我需要使用两个番石榴类:
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
但是在构建\重建项目时,我得到了这个信息:
Program type already present: com.google.common.util.concurrent.ListenableFuture
Message{kind=ERROR, text=Program type already present: com.google.common.util.concurrent.ListenableFuture, sources=[Unknown source file], tool name=Optional.of(D8)}
这是我的build.gradle文件:
我也试图写排除,但是也许我做错了吗?
我试图删除crashlytics日志,试图删除gms-services,但没有帮助
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.google.com' }
maven { url 'https://jitpack.io' }
mavenCentral()
jcenter()
}
android {
useLibrary 'org.apache.http.legacy'
lintOptions {
checkReleaseBuilds false
}
packagingOptions {
exclude 'META-INF/proguard/androidx-annotations.pro'
}
compileSdkVersion 27
defaultConfig {
applicationId "com.jinga.updater"
minSdkVersion 26
targetSdkVersion 27
versionCode 16
versionName "2.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
def archLifecycleVersion = '1.1.1'
def room_version = "1.1.1"
def versions_work = "1.0.0-alpha09"
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.novoda:merlin:1.1.7'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:design:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation group: 'com.google.guava', name: 'guava', version: '23.5-android'
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
// Room components
androidTestImplementation "android.arch.persistence.room:testing:$room_version"
// Lifecycle components
implementation "android.arch.lifecycle:extensions:$archLifecycleVersion"
annotationProcessor "android.arch.lifecycle:compiler:$archLifecycleVersion"
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
implementation 'com.google.firebase:firebase-core:16.0.3'
implementation 'com.google.firebase:firebase-messaging:17.3.1'
implementation group: 'commons-io', name: 'commons-io', version: '2.5'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.yandex.android:mobmetricalib:3.2.2'
implementation 'com.github.nkzawa:socket.io-client:0.3.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.android.support:cardview-v7:27.1.1'
//circleImage
implementation 'com.orhanobut:dialogplus:1.11@aar'
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
implementation 'com.liulishuo.okdownload:okdownload:1.0.4'
implementation "android.arch.work:work-runtime:$versions_work"
}
apply plugin: 'com.google.gms.google-services'
我应该怎么做才能解决此问题,我在工作管理器上看到了一些示例,但是它们没有帮助我
答案 0 :(得分:2)
我遇到了同样的问题,其原因:我正在使用此lib:
implementation "android.arch.persistence.room:guava:1.1.1"
我不知道为什么,它向我返回了一个像您一样的错误,但请尝试删除此错误并找到其他解决方案
答案 1 :(得分:0)
我发现这个小的“伪” api很有用:
即添加
api 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
以一种优雅但模糊的方式解决了我的构建问题。