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

相关文章

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的