刚刚将新打包好的aar包,放入几年前的老项目中,结果在调用aar中的某个方法时,程序直接闪退了并且提示 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat
经过一番查找,发现原来是因为android.support.*依赖包和androidx.core.*不能共存,即一个项目中不能同时存在。
因为现在的新建项目基本都是androidx的,所以为了解决这个问题,我就对老项目进行了修改。
主要的需要修改的地方
1、
这里选择支持AndroidX,在项目根目录的gradle.properties中添加这两行
android.useAndroidX=true
android.enableJetifier=true
2、修改app目录下的build.gradle
将原来引用support.*的支持包全部替换为对应的androidx.*支持包
3、这个时候还需要再修改一下布局文件中,引用了support.*支持包的控件,改为androidx.*支持包引入
4、最后就是clear一下项目,再rebuild一下。。。应该就可以顺畅运行啦
w366549434 发布了13 篇原创文章 · 获赞 0 · 访问量 1万+ 私信 关注