Nachdem mein Android-Studio vor ein paar Tagen aktualisiert wurde, hatte ich Probleme, meine Anwendung aufgrund dieses Fehlers wieder zum Laufen zu bringen.
Program type already present: com.google.common.annotations.Beta
Message{kind=ERROR, text=Program type already present:
com.google.common.annotations.Beta, sources=[Unknown source file], tool name=Optional.of(D8)}
Hier ist mein build.gradle:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "com.dissertation.bitcoin.bitparking"
minSdkVersion 21
targetSdkVersion 27
multiDexEnabled true
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(include: ['*.jar'], dir: 'libs')
implementation('com.Android.support:appcompat-v7:27.1.0')
implementation 'com.Android.support:design:27.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.google.http-client:google-http-client-Android:1.23.0'
implementation 'com.google.api-client:google-api-client-Android:1.23.0'
implementation 'com.google.code.findbugs:jsr305:2.0.1'
implementation 'com.google.api-client:google-api-client-gson:1.23.0'
implementation 'com.googlecode.json-simple:json-simple:1.1'
implementation files('libs/Java-json.jar')
implementation 'com.Android.support:support-compat:27.1.0'
implementation 'com.github.bumptech.glide:glide:4.3.1'
implementation 'com.Android.support:multidex:1.0.3'
implementation 'com.google:bitcoinj:0.11.3'
implementation 'de.schildbach.wallet:integration-Android:2.0'
}
Dieser Code hat letzte Woche für mich funktioniert. Da ich in der Android-Entwicklung noch relativ neu bin, habe ich vielleicht etwas übersehen. Jede Hilfe wäre dankbar, danke.
Füge einfach exclude module: 'guava-jdk5'
hinzu, um den Import von apis wie folgt zu google:
implementation('com.google.api-client:google-api-client-Android:1.20.0') {
exclude module: 'guava-jdk5'
}
Wenn alle fehlschlagen, versuchen Sie Folgendes:
[app/build.gradle]
configurations {
all*.exclude module: 'guava-jdk5'
}
In meinem Fall verwende ich google-api-services-tasks
und google-api-client-Android
. Bei der Überprüfung der Abhängigkeiten habe ich festgestellt, dass beide google-api-client
verwenden.
./gradlew app:dependencies
...
+--- com.google.api-client:google-api-client-Android:1.23.0
| +--- com.google.api-client:google-api-client:1.23.0
| | +--- com.google.oauth-client:google-oauth-client:1.23.0
| | | +--- com.google.http-client:google-http-client:1.23.0
| | | | +--- com.google.code.findbugs:jsr305:1.3.9 -> 2.0.1
| | | | \--- org.Apache.httpcomponents:httpclient:4.0.1
| | | | +--- org.Apache.httpcomponents:httpcore:4.0.1
| | | | +--- commons-logging:commons-logging:1.1.1
| | | | \--- commons-codec:commons-codec:1.3
| | | \--- com.google.code.findbugs:jsr305:1.3.9 -> 2.0.1
| | +--- com.google.http-client:google-http-client-jackson2:1.23.0
| | | +--- com.google.http-client:google-http-client:1.23.0 (*)
| | | \--- com.fasterxml.jackson.core:jackson-core:2.1.3
| | \--- com.google.guava:guava-jdk5:17.0
| \--- com.google.http-client:google-http-client-Android:1.23.0
| \--- com.google.http-client:google-http-client:1.23.0 (*)
+--- com.google.apis:google-api-services-tasks:v1-rev52-1.23.0
| \--- com.google.api-client:google-api-client:1.23.0 (*)
Nachdem ich guava-jdk5
von beiden ausgeschlossen hatte, ging die Fehlermeldung weg.
[app/build.gradle]
implementation('com.google.api-client:google-api-client-Android:1.23.0') {
exclude module: 'guava-jdk5'
}
implementation('com.google.apis:google-api-services-tasks:v1-rev52-1.23.0') {
exclude module: 'guava-jdk5'
}
Ändern Sie Gradles zu diesem:
implementation 'com.google.apis:google-api-services-vision:v1-rev369-1.23.0' exclude module: 'guava-jdk5'
implementation 'com.google.api-client:google-api-client-Android:1.23.0' exclude module: 'guava-jdk5' exclude module: 'httpclient'
implementation 'com.google.http-client:google-http-client-gson:1.23.0' exclude module: 'httpclient'
Es hat für mich funktioniert
Wenn Sie Kotlin auch in Ihrem Projekt verwenden, entfernen Sie "Kapt 'com.Android.databinding: compiler" aus Ihrem build.gradle (App-Modul).