第一次使用androidx,解决报错:More than one file was found with OS independent,‘META-INF/androidx..‘

提示错误为:More than one file was found with OS independent ‘META-INF/androidx.vectordrawable_vectordrawable.version’
我做的工作,本身项目为androidx配置的项目,这个时候我添加了一个Activity和一个IntentService,就报告以上的错误,这个错误查阅各大网站没有得到解决,最后自己猜测是引包的原因,将自己的处理步骤整理如下:其中有前几个步骤可能不太影响,这里就不去测试了,但是也整理出来。
步骤1:(关键因素)
去掉: // implementation ‘com.android.support:appcompat-v7:28.+’
更换为:implementation ‘androidx.appcompat:appcompat:1.0.0+’
检查库中是不是有support的库,全部更换为androidx,更换关系如下:
Old build artifact AndroidX build artifact
com.android.support:support-compat androidx.core:core:1.0.0+
com.android.support:appcompat-v7 androidx.appcompat:appcompat:1.0.0+
com.android.support:design com.google.android.material:material:1.0.0+
com.android.support:multidex androidx.multidex:multidex:2.0.0+
com.android.support:recyclerview-v7 androidx.legacy:legacy-support-v4:1.0.0+
com.android.support:viewpager androidx.viewpager:viewpager:1.0.0+
com.android.support:support-fragment androidx.fragment:fragment:1.0.0+
在这里插入图片描述
support迁移到androidx的官方说明:https://developer.android.google.cn/jetpack/androidx/migrate,其实迁移很简单,声明两个配置android.useAndroidX=true,android.enableJetifier=true,然后引入androidx对应的库就可以了。

步骤2,(关键因素)
androdx的1.0版本支持的是28.0.0以上的版本,一般我们用29.0.0
将版本信息的配置文件更改为如下:
buildToolsVersion = “29.0.0”
minSdkVersion = 21
compileSdkVersion = 29
targetSdkVersion = 29
步骤3,(可能不是关键影响因素)
忽略有提示错误的库,提示什么,我们就在配置文件中添加忽略,添加方法如下
在这里插入图片描述
步骤4,(核心关键因素)检查我新建的activity和IntentService发现在头文件中引入的库包含了Support库,删掉import的Support库,重新import引入androidx的库,
检查layout中的xml文件,发现为android.support.constraint.ConstraintLayout,更改为androidx.constraintlayout.widget.ConstraintLayout
改完后,重新运行,可以正常运行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鼾声鼾语

感谢您的支持鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值