Android Support到AndroidX的踩坑笔记

刚刚将新打包好的aar包,放入几年前的老项目中,结果在调用aar中的某个方法时,程序直接闪退了并且提示  java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat

经过一番查找,发现原来是因为android.support.*依赖包和androidx.core.*不能共存,即一个项目中不能同时存在。

因为现在的新建项目基本都是androidx的,所以为了解决这个问题,我就对老项目进行了修改。

主要的需要修改的地方

1、Android Support到AndroidX的踩坑笔记

这里选择支持AndroidX,在项目根目录的gradle.properties中添加这两行

android.useAndroidX=true
android.enableJetifier=true

2、修改app目录下的build.gradle

Android Support到AndroidX的踩坑笔记

将原来引用support.*的支持包全部替换为对应的androidx.*支持包

3、这个时候还需要再修改一下布局文件中,引用了support.*支持包的控件,改为androidx.*支持包引入

Android Support到AndroidX的踩坑笔记

Android Support到AndroidX的踩坑笔记

4、最后就是clear一下项目,再rebuild一下。。。应该就可以顺畅运行啦

 

Android Support到AndroidX的踩坑笔记Android Support到AndroidX的踩坑笔记 w366549434 发布了13 篇原创文章 · 获赞 0 · 访问量 1万+ 私信 关注
上一篇:迁移到androidx后错误膨胀类androidx.constraintlayout.ConstraintLayout


下一篇:java – Manifest合并失败:属性应用程序@ appComponentFactory更新Firebase库