Android 10 (API 29)官方介绍https://developer.android.google.cn/about/versions/10/highlights
一、AndroidX
官方AndroidX说明 https://developer.android.google.cn/jetpack/androidx
版本 28.0.0 是Android Support 库的最后一个版本。官方将不再发布 android.support 库版本。所有新功能都将在 AndroidX命名空间中开发。
AndroidX重新设计了包结构,旨在鼓励库的小型化,支持库和架构组件包的名字进行了简化。而且这也是减轻Android生态系统碎片化的有效方式。
与Android Support库不同,AndroidX软件包是单独维护和更新的。这些AndroidX包使用严格的语义版本控制,从版本1.0.0开始,您可以单独更新项目中的AndroidX库。
二、现有项目迁移
操作之前最后先将代码备个份哈~
将支持库更新到最终版本:[版本 28.0.0] (1.0.0 版本的 AndroidX 工件是与支持库 28.0.0 工件等效的二进制文件)
-
使用 Android Studio 3.2 及更高版本,Refactor > Migrate to AndroidX即可完成迁移
通常该操作并不能完全修改完毕(尤其是比较大的项目),部分资源尚需手动修改(如下步骤)
修改build.gradle的compileSdkVersion、targetSdkVersion、buildToolsVersion的配置,都设置为29
compileSdkVersion 29
buildToolsVersion 29.0.2
defaultConfig {
targetSdkVersion 29
}
- 修改项目的 gradle.properties
# 表示使用对应的 AndroidX 库而非支持库
android.useAndroidX=true
# 表示将依赖包也迁移到AndroidX 。(Android 插件会通过重写现有第三方库的二进制文件,自动将这些库迁移为使用 AndroidX。)
# 如果取值为 false ,表示不迁移依赖包到AndroidX,但在使用依赖包中的内容时可能会出现问题,
# 如果你的项目中没有使用任何三方依赖,此项可以设置为 false。
android.enableJetifier=true
- 修改build.gradle中依赖库
支持库映射表https://developer.android.google.cn/jetpack/androidx/migrate/artifact-mappings
如:
implementation 'com.android.support:appcompat-v7:28.0.0'
→ implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.android.support:design:28.0.0'
→implementation 'com.google.android.material:material:1.0.0'
- 修改相关类的import
将原来import的android.包删除,重新import新的androidx.包;
如:
import android.support.v7.app.AppCompatActivity;
→import androidx.appcompat.app.AppCompatActivity;
- 编译项目。如有问题,检查以上步骤重新编译。
(部分内容参考于网络,如有不妥,请联系删除~)