Android gradle配置抽取合并

2023-10-31

一、为什么要合并

       当项目中model或library变多过后,比如用到组件化或者引入第三方库需要配置多个build gradle文件,一旦需要统一其SDK或者其他组件版本就需要同时修改多个文件,这确实很麻烦,所以抽取gradle配置非常有必要。抽取过后如果想修改版本, 只需修改公共文件的就可以了。

二、怎么操作文件

1. 新建gradle文件夹
1. 作用: 存放抽取的公用gradle文件
2. 操作步骤
  1. 在项目主目录新建gradle文件夹(Directory)
  2. 在gradle文件夹下新建androi.gradle文件
    在这里插入图片描述
  3. 拷贝app.gradle里全部内容, 在此基础上做修改
  4. 首先修改第一行的文件类型声明方式
    原本: apply from: 'com.android.application'
    修改为: project.plugins.apply("com.android.application")
    在这里插入图片描述
  5. 现在到app.gradle或者其他model内引入(如果是library也是同理, 只是文件类型不同, 不需要applicationID), build一下引用成功了
    apply from: '../gradle/android.gradle'
2. 新建config文件夹
1. 作用: 存放sdk等版本号公共配置文件
2. 操作步骤
  1. 在项目主目录新建config文件夹
  2. 再建立子文件config.gradle(当然也可以就放在gradle文件夹下)
  3. 在project下引入
    apply from: '/config/config.gradle'
  4. 编写配置内容,以model为例:
ext {
   androidVersion = [
           minSdkVersion : 23,
           targetSdkVersion : 29,
           versionCode : 1,
           versionName : '1.0.0',
           compileSdkVersion : 29,
           buildToolsVersion : '29.0.2',
           applicationId : 'com.xxx.plugin_package'
   ]
}
  1. 在android.gradle中定义
    def config = rootProject.ext.androidVersion
  2. 在android.gradle中使用
三、结束

上文为一个抽取公共配置的样例, 包括其他很多的属性都可以以此方法进行抽取合并, 包括依赖.

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

Android gradle配置抽取合并 的相关文章

  • crmeb安装教程说明

    安装教程说明 1 下载源码后解压到你的网站根目录下面 2 然后配置你的网站运行目录为public 3 配置伪静态为thinkphp的规则就行 location if e request filename rewrite index php
  • 机器学习: 神经网络中的Batch Normalization(BN)算法

    一 什么是Batch Normalization 1 从白化 Whiten 说起 之前的研究表明如果在图像处理中对输入图像进行白化 Whiten 操作的话 所谓白化 就是对输入数据分布变换到0均值 单位方差的正态分布 那么神经网络会较快收敛
  • C/C++ 开发利器 CLion安装与配置

    概述 CLion是Jetbrains公司旗下新推出的一款专为开发C C 所设计的跨平台IDE 它是以IntelliJ为基础设计的 同时还包含了许多智能功能来提高开发人员的生产力 提高开发人员的工作效率 这个强大的IDE不仅可以帮助开发人员在
  • 使用LL库开发STM32:GPIO口与外部中断

    文章目录 目的 初始化设置 输出与控制 输入与端口值读取 外部中断 总结 目的 GPIO口使用是单片机开发中最简单的一块 STM32的GPIO口无论是使用HAL库还是LL库开发起来都很简单 也没有什么坑 一般的对性能和内存等没有特殊要求的话
  • 时序预测

    时序预测 MATLAB实现ARMA自回归移动平均模型时间序列预测 目录 时序预测 MATLAB实现ARMA自回归移动平均模型时间序列预测 预测效果 基本介绍 程序设计 参考资料 预测效果 基本介绍 MATLAB实现ARMA时间序列预测 完整
  • 区块链经典图书推荐

    出品 白话区块链 ID hellobtc 白话区块链特精选区块链入门和进阶 必看书单 供君挑选 现在一本书最贵也就售价几十元 带来的也许是新时代更多的机遇 知识真心不贵 有需要的同学赶紧行动吧 01 区块链 元宇宙的基石 作者 简蓉蓉 马丹
  • 中国与外国(发达国家)

    偶尔就会看到什么崇洋媚外 就有人出来说 要看到自己的长处 不要什么都根国外学习 所以 以前总是希望能找到自己过人的长处 东西也用中国的 例如 买mp3 想到国外的那么贵 国产的便宜 而且功能多 于是就买国产的 例如 书籍 国外的书 都是E文
  • Google Play services SDK的安装

    官方网站可参考 http developer android com google play services setup html 2012年3月6日Google Market 改名为Google Play 相应的Google 不断在丰富

