cocos2dx一键发布APK的批处理

对程序的同学来说,如果运营要包,就需要额外腾出时间去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。

@echo off
echo 准备开始
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>nul
echo ####################################################################################################################
%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:1
echo 更新svn完毕
echo ####################################################################################################################
echo 拷贝最新的resource资源到android工程assets文件夹下
echo ####################################################################################################################
ping -n 3 127.0.0.1>nul
call xcopy  %RESOURCES_PATH% %PROJECT_PATH%\assets /e /y
echo 拷贝完毕
echo ####################################################################################################################
echo ndk编译SO文件
echo ####################################################################################################################
ping -n 3 127.0.0.1>nul
pushd %PROJECT_PATH%
call ndk-build
echo 编译完毕
popd
echo ####################################################################################################################
echo 更新android资源
echo ####################################################################################################################
ping -n 3 127.0.0.1>nul
%SVN_PATH% /command:update /path:%PROJECT_PATH%  /closeonend:1
echo 更新完毕
echo ####################################################################################################################
echo 更新android工程
echo ####################################################################################################################
ping -n 3 127.0.0.1>nul
pushd %COCOS2DX_PATH%
call android update project --name MyGames -t 1 -p %PROJECT_PATH%
popd
echo 更新完毕
echo ####################################################################################################################
echo 删除bin文件夹
echo ####################################################################################################################
ping -n 3 127.0.0.1>nul
if exist %PROJECT_PATH%\bin (
    del /q /f %PROJECT_PATH%\bin
)
echo 删除完毕
echo ####################################################################################################################
pushd %PROJECT_PATH%
echo 生成debug 版本APK
echo ####################################################################################################################
ping -n 3 127.0.0.1>nul
call ant release
popd
echo 生成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命令。

不过我的建议是可视化操作,这样不会那么容易出错哈

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

时间: 2024-11-08 18:02:06

cocos2dx一键发布APK的批处理的相关文章

unity3d-配置Android环境,打包发布Apk流程详解

31:unity3d-配置Android环境,打包发布Apk流程详解 作者 阿西纳尼 关注 2016.08.28 22:52 字数 498 阅读 1806评论 0喜欢 5 Unity配置Android环境,打包发布安卓流程 一:SDK与JDK下载地址:http://pan.baidu.com/s/1mhVaXHe下载完成后,解压文件 SDK文件 二.安装 JDK 运行安装程序jdk-7u67-windows-x64 Java-JDK 分别点击下一步进行安装. 安装中 在安装过程中先后会出现两次选

Cocos2dx打包成apk包时在手机上闪退

在项目运行过程中,在手机上运行会出现闪退的现象, 报告错误代码如下: 06-30 10:45:19.921: E/cocos2d-x assert(28033): E:/workspace/cocos2d-x-2.2.2/projects/****/proj.android/../../../cocos2dx/platform/android/CCApplication.cpp function:sharedApplication line:60 06-30 10:45:19.921: A/li

Android程序开发记录:发布APK,权限等

发布APK 参考如下链接: http://chenfeicqq.iteye.com/blog/1889160 问题1:apk拷贝到手机中安装失败 原因:调试程序卸载不完全,需要在应用中选择app,针对所有用户卸载,在安装对应的APK 问题2:apk安装时没有请求必要的权限 原因:未知

Xamarin:制作并发布apk

原文:Xamarin:制作并发布apk 终于到了激动人心的时刻:要向真机发布apk了.流程如下: 1 制作release版的android应用安装包apk文件: 1.1 用VS2012中文版制作:记得选择当前工程配置为release,通过生成->package XXX for android (.apk) 1.2 用Xamarin制作:记得选择当前工程配置为release,通过project->Create Android Package,选择一个apk文件输出目录,确定即可: 1.3 生成的

Android 发布Apk签名

1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装). 2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名 3.具体操作 方法一: 命令行下对apk签名(原理) 创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对a

Cocos2d-x 游戏发布攻防篇01:防止打包党的小技巧

其实这方面的心得我倒是没有多少,也没什么高深的心得,只不过我曾经有4.5个游戏被打包过而已(小若:赤裸裸地炫耀你的失败). 虽然我这文章标题写着"攻防篇01",但不代表就一定有"攻防篇02",只是,随意取的.(小若:敢负责任一点吗?) 这里科普一下,什么叫做打包党. 打包党是一种职业,一种不光彩的职业,他们专门去下载别人的游戏安装包,反编译,然后加入自己的广告,最后重新打包上传到各个市场,从而谋取收益. 别小看他们,部分打包党过得比我们还要滋润. 什么?你心动了?你

杂记3:VS使用Web Deploy一键发布网站到服务器

我的开发环境,win7 64位,使用VS2013: 服务器环境WinServer08 64位. 关于Web Deploy是什么,有什么优势,请参考其他文章,比如:Web Deploy自动部署 本文以step by step的方式说明如何配置服务器和本地开发环境,以实现一键发布网站: 以及过程中可能遇到的问题和解决方案. 步骤一:在服务器下载并安装Web Platform Installer 这里推荐通过Web Platform Installer来安装Web Deploy,下载地址:Web Pl

一键发布部署vs插件[AntDeploy],让net开发者更幸福

一键发布工具(ant deploy tool) 插件下载地址: https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDeploy 1.iis一键发布自动部署 (iis deploy support) 支持netcore 和 netframework发布 (支持mvc webapi) 支持website自动创建 ps:需要在windows 服务器上安装一个agent 具体请看下面有说明 2.docker一键发布自动部署 (

一键发布部署vs插件[AntDeploy]开源了

deploy to remote server by one button click 功能 支持docker一键部署(支持netcore) 支持iis一键部署(支持netcore和framework)(支持增量发布)(支持一键回滚)(支持点火) 支持windows服务一键部署(支持netcore和framework)(支持增量发布)(支持一键回滚) 1.iis deploy support (support increment deploy and rollback) | iis一键发布自动部