Android 版本统一管理

2023-11-18

前言

因为现在项目都比较模块化,组件化,要用到的model比较多,一个model就有一个build.gradle文件,里面都有compileSdkVersion或buildToolsVersion等可能出现版本不一致导致编译出现错误,所以要做一个版本统一管理

项目新建以.gradle文件

我这里创建的是versions.gradle
在这里插入图片描述

然后在里面写你对应的版本号

ext {

    android = [
            compileSdkVersion        : 29,
            buildToolsVersion        : "29.0.3",
            minSdkVersion            : 23,
            targetSdkVersion         : 29,
            versionCode              : 1,
            versionName              : "1.0.0",
            applicationId            : "com.team.demo",
            testInstrumentationRunner: "androidx.test.runner.AndroidJUnitRunner"
    ]
    version = [
            appcompat_version          : "1.2.0",
            material_version           : "1.2.1",
            constraintlayout_version   : "2.0.4",
            junit_version              : "4.+",
            ext_junit_version          : "1.1.2",
            espresso_version           : "3.3.0",
            glide_version              : "4.9.0",
            fastjson_version           : "1.2.59",
            lib_dialog_version         : "1.1.0",
            eventbus_version           : "3.0.0",
            rxjava                     : "1.1.0",

            butterknife_version        : "10.1.0",
            compiler_version           : "10.1.0",
            SmartRefreshLayout_version : "1.0.3",
            SmartRefreshHeader_version : "1.0.3",
            butterknife_compile_version: "10.1.0",
            legacy_support_v4_version  : "1.0.0"
    ]

    dependencies = [
            appcompat         : "androidx.appcompat:appcompat:${version["appcompat_version"]}",
            material          : "com.google.android.material:material:${version["material_version"]}",
            constraintlayout  : "androidx.constraintlayout:constraintlayout:${version["constraintlayout_version"]}",
            glide             : "com.github.bumptech.glide:glide:${version["glide_version"]}",
            fastjson          : "com.alibaba:fastjson:${version["fastjson_version"]}",
            lib_dialog        : "com.ninetripods:lib-dialog:${version["lib_dialog_version"]}",
            eventbus          : "org.greenrobot:eventbus:${version["eventbus_version"]}",
            rxjava            : "io.reactivex:rxjava:${version["rxjava"]}",

            butterknife       : "com.jakewharton:butterknife:${version["butterknife_version"]}",
            SmartRefreshLayout: "com.scwang.smartrefresh:SmartRefreshLayout:${version["SmartRefreshLayout_version"]}",
            SmartRefreshHeader: "com.scwang.smartrefresh:SmartRefreshHeader:${version["SmartRefreshHeader_version"]}",
            legacy_support_v4 : "androidx.legacy:legacy-support-v4:${version["legacy_support_v4_version"]}"
    ]

    androidTestImplementations = [
            espresso: "androidx.test.espresso:espresso:${version["espresso_version"]}",
            junit   : "androidx.test.ext:junit:${version["ext_junit_version"]}"
    ]

    testImplementationExcludes = [
            junit: "junit:junit:${version["junit_version"]}"
    ]
}

使用方法

在你的根目录build.gradle下初始化
在这里插入图片描述
这个名字一定是你创建的名字

最后

