android 升级后包依赖更新

1、将Android Studio 升级到3.4(3.2以上即可),并且将gradle升级到3.4.1(3.2.0以上即可),设置targetSdkVersion 28,Project的build.gradle中classpath ‘com.android.tools.build:gradle:3.4.1’。

2、修改gradle.properties
android.useAndroidX=true 表示启用 androidx
android.enableJetifier=true 表示将依赖包也迁移到androidx 。如果取值为false,表示不迁移依赖包到androidx,但在使用依赖包中的内容时可能会出现问题,如果项目中没有使用任何三方依赖,可以设置为false。

使用android.enableJetifier=true将项目中使用的第三方库也迁移到 Androidx,迁移后还需要 Flie -> Invalidate Caches /Restart 一下。

3、开始替换

替换前 替换后
import android.support.v4.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager; import androidx.viewpager.widget.ViewPager;
import android.support.v4.app.FragmentPagerAdapter; import androidx.fragment.app.FragmentPagerAdapter;
import android.support.v4.app.Fragment; import androidx.fragment.app.Fragment;
import android.support.v4.view.PagerAdapter; import androidx.viewpager.widget.PagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter; import androidx.fragment.app.FragmentStatePagerAdapter;
import android.support.v7.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import android.support.v7.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
android.support.v7.widget.AppCompatImageView androidx.appcompat.widget.AppCompatImageView;
import android.support.v7.widget.OrientationHelper; import androidx.recyclerview.widget.OrientationHelper;
import android.support.v4.content.ContextCompat; import androidx.core.content.ContextCompat;
import android.support.v7.widget.DividerItemDecoration; import androidx.recyclerview.widget.DividerItemDecoration;
import android.support.v4.view.ViewPager.OnPageChangeListener; import androidx.viewpager.widget.ViewPager;
import android.support.v4.content.FileProvider; import androidx.core.content.FileProvider;
android.support.v4.view.ViewPager androidx.viewpager.widget.ViewPager

除了修改support库的路径,还要修改support控件的import导包代码,像AppCompatActivity原来的import语句是下面这样的:

import android.support.v7.app.AppCompatActivity;
复制
启用AndroidX之后,导入AppCompatActivity的代码要改成下面这样:

import androidx.appcompat.app.AppCompatActivity;
复制
详细的support控件的新旧对应关系见下表:

支持控件的旧包名

支持控件的旧包名

android.support.v4.app.Fragment

androidx.fragment.app.Fragment

android.support.v4.app.FragmentActivity

androidx.fragment.app.FragmentActivity

android.support.v4.app.FragmentManager

androidx.fragment.app.FragmentManager

android.support.v4.app.FragmentPagerAdapter

androidx.fragment.app.FragmentPagerAdapter

android.support.v4.view.ViewPager

androidx.viewpager.widget.ViewPager

android.support.v4.view.PagerAdapter

androidx.viewpager.widget.PagerAdapter

android.support.v4.view.PagerTabStrip

androidx.viewpager.widget.PagerTabStrip

android.support.v4.view.PagerTitleStrip

androidx.viewpager.widget.PagerTitleStrip

android.support.v7.app.AppCompatActivity

androidx.appcompat.app.AppCompatActivity

android.support.v7.widget.Toolbar

androidx.appcompat.widget.Toolbar

android.support.v7.widget.RecyclerView

androidx.recyclerview.widget.RecyclerView

android.support.v7.widget.GridLayoutManager

androidx.recyclerview.widget.GridLayoutManager

android.support.v7.widget.LinearLayoutManager

androidx.recyclerview.widget.LinearLayoutManager

android.support.v7.widget.StaggeredGridLayoutManager

androidx.recyclerview.widget.StaggeredGridLayoutManager

android.support.v7.widget.CardView

androidx.cardview.widget.CardView

android.support.v7.graphics.Palette

androidx.palette.graphics.Palette

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/132628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于AOSP源码Android-10.0.0_r41分支编译,framework开发,修改系统默认字体大小

文章目录 基于AOSP源码Android-10.0.0_r41分支编译,framework开发,修改系统默认字体大小 基于AOSP源码Android-10.0.0_r41分支编译,framework开发,修改系统默认字体大小 主要修改一个地方就行 代码源码路径 frameworks/base/co…

python df.apply()函数

DataFrame.apply(func, axis0, rawFalse, result_typeNone, args(), by_row‘compat’, kwargs) 沿df的轴应用函数 func:对每行或者每列应用的函数axis{0 or ‘index’, 1 or ‘columns’}, default 0 0是列,1是行 rawbool, default False result_type**{‘expand…

单通道低压 H 桥电机驱动芯片AT9110H 兼容L9110 马达驱动芯片

H桥直流电机驱动电路是一种用于控制直流电机运转的电路,其主要特点是可以实现正反转控制,控制电机转速和方向,同时也具有过流保护功能。 H桥电路由四个功率晶体管和一些辅助电路组成,其中两个晶体管用于控制电机正转,…

【Linux】Nignx及负载均衡动静分离

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《微信小程序开发实战》。🎯&#x1f3a…

软件测试进阶篇----移动端测试

一、移动端测试概述 移动端测试不是一个新的领域,所采用的测试的理论、原则和方法、技术和之前web的是一样的。 移动端的手工测试,和web端的点点点是一样的。 移动端的自动化测试,pythonappiumunittest/pytestddtBeautifulReport/alluregi…

BGF-YOLO | 增强版YOLOV8 | 用于脑瘤检测的多尺度注意力特征融合

基于You Only Look Once(YOLO)的目标检测器在自动脑瘤检测中展现出卓越的准确性。在本文中,我们开发了一种新的BGF-YOLO架构,通过将双层路由注意力(BRA)、广义特征金字塔网络(GFPN)和第四检测头整合到YOLOv8中来实现。BGF-YOLO包含了一个注意力机制,用于更加关注重要的…

下载树莓派对应的64位Ubuntu系统步骤

说点废话:因为ros2需要安装在64位Ubuntu上面,所以安装64位最合适; 第一步打开https://cn.ubuntu.com/ 网站;选择下载--->iot----> 选择这个镜像文件下载。我觉得镜像文件是img格式的,跟iso文件区别是&#xff…

【Linux】 JumpServer 堡垒机远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…

基于北方苍鹰算法的无人机航迹规划-附代码

基于北方苍鹰算法的无人机航迹规划 文章目录 基于北方苍鹰算法的无人机航迹规划1.北方苍鹰搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用北方苍鹰算法来优化无人机航迹规划。 …

VERT900 Antenna

782773-01 VERT900 Vertical Antenna (824-960 MHz, 1710-1990 MHz) Dualband Includes one VERT900 824 to 960 MHz, 1710 to 1990 MHz Quad-band Cellular/PCS and ISM Band omni-directional vertical antenna, at 3dBi Gain.

LazyVim: 将 Neovim 升级为完整 IDE | 开源日报 No.67

curl/curl Stars: 31.5k License: NOASSERTION Curl 是一个命令行工具,用于通过 URL 语法传输数据。 核心优势和关键特点包括: 可在命令行中方便地进行数据传输支持多种协议 (HTTP、FTP 等)提供丰富的选项和参数来满足不同需求 kubernetes/ingress-n…

CSRF 和 XSS 是什么

在Web开发中,安全性是至关重要的。然而,随着网络攻击技术的不断演进,跨站请求伪造(CSRF)和跨站脚本攻击(XSS)成为了最常见和具有破坏力的网络安全威胁之一。本文将介绍CSRF和XSS的概念、原理以及…

Wampserver使用问题记录

前言 因为在使用PhpStom调用运行PHP文件时,需要到PHP解释器,所以就下载了Wampserver。Wampserver简单的来说运行后会启动PHP,MySQL,Apache服务,文件夹下也带有PHP的解释器。本来以为将PhpStom的PHP文件的解释器配置好后…

Python unittest单元测试框架 TestSuite测试套件

TestSuite 测试套件简介 对一个功能的验证往往是需要很多多测试用例,可以把测试用例集合在一起执行,这就产生了测试套件TestSuite 的概念,它是用来组装单个测试用例,规定用例的执行的顺序,而且TestSuite也可以嵌套Tes…

【hcie-cloud】【1】华为云Stack解决方案介绍、华为文档获取方式 【上】

文章目录 华为文档获取方式前言云计算发展背景国家政策、社会发展驱动数字经济开启新时代深化数字化转型提升效率,国家数字主权云进入落地阶段从Cloud-Based到Cloud-Native,两种模式长期并存适合政企智能升级的云华为云Stack,政企智能升级首选…

如何利用AppScan扫描H5页面,进行安全测试?

前期项目组接触的都是Web安全测试,今天做安全测试的时候,有一个项目刚好有H5页面,用以前那种AppScan内置浏览器的探索方式是不行的,研究了下,可以使用外部设备进行探索。 AppScan有两种手动探索方式,一种是…

nnUNet 更改学习率和衰减优化器的方法

此为记录贴,逻辑混乱 仅供参考: 勿喷 nnUNet默认的学习率衰减方法为线性衰减,优化器为SGD,在.\nnUNet\nnunetv2\training\nnUNetTrainer\nnUNetTrainer.py文件中nnUNetTrainer基类中定义 如下: def configure_optimize…

ESP-IDF-V5.1.1使用websocket

IDF Component Registry (espressif.com) 在windows系统中,在项目目录下使用命令 idf.py add-dependency "espressif/esp_websocket_client^1.1.0"

C++ 动态规划。。。

#include <iostream> #include <algorithm> using namespace std; // 定义一个常量&#xff0c;表示无穷大 const int INF 1e9; int dp[1000 2];// 定义一个函数&#xff0c;计算数组中某个区间的和 int sum(int arr[], int start, int end) {int s 0;for (int …

react_14

动态路由 路由分成两部分&#xff1a; 静态路由&#xff0c;固定的部分&#xff0c;如主页、404、login 这几个页面 动态路由&#xff0c;变化的部分&#xff0c;经常是主页内的嵌套路由&#xff0c;比如 Student、Teacher 这些 动态路由应该是根据用户登录后&#xff0c;根…