NOSDK--一键打包的实现(四)

时间:2023-03-09 18:27:04
NOSDK--一键打包的实现(四)

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=""
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上环境的配置及脚本的使用。