当前位置: 首页 > 工具软件 > V2EX-android > 使用案例 >

老项目 android support To androidX(持续更新)

闻人飞翼
2023-12-01

1.在项目的根部 gradle.properties

android.useAndroidX=true
android.enableJetifier=true

2.点击项目名称 refactor---Migrate to androidX

会备份项目,接着同意更改为Androidx

3.点击运行,studio提示错误信息,批量修改替换引入的包和报错的代码

4.修改引入的第三方代码

  butterknife(弃用,老代码没有办法依次修改) :This tool is now deprecated. Please switch to  view binding.

遇到问题:

1.using Jetifier. Reason: null. (Run with --stacktrace for more details.)”

在gradle.properties中排除有问题的包

android.jetifier.blacklist = huawei_push.jar

2.添加view binding ,build后报错

android {
    ......
buildFeatures {
    dataBinding = true
  }

       .......

   }

Could not find method viewBinding() for arguments

 官方建议Android studio 版本在3.6以上,自己的版本是4.10.0 ,对照gradle 插件版本说明

Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers

1.更新项目的顶级build

classpath "com.android.tools.build:gradle:4.10.0"

2.gradle-wrapper.properties 

 修改为

distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

版本得一一对应,否则会出现莫名其妙的错误,如果按照错误修改,会走不少弯路

build后,

ConstraintLayout binding 找不到的错误

于是想直接升级到最新版本

implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
androidx.constraintlayout.ConstraintLayout 改为 androidx.constraintlayout.widget.ConstraintLayout

重新build后成功了

 类似资料: