android - 错误 : "Program type already present: androidx.versionedparcelable.CustomVersionedParcelable"

标签 android gradle error-handling android-gradle-plugin runtime-error

我遇到以下错误 --> 错误:程序类型已存在:androidx.versionedparcelable.CustomVersionedParcelable

当我点击 Build errors 时,它会向我显示:

AGPBI: {"kind":"error","text":"Program type already present: androidx.versionedparcelable.CustomVersionedParcelable","sources":[{}],"tool":"D8"}
:app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
FAILURE: Build failed with an exception.

我不明白是什么导致了这个问题,因为我使用的是 Parcelable 库,但从未导致过这种类型的错误。

这是我项目的 gradle 文件。

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.package.name"
        minSdkVersion 22
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    // Lottie
    implementation 'com.airbnb.android:lottie:2.8.0'
    //Gson
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    //Dagger 2
    implementation 'com.google.dagger:dagger:2.18'
    implementation "com.google.dagger:dagger-android-support:2.18"
    annotationProcessor 'com.google.dagger:dagger-compiler:2.18'
    //Asyncjob
    implementation 'com.arasthel:asyncjob-library:1.0.3'
    //Butterknife
    implementation 'com.jakewharton:butterknife:9.0.0-rc1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
}

这是我在 Android Studio 中的构建面板

有什么想法吗??谢谢!!

更新(2018 年 1 月 1 日)

我想我已经找到了这个问题的答案。我读到所有支持库都将迁移到 androidx 库。

所以我阅读了 Android 开发者文档并解释了如何将所有 android.support. 库迁移到 androidx。

您只需转到 Android Studio 并从菜单栏中选择 Refactor >> Migrate to AndroidX

这是更多信息的链接--> Android Developers Documentation (Migrate to Androidx) .

最佳答案

将此添加到您的 gradle.properties 文件中

android.useAndroidX=true
android.enableJetifier=true

关于android - 错误 : "Program type already present: androidx.versionedparcelable.CustomVersionedParcelable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53570454/

相关文章:

java - 使用 Gradle 更改源文件时运行单元测试的子集

java - jersey/tomcat 说明源服务器未找到目标资源的当前表示

ios - 执行 segue 时线程 1 : signal SIGABRT,

php - 在 Yii 中更改错误 'cannot be blank'

perl - Perl-自定义错误输出

Android - 谷歌地图添加覆盖

android - 显示所选 API 的文档

android - 带有 TabActivity ImageView 的自定义标题栏