Gradle buildType作用详解

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)
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值