我正在将Android迁移到目标28,并使用Android X代替Android支持库。我已将项目中的大多数引用更改为使用AndroidX。
不幸的是,当我进行构建时,它抱怨“ build”下的文件中使用了支持库参考,但这些参考是生成的,无法编辑。
我现在该怎么办?
这是错误的层次结构:
app/build/generated/source/apt/debug >
com/company/projectname/databinding/FragmentColorItemBinding.java >
error: package android.support.v7.widget does not exist
Obvs,我尝试手动更改它,但出现此错误:
Files under the "build" folder are generated and should not be edited.
因此,我无法将其更改为引用AndroidX。
我该怎么做才能编译我的构建?
它在这条线上抱怨:
public final android.support.v7.widget.CardView colorThumbnail;
在该文件上。我想使用新的CardView,但不确定如何使用?
编辑:
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation files('libs/android-binding-v0.6-preview.jar')
implementation 'com.flurry.android:analytics:8.2.0@aar'
implementation files('libs/ormlite-android-5.0.jar')
implementation files('libs/ormlite-core-5.0.jar')
implementation 'com.google.android.gms:play-services-vision:18.0.0'
implementation 'com.google.android.material:material:1.0.0-rc01'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'io.reactivex:rxjava:1.1.5'
implementation 'io.reactivex:rxandroid:1.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
implementation 'androidx.core:core-ktx:1.1.0-alpha05'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
def appCenterSdkVersion = '2.0.0'
implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
}
答案 0 :(得分:1)
如果您使用的是Android Studio,那么完成迁移过程非常简单。只需转到Refactor -> Migrate to AndroidX
。否则,您将必须找到/gradle.properties
文件并添加以下两行:
android.useAndroidX=true
android.enableJetifier=true
完成第一部分后,您需要将CardView导入语句中对Java文件中CardView的引用更改为:
import androidx.cardview.widget.CardView;
...
public final CardView colorThumbnail;
还要确保xml文件中的所有引用也正确!