AndroidStudio中如何配置共享变量,以便于方便配置共享

文章目录

    • 一、定义共享变量
    • 二、引入通用配置
    • 三、在Module中使用这个通用配置

Android studio Gradle配置通用配置

在使用Android studio Android开发中Gradle通常会遇到很多相同的配置例如在不同的module中都要配置相同的compileSdkVersion、buildToolsVersion等

这时我们可以定义一个共享变量统一他们的配置,防止不同module因为配置不同而导致的一些兼容性问题,或一些其他bug

一、定义共享变量

在工程根目录创建一个名为common_config.gradle的文件

文件内容举例

project.ext{//java相关java_version=8java_max_heap_size=4G//JDK版本兼容source_compatibility = this.&getJavaVersion()target_compatibility = this.&getJavaVersion()//kotlin 版本‘kotlin_version = '1.3.41'//Android编译相关版本compile_sdk_version =28build_tools_version ='28.0.3'min_sdk_version= 16target_sdk_version =29//混淆相关minify_enabled =false
}
def getJavaVersion(){switch (project.ext.java_version){case "6":return JavaVersion.VERSION_1_6case "7":return JavaVersion.VERSION_1_7case "8":return JavaVersion.VERSION_1_8}
}

二、引入通用配置

在项目中的build.gradle中引入如下配置,注意不是build.gradle(app)

apply from:"${project.rootDir}/common_config.gradle"

示例:

buildscript {//引入通用配置apply from:"${project.rootDir}/common_config.gradle"repositories {google()jcenter()}dependencies {classpath 'com.android.tools.build:gradle:3.5.0'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"//small 插件框架//   classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}}

复制代码

三、在Module中使用这个通用配置

示例:

buildscript {//引入通用配置apply from:"${project.rootDir}/common_config.gradle"repositories {google()jcenter()}dependencies {classpath 'com.android.tools.build:gradle:3.5.0'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"//small 插件框架//   classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}}

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

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

相关文章

BGP第二篇(bgp邻居状态及影响邻居建立的因素)

1、bgp邻居状态 BGP对等体的交互过程中存在6种状态机: 空闲(Idle) 连接(Connect) 活跃 (Active) Open报文已发送(OpenSent) Open报文已确认(OpenConfirm&…

代码-功能-Python-运用bs4技术爬取汽车之家新闻信息

第三方库安装指令: pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple pip install BeautifulSoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple 运行代码: #这个代码并不完整,有很大的问题,但目前不知道怎么…

docker八大架构之单机架构

单机架构 什么是单机架构? 单机架构指的是应用服务和数据库服务公用同一台服务器。如下边两个图所示,当我们进行购物时,所有的物品信息和用户信息都是在同一个服务器下进行运行的,之所以称为单机架构就是因为它所有的操作是在同…

【JavaScript】深入了解 JavaScript 函数

序言 在 JavaScript 中,函数是一种强大的工具,它允许我们封装代码、实现逻辑复用,并且在需要时进行调用。本文将深入探讨 JavaScript 函数的各个方面,包括定义函数、函数调用、返回值、作用域、参数以及 ES6 中的箭头函数等内容。…

Vue3+Element+TS动态菜单+按钮权限控制实现探索

1.动态获取权限并根据获取权限转换成相对应的router 根据请求获取菜单数据,对菜单数据进行转换,分别进行下面几步: /*** 组件地址前加斜杠处理*/ export function addSlashToRouteComponent(routeList: AppRouteRecordRaw[]) {routeList.fo…

如何创建族表

https://jingyan.baidu.com/article/c275f6bafa5714a23c756768.html

五角钱的程序员 | Kafka 是什么?

本文来源公众号“五角钱的程序员”,仅用于学术分享,侵权删,干货满满。 原文链接:Kafka 是什么? 你是一个程序员,假设你维护了两个服务 A 和 B。B 服务每秒只能处理 100 个消息,但 A 服务却每秒…

数据结构·一篇搞定栈!

好久不见,超级想念 废话不多说,直接看 引言 在数据结构的大家族中,栈(Stack)是一种非常重要的线性数据结构,它的特点是后进先出(LIFO,Last In First Out)。栈在程序设…

Echarts旭日图的配置项,强大的层级关系展示图表。

ECharts中的旭日图(Sunburst Chart)是一种数据可视化图表,用于展示层级关系数据。它通常用于呈现树状结构或层级结构的数据,例如组织结构、文件目录结构、地理区域层级等。 旭日图通过圆形的方式展示数据的层级结构,每…

【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout 文章编号&…

算法day01

1、[283.移动零](https://leetcode.cn/problems/move-zeroes/) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。 解题思路: 双指针…

Redis——入门简介

Redis,全称为Remote Dictionary Server,即远程字典服务,是一个开源的、内存中的数据结构存储系统。它可以用作数据库、缓存和消息中间件,具备出色的读写性能和丰富的功能特性。以下是对Redis的入门简介: 一、Redis的主…

LVM逻辑卷管理之快照 —— 筑梦之路

简介 LVM快照是LVM提供的一个强大功能,它允许我们在不中断服务的情况下捕获逻辑卷在某个时间点的状态,从而进行备份、恢复或测试等操作。LVM快照是一个特殊的逻辑卷,它保存了原始逻辑卷在某个时间点的数据镜像。快照使用写时复制&#xff08…

IT项目管理-小题计算【太原理工大学】

1.合同总价问题 问承包商的利润是? 实际利润目标利润(目标成本-实际成本)*卖方分担比例 解:10 000(100 000 - 90 000)* 0.2 12 000(元) 实际成本有时也写作最终成本,问承…

Ubuntu 24.04 LTS 安装 touchegg 开启触控板多指手势

文章目录 〇、概述一、安装 touchegg二、安装 gnome-shell 扩展 X11 Gestures三、安装可视化配置工具 touche 〇、概述 之前为了让笔记本支持多指手势,我安装的是 fusuma,安装教程详见 这篇文章 ,考虑到 fusuma 安装过程繁琐且不支持可视化配…

Qt自定义控件--提升为

为什么要自定义控件 1,有复合小控件需要组合为一个整体控件时; 2,一个复合控件需要重复使用时; 实现 自定义控件文件 新增三个文件 关联不同组的控件 关联之前的准备工作 1,在主控件选择和子控件所有控件所在控件…

linux 设备驱动支持多个设备写法

compatible “aaa,bbb” 当一个驱动支持多个设备的时候,在每个设备的dts中,都会配置各自的compatible,当与driver中的compatible匹配后,会取各自的data。在 __of_match_node中有match。 Example1 static const struct of_devi…

Docker与Consul:构建动态服务发现与更新的微服务体系

Docker和Consul是构建微服务体系中常用的工具之一,它们可以协同工作来实现动态服务发现和更新。下面是一个简单的Java微服务体系的示例,使用Docker容器和Consul进行服务的注册、发现和更新。 1. 创建一个简单的Java微服务 首先,我们创建一个…

1.4. 离散时间鞅-鞅的Lp收敛,鞅与停时 (2)

鞅的L^p收敛p > 1,鞅与停时 鞅的L^p收敛(p > 1),鞅与停时2. 极大值不等式2.1. Doob不等式-时间有界2.2. L p L^{p} L

MySQL主从切换测试

测试主从高可用 确认mha正常运行中ps -ef | grep mha #一般在kde-offline3节点 mysql 166898 1 1 17:54 pts/0 00:00:00 perl /bin/masterha_manager --conf=/data/apps/mha4mysql-manager-0.58/app13306.cnf --ignore_last_failover 如果未启动则需要手动执行mha…