制作签名
app打包需要签名,签名文件可以自己制作
在android studio中打开Build>Generate Signed Bundle/APK,选择APK,next之后选择Create new打开创建签名界面

image
配置不同环境下的签名设置
首先要在build.gradle中android{}闭包下创建signingConfigs{}闭包,详细如下。
signingConfigs {
debug{
keyAlias 'key0'
keyPassword 'xxx'
storeFile file('../app/src/main/filters/sign/loveproduction.jks')
storePassword 'xxx'
}
relelase {
keyAlias 'key0'
keyPassword 'xxx'
storeFile file('../app/src/main/filters/sign/loveproduction.jks')
storePassword 'xxx'
}
}
配置不同环境下的打包类型配置
下一步构建打包类型
构建两个打包类型,一个debug版本,一个release版本,minifyEnabled表示开启混淆
buildTypes {
debug {
minifyEnabled false //是否混淆
proguardFiles getDefaultProguardFiles('proguard-android-optimize.txt'),'proguard-rules.pro'
buildConfigField 'String','SERVER',getSERVER('debug')
signingConfig signingConfigs.debug
}
release{
minifyEnabled true
proguardFiles getDefaultProguardFiles('proguard-android-optimize.txt'),'proguard-rules.pro'
buildConfigField 'String','SERVER',getSERVER('release')
signingConfig signingConfigs.release
}
}
重命名打包包名
如果需要对打包的apk重命名,可添加以下代码
android.applicationVariants.all {
variant ->
varint.outputs.all {
outoutFileName = "xxx-${variant.name}-v${varint.versionName}.apk"
}
}
多渠道配置
productFlavors {
xiaomi {
buildConfigField 'String','PLATEFROM','"xiaomi"'
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"xiaomi"]
dimension "channel"
}
yingyongbao{
buildConfigField 'String','PLATEFROM','"yingyongbao"'
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"yingyongbao"]
dimension "channel"
}
}
声明多渠道打包
最后在defaulConfig下声明多渠道打包的风味维度
flavorDimensions "channel"