5

这是我的应用程序级别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 Message{kind=ERROR, text=程序类型已经存在:android.support.v4.app.INotificationSideChannel,sources=[Unknown source file], tool name=Optional。 of(D8)} 原因:com.android.builder.dexing.DexArchiveMergerException:合并 dex 档案时出错:

请给我一些解决方案。

4

1 回答 1

7

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

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

从 beta 通道更新 Android Studio 以使用 3.2+ 或等到在不久的将来发布稳定版本。

编辑:9/25/18 - v3.2 稳定版现已在稳定频道中提供。

于 2018-08-10T18:47:21.670 回答