1.4 打包及签名的脚本介绍
我们使用ant来实现打包,这节我们先介绍脚本内容,关于脚本环境配置问题,我们将在下节做一个详细的介绍。
首先我们来看下build_android/tools/platform_package.sh脚本,首先它先调用了platform_copy.sh脚本,build_android/tools/platform_copy.sh脚本我们先不介绍,将在统一接入的文章里进行说明。第一部分的ProjectName变量是build_某某(可以是xiaomi,xx,uc等)中的SDKDIR,用以定义apk的输出文件名,ProjectSourceName在proj.android/build.xml的第二行定义的,这个可以不作改动。第二部分会先创建输出路径,然后使用ant打包,如果成功了的话,在proj.android/bin目录中会生成MyGame-release-unsigned.apk文件,然后开始签名,生成签名包,并将签好名的包拷贝到输出路径。这里~/keystore/keystore是数字证书,相关信息如下表所示:
- keystore文件位置: ~/keystore/keystore
- keystore密码: mygame
- keystore alias:mygame
- keystore alias密码:mygame
#!/bin/bash #拷贝工程相关的文件 source "./platform_copy.sh" #工程名 ProjectName=`basename "$1"` #执行ant以后得到的包得名称,可以在build.xml处更改 ProjectSourceName="MyGame" #清理打包数据 ant clean #打包 ant release >> $ANT_LOG version="051" BUILDDATE=`date +%Y%m%d%H%M%S` mkdir "$out_path" if [ -e bin/${ProjectSourceName}-release-unsigned.apk ]; then echo mygame | jarsigner -verbose -keystore ~/keystore/keystore -signedjar bin/${ProjectName}_${version}_signed.apk bin/${ProjectSourceName}-release-unsigned.apk mygame fi mv bin/${ProjectName}_${version}_signed.apk "$out_path"/${ProjectName}_${version}_${BUILDDATE}.apk
这一节到此就结束了,这一节我们介绍了自动打包及签名的脚本内容,下一节我们将详细介绍mac上环境的配置及脚本的使用。