Error while merging dex Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver

后端 未结 9 1052
梦如初夏
梦如初夏 2020-12-01 03:40

Error when merging the dex

following are the dependencies.

ext {
    anko_version=\'0.10.5\'
    support_lib=\'1.0.0-alpha1\'
    room_lib = \"1.1.0\         


        
相关标签:
9条回答
  • 2020-12-01 04:10

    Add Following plugins

    ionic cordova plugin add cordova-plugin-androidx
    ionic cordova plugin add cordova-plugin-androidx-adapter
    

    Add these two lines in platforms/android/gradle.properties file

    android.useAndroidX=true
    android.enableJetifier=true
    

    Here is a video as well: https://youtu.be/0RaJlGipYHc

    0 讨论(0)
  • 2020-12-01 04:16

    What worked for me was Refactor -> Migrate to AndroidX option in Android Studio. This seemed to resolve any things I may have missed when trying to do the AndroidX migration one dependency at a time. https://developer.android.com/jetpack/androidx/migrate

    0 讨论(0)
  • 2020-12-01 04:17

    It's because you messed up the dependencies. You have to either fully migrate to AndroidX dependencies or stay on Support library ones. Thus, instead of

    implementation "android.arch.persistence.room:runtime:$room_lib"
    annotationProcessor "android.arch.persistence.room:compiler:$room_lib"
    

    use

    implementation "androidx.room:room-runtime:2.0.0-alpha1"
    annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
    

    Also be sure to check your gradle.properties project file to contain

    android.useAndroidX=true
    android.enableJetifier=true
    

    Jetifier helps libraries, which depend on old Support packages, to use the new AndroidX ones.

    What is Jetifier? It's an Android Gradle Plugin task (now can also be used as a standalone tool) which is invoked during build phase. AGP (>= 3.2.0) does automatically apply dependency translation which rewrites bytecode and resources of JAR and AAR dependencies (and transitive dependencies) to reference the new androidx-packaged classes and artifacts. You can also use it as a standalone tool to individually migrate a library.

    Jetifier Official Documentation

    The standalone Jetifier tool migrates support-library-dependent libraries to rely on the equivalent AndroidX packages instead. The tool lets you migrate an individual library directly, instead of using the Android gradle plugin bundled with Android Studio.

    P. S. I didn't test if Anko works with AndroidX dependencies, but if it doesn't even though those properties in your gradle.properties are enabled, you have no other choices, but fallback to using Support libraries as for now.

    0 讨论(0)
提交回复
热议问题