第一步 配置PlaceHolder
在AndroidManifest.xml里配置PlaceHolder
<application>
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
</application>
第二步 设置productFlavors
在build.gradle设置productFlavors
android {
flavorDimensions "UMENG_CHANNEL_VALUE"
productFlavors {
kuan {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "kuan"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
qh360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
}
}
或者批量修改
android {
flavorDimensions "UMENG_CHANNEL_VALUE"
productFlavors {
xiaomi {}
_360 {}
baidu {}
wandoujia {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
第三步 自定义输出配置apk名称
android {
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
// 自定义输出配置
applicationVariants.all { variant ->
variant.outputs.all { output ->
//输出apk名称
outputFileName = "android_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
}
}
}
}
}
执行打包操作
常规的AS打包主要分两种:
- 一种是没有“.jks”文件的打包
- 一种是有“.jks”文件的打包
一、 没有“.jks”文件的打包
选择Build -> Generate Signed APK
打包操作1.png会出现:
打包操作2.png 打包操作3.png
因为我们是没有密钥的(身份证)所以我们要去生成一个密钥,所以这里我们选择 Create new…
(注意:这里有两个“密钥的密码” 因为一个是密钥的密码,一个是key的密码,但是通常我们在设置的时候会选择设置同一个,这样方便我们记忆,所以这里都认为是密钥的密码。)
打包操作4.png 打包操作5.png 打包操作6.png
建议就选Release结尾的打包,然后就打好包了
网友评论