我遇到以下错误-> 错误:程序类型已存在: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中的“构建”面板
更新(12-1-2018)
我想我已经找到了解决这个问题的方法。我读到所有支持库都将迁移到androidx库。
因此,我已经阅读了Android开发者文档,并说明了如何将所有android.support.
库迁移到androidx。
您只需要转到Android Studio,然后从菜单栏中进行重构>>迁移到AndroidX 。
这是更多信息的链接,-> Android Developers Documentation (Migrate to Androidx)。
答案 0 :(得分:4)
将此添加到您的gradle.properties
文件中
android.useAndroidX=true
android.enableJetifier=true
答案 1 :(得分:1)
答案 2 :(得分:0)
问题:错误:程序类型已存在:androidx.versionedparcelable.CustomVersionedParcelable
解决方案:将其添加到顶部的gradle.properties文件中。
android.useAndroidX = true
android.enableJetifier = true
您的项目将迁移到androidx。现在构建时间没有错误