当前位置: 首页 > news >正文

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执行指令等都还好,不常用就不写了

相关文章:

  • hive面试题
  • 【MATLAB第94期】#源码分享 | 基于MATLAB的广义加性模型多输入单输出回归预测模型(至少2021a版本)
  • React一学就会(3): 强化练习一
  • Blender教程-物体的移动、旋转与缩放-04
  • Oracle Linux 9.3 安装图解
  • Go黑帽子(第二章)
  • Redis(七)复制
  • 【数据库】聊聊explain如何优化sql以及索引最佳实践
  • 【七、centos要停止维护了,我选择Almalinux】
  • 网络协议基础
  • k8s 容器 java 应用内存限制不生效
  • 网络安全热门岗位大盘点
  • 微信小程序个人中心、我的界面(示例三)
  • 【每日一题】YACS P817:两数归零
  • 搭建k8s集群实战(三)安装配置containerd、kubelet、kubeadm、kubectl
  • 栈和队列的动态实现(C语言实现)
  • Web3:B站chainlink课程Lesson5遇到的小坑汇总
  • uniapp app更新
  • Node.js Cool 框架分页数据 如果在一个状态下获取多个状态的数据
  • 2024年预制菜行业市场发展趋势分析(2021-2023年预制菜行业数据分析)
  • “拼好假”的年轻人,今年有哪些旅游新玩法?
  • 李在明正式登记参选下届韩国总统
  • 习近平会见古共中央第一书记、古巴国家主席迪亚斯-卡内尔
  • 胳膊一抬就疼,炒菜都成问题?警惕这种“炎症”找上门
  • 来论|建设性推进缅北和平进程——中国的智慧与担当
  • 85后清华博士黄佐财任湖北咸宁市咸安区委副书记、代区长