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

你可能感兴趣的:(常用知识点分类汇总,android,gradle)