当前位置: 首页 > 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执行指令等都还好,不常用就不写了

http://www.dtcms.com/a/7796.html

相关文章:

  • 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年预制菜行业数据分析)
  • 【C++】入门基础
  • 自动化防DDoS脚本
  • 免费激活Vmware16且配置虚拟机网络
  • 独立站怎么建设对seo好?
  • 如何自己制作一个属于自己的小程序?
  • 【MQ02】基础简单消息队列应用
  • 《WebKit 技术内幕》学习之十五(5):Web前端的未来
  • HbuilderX报错“Error: Fail to open IDE“,以及运行之后没有打开微信开发者,或者运行没有反应的解决办法
  • 从k8s当中学习go cli脚手架开发利器-cobra
  • Rust Web小项目