在子目录的build.gradle中写入
在这里插入图片描述
这里是依赖的用法
在这里插入图片描述
以上是我自己的一套方案,希望大家多多支持

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 版本统一管理 的相关文章

  • Android Studio开发Flutter常用插件

    1 Rainbow Brackets 彩虹括号 Dart的括号太多了 让括号有颜色 还是很有作用的 2 JsonToDart 根据JSON字符串自动生成Dart的Model类 3 flutter img sync 图片资源管理插件 把图片资
  • php如何读取解析eml文件以及生成网页的示例分享

    这篇文章主要介绍了PHP读取 解析eml文件及生成网页的方法 结合实例形式分析了PHP操作eml文件的读取 解析 转换等相关实现技巧与注意事项 并附带demo源码供读者下载参考 需要的朋友可以参考下 本文实例讲述了PHP读取 解析eml文件
  • Android进阶宝典 -- 插件化1(加载插件中类)

    什么是插件化 插件化对于Android应用能起到什么好处 可能对于插件化不熟悉的伙伴们都会有这个疑问 或许你在项目中已经遇到过这个问题 只不过是不知道需要采用什么样的方式去解决 我们看下面这个场景 一个应用主模块20M 其他3个模块可以看做
  • Android Studio获取系统级签名方式

    android sharedUserId android uid system 系统签名 通过sharedUserId 拥有同一个User id的多个APK可以配置成运行在同一个进程中 那么把程序的UID配成android uid syst
  • Android进阶宝典 -- 手写RecyclerView分页组件

    在Android应用中 列表有着举足轻重的地位 几乎所有的应用都有列表的身影 但是对于列表的交互体验一直是一个大问题 在性能比较好的设备上 列表滑动几乎看不出任何卡顿 但是放在低端机上 卡顿会比较明显 而且列表中经常会伴随图片的加载 卡顿会
  • 安卓数据视图化工具SQLiteStudio

    SQLiteStudio工具使用介绍 1 下载 SQLliteStudio 解压后打开文件夹中的exe文件即可 阿里网盘有 2 对SQLliteStudio进行配置 简介 视图化安卓开发过程中数据库内容 笔者使用AndroidStudio开
  • 关于java.lang.UnsatisfiedLinkError的小案例

    在许多项目中我们都会用到第三方动态库 so文件 但是往往会引来很多烦恼 比如 java lang UnsatisfiedLinkError 06 17 15 52 08 097 7876 7916 com ishow scan E Andr
  • Linux下Android Studio的安装步骤及关键点【整理】

    2013年google公司发布了一个新的Android集成开发环境 Android Studio 它为Android开发者提供了更多便利 而google慢慢地已经把重心放到Android Studio的开发上了 所以对于Android工程师
  • APK 逆向工程 - 解析 apk 基本信息和方法调用图

    导读 在 Android 开发中 我们很少使用 Android 逆向去分析 apk 文件的 但是作为一个测试人员 我们要对这个 apk 文件进行一系列的分析 审核 测试 这篇文章讲解如何解析一个 apk 文件 主要从下面几方面介绍 解析前准
  • Android Studio中SVN重新关联项目,使其文件变色

    一般我们的项目中文件夹中通过svn关联 通过Android Studio打开按道理的话 可算是关联了 这里先普及下 SVN的文件的颜色所代表的意思 如下 绿色 已加入VCS 但未提交 红色 未加入VCS 白色 已提交 蓝色 有修改 问题 在
  • Android-小游戏

    Android 打地鼠游戏 前端界面 布局文件 TableLayout 表格布局 TableRow 行 TextView 文本框 ImageView 图片框 java代码 Handler 消息处理 Runnable 建子线程 setOnCl
  • Azure问题:第一次上传要求验证。Azure Issue: Asking for authentication for the first push.

    一开始我也好奇哪来的验证 I wonder why but it s required 第一步添加远程仓库First add remote git remote add origin 仓库链接commandLine 第二步新建分支creat
  • [Android Studio] 第5节 Intent页面跳转

    目录 目录 一 Intent是什么 二 使用步骤 1 调转demo 2 详解 3 页面数据传递 一 Intent是什么 Intent是Android中用于在不同组件 如活动 服务 广播接收器 之间传递数据和执行操作的对象 它可以用于启动活动
  • Intent.addFlags() 启动Activity的20种flags

    前言 在使用startActivity时候出现异常 Caused by Android util AndroidRuntimeException Calling startActivity from outside of an Activi
  • 【Android】Android ANR产生过程与分析方法

    前言 Android ANR问题一直是比较难解决的问题 一来它比较难以复现 二来复现后也不太好分析 这篇文章梳理一下ANR产生的过程以及出现ANR拿到日志文件如何定位原因 其实关于ANR线上监控也是比较棘手的 看了这篇文章我们再去看一些AN
  • android sdk自带的fragment标签使用

    项目开发中要用到 下面四个大分类 上面三个小分类的情况 大分类采用viewPage 小分类 使用了sdk自带的
  • 小米手机无法调试应用解决Installation failed with message Failed to establish session.

    小米手机性价比高 有些问题也很尖锐 比如我的5S用了黑科技 试验品 超声波指纹解锁 识别率就很低 每次解锁都要哈口气 真后悔 而且最近又遇到新问题 我的小米5S无法通过android studio调试应用 卖批啊 但即使这样也比蓝绿工程的O
  • Android发送POST网络请求

    参考链接 Android 网络请求 网络请求 Okhttp 51CTO博客 android 网络请求 项目中需要通过发送网络请求获取需要显示的数据内容 请求地址和requestbody如上图所示 网络请求用 implementation c
  • Android 实现隐私政策提示弹窗(完整版)

    android studio版本 2021 2 1 例程名称 pravicydialog 功能 1 启动app后弹窗隐私协议2 屏蔽返回键3 再次启动不再显示隐私协议 本例程的绝大部分代码来自下面链接 因为本人改了一些 增加了一些功能 所以
  • Android Studio 中模拟器无法打开,提示Error launching emulator

    一 遇到的问题 运行模拟器时 提示 Error launching emulator 二 解决方法 打开SDK Manager 点击取消Android Emulator 然后重新运行 会提示下载一些文件 按着操作即可 如果没问题就不需要取消

