Android Support到AndroidX的踩坑笔记

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

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

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

主要的需要修改的地方

1、Android Support到AndroidX的踩坑笔记_第1张图片

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

android.useAndroidX=true
android.enableJetifier=true

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

Android Support到AndroidX的踩坑笔记_第2张图片

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

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

Android Support到AndroidX的踩坑笔记_第3张图片

Android Support到AndroidX的踩坑笔记_第4张图片

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

 

你可能感兴趣的:(笔记)