Android Studio多渠道签名打包
Android APP,由于市场太多,为了方便统计之类的原因,总是会进行多渠道打包,但是,通过去修改Androidminifest.xml中的渠道值打包,这样实在太累。Android Studio中,Gradle通过配置渠道值,提供了一次性多渠道打包功能。现记录一下。
步骤说明
- 配置gradle环境变量
- 修改Androidminifest中的渠道配置
- 在module的build.gradle中配置渠道信息
- 配置签名内容
- 打包
- 验证已签名APK是否根据渠道打包成功
配置gradle环境变量
运行cmd.exe,输入gradle -version 如果能查询到gradle版本信息,则跳过,否则需要设置环境变量
在Android Studio 2.0正式版中如下图查找gradle目录
然后根据路径,在电脑属性-环境变量中设置GRADLE_HOME e:\your_gradle_version
再配置PATH ;GRADLE_HOME\bin。
再重复运行cmd.exe,直到能正确显示gradle版本
修改渠道配置
在Androidminifest.xml中,找到渠道设置的meta-data,修改如下
在build.gradle中配置渠道信息
android {
productFlavors {
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: “xiaomi”]
}
_360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: “_360”]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: “baidu”]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: “wandoujia”]
}
}
}
配置签名信息
方法1:
同样在build.gradle中,defaultConfig{}中,添加加密key信息
signingConfigs { //gradle assembleRelease
/*
可以定义多个签名配置项,如下面的myConfig
*/
myConfig {
storeFile file(“app.keystore”)
storePassword “keystorepwd”
keyAlias “appAlias”
keyPassword “aliaspwd”
}
}
方法2:打开module setting,找到signing模块,添加key信息
在buildTypes{}中,如果打包release版本,则在release{}中引用上面的签名配置,debug版本同理
release {
minifyEnabled false // true 启用混淆器
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’
signingConfig signingConfigs.myConfig
zipAlignEnabled true //混淆后的zip优化,默认为true,可不写。当不显示配置为true时,不会生成unaligned.apk
}
打包
-
方法1
-
利用Android Studio Build下的Generate Signed APK,进行打包。如图选择渠道信息即可。
方法2
- 参考链接 http://my.oschina.net/aibenben/blog/370985?fromerr=RO9ZsLkG(暂时没有试验成功)