U8SDK——apk渠道包的命名规则等配置
最近有同学在使用U8SDK过程中遇到了几个需求,U8SDK也第一时间及时更新了打包工具来支持对应的特性。总结下,主要有如下几个:
1、最终打出的apk的包名按照一定的规则,比如包名_渠道号_版本号_时间戳.apk,又比如AppID_渠道号_时间戳.apk等等
2、游戏包的版本号和版本名称(apk中AndroidManifest.xml中的versionCode和versionName)可以在打包的时候配置,
3、能够打出不签名渠道包
4、minSdkVersion,targetSdkVersion,maxSdkVersion打包工具可配置
1、增加包名规则配置
为了让最终的渠道包的文件名称规则能够按照各个游戏自己的需求来定义,我们在打包工具/games/games.xml配置中的game节点中,增加一个outputApkName的配置,用来配置最终渠道包的文件名规则:
1 2 3 4 5 6 7 8 9 |
<param name="outputApkName" value="{channelName}.apk" desc="最终apk包名格式:{bundleID}:包名,{versionName}:版本名称,{versionCode}:版本号,{time}:时间戳(yyyyMMddmmss),{channelID}:渠道号,{channelName}:渠道名,{appName}:游戏名,{appID}:appID"/> 我们采用{占位字符串}来定义各种变量,比如我们设置{bundleID}.{channelID}.apk,游戏A对应UC的包名为com.u8.sdk.uc ,uc的渠道号是11 那么最终的uc的apk名称就是 com.u8.sdk.uc.11.apk 目前支持的变量,在desc中都有说明 |
2、版本配置
为了每次打包的时候,我们增加版本号的时候,可能都需要重新打一个母包,有时候临时出一个包,可能什么东西都没有改,但是渠道包上架必须要升级一个版本,所以为了升级一个版本而重新打一个母包,这样挺费事的,如果打包工具可以配置配置这个版本号,这样就不用依赖母包中的版本号了。
所以,我们依然在打包工具/games/games.xml中game节点中,增加版本号和版本名称的配置:
1 2 3 4 5 6 |
<param name="versionCode" value="15" /> <param name="versionName" value="2.8.5" /> 唯一需要注意的是, versionName是 *.*.* 不要配置成了 * , *.*等等 |
3、不带签名的渠道包
部分渠道SDK包,可能需要提交非签名的包。之前所有渠道包默认都是签名的。现在为了能够打出不带签名的包,我们在打包工具/games/game1/config.xml中channel节点中,增加一个配置signApk:
1 2 3 4 5 |
<param name="signApk" value="0" /> 对于需要打出非签名的包的渠道,增加一个signApk的配置,并将值设置为0 |
4、minSdkVersion,targetSdkVersion,maxSdkVersion配置
这几个配置,对应AndroidManifest.xml中的minSdkVersion,targetSdkVersion,maxSdkVersion的配置,一般不需要手动配置。
但是如果要配置,三个都配置,要不配置,三个都不配置。 我们将这三个属性,依然放在打包工具/games/games.xml中game节点中
1 2 3 4 |
<param name="minSdkVersion" value="8" /> <param name="targetSdkVersion" value="20" /> <param name="maxSdkVersion" value="22" /> |
最后,感谢这些同学在使用过程中的反馈,合理的反馈,我们也会及时更新U8SDK来满足大家的需求。
本文出自 U8SDK技术博客,转载时请注明出处及相应链接。
本文永久链接: http://www.uustory.com/?p=2041