Gradle buildType作用详解

来源:互联网 发布:电商运营数据分析 编辑:程序博客网 时间:2024/05/22 11:04

buildType在gradle中的作用比较简单,

1.命名

2.签名

3.混淆

4.其他的一些基本配置


1.命名:

之前介绍过不同渠道的配置方法,这里介绍一下命名规则

    buildTypes {        release {            .......        }        hiapk {            applicationIdSuffix ".hiapk"        }    }
2.签名

    signingConfigs {        myConfig{            storeFile file("gradle.keystore")            storePassword "gradle"            keyAlias "gradle"            keyPassword "gradle"        }}    buildTypes {        release {    ......            signingConfig  signingConfigs.myConfig    ......        }        hiapk {            applicationIdSuffix ".hiapk"        }    }

3.混淆

buildTypes {    debug {        minifyEnabled false        proguardFile('proguard.cfg')    }    release {        minifyEnabled true        proguardFile('proguard.cfg')    }}

4.其他的一些基本设置

以下是一些基本配置,感兴趣的可以自己看一下,有一些是根据版本不同不可以使用的

release {    minifyEnabled false    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'    signingConfig  signingConfigs.myConfig    debuggable false    jniDebuggable false    versionNameSuffix ".suffix"    zipAlignEnabled true    pseudoLocalesEnabled true    renderscriptDebuggable true}


下面是命名的配置:

applicationVariants.all { variant ->    if (variant.buildType.name.equals('release')) {        variant.outputs.each { output ->            def appName = 'MyApp'            def oldFile = output.outputFile            def buildName            def releaseApkName            variant.productFlavors.each { product ->                buildName = product.name            }            releaseApkName = appName + getVersionNameFromManifest() + '-' + buildName + '-' + getDate() + '.apk'            output.outputFile = new File(oldFile.parent, releaseApkName)        }    }}
//获取时间戳def getDate() {    def date = new Date()    def formattedDate = date.format('yyyyMMddHHmm')    return formattedDate}//从androidManifest.xml中获取版本号def getVersionNameFromManifest() {    def manifestParser = new com.android.builder.core.DefaultManifestParser()    return manifestParser.getVersionName(android.sourceSets.main.manifest.srcFile)}



0 0
原创粉丝点击