热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

记录一次Android多渠道打包

背景我有一个需求,要求是同一份代码要打两个包出来,只不过包名、logo、名称、签名、部分代码不一样,我是这样做的。第一步app的bu


背景

我有一个需求,要求是同一份代码要打两个包出来,只不过包名、logo、名称、签名、部分代码不一样,我是这样做的。


第一步

app的build.gradle中

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "xxx"
minSdkVersion 21
targetSdkVersion 30
versionCode 5
versionName "1.0.4"//
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//注意这个属性,当然设置在这个闭包的外面也是可以的。不设置会报错All flavors must now belong to a named flavor dimension
flavorDimensions "default"
}
signingConfigs {
//默认的渠道,这里签名的数据配置在项目里,见下图
debug {
// debug和release用的统一的jks避免重新新增MD5
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
release {
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
//新增的渠道签名
debugxiamen {
// debug和release用的统一的jks避免重新新增MD5
keyAlias 'xxxx'
keyPassword 'xxx'
storeFile file('../doc/xxx.jks')
storePassword 'xxx'
}
releasexiamen {
keyAlias 'xxxx'
keyPassword 'xxx'
storeFile file('../doc/xxx.jks')
storePassword 'xxx'
}
}
productFlavors {
//输出两个变体,即最终要打包的两个渠道
hengqin {
//可以单独指定某个渠道的包名,会覆盖manifest里面的packgename,也可以用这样配置 applicationIdSuffix ".demo"
applicationId "com.ly.checkticket4hengqin"
}
xiamen {
applicationId "com.ly.traffic.transport"
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
//productFlavors的闭包必须放到这个之前,否则肯定报错,没定义先使用嘛
//还有很多文章上说在不同渠道上只能指定debug签名,relase签名只能用同一个,我这边测试了一下,非也!
productFlavors.hengqin.signingConfig signingConfigs.release
//解决 The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES
productFlavors.xiamen.signingConfig signingConfigs.releasexiamen
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
dataBinding {
enabled = true
}
}

签名配置
图1


第二步

配置不同的logo、appname
在这里插入图片描述


第三步

代码里抹平渠道区分:

when(BuildConfig.FLAVOR){
"xiamen"->{}
"hengqin"->{}
}

第四步

打包
在这里插入图片描述
在这里插入图片描述


本文地址:https://blog.csdn.net/u012346890/article/details/112536211



推荐阅读
author-avatar
比熊--悉尼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有