欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

androidstudio3.5+创建module Project needs to be converted to androidx.* dependencies的解决方案

程序员文章站 2022-04-25 16:50:33
...

Android Studio升级到3.5后,老的android项目是不使用androidx的,所以在用3.5版本的AS导入老的项目时,在创建module时会提示:Project needs to be converted to androidx.* dependencies,而且完成按钮是无法点击的。(如下图)

androidstudio3.5+创建module Project needs to be converted to androidx.* dependencies的解决方案

在此提供两种解决方式:

1、升级到androidx:

1)在工程gradle.properties下添加:
 android.useAndroidX=true
 android.enableJetifier=true 
2)点一下右上角Sync Now 

androidstudio3.5+创建module Project needs to be converted to androidx.* dependencies的解决方案

以上两步就是把工程使用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了

androidstudio3.5+创建module Project needs to be converted to androidx.* dependencies的解决方案

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一下工程,如下图:

androidstudio3.5+创建module Project needs to be converted to androidx.* dependencies的解决方案

至此完成了Android Studio升级到3.5后给不使用androidx的项目新建module,算是曲线救国吧。有更好的方法可以留言告诉大家。

相关标签: module