cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

此教程仅供参考,C++小白系列,从新建工程到打包apk,大神们可在评论多给留言建议,若有不详或错误请予指点。
OK,我们直入主题

本教程开发环境详情如下
开发系统:win764位
开发工具:cocos引擎v2.3.3,VS2013
cocos2dx版本:3.9

步骤一:windows下各类工具安装(java和ios开发人员举一反三吧)*
安装cocos引擎
http://www.cocos.com/download/
ps:安装好引擎后会有两个程序:Cocos和Cocos Studio,
关于cocos有关的文件建议在根目录新建一个文件夹安装,因为cocos引擎文件和项目文件路径不能有特殊字符,包括空格键

打开cocos选择->商店->工具->cocos框架,下载Cocos Framework v3.9,安装(否则无法发布工程和打包)

现在版本的cocos2dx比起以前的版本连配置都不用了,直接安装就可以用。
这里下载安装的只是框架,需要demo(官方示例)在官网下载页面下载cocos2dx解压,编译tests文件夹下的工程项目

安装VS2013或者VS2015
https://www.visualstudio.com/downloads/download-visual-studio-vs(官网下载)
ps:根据自己的习惯下载对应的版本,低于13版的就不要了,跟cocos最新的引擎不兼容
另外vs有三个版本,community:社区版,这个版本是免费的,总是有人会有免费就是比收费的要差这样的概念,免费的是不是就限制了某些功能,提点一下大家这样的误区是不应该有的,这个版本很完善,对于个人开发和学习都是很不错的,所以不要去考虑担心。
Enterprise:企业版,面向高级功能的企业级解决方案(包括高级测试和开发运营),应对各种规模或复杂程度项目。(感觉好像很强大,不过对我而言和社区版没有太大差别,个人见解勿喷)。
Visual Studio Code:现在vs可以在mac或者Linux下使用啦(微软这是破釜沉舟了啊)

步骤二:新建发布cpp工程*
OK,让我们来新建我们的第一个hello world项目
打开cocos程序,选择新建项目->选择cocos项目->下一步->在项目信息框选择C++语言->完成

cocos引擎会帮我们新建好我们的第一个hello world项目并在cocosstudio程序中打开,这里只是一个cocosstudio项目,还不是cpp项目
接着就是发布到VS项目了,在菜单上选择项目->发布与打包->在发布框里选择发布为VS工程(设置什么的默认就可以了)->确定

发布好后会提示:发布完成,是否使用VS打开,你可以选择是,打开编译运行一下。
ps:这里发布会直接帮你生成好整个项目工程,直接在里面进行开发

步骤三:编程*
既然用到了cocos,那就配合cocos到底把,开发起来效率会提高很多,这里有个建议,对于新人来说,多尝试自己在代码里实现,自己构建场景,图层,节点等等,这样会对cocos2d有更深入的了解。熟悉以后在配合cocos做开发。

步骤四:打包apk*
ps:如今打包apk可谓一键傻瓜式,不需要你配置,你不用懂java,不用懂交叉编译,不用去了解eclipse。不过呢,有利必有弊,开发路漫漫,慢慢体会吧。
打包前,需要安装安卓的一些文件
打开cocosstudio项目,在菜单中选择编辑->偏好设置->偏好设置界面中选择平台->一键配置->确定
ps:这里提示需要安装,就安装,默认安装就可以了

打开项目工程文件夹,找项目里的Android.mk文件,用文本方式打开,在里面添加开发好的cpp文件信息,保存退出。
ps:
添加cpp信息的时候一定要注意路径。

*
*

打包apk前来段小插曲,关于利用cocos直接在安卓手机上运行测试
打开cocosstudio项目,在测试下拉框中选择在安卓平台运行,点击运行项目图标按钮,等待调试运行,成功了游戏就会在手机上就运行了,调试不过就找error的地方,看看问题出在哪里。
ps:手机通过数据线链接电脑,开启开发人员调试,利用360手机助手或者安卓手机助手链接手机是否正常

OK,如果上述测试步骤成功了,打包应该也不会有问题。
打开cocosstudio项目,菜单项选择项目->发布与打包->勾选打包,类型选择安卓包apk->确定,等待打包过程,成功了在项目文件夹下会新建一个package文件夹,里面就是打包好的apk。

附言:教程仅用于学习,具体开发中,会遇到各种各样的问题,不是所有的1+1都等与2,有可能会等于10哦。 :14:
希望对于新人,会有所帮助,本人也接触cocos2d不久,如有写的不对或不好的地方请多包涵。

vs code只是个编辑器不是编译器

谢谢,一直没用cocosstudio,一会用这个打包试试,现在项目打包烦死了

我感觉,其实eclipse打包不是很难。只是很多在VS上编译没有问题的东西,在eclipse上可能会有问题。

我一直奇怪,cocos为什么要另外搞个打包的东西出来,eclipse,androidstudio,xcode,vs打包不是都很好吗?把在这些编辑器上的打包支持好不是更好吗?为什么要自己搞一套然后减少对各平台编辑器的支持呢?比如原来的build_native.sh在eclipse上编译运行打包搞的极好的,非要瞎改,改得现在用不了了,我还要加广告加分享加内购加统计,加完还要调试,我要你打个球包啊,你打的包能用来调试吗?能设个断点吗?不能,不能你打出来的包有球用啊。

先感谢楼主的分享,对小白的帮助还是很大的。
然后再问下,用cocos打包APK,如何修改APK的名称?使用中文名称。

求不能出一个自动的android.mk吗。。。

自从用了脚本,再也不担心这个了:14::14::14::14:

能分享一下吗:870:

我指的是,不用C++写逻辑

好吧,6到没朋友。。

— Begin quote from ____

引用第4楼yixiaoqingyuz于2015-12-17 22:47发表的 :
我一直奇怪,cocos为什么要另外搞个打包的东西出来,eclipse,androidstudio,xcode,vs打包不是都很好吗?把在这些编辑器上的打包支持好不是更好吗?为什么要自己搞一套然后减少对各平台编辑器的支持呢?比如原来的build_native.sh在eclipse上编译运行打包搞的极好的,非要瞎改,改得现在用不了了,我还要加广告加分享加内购加统计,加完还要调试,我要你打个球包啊,你打的包能用来调试吗?能设个断点吗?不能,不能你打出来的包有球用啊。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=333937&pid=1461243

— End quote

十分赞同呀。以前3.4Final还能用eclipse导出apk现在3.9就用不了。无语了。要在eclipse改了java代码再用脚本打包。。。。。。。还不好调试。
好蛋疼呀。

感谢你的帖子,非常有用,想问一下,如果要用vs2012配作为开发工具是否可以,你说的不兼容是什么问题?