android gradle 使用总结

news/2024/5/20 2:17:16 标签: android, gradle

一  buildscript

buildscript:这里面的声明(repositories,dependencies)是
gradle脚本自身需要使用的资源,会优先加载,
而外面的声明(repositories,dependencies)是项目需要使用的资源

repositories :托管第三方插件的平台
dependencies :具体路径

二  buildType,productFlavors的联系


buildType,productFlavors :都能生成不同的apk。
buildType :

构建类型,debug(本地调试) ,release(服务区编译或打包给系统集成的版本)

productFlavors :

多渠道,多项目区分 ,可以指定java,资源文件路径,及动态区分不同flavor的代码编写。

可以通过sourceSets 指定对应的代码目录,
也可以通过属性值BuildConfig.FLAVOR(也可以自定义属性值)来区分进而差异化代码编写
还可以flavorDimensions进一步细分不同的版本

三 集中管理


defaultConfig :项目的默认配置
一般会把 defaultConfig ,dependencies中公用的部分单独抽出来给各个模块调用。

比如:

1 抽android版本信息相关

直接抽取到ext里,抽到根build.gradle就能直接引用到ext了

ext {
    versionName = 'V1.0.1'
    versionCode = 1
    compileSdkVersion = 33
    minSdkVersion = 26
    targetSdkVersion = 30
}

然后: 

其他项目使用:compileSdk rootProject.ext.compileSdkVersion
2 抽dependencies:

新建buildSrc/src/main/java/Versions.java

public class Versions {
    public static final String testVersion = "com.yangtest.navi.test4.10.0";
}
然后:

implementation Versions.testVersion

还有一些其他关键字:

resConfigs :指定我们需要的strings资源,包括过滤 drawable文件夹的资源等
sourceSets :Java源代码文件和资源文件的集合
signingConfigs :签名配置

熟记这些基本当前项目就够了,自定义拼接版本号,自定义adb执行指令等都还好,不常用就不写了


http://www.niftyadmin.cn/n/5345096.html

相关文章

WinSCP如何使用公网TCP地址访问本地服务器

文章目录 1. 简介2. 软件下载安装:3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计…

即时设计好用吗?即时设计都有什么优势?

即时设计是否易于使用?即时设计有哪些易于使用的功能?假如你在寻找一个免费的Sketch 或者网页版本 PS,那么「即时设计」这是个不错的选择。这个云端 UI 设计工具允许您在不占用计算机内存的情况下使用任何设备。它可以快速存储您的设计文件&a…

酷开科技 | 酷开系统全能基因 融合架构更多精彩

智能电视和智能电视操作系统早已不是新鲜事物,随着人们对智能电视的使用需求越来越多,一些消费者开始了探索电视的更多可能性,酷开科技通过对消费者群体的调研将酷开系统进行了创造性的升级,更强大的功能,让我们深切的…

# Java NIO(一)FileChannel

Java NIO 1.BIO与NIO的区别 BIO为阻塞IO,NIO为非阻塞IO。 BIONIOJAVA1.4之前Java 1.4之后面向流:以byte为单位处理数据面向块:以块为单位处理数据同步阻塞同步非阻塞无选择器(Selector) 1.1NIO的核心组成部分 Cha…

多维时序 | Matlab实现RIME-TCN-Multihead-Attention霜冰算法优化时间卷积网络结合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现RIME-TCN-Multihead-Attention霜冰算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现RIME-TCN-Multihead-Attention霜冰算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资料…

大模型面试题总结

文章目录 一、大模型(LLMs)基础面二、大模型(LLMs)进阶面三、大模型(LLMs)微调面四、大模型(LLMs)langchain面1. 基于LLM+向量库的文档对话 基础面2. 基于LLM+向量库的文档对话 优化面3. LangChain的概念面试问题4.LangChain的一些模块提问5.LangChain的业务提问6.Lang…

vue.config.js的配置

vue.config.js的配置 const path require(path) const CompressionPlugin require("compression-webpack-plugin") const MomentLocalesPlugin require(moment-locales-webpack-plugin) const ProgressBarPlugin require(progress-bar-webpack-plugin) const ch…

创建第一个 Spring 项目(IDEA社区版)

文章目录 创建 Spring 项目创建一个普通的 Maven 项目添加 Spring 依赖IDEA更换国内源 运行第一个 Spring 项目新建启动类存储 Bean 对象将Bean注册到Spring 获取并使用 Bean 对象 创建 Spring 项目 创建一个普通的 Maven 项目 首先创建一个普通的 Maven 项目 添加 Spring 依…