不管你喜不喜欢 androidX 它都来了

本着我踩的坑都要分享出来的精神写了今天文章。

com.android.support 系列的依赖报名已经不陌生了,为了兼容而出现的他们在更新到28时候谷歌官方宣布停止更新,原因就是谷歌爸爸不喜欢这个名字了!! 呵呵 玩笑,只是版本管理有些乱,开发中也经常会碰到各种compat 而且原来越多,所以谷歌开始规范支持包,androidX 孕育而生。

androidx 出现规范代码,但是产生一个过渡期,什么过渡期? support到androidx过渡,对于我们来说又是一顿查找替换。为什么查找替换,因为原来api类名不变的情况下,androidx报名全部发生变化。这导致同一个项目中androidx 和 support会产生冲突,常见错误如下:

Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0-beta01] AndroidManifest.xml:22:18-86
    is also present at [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:11:5-49:19 to override.

注意:这个错误基本上在后面开发中经常会遇见,这就是项目中同时使用了androidx 和 support 。

现在很多国外代码已经开始使用了androidx 了 ,例如 photoview google+ sdk等。
所以以后support肯定是要被淘汰的!!

首先看看依赖包变化,例如:

api 'com.android.support:appcompat-v7:28.0.0'

变成了:

api 'androidx.appcompat:appcompat:1.0.0'

其他包变化可以参照官方文档:

//  https://developer.android.com/jetpack/androidx/migrate
那么怎么过渡到androidx?

首先:
将项目中android support 包和引用都改成androidx,这就是前面说的查找替换。

然后:
项目中肯定有第三方依赖,而且现在很多依赖都是使用sopport 包,那么就必须保证

classpath 'com.android.tools.build:gradle:3.1.+'

那么android studio就提供了sopport转androix的能力;需要在gradle.properties 文件中加入配置:

android.useAndroidX=true
android.enableJetifier=true

上面工作完成后,那么恭喜你,你的项目已经进入androix时代了 。

如果对你有帮助麻烦点个赞哦 !! _

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值