错误:“程序类型已存在:androidx.versionedparcelable.CustomVersionedParcelable”

Posted

技术标签:

【中文标题】错误:“程序类型已存在:androidx.versionedparcelable.CustomVersionedParcelable”【英文标题】:Error: "Program type already present: androidx.versionedparcelable.CustomVersionedParcelable" 【发布时间】:2019-05-03 08:55:23 【问题描述】:

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

当我点击构建错误时,它会显示:

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 年 12 月 1 日)

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

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

您只需进入 Android Studio 并从菜单栏中进行 Refactor >> Migrate to AndroidX

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

【问题讨论】:

使用Migrate to AndroidX 选项后,重建对我来说已经足够了 【参考方案1】:

经过长时间的搜索,只有这个解决方案对我有用。

Android Studio 菜单 -> 构建 -> 重建项目。

来源Here。

【讨论】:

这应该是选择的答案!为我工作,我尝试了很多东西〜。谢谢!【参考方案2】:

问题:

错误:程序类型已存在:

androidx.versionedparcelable.CustomVersionedParcelable

解决方案:将此添加到顶部的 gradle.properties 文件中。

android.useAndroidX=true

android.enableJetifier=true

您的项目将在构建期间顺利迁移到 androidx

【讨论】:

【参考方案3】:

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

android.useAndroidX=true
android.enableJetifier=true

【讨论】:

这几乎是我在更新中解释的解决方案,但我的解决方案是由 Android Studio 自动生成的。顺便说一句,谢谢! 如果我们因为与其他库冲突而不想使用 AndroidX 怎么办? @Mayoul 看到我的回答。

以上是关于错误:“程序类型已存在:androidx.versionedparcelable.CustomVersionedParcelable”的主要内容,如果未能解决你的问题,请参考以下文章

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理

PHP的错误处理