androidstudio3.5+创建module Project needs to be converted to androidx.* dependencies的解决方案
Android Studio升级到3.5后,老的android项目是不使用androidx的,所以在用3.5版本的AS导入老的项目时,在创建module时会提示:Project needs to be converted to androidx.* dependencies,而且完成按钮是无法点击的。(如下图)
在此提供两种解决方式:
1、升级到androidx:
1)在工程gradle.properties下添加:
android.useAndroidX=true
android.enableJetifier=true
2)点一下右上角Sync Now
以上两步就是把工程使用androidx的意思,但是由于老项目使用的不是androidx,会存在一些view和第三方框架不兼容问题,升级需谨慎。
2、不升级到androidx:
由于as3.5+强制要使用androidx,所以还是先设置使用androidx,然后再改回不使用即可。步骤如下:
1)在工程gradle.properties下添加:
android.useAndroidX=true
android.enableJetifier=true
2)点一下右上角Sync Now
3)新建module,这时候不会在提示:Project needs to be converted to androidx.* dependencies,因为上两步你已经设置使用androidx了
4)把新建module的build.gradle里面的dependencies下引入的androidX包改成android的,如果不知道怎么改,就从老的module对应的build.gradle里拷贝过来,也可以参考下面代码:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.android.support:appcompat-v7:28.1.0'
}
修改成:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:appcompat-v7:28.1.0'//28.1.0填写自己的版本
}
5)在步骤1添加的改成false 如下:
android.useAndroidX=false
android.enableJetifier=false
也可以直接注释掉,然后Rebuild一下工程,如下图:
至此完成了Android Studio升级到3.5后给不使用androidx的项目新建module,算是曲线救国吧。有更好的方法可以留言告诉大家。