On Monday, September 7, 2020 at 4:28:31 AM UTC-7 miyuki onuma wrote:
> My app now depends on protobuf-lite and protobuf-javalite, which triggers > the multiple class error. grpc-java now depends on protobuf-javalite and that seems to conflict with protobuf-lite. Can you remove your dependency on protobuf-lite (may be happening indirectly)? > > Articles that would be helpful: > https://stackoverflow.com/questions/62764605/ > > - The gradle error > > > ``` > > Task :app:minifyProductionReleaseWithR8 FAILED > /Users/miyuki.onuma/.gradle/caches/transforms-2/files-2.1/0268d94a7c4b3a93962493a637c82377/jetified-protobuf-javalite-3.11.0.jar: > > R8: Type com.google.protobuf.DurationOrBuilder is defined multiple times: > /Users/miyuki.onuma/.gradle/caches/transforms-2/files-2.1/0268d94a7c4b3a93962493a637c82377/jetified-protobuf-javalite-3.11.0.jar:com/google/protobuf/DurationOrBuilder.class, > > /Users/miyuki.onuma/vmedia-recorder-android/pb/build/intermediates/runtime_library_classes_jar/release/classes.jar:com/google/protobuf/DurationOrBuilder.class > ``` > > > - My apps build.gradle. > > ``` > apply plugin: 'com.android.application' > apply plugin: 'kotlin-android' > apply plugin: 'kotlin-android-extensions' > apply plugin: 'kotlin-kapt' > apply plugin: 'io.fabric' > apply plugin: 'com.google.android.gms.oss-licenses-plugin' > > android { > compileSdkVersion rootProject.ext.compilerSdk > defaultConfig { > applicationId "com.sample" > minSdkVersion rootProject.ext.minSdk > targetSdkVersion rootProject.ext.targetSdk > versionCode rootProject.ext.versionCode > versionName rootProject.ext.versionName > testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" > multiDexEnabled true > } > > configurations { > implementation.exclude group: 'com.google.protobuf, module: > protobuf-lite' > implementation.exclude group: 'io.grpc, module: grpc-all' > implementation.exclude group: 'com.google.protobuf, module: > protobuf-java' > implementation.exclude module: 'protolite-well-known-types' > implementation.exclude module: 'com.google.protobuf' > } > > dataBinding { > enabled = true > } > > signingConfigs { > debug { > storeFile file('debug.keystore') > storePassword "android" > keyAlias "androiddebugkey" > keyPassword "android" > } > } > > buildTypes { > debug { > signingConfig signingConfigs.debug > versionNameSuffix ".debug" > } > release { > minifyEnabled true > proguardFiles getDefaultProguardFile('proguard-android.txt'), ' > proguard-rules.pro' > signingConfig signingConfigs.release > } > } > > flavorDimensions "default" > > compileOptions { > sourceCompatibility JavaVersion.VERSION_1_8 > targetCompatibility JavaVersion.VERSION_1_8 > } > > testOptions { > unitTests.returnDefaultValues = true > } > } > > dependencies { > implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) > implementation > "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" > testImplementation 'junit:junit:4.12' > testImplementation "org.mockito:mockito-core:2.23.0" > androidTestImplementation "org.mockito:mockito-android:2.21.0" > androidTestImplementation 'androidx.test:runner:1.3.0' > androidTestImplementation 'com.android.support.test:rules:1.0.2' > androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' > testImplementation > 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.1' > > implementation "androidx.core:core-ktx:${rootProject.ktx}" > implementation "androidx.annotation:annotation:$rootProject.annotation" > > // For view > implementation "androidx.appcompat:appcompat:$rootProject.appCompat" > implementation > "androidx.constraintlayout:constraintlayout:$rootProject.constraintlayout" > implementation "androidx.cardview:cardview:$rootProject.cardView" > implementation > "com.google.android.material:material:$rootProject.material" > > implementation("androidx.recyclerview:recyclerview:$rootProject.recyclerView") > > { force = true } > implementation > "de.hdodenhof:circleimageview:$rootProject.circleimageview" > > // For network & sync > implementation > "com.google.code.gson:gson:$rootProject.ext.gson_version" > implementation > "com.squareup.okhttp3:okhttp:$rootProject.ext.okhttp_version" > implementation > "com.squareup.okhttp3:logging-interceptor:$rootProject.ext.okhttp_version" > implementation > "com.squareup.retrofit2:retrofit:$rootProject.ext.retrofit2_version" > implementation > "com.squareup.retrofit2:converter-gson:$rootProject.ext.retrofit2_version" > implementation > "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:$rootProject.coroutines_adapter_version" > implementation > "org.jetbrains.kotlinx:kotlinx-coroutines-android:$rootProject.ext.coroutines_version" > implementation > "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$rootProject.ext.coroutines_version" > > // For load image > implementation > "com.github.bumptech.glide:glide:$rootProject.ext.glide_version" > kapt > "com.github.bumptech.glide:compiler:$rootProject.ext.glide_version" > > // For request Permission > implementation > "com.github.hotchemi:permissionsdispatcher:$rootProject.ext.dispatcher_version" > kapt > "com.github.hotchemi:permissionsdispatcher-processor:$rootProject.ext.dispatcher_version" > > // Koin for Android > implementation "org.koin:koin-android:$rootProject.ext.koin_version" > implementation > "org.koin:koin-androidx-scope:$rootProject.ext.koin_version" > implementation > "org.koin:koin-androidx-viewmodel:$rootProject.ext.koin_version" > > androidTestImplementation("org.koin:koin-test:$rootProject.ext.koin_version") > { > exclude group: 'org.mockito' > } > > // LeakCanary > debugImplementation > "com.squareup.leakcanary:leakcanary-android:$rootProject.ext.leakCanary" > releaseImplementation > "com.squareup.leakcanary:leakcanary-android-no-op:$rootProject.ext.leakCanary" > > // JetPack > implementation > "androidx.lifecycle:lifecycle-extensions:$rootProject.lifecycle_version" > implementation "androidx.room:room-runtime:$rootProject.room_version" > kapt "androidx.room:room-compiler:$rootProject.room_version" > implementation "androidx.room:room-ktx:$rootProject.room_version" > > implementation > "net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:$rootProject.keyboardEvent" > > //Protobuf and gRPC > implementation "io.grpc:grpc-okhttp:$rootProject.grpcVersion" > implementation > ("io.grpc:grpc-protobuf-lite:${rootProject.grpcVersion}"){ > exclude module: "protobuf-lite" > exclude module: 'protolite-well-known-types' > } > implementation "io.grpc:grpc-stub:$rootProject.grpcVersion" > implementation > "javax.annotation:javax.annotation-api:$rootProject.annotationJavax" > > // Firebase > implementation > "com.google.firebase:firebase-messaging:$rootProject.firebase_message" > implementation > "com.google.firebase:firebase-auth:$rootProject.firebase_auth" > implementation > "com.google.firebase:firebase-analytics:$rootProject.firebase_analytics" > implementation > "com.google.firebase:firebase-config-ktx:$rootProject.firebase_config" > > implementation("com.crashlytics.sdk.android:crashlytics:$rootProject.crashlytics") > > { > transitive = true > } > implementation > "com.google.android.gms:play-services-auth:$rootProject.play_service_auth" > implementation > "com.google.firebase:firebase-inappmessaging-display:$rootProject.inappmessaging" > implementation "com.google.firebase:firebase-core:$rootProject.core" > > > //Social > implementation > "com.facebook.android:facebook-login:$rootProject.facebook_sdk" > implementation > "com.twitter.sdk.android:twitter-core:$rootProject.ext.twitter" > implementation > "com.twitter.sdk.android:tweet-composer:$rootProject.ext.twitter" > > //Joda time > implementation "net.danlew:android.joda:$rootProject.ext.joda" > > // OSS Licenses > implementation > "com.google.android.gms:play-services-oss-licenses:${rootProject.ossLicenses}" > > implementation > "me.saket:better-link-movement-method:$rootProject.ext.link_movement" > > implementation > "com.github.axet:android-audio-library:$rootProject.ext.audio_library" > > // Debug > implementation 'com.jakewharton.timber:timber:4.7.1' > debugImplementation 'com.willowtreeapps.hyperion:hyperion-core:0.9.27' > debugImplementation 'com.willowtreeapps.hyperion:hyperion-crash:0.9.27' > debugImplementation 'com.willowtreeapps.hyperion:hyperion-disk:0.9.27' > debugImplementation > 'com.willowtreeapps.hyperion:hyperion-measurement:0.9.27' > debugImplementation > 'com.willowtreeapps.hyperion:hyperion-shared-preferences:0.9.27' > debugImplementation > 'com.willowtreeapps.hyperion:hyperion-timber:0.9.27' > debugImplementation 'com.github.Commit451:Hyperion-Chuck:1.0.0' > > implementation project(path: ':core') > implementation project(path: ':pb') > } > apply plugin: 'com.google.gms.google-services' > ``` > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/813b745b-3671-43d1-bc00-95be92b781f2n%40googlegroups.com.
