多渠道打包正式签名APK
16lz
2021-01-23
在清单文件中进行配置
data android:name="UMENG_CHANNEL" android:value="${CHANNEL}" />
在gradle中配置
android { productFlavors { zj { manifestPlaceholders = [CHANNEL: "zj"] } xiaomi { manifestPlaceholders = [CHANNEL: "xiaomi"] } qh360 { manifestPlaceholders = [CHANNEL: "qh360"] } baidu { manifestPlaceholders = [CHANNEL: "baidu"] } wandoujia { manifestPlaceholders = [CHANNEL: "wandoujia"] } }}
或者这样写
android { productFlavors { zj {} huawei {} xiaomi {}// qqyyb {}// wandoujia {}// baidu {}// qh360 {}// nduow {}// mumy {}// lenovo {}// oppo {}// vivo {}// samsung {} productFlavors.all { flavor -> flavor.manifestPlaceholders = [CHANNEL: name] } }}
打包的配置
android { signingConfigs { // your debug keystore debug { storeFile file("buglytestreleasekey.jks") storePassword "buglytestreleasekey" keyAlias "buglytestreleasekey" keyPassword "buglytestreleasekey" } release{ storeFile file("buglytestreleasekey.jks") storePassword "buglytestreleasekey" keyAlias "buglytestreleasekey" keyPassword "buglytestreleasekey" } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.debug } }}
编译打包
这样进行操作之后,不仅在平时运行的时候也可以生成正式包并运行,并且在打包的时候,也会生成不同渠道的正式签名包,与正常的操作基本上是一致的,只不过多渠道打包的时候特别慢,如果渠道包过多的话,那就需要很长的时间,因为他每次打包的时候,都相当于重新编译生成,所以生成的渠道包越多,需要的时间越长,除了系统提供的这个方法之外,还有其他的快速生成多渠道包的方案,其中一个就是美团的《一分钟900渠道包》,利用了一些特殊的方法进行快速打包,只是替换了其中的一些文件,从而避免了重新打包的耗时,之后,会在其他的博客中进行更新,敬请期待!
更多相关文章
- [android]寫一個system/bin 下的可執行文件
- Android mediaScanner 删除U盘上的文件
- android tabHost布局之一 不继承TabActivity并以布局文件进行布
- Android踩坑——mkdir方法中返回false导致新建文件失败
- Android中在sdcard上创建文件夹
- android项目中的功能清单文件
- Android学习之保存Bitmap到指定文件夹
- Android中在sdcard上创建文件夹,注意加权限!!!!
- android,在文件中找一个String