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

本文档详细介绍了如何将老项目中的Android Support库迁移到AndroidX,包括在`gradle.properties`中设置,使用Refactor迁移,解决Jetifier问题,处理第三方库如Butterknife的替换,以及解决view binding报错。在迁移过程中,作者遇到了使用Jetifier的错误和ConstraintLayout绑定问题,通过更新Gradle版本和排除特定包来解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值