最近用户反馈新买的华为mate30 Pro在安装apk的时候异常退出了,按照国际惯例赶紧查看了统计的错误信息,原来是android10在作怪!没办法适配吧,经过了一天的时间,真是受尽了折磨终于适配完了,androidx的适配的相关资料也很少,只能硬着头皮看英文文档,尝试各种方法了,下面说一下适配步骤以及我遇到的坑,大家共勉,免得走冤枉路。
一、 什么是AndroidX?
AndroidX 对原始 Android 支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库。此外,AndroidX 还包括以下功能:
AndroidX 中的所有软件包都使用一致的命名空间,以字符串
androidx
开头。支持库软件包已映射到对应的androidx.*
软件包。有关所有旧类到新类以及旧编译工件到新编译工件的完整映射与支持库不同,AndroidX 软件包会单独维护和更新。
androidx
软件包使用严格的语义版本控制,从版本 1.0.0 开始。您可以单独更新项目中的 AndroidX 库。所有新支持库的开发工作都将在 AndroidX 库中进行。这包括维护原始支持库工件和引入新的 Jetpack 组件。
首先你的gradle版本至少为3.2.0以上,以及compileSdkVersion为28以上。
classpath 'com.android.tools.build:gradle:3.2.0+'
二、适配步骤
1、引入AndroidX
implementation 'androidx.core:core:1.1.0'
2、添加安装apk的权限,不然会报错
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
3、androidManifest.xml中provider的配置
<application