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.

Reply via email to