前言
参加 Google 大会的感受
今年有幸参加了 Google 的 IO 大会, 简单的分享一下令我为之兴奋的几点
- 今年 Google 主要力推了 TensorFlow 甚至为其安排了为期一天的专场, 可见推广力度之大, TensorFlow Lite 让我感受到了在手机客户端训练神经网络的可能性, 这是非常令人着迷的, 国内的大厂如 阿里的咸鱼 和 网易有道, 均已跟进, 不得不向大厂致敬, 以下是官网和相关代码
- Flutter 即将迎来 1.0 的版本, 可以看的出来移动端总是沿着更高效开发的路线去推进, 所有 Flutter 诞生了, 身为 Android 开发者, 学习 Flutter 有得天独厚的优势, Google 也为 Flutter 添加了很多 Material 的组件
- Kotlin 的 1.3 版本将会将 Coroutines 协程升级为正式版, 可以安心大胆的用, 不用担心被 Google 爸爸去掉了
AndroidX 的由来
好了回到正题, 你是否有每次变更 targetsdk 变更的时候 com.android.support:xxx 的相关依赖均要更新的困扰, 如果有的话, 本文所述的内容, 便有可能解决你的困扰
Google 推出了新的 jetpack 包, 它是完美向下兼容的, 日后将会使用 androidx.appcompat:xxx 来代替 com.android.support:xxx 依赖, 当然前提是需要把 targetSdkVersion 升级到 28 即 Andorid 9.0
心动不如行动, 接下来就介绍一下, 如何从 com.android.support 迁移到 androidx
迁移工作
将 IDEA 升级到 3.2 以上的版本
升级 Gradle 的版本
- 打开 gradle-wrapper.properties
- 将 gradle 的版本升级为 4.10
...
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip
升级插件版本号
- 打开 project 工程下的 build.gradle 文件(注意不是 module 下的)
- 将 gradle 插件的版本升级为 3.2.0+
dependencies {
classpath "com.android.tools.build:gradle:3.2.0-rc03"
...
}
- 打开 module 下面的 build.gralde 文件
- compileSdkVersion 更改为 28
- targetSdkVersion 更改为 28
- buildToolsVersion 更改为 28.0.2
使用 Migrate to androidx
- 点击 Android Studio 导航条的 Refactor 中的 Migrate to androidx, 即可一键转为 androidX
- 会发现 import 导入的文件前缀变更了
注意: 一定要点击 Migrate to androidx 转换, 手动切换如有遗漏, 可能会出现 com.android.support:xxx 包与 androidx 并存的情况, 导致编译无法通过
总结
好了, 就这么简单, 喜欢尝鲜的朋友们, 可以亲自动手试一试
我自己的图片选择框架在 feature/androidx 分支上也已经升级到了 androidx, 下面附上链接
网友评论