随机推荐

  • 医院管理信息系统 HIS EMR PACS LIS

    主要功能模块 系统设置 数据字典 业务数据 权限管理医疗卡 门诊挂号 大屏叫号 分诊 急诊管理 门诊医院站 门诊护士站 门诊收费 药库 药房 住院管理 住院结算 住院医生 住院护士 医技执行 手术室管理 会诊 临床路径 电子病历 院长查询
  • 自协商功能原理及工作过程

    自协商原理 自协商是通过一种叫做快速连接脉冲 Fast Link Pulse 的信号实现的 简称FLP 自协商的双方通过FLP来交换数据 在具备自协商能力的端口没有Link的情况下 端口一直发送FLP 在FLP中包含着自己的连接能力信息 包
  • 已有一个Excel表格,用VBA批量新建文件夹

    已有一组Excel表格数据 使用VBA快速批量建文件夹 不知道标题怎么写 已经有了这样一组数据 然后需要根据这两组数据新建文件夹 代码如下 Sub 建文件夹 Dim i As Integer 用于下方数组 Dim Arr1 Arr2 定义一
  • 浅析集合不安全例子

    package com bochy list import java util ArrayList import java util List public class ArrayListConcurrentProblem public s
  • 弹性盒子(Flex)相关属性全解析

    目录 基本介绍 添加在父元素上的属性 添加在flex容器上的 一 设置为弹性布局 display flex 二 修改主轴的属性 flex direction 三 设置子元素是否折换 flex wrap 四 设置主轴的对齐方式 justify
  • C语言中函数的调用和函数返回值(17)

    C语言中函数的调用和函数返回值 一 函数的调用形式 按照函数调用出现的形式 可以分为三种调用方式 1 函数调用语句 例如 printf star 2 函数表达式 c 2 max a b 3 函数参数 printf d max a b m m
  • 这可能是全网最详细的python安装教程(windows)

    python安装是学习pyhon第一步 很多刚入门小白不清楚如何安装python 今天我来带大家完成python安装与配置 跟着我一步步来 很简单 你肯定能完成 第一部分 python安装 一 准备工作 1 下载和安装python 认准官方
  • TiggerRamDisk的超详细使用教程(亲测成功)

    目录 一 软件介绍 一 型号对应 二 可以支持的功能 二 操作步骤
  • SAP PO上传异步接口(PO发布Webservice)

    导语 接口是SAP与其他系统进行数据交互的一种方式 在这篇文章中主要讲述通过PO实现的上传接口 即SAP被动接收其他系统发送的数据 注意 对于配置中涉及的基本组件的介绍和创建在前面的博客有说明和介绍 再次不做过多赘述了 一 ESB Ente
  • 去除a标签默认样式_超链接样式的使用CSS入门基础(014)

    今天我们分享关于超链接样式的内容 在浏览器中 超链接的样式有默认样式 点击后样式 鼠标悬停样式和激活样式四种状态 超链接默认情况下是带有下划线的 看起来很丑 用户体验不好 前面我们说到了text decoration none可以去除下划线
  • Unity-后期处理效果之Bloom

    Unity 后期处理效果之Bloom 什么是Bloom Bloom属性 什么是Bloom Bloom是一种游戏常见的一种屏幕效果叫做高光溢出 是一种光学效果 其中来自明亮来源 如闪光 的光表现为泄露到周围对象中 通俗来说就是这种特效可以模拟
  • Visual Studio Code 插件

    Visual Studio Code 插件安装 插件安装 Script插件 Vue插件 插件安装 首页点击 工具和语言 如下图 接下来 在输入框中输入想要安装的插件的名字 点击 install 即可进行安装 Script插件 1 Eslin
  • C++中cout和cerr的区别?

    之前一直在用 但就是没在意两者到底有啥却别 今天又想到这个问题 总结下吧 以下的内容均是本人从网上查阅资料看来整理的 暂时还没有查阅官方资料 不保证准确 欢迎讨论 其实大家平常常会用的主要有三个 cout cerr clog 首先简单介绍下
  • http协议的状态码:404等常见网页错误代码

    http协议的状态码 一 1xx 临时响应 表示临时响应并需要请求者继续执行操作的状态码 100 继续 请求者应当继续提出请求 服务器返回此代码表示已收到请求的第一部分 正在等待其余部分 101 切换协议 请求者已要求服务器切换协议 服务器
  • 滴滴夜莺:从监控告警系统向运维平台演化

    简述 滴滴夜莺 Nightingale 是一款经过大规模生产环境验证的 分布式高性能的运维监控系统 基于Open Falcon 结合滴滴内部的最佳实践 在性能 可维护性 易用性方面做了大量的改进 支撑了滴滴内部数十亿监控指标 覆盖了从系统
  • 惊呆了!女儿拿着小天才电话手表,问我Android启动流程!

    首先 new一个女儿 var mDdaughter new 女儿 6岁 漂亮可爱 健康乖巧 最喜欢玩小天才电话手表和她的爸爸 好了 女儿有了 有一天 女儿问我 爸爸爸爸 你说我玩的这个小天才电话手表怎么这么厉害 随便点一下这个小图片 这个应
  • Manifest合并失败几种原因以及解决方法

    今天遇到了一个报错 Error Execution failed for task app processDebugManifest gt Manifest merger failed with multiple errors see lo
  • c语言合并两个单链表LA和LB,把两个递增的单链表La,Lb,合并成一个递减的单链表Lc...

    原文题是严蔚敏同志的数据结构习题中第二章线性表中提出的问题 原问如下 2 24 假设有两个按元素值递增有序排列的线性表A和B 均以单链表作存储结构 请编写算法将A表与B表归并成一个按元素值递减有序 即非递增有序 允许表中含有值相同的元表 排
  • 基于Vue + vuex + Antd-design-vue实现天气App

    simple weather github 地址 github com WqhForGitHu 效果图 PC端 移动设备端 技术框架 该应用是基于 Vue vuex 实现的 页面的 UI 则是使用了 Antd design vue 库来完成
  • Android 版本统一管理

    前言 因为现在项目都比较模块化 组件化 要用到的model比较多 一个model就有一个build gradle文件 里面都有compileSdkVersion或buildToolsVersion等可能出现版本不一致导致编译出现错误 所以要