代码之家  ›  专栏  ›  技术社区  ›  Ramesh Pokharel

当我从Android迁移到AndroidX时,在我的项目中实现google play服务时出现了错误。可能的解决办法是什么?

  •  5
  • Ramesh Pokharel  · 技术社区  · 8 年前

    build.gradle

    apply plugin: 'com.android.application'
    apply plugin: 'realm-android'
    //apply plugin: 'io.fabric'
    
    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "threecallistos.jumperr"
            minSdkVersion 17
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
        implementation 'com.google.android.material:material:1.0.0-alpha3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
        implementation 'com.google.android.gms:play-services-maps:15.0.1'
        implementation 'androidx.multidex:multidex:2.0.0'
    }
    

    gradle.properties 在这儿

    org.gradle.jvmargs=-Xmx1536m
    android.useAndroidX=true
    android.enableJetifier=true
    

    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    

    app.build 我在github找到一个建议

    我相信这是因为com.google.firebase在传输上依赖于com.android.support:support-v4。要解决这个问题,您应该能够在gradle.properties文件中设置android.enableJetifier=true,它将“自动转换现有的第三方库,就像它们是为AndroidX编写的一样”

    生成/运行项目时出错

    程序类型已存在: android.support.v4.app.INotificationSideChannel消息{kind=错误, text=程序类型已存在: android.support.v4.app.INotificationSideChannel,sources=[未知 源文件],工具名=可选的.of(D8)}原因: com.android.builder.dexing.DexArchiveMergerException:Error while

    请给我一些解决办法。

    1 回复  |  直到 7 年前
        1
  •  7
  •   Always Lucky    7 年前

    有很多问题 完全不同 这些错误实际上都是从Android Studio v3.1中迁移到AndroidX库时产生的。我收到了各种奇怪的错误,如果不返回到支持库,这些错误就无法解决。因此,对于不同的问题,您可能会看到相同的答案。因为问题是关于错误的,在描述和上下文上有很大的不同,所以它们不是重复的问题,因此所有问题都应该用这个解决方案来回答。具有讽刺意味的是,这个解释比解决方案要长,并且被包括进来是为了帮助管理员理解。

    Android Studio v3.2+解决了这个问题。它还在重构菜单下添加了一个“迁移到AndroidX”项,使迁移更加容易。不需要工作或回滚。迁移到AndroidX库是很重要的,因为旧的支持库将在稳定的v28支持库发布后结束。

    从beta频道更新Android Studio以使用3.2+,或者等到不久的将来发布一个稳定的版本。

    编辑:9/25/18-v3.2稳定版现在可以在稳定频道中使用。