错误:"程序类型已经存在:androidx.versionedparcelable.CustomVersionedParcelable"

12

我遇到了以下错误 --> Error: Program type already present: 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中的构建面板

有什么想法吗?谢谢!!

更新(12-1-2018)

我认为我已经找到了解决这个问题的方法。我读到所有的支持库都将迁移到androidx库。

因此,我在Android开发者文档中阅读并解释了如何将所有的android.support.库迁移到androidx。

您只需要进入Android Studio,从菜单栏中选择重构>>迁移到AndroidX

这是更多信息的链接 --> Android开发者文档(迁移到Androidx)


使用“迁移到AndroidX”选项后,重新构建对我来说已经足够好了。 - Boy
3个回答

4

请将以下内容添加到您的gradle.properties文件中:

android.useAndroidX=true
android.enableJetifier=true

1
这几乎是我在更新中解释的解决方案,但我的解决方案是由Android Studio自动创建的。 顺便说一句,谢谢! - Sergio
如果由于与其他库的冲突而不想使用AndroidX怎么办? - Mayoul
@Mayoul 请看我的回答。 - Sos.

1

在长时间的搜索后,只有这个解决方案对我有效。

Android Studio 菜单 -> Build -> Rebuild Project。

在此处


1
以上应该是被选中的答案!对我有用,我尝试了很多东西~。谢谢! - NoobCoderChick

-3

问题:

错误:程序类型已存在:

androidx.versionedparcelable.CustomVersionedParcelable

解决方案:在 gradle.properties 文件的顶部添加以下内容。

android.useAndroidX=true

android.enableJetifier=true

您的项目将在构建期间无误地迁移到androidx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接