一.配置环境
需要的环境和开发包:
cocos framework(cocos的库文件,必要不解释)
android sdk(用于安卓开法,这个一定要有,目前使用安卓api22,考录到22兼容性问题,最好下个老版本的api用于编译)
android ndk(十分重要,版本要到r10,之前用r7就会出错,ndk是用于c++代码编译为安卓代码的,而r7不识别c++11的代码,游戏源代码中是有c++11的代码,所以编译时会出错,一定要用ndkr10版本)
MinGw(是c++的编译器,版本要在4.8之上才支持c++11,然而最后成功到底归结于这个新版本编译器还是上边的新版本ndk,暂时未知,估计是ndk问题,这个玩意应该不用装)
java ant(事实上似乎没用,cocos的脚本ant是绑定在cocos自己目录下的一个ant上的,但是最后用的哪个不太清楚)
python2.7(用于运行cocos里边的setup脚本,但是那个脚本就是配置个系统变量,自己配也可以)
以上的这些因为调用时都在控制台,所以都得配系统变量,网上教程丰富
二.修改工程
更改原工程的目录结构:
所有新加入的cpp和h应文件全部放入Classes文件夹,之后修改pro.android目录下,jni子文件夹下的android.mk文件,加入你的cpp文件目录,大致如下(直接目录使用pro.win32不知是否可行,放Classes里安全)
LOCAL_SRC_FILES := hellocpp/main.cpp
../../Classes/AppDelegate.cpp
../../Classes/HelloWorldScene.cpp
../../Classes/addmanager.cpp
../../Classes/gamelayer.cpp
../../Classes/gameover.cpp
../../Classes/gamescene.cpp
../../Classes/MagicBook.cpp
../../Classes/monster.cpp
../../Classes/sheep.cpp
../../Classes/sheeplayer.cpp
../../Classes/wolf.cpp
其他都不动
三.开始编译
回到工程根目录,是就是分一堆pro的目录,shift+鼠标右键,在此处打开控制台,然后键入
cocos compile -p android 编译安卓平台,不指定api(自己找)
cocos compile -p android -ap22 使用api22编译
cocos run -p android 连着手机时直接手机调试
输入之后等待,如出错,看出错信息
cc1plus.exe: error: unrecognized command line option "-std=c++11"
cc1plus.exe: error: unrecognized command line option "-std=c++11"
cc1plus.exe: warning: unrecognized command line option "-Wno-extern-c-compat"cc1
plus.exe: warning: unrecognized command line option "-Wno-extern-c-compat"
这种就是ndk版本不够,编译不了c++11导致的
如果源代码出错,他会指出错误行,之后视情况修改
四.编译成功
编译成功的apk在bin内debug内android