android升级到androidx库踩坑总结

2023-12-21 19:32
文章标签 android 总结 升级 androidx

本文主要是介绍android升级到androidx库踩坑总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这几天本来打算把项目迁移到androidx库,奈何还没开始就出现了一大堆问题。首先说下我重构的一个思路,我项目是组件化的,当时butterknife用的8.4.0版本,用的时候最新版是8.8,但是当时好像在库文件里面使用各种报错,所以只能选择了8.4。现在butterknife最新版10.2,已经迁移到androidx库

整个迁移过程其实很简单注意以下几点就行:

1.首先升级项目的gradle版本,至少应该3.2以上,gradle,gradle-wrapper.properties, gradle.properties,三个文件都要修改,我的是3.5,project的build部分代码如下,这里建议大家使用最新的Android studio,gradle也更新到最新,这样坑少一点

  dependencies {classpath 'com.android.tools.build:gradle:3.5.0'classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
android.useAndroidX=true
android.enableJetifier=true

 

2.配置module里面的build文件,配置下java版本,最低改成1.8即可

android {//...compileOptions {// ButterKnife 需要Java 8sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}//...
}

或者通过Android studio设置也行,打开项目设置

选下java版本为1.8就行,多个module的同学,每个都要设置下

3.通过Android Studio完成迁移工作,

如图,点击下就行了,会提醒是否备份,确定完成后整个库就迁移过去了,

 

至于导包什么的Android studio也会帮你完成,不过我发现会有漏的,运行的时候会报错,xml文件里面也会有漏的,注意xml里面的recycleView,androidx.appcompat.widget.RecyclerView这个有的地方没有换掉,建议全局替换成androidx.recyclerview.widget.RecyclerView.

顺带提一句,加上java1.8之后,Android端也能使用lambda表达式了,还是很舒服的

这样基本就ok了,可能还有其他的坑,到时候再追加

这篇关于android升级到androidx库踩坑总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/521223

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade