Gradle 使用总结

[TOC]

1、gradle.properties

在gradle.properties中配置好的参数,可以再build.gradle中直接使用。但要注意类型。

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
        //当出现3个或者3个以上环境和多个渠道时,线上不提供debug打包方式。
        //直接使用特定渠道包作为测试包,指定不同包名
        debug {
            signingConfig signingConfigs.config
            buildConfigField 'String','BASE_URL',BASE_URL_DEBUG
            buildConfigField 'String','H5_BASE_URL',H5_BASE_URL_DEBUG
            buildConfigField 'String','NODE_JS',NODE_JS_DEBUG
            buildConfigField 'boolean','IS_TEST','true'
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "debug"
                                    ,JPUSH_APPKEY_VALUE: JPUSH_KEY_TEST]
        }
    }

如上所示,BASE_URL_DEBUG就是在gradle.properties中配置的变量

2、多渠道打包配置manifest文件

在AndroidManifest.xml文件中添加占位符


然后在build.gradle中进行赋值

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "debug"
                                    ,JPUSH_APPKEY_VALUE: JPUSH_KEY_TEST]

3、-P命令入参构建

将姓名、时间等作为参数构建apk。

applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        if (project.hasProperty('ivan')){
                        outputFileName = ivan+".apk"
                    } else {
                        outputFileName = "123.apk"
                    }
                    }
                }
            }

如果此时报错

Cannot set the value of read-only property 'outputFile' .......

貌似是因为gradle版本的问题,那就换成下面的代码:

debug {
            android.applicationVariants.all { variant ->
                variant.outputs.all {
                    if (project.hasProperty('ivan')){
                        outputFileName = ivan+".apk"
                    } else {
                        outputFileName = "123.apk"
                    }
                }
            }
        }

gradle 命令:

gradle assembleDebug -Pivan=zhang

这样打包出来的apk名称为zhang.apk

4、待续

你可能感兴趣的:(Gradle 使用总结)