前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android编程之Navigation项目迁移AndroidX踩坑记录

Android编程之Navigation项目迁移AndroidX踩坑记录

作者头像
宋天伦
发布2020-07-15 16:41:30
1.4K0
发布2020-07-15 16:41:30
举报
文章被收录于专栏:fryteafrytea

Android编程之Navigation项目迁移AndroidX踩坑记录

androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。

在项目迁移AndroidX的过程中遇到一些问题,特别是Navigation抽屉页面迁移的过程中遇到一些问题,跟着网上的教程走完了全程,却总是闪退,原因直指xml布局文件。

经过一番斗争,终于完成了Android studio原生Navigation Drawer Activity的AndroidX迁移工作,在这里仅以此为例,记录迁移流程,及注意细节。

迁移固有流程

第一步:在project的gradle.properties文件里添加如下配置:

代码语言:javascript
复制
android.useAndroidX=true
android.enableJetifier=true

第二 步:将依赖库替换成AndroidX的库

比如将com.android.support:appcompat-v7库替换为androidx.appcompat:appcompat:1.0.0-alpha1

具体对应关系可以查看Google官方文档:ndroidX refactoring

第三步:修改import

将原来import的android.**的包删除重新import为androidx.**的新的包。

注:

  1. Android Studio 3.2 Canary 14及以上版本提供了更加方便快捷的方法一键重构到AndroidX。选择菜单上的ReFactor->Refactor to AndroidX...即可
  2. AndroidX需要使用最新的Android sdk,打开Android Studio的设置找到Android SDK下载最新的Android P Preview的sdk,然后将module的build.gradle里的compileSdkVersion改为compileSdkVersion '28'然后再编译

迁移Navigation

一般的项目经过以上的步骤就完成了,但是在我迁移Navigation时候发现还是无法运行,经过不断的排查发现在xml文件中使用的所有support型控件也需要替换,下面记录下我替换的控件。

  1. android.support.v4.widget.DrawerLayout替换为androidx.drawerlayout.widget.DrawerLayout
  2. android.support.design.widget.NavigationView替换为com.google.android.material.navigation.NavigationView
  3. android.support.design.widget.CoordinatorLayout 替换为 androidx.coordinatorlayout.widget.CoordinatorLayout
  4. android.support.design.widget.AppBarLayout替换为com.google.android.material.appbar.AppBarLayout
  5. android.support.v7.widget.Toolbar替换为androidx.appcompat.widget.Toolbar
  6. android.support.design.widget.FloatingActionButton替换为com.google.android.material.floatingactionbutton.FloatingActionButton
  7. android.support.constraint.ConstraintLayout替换为 androidx.drawerlayout.widget.DrawerLayout

结束!

参考文献


Author: Frytea

Title: Android编程之Navigation项目迁移AndroidX踩坑记录

Link: https://cloud.tencent.com/developer/article/1662427

Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android编程之Navigation项目迁移AndroidX踩坑记录
    • 迁移固有流程
      • 第一步:在project的gradle.properties文件里添加如下配置:
      • 第二 步:将依赖库替换成AndroidX的库
      • 第三步:修改import
      • 注:
    • 迁移Navigation
      • 参考文献
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档