AndroidX-程序类型已存在:androidx.annotation.BoolRes

Ver*_*lst 1 android android-studio

我今天尝试使用Android Studio中的“重构->迁移到AndroidX”选项将当前项目迁移到AndroidX,每当尝试编译应用程序时,都会收到

程序类型已经存在:androidx.annotation.BoolRes

AGPBI:{“种类”:“错误”,“文本”:“程序类型已存在:androidx.annotation.BoolRes”,“源”:[{}],“工具”:“ D8”}:app:transformDexArchiveWithExternalLibsDexMergerForDebug失败:app:buildInfoGeneratorDebug失败:生成失败,发生异常。*出了什么问题:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败。

我曾经./gradlew app:dependencies获取过我的依赖项列表,但是似乎很多库都在使用新的androidx.annotation:annotation:1.0.0依赖项。

//Android
implementation "androidx.constraintlayout:constraintlayout:$constraintLayout"
implementation "androidx.cardview:cardview:$androidX"
implementation "androidx.recyclerview:recyclerview:$androidX"
implementation "androidx.annotation:annotation:1.0.0"

//Material
implementation "com.google.android.material:material:$material"

// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle"
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle"

//Room
implementation "androidx.room:room-runtime:$room"
annotationProcessor "androidx.room:room-compiler:$room"
Run Code Online (Sandbox Code Playgroud)

Ver*_*lst 6

问题似乎与我的build.gradle文件中的renderscript api有关:

defaultConfig {
    applicationId "xxx"
    minSdkVersion 23
    targetSdkVersion 28
    versionCode versionMajor * 10000 + versionMinor * 100 + versionPatch
    versionName "${versionMajor}.${versionMinor}.${versionPatch}"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    vectorDrawables.useSupportLibrary = true
    renderscriptTargetApi 28
    renderscriptSupportModeEnabled true
}
Run Code Online (Sandbox Code Playgroud)

从块中删除renderscriptSupportModeEnabledand renderscriptTargetApi似乎可以解决此问题。