Cocos2d-x一键发布APK的批处理

Cocos2d-x一键发布APK的批处理,第1张

概述尊重原创:http://cn.cocos2d-x.org/tutorial/show?id=2807 对程序的同学来说,如果运营要包,就需要额外腾出时间去svn更新--->编译so--->eclipse生成apk,往往需要耗费许多时间,并且以上步骤还是必须顺序执行,让人十分闹心。 花了点时间研究了一下,发现编译so可以脱离cygwin而使用ndk,此外,apk的打包也是可以交给ant进行的。因此,

尊重原创:http://cn.cocos2d-x.org/tutorial/show?id=2807

对程序的同学来说,如果运营要包,就需要额外腾出时间去svn更新--->编译so--->eclipse生成apk,往往需要耗费许多时间,并且以上步骤还是必须顺序执行,让人十分闹心。


花了点时间研究了一下,发现编译so可以脱离cygwin而使用ndk,此外,apk的打包也是可以交给ant进行的。因此,通过一系列的批处理命令可以大大减轻程序的压力。(通过定时任务可以定时打包,利用晚上的时间可以提前编译出so,第二天可以随时发包)


批处理执行步骤如下:

1.更新资源文件夹resources和代码文件夹classes;

2.删除androID工程里面无关的文件夹,我的建议是全部删除,然后从服务器拿最新的;

3.编译so;

4.androID命令更新cocos2dx引擎下的cocos2dx\platform\androID\java目录;

5.androID命令重新更新项目androID目录

6.重新从服务器拿下最新的so包(编译的时候会把所有的so包删除,拿;下的是计费的so);

7.重新构建build.xml(因为之前的build.xml引入了androID下的build.xml);

8.ant命令生成apk;


对于一般的项目来说,6,7是可以省略的,比较简单,但是因为这个项目引入了计费的sdk,尤其是引入了第三方的jar包,而且不是libs文件夹下的那种,就需要特殊的处理,在build.xml里面进行设置了。


对于ant.propertIEs文件,需要提供你的keystore,书写格式如下:

key.store=MyGame#keystore的密码 key.store.password=QQ123123#alias名 key.alias=123123#alias密码 key.alias.password=QQ123123

批处理完整命令如下,需要替换路径和设置好环境变量,工作环境是windows。

@H_419_51@
@echo offecho 准备开始 echo 设置路径set PROJECT_PATH="E:\SVNwc\MyGames\proj.androID"set COCOS2DX_PATH="E:\SVNwc\cocos2dx-2.2.6\cocos2dx\platform\androID\java"set RESOURCES_PATH="E:\SVNwc\MyGames\Resources"set CLASSES_PATH="E:\SVNwc\MyGames\Classes"set SVN_PATH="D:\Program files\TortoiseSVN\bin\TortoiseProc.exe "  echo #################################################################################################################### echo 更新svn,务必保证SVN的win32文件夹无错Ping -n 3 127.0.0.1>nulecho ####################################################################################################################%sVN_PATH% /command:update /path:%CLASSES_PATH%  /cloSEOnend:1%sVN_PATH% /command:update /path:%rESOURCES_PATH%  /cloSEOnend:1%sVN_PATH% /command:update /path:%PROJECT_PATH%  /cloSEOnend:1echo 更新svn完毕echo ####################################################################################################################echo 拷贝最新的resource资源到androID工程assets文件夹下echo ####################################################################################################################Ping -n 3 127.0.0.1>nulcall xcopy  %rESOURCES_PATH% %PROJECT_PATH%\assets /e /y echo 拷贝完毕echo ####################################################################################################################echo ndk编译SO文件echo ####################################################################################################################Ping -n 3 127.0.0.1>nulpushd %PROJECT_PATH%call ndk-buildecho 编译完毕popdecho ####################################################################################################################echo 更新androID资源echo ####################################################################################################################Ping -n 3 127.0.0.1>nul%sVN_PATH% /command:update /path:%PROJECT_PATH%  /cloSEOnend:1echo 更新完毕echo ####################################################################################################################echo 更新androID工程echo #################################################################################################################### Ping -n 3 127.0.0.1>nulpushd %COCOS2DX_PATH%  call androID update project --name MyGames -t 1 -p %PROJECT_PATH%popdecho 更新完毕echo ####################################################################################################################echo 删除bin文件夹echo #################################################################################################################### Ping -n 3 127.0.0.1>nulif exist %PROJECT_PATH%\bin (     del /q /f %PROJECT_PATH%\bin)echo 删除完毕echo ####################################################################################################################pushd %PROJECT_PATH%echo 生成deBUG 版本APKecho #################################################################################################################### Ping -n 3 127.0.0.1>nulcall ant release  popdecho 生成Release完毕echo 搞定!!! pause

对于build.xml,我做了点小小的修改:最后一行改成<import file="BaseBuild.xml" />

然后复制之前引入的build.xml到项目目录,找到这句:

<target name="-compile" depends="-pre-build,-build-setup,-code-gen,-pre-compile">

在引入的path中修改如下:

<path ID="project.javac.classpath">  ...  <pathelement location="runtime/CMBilling.jar"/></path>


其中CMBilling.jar就是引入的第三方jar包,ant默认只识别libs下面的jar包,如果不这么写是会找不到CMBilling相关的API方法的。

对于定时任务,可以使用schtasks或者at命令。不过我的建议是可视化 *** 作,这样不会那么容易出错哈。

打开控制面板--->打开管理工具--->打开任务计划程序,然后自己去设置参数吧!

总结

以上是内存溢出为你收集整理的Cocos2d-x一键发布APK的批处理全部内容,希望文章能够帮你解决Cocos2d-x一键发布APK的批处理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1058272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存