让cocos2d-x的第一个程序在android上跑起来

Cygwin方式

一、进入cocos2d-x的目录,运行create-android-project.bat,如下图:

让cocos2d-x的第一个程序在android上跑起来

在其中输入工程名,并选择目标设备ID,如上图的1。直接按enter键,等待出现按任意键继续时就创建好工程了。

二、打开cygwin,进入工程目录的proj.android目录下,输入./build_native.sh进行编译,如下图:

让cocos2d-x的第一个程序在android上跑起来

按enter键进行编译,这时可能会有如下错误,

让cocos2d-x的第一个程序在android上跑起来

意思是文件权限不够,那就来修改一下权限,使用chmod 777 文件名 来修改,如图:

让cocos2d-x的第一个程序在android上跑起来

然后再重新编译,如果再遇到这种权限不够的,也同样操作就可以了。

最后,你会看到libgame.so被编译出来,如下图所示:

让cocos2d-x的第一个程序在android上跑起来

哈,OK了,so出来了,你就可以开心的准备下一步,让hellococo在android上飞一下。

三、把工程导入eclipse,如图:

让cocos2d-x的第一个程序在android上跑起来

此时,工程中出现了几个错误,如下:

让cocos2d-x的第一个程序在android上跑起来

来解决这两个问题吧,进入coco的安装目录,D:\ProgramTool\coco\cocos2d-2.1beta3-x-2.1.1\cocos2dx\platform\android\java\src\org\cocos2dx,将该路径下的文件夹lib拷贝至工程目录D:\ProgramTool\coco\cocos2d-2.1beta3-x-2.1.1\hellococo\proj.android\src\org\cocos2dx这个路径下面。然后,打开AndroidManifest.xml,将android:icon="@drawable/icon"改成android:icon="@drawable/ic_launcher",如图:

让cocos2d-x的第一个程序在android上跑起来

好了,运行一下吧。

在你运行的过程中,你可能会遇到这个问题,no config chosen的报错,如图:

让cocos2d-x的第一个程序在android上跑起来

好吧,打开工程文件Cocos2dxActivity.java,在framelayout.addView(this.mGLSurfaceView);的后面,加入代码 this.mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);

如下图:

让cocos2d-x的第一个程序在android上跑起来

再重新运行一下,可以了吧?经典的cocos2d-x界面出来了。

让cocos2d-x的第一个程序在android上跑起来


ADT方式

是不是有点麻烦?来看个稍微简单点的,用ADT

首先,点击项目——》属性,选择builders,点击new,再选择Program,如下图让cocos2d-x的第一个程序在android上跑起来

点击OK后,配置main标签页,其中,Name填写builder的名字,随便写一个,location选择NDK的ndk-build.cmd,working directory选择项目所在的工作目录,即proj.android所在目录,如下图:

让cocos2d-x的第一个程序在android上跑起来

再点击Refresh选项,按照下图所示,指定资源:

让cocos2d-x的第一个程序在android上跑起来

再点击一下Specify Resources,选择你的工程名即可。

接着,点击environment标签页,点击new,新建环境变量,NDK_MODULE_PATH,该变量的值是${android_ndk};${coco_prebuilt};${cocos2d-x},以分好为分割。如下图:

让cocos2d-x的第一个程序在android上跑起来

这三个变量的值如果你没有的话,要在Variables里面新建,他们的值如下图所示:

让cocos2d-x的第一个程序在android上跑起来

配置好之后,就一路点击确定。好了,到这里就结束了,点击菜单Project——》Build Project就可以进行编译了。最后,控制台会输出libgame.so被编译好的信息,如下:

让cocos2d-x的第一个程序在android上跑起来

好了,接下来直接运行就可以了,简单吧,嘿嘿。。。