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后成功了