随机推荐

  • Java 静态绑定和动态绑定

    绑定 一个方法的调用与方法所在的类关联起来 静态绑定 final static private 在程序执行前已经被绑定 也就是说在编译过程中就已经知道这个方法是哪个类的方法 此时由编译器获取其他连接程序实现 动态绑定 在运行根据具体对象的类
  • iOS 批处理脚本打包-从编译到打包

    最近更新了Xcode9 由于项目需要 Xcode9打包出ipa后根据之前的脚本工具 继续我的批处理打包 但是 打包后居然出现了iOS 11 安装后图标没有改变还是原始的图标 为了验证 我再一次用Xcode8 打包 然后脚本打包 没有出现问题
  • 聊聊 AI 平台存储方案和选型

    最近火爆全网的 ChatGPT 再次带来一股 AI 热潮 过去的五年 AI 快速发展并应用到很多领域中 作为一家存储企业 我们也感受到了 AI 行业的活力 和我们交流团队中 AI 企业越来越多 有自动驾驶 蛋白质结构预测 量化投资等不同行业
  • Python爬虫学习实战

    Python爬虫学习实战 前期回顾 概述 技术要求 实战 网页分析与数据提取 小说目录提取 小说章节内容 总结 前期回顾 Python爬虫学习之requests Python爬虫学习之数据提取 XPath Python爬虫学习之数据提取 B
  • 零点_极点

    http bbs dianyuan com topic 150823 其实完全可以通过以下简单的观念理解 但凡是遇到了低通滤波器 那么我们可以认为存在极点 但凡遇到高通滤波器 那么我们认为存在零点 所谓的补偿让系统稳定 其实就是通过设计滤波
  • 烽火路由路虚拟服务器,netcore路由设置烽火

    有网友问小编 netcore路由设置烽火怎么设置无线网络 学习啦小编整理了相关资料 供您参考 第1步 用一根网线连接modem 宽带猫 及路由器wan口 用另一根网线连接路由器lan口与电脑网卡接口 第2步 打开浏览器 输入路由器登陆地址
  • flink/hive sql 实现递归 查询人员组织架构

    递归人员归属查询 解决的问题 flink sql无法使用递归查询的问题 场景 syc loan dpt did dname dlevel pdid syc agent usr uid uname did 组织架构 元事业部 城市中心 分中心
  • CSharp代码注释翻译软件的介绍

    如果您在阅读国外作者所写的代码时候 很想能够将代码的注释翻译为中文 那么 该软件是您的一个较好的选择 CSharp代码注释翻译软件 可以选择翻译单个代码文件 也可以翻译整个解决方案 翻译整个解决方案完成后 会在原来的解决方案文件夹同源的目录
  • C/C++ 中的%d等意义

    d 整型输出 ld长整型输出 o 以八进制数形式输出整数 x 以十六进制数形式输出整数 或输出字符串的地址 u 以十进制数输出unsigned型数据 无符号数 注意 d与 u有无符号的数值范围 也就是极限的值 不然数值打印出来会有误 c 用
  • HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    今天 在vs2013中新建了一个placard json文件 当我用jq读取它的时候 去提示404 直接在浏览器访问这个文件 提示 HTTP 错误 404 3 Not Found 由于扩展配置问题而无法提供您请求的页面 如果该页面是脚本 请
  • session 和 cookie 有什么区别?

    Session 和 Cookie 都是Web开发中非常重要的概念 它们用于保存Web应用程序状态和用户信息 但是它们有一些重要的区别 1 存储位置不同 Cookie 存储于客户端 浏览器 而 Session 存储于服务器端 对于服务器端存储
  • python训练模型、如何得到模型训练总时长_模型训练时间的估算

    模型训练时间的估算 昨天群里一个朋友训练一个BERT句子对模型 使用的是CPU来进行训练 由于代码是BERT官方代码 并没有显示训练需要的总时间 所以训练的时候只能等待 他截图发了基本的信息 想知道训练完整个模型需要多久 最开始跑BERT模
  • 如何做一个人工智能聊天机器人的毕业设计

    毕业设计是大学生的必修课程之一 许多学生在毕业设计中选择了人工智能方向的课题 人工智能聊天机器人是一个很好的毕业设计课题 它涉及到自然语言处理 机器学习 深度学习等人工智能的核心技术 做好一个聊天机器人的毕业设计需要考虑好聊天机器人的功能
  • 树莓派3 有线静态路由设置_配置树莓派为wifi热点(AP模式)

    该功能主要用于搭建一个小型的的网络 使得连接至热点的各个设备可以进行通信 用于构建物联网系统 如智能家居 或是无线控制指定设备 另外这一网络也是独立的 并未启用NAT连接至互联网 具有一定的安全性也为研究提供了一定的便利 目前已经有很多方案
  • 删除rabbitmq的队列和队列中的数据

    欢迎访问本人博客查看原文 http wangnan tech 访问http rabbitmq安装IP 15672 帐号guest 密码guest 也可以使用自己创建的帐号 登录后访问http rabbitmq安装IP 15672 queue
  • Error:() java: 程序包org.springframework.beans.factory.annotation不存在

    写在前面 很重要 idea的2019 2020版本确实是存在很多bug的 我也踩过几个坑 我推荐使用idea2018 1 8版本 这个版本比较稳定 我暂时没遇到什么bug 其实遇到这个bug我很高兴 因为之前就出现过这个bug 当时公司前辈
  • 华为30道Python面试题总结

    Python是目前编程领域最受欢迎的语言 在本文中 我将总结华为 阿里巴巴等互联网公司Python面试中最常见的30个问题 每道题都提供参考答案 希望能够帮助你在求职面试中脱颖而出 找到一份高薪工作 这些面试题涉及Python基础知识 Py
  • hutool json转map_记一个Jackson与Hutool混用的坑

    技术公众号 Java In Mind Java In Mind 欢迎关注 问题出现 最近遇到一个问题 Hutool从4 1 7升级到4 6 8之后 使用feign调用出现错误 Caused by feign codec EncodeExce
  • CXF java.lang.RuntimeException: Cannot create a secure XMLInputFactory

    刚开始接触cxf 照着网上的例子写了一个demo 在测试 编写客户端访问服务运行的时候后台报了 CXF java lang RuntimeException Cannot create a secure XMLInputFactory 的错
  • Android gradle配置抽取合并

    一 为什么要合并 当项目中model或library变多过后 比如用到组件化或者引入第三方库需要配置多个build gradle文件 一旦需要统一其SDK或者其他组件版本就需要同时修改多个文件 这确实很麻烦 所以抽取gradle配置非常有必