Я получаю ошибку дублирующихся классов после добавления зависимости диалогового потока в мое приложение, использующее firebase.
попыталось понизить зависимости и диалогового потока, и Firebase, а также
"implementation('com.google.cloud:google-cloud-dialogflow:0.98.0-alpha'){
exclude group: 'com.google.api.grpc'
exclude group: 'com.google.protobuf'
}"
, чтобы исключить дублированные классы.Ничего из этого не сработало!
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.3'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.google.android.material:material:1.0.0'
implementation 'com.jakewharton:butterknife:10.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-auth:18.0.0'
implementation 'com.google.firebase:firebase-database:18.0.0'
implementation 'com.google.firebase:firebase-firestore:20.1.0'
implementation "com.github.VaibhavLakhera:Circular-Progress-View:0.1.2"
implementation 'com.github.CardinalNow:Android-CircleProgressIndicator:v0.2'
implementation 'ai.api:sdk:2.0.7@aar'
implementation 'ai.api:libai:1.6.12'
implementation 'com.google.cloud:google-cloud-dialogflow:0.98.0-alpha'
implementation 'io.grpc:grpc-okhttp:1.21.0'
implementation 'com.google.apis:google-api-services-oauth2:v1-rev145-1.25.0'
implementation 'com.google.apis:google-api-services-dialogflow:v2-rev80-1.25.0'
implementation "com.andkulikov:transitionseverywhere:2.0.0-beta01"
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.jakewharton.butterknife'
Ошибка:
Дубликат класса com.google.api. Совет найден в модулях classes.jar (com.google.firebase: protolite-well-known-types: 17.0.0) и proto-google-common-protos-1.16.0.jar (com.google.api.grpc: proto-google-common-protos: 1.16.0) Цитата
Мне удалось исключить дублирующиеся классы с помощью следующего метода:
android {
...
configurations {
implementation.exclude module:'proto-google-common-protos'
implementation.exclude module:'protolite-well-known-types'
implementation.exclude module:'guava'
implementation.exclude module:'protobuf-lite'
}
}
Но это вызвало сбой приложения при запуске, что привело к ошибке:
java.lang.ClassNotFoundException: не найден класс "com.google.common.base.Preconditions"