先不谈为什么要升级AndroidX了,下面是我这个项目升级AndroidX踩的坑,记录一下(我是按照我的顺序来的):

1、升级Gradle版本,修改gradle-wrapper.properties:

AndroidX最低支持的gradle版本是4.6,我这边直接5.1.1了;

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

2、升级插件版本:

在主工程(Project)的bulid.gradle里,AndroidX最低支持的版本是3.2,我这边直接3.4.1了;

classpath 'com.android.tools.build:gradle:3.4.1'

3、修改SdkVersion

AndroidX最低支持 28 、28.0.2;

compileSdkVersion: 29
targetSdkVersion : 29
buildToolsVersion "29.0.0"

附带添加一下这个gradle.properties:

# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true

4、使用 Migrate to androidx

这波操作以后,你的项目就会有大变动了:

原来的android.xxx.xxx.28.0.2全部变为androidx.xxx.xxx.1.0.0;

下面的这些引入也会变化:

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;import androidx.core.content.ContextCompat;
import androidx.appcompat.widget.AppCompatTextView;

坑1、Glide:

Glide中使用的 android.support.annotation.CheckResult 和android.support.annotation.NonNull这两个注解找不到;

解决方法:使用glide4.8.0 、 bulid.gradle中添加以下声明;

"libGlide"                : "com.github.bumptech.glide:glide:4.8.0",
"libGlideCompiler"        :"com.github.bumptech.glide:compiler:4.8.0"
//解决Glide找不到Android声明库问题annotationProcessor 'androidx.annotation:annotation:1.0.0'

坑2、ButterKnife

使用ButterKnife 10.1.0版本;

classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0' //这个地方也别忘记改为10.1.0

坑3、Android-PickerView:

PickerView的 com.contrarywind.interfaces.IPickerViewData 会找不到;升级到4.1.8版本即可;

注意:AndroidX升级后android.support.design 或 android.support.xxx 将会不可用,找不到这些文件;

需要使用AndroidX的新包:AndroidX对应表、androidX与旧包对照表;

AndroidX升级;项目升级AndroidX遇到的问题和解决;相关推荐

  1. Android项目升级AndroidX

    官网:https://developer.android.google.cn/jetpack/androidx/migrate 强烈建议:把项目升级到AndroidX一定一定要新建分支来操作,不然升级 ...

  2. 如何快速将Android Support Library项目升级到AndroidX

    项目名右击 → Refactor → Migrate to AndroidX 有些项目会报错: you need to have compileSdk set to at least 28 in yo ...

  3. 公司Windows Office升级项目总结

    Windows& Office升级项目结束已有半年之久了,一直没有抽出时间总结,现做一些简单的总结. 微软已于2014年4月8日停止对Windows XP和Office 2003的技术支持,这 ...

  4. android studio项目总结,android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)...

    Android Studio从3.0版本新增了许多功能,当然首当其冲就是从3.0版本新增了对 Kotlin 开发语言的支持,除此之外还有其他一些新功能,例如:Android Profiler (其中包 ...

  5. 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目

    迁移Net项目为Net Core\Standard项目 背景: 我们公司内部有自己ORM开发框架,最新因为需要将系统迁移到国产服务器上,所以首先需要将最基础的ORM框架改造可以运行在国产服务器上.对于 ...

  6. 借助 SAP 电商云 Spartacus UI 提供的 Schematics 辅助您的前端项目升级

    将 Spartacus 升级到新的主要版本(例如,从 3.x 到 4.0)时,Spartacus 迁移机制会自动修复新版本中修改或删除的代码. 当您处理功能或错误,或对 Spartacus 源代码进行 ...

  7. C# 利用.NET 升级助手将.NET Framework项目升级为.NET 6

    概述 .NET6 正式版本已经发布有一阵子了,今天我就体验一下如何将.NET Framework的项目升级为.NET 6. 升级条件: Windows 操作系统 .NET 6 SDK Visual S ...

  8. Asp.NetCore3.1开源项目升级为.Net6.0

    概述 自从.Net6.0出来后,一直想之前开发的项目升级.Net6.0,有时想想毕竟中间还跨了个5.0版本,升级起来不知道坑大不大,最近抽时间对升级的方案做了些研究,然后将代码升级为.Net6.0.本 ...

  9. ASP.NET Core 实战:将 .NET Core 2.0 项目升级到 .NET Core 2.1

    一.前言  最近一两个星期,加班,然后回去后弄自己的博客,把自己的电脑从 Windows 10 改到 Ubuntu 18.10 又弄回 Windows 10,原本计划的学习 Vue 中生命周期的相关知 ...

最新文章

  1. 用source命令执行脚本和用sh执行脚本之间的区别
  2. 带括号的中缀表达式转后缀表达式
  3. textrank4zh是_GitHub - 997666901/TextRank4ZH: 从中文文本中自动提取关键词和摘要
  4. Java 打印菱形星块
  5. sql 2008服务器响应慢,SQL Server 2008停止响应后,Web服务器不活动
  6. 【渝粤题库】广东开放大学 英语语法与基础写作 形成性考核 (2)
  7. python中怎么判断字母大小写_python判断字符串是字母 数字 大小写(转载)
  8. python glob用法
  9. android之list排序
  10. 为什么有人不喜欢标准成本
  11. sitemesh2.4
  12. 5000字 大数据时代读书笔记_大数据读书笔记3000字
  13. JavaScript 设计模式之-单例模式(Singleton Pattern)
  14. java山地自行车怎么看型号_怎么看捷安特山地车型号
  15. HDC.Cloud Day | 全国首场上海站告捷,聚开发者力量造梦、探梦、筑梦
  16. 人生无捷径「一万小时定律·正篇」
  17. 接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。
  18. 将多个class文件打包为jar包
  19. Ubuntu16.04通过docker安装微信和QQ
  20. 仪表和中控车机GUI界面开发工具介绍

热门文章

  1. 花生日记基础架构建设
  2. 自己比较喜欢的几句话,激励自己的IT生涯继续前进
  3. 新手直播带货需要注意哪些问题呢?新手直播技巧必备:国仁楠哥
  4. 使用MSComm编写串口程序
  5. 【渝粤题库】陕西师范大学163106旅游心理学 作业【专升本】
  6. 03_P52 课后作业
  7. windows server 2012双网卡 实现局域网代理上网
  8. 机器人局部动态避障算法dwa解析
  9. Android 面试2018最新最全
  10. 音频入门: 最全面详细的Mel频谱和MFCC讲解