AndroidX升级日记

作者: SharryChoo | 来源:发表于2018-09-23 12:12 被阅读213次

    前言

    参加 Google 大会的感受

    今年有幸参加了 Google 的 IO 大会, 简单的分享一下令我为之兴奋的几点

    1. 今年 Google 主要力推了 TensorFlow 甚至为其安排了为期一天的专场, 可见推广力度之大, TensorFlow Lite 让我感受到了在手机客户端训练神经网络的可能性, 这是非常令人着迷的, 国内的大厂如 阿里的咸鱼 和 网易有道, 均已跟进, 不得不向大厂致敬, 以下是官网和相关代码
    2. Flutter 即将迎来 1.0 的版本, 可以看的出来移动端总是沿着更高效开发的路线去推进, 所有 Flutter 诞生了, 身为 Android 开发者, 学习 Flutter 有得天独厚的优势, Google 也为 Flutter 添加了很多 Material 的组件
    3. 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, 下面附上链接

    相关文章

      网友评论

        本文标题:AndroidX升级日记

        本文链接:https://www.haomeiwen.com/subject/ivgfoftx.html