cocos2dx-2.2.3下载地址:http://www.cocos2d-x.org/download
cocos引擎之前的版本要再在create-android-project.bat文件中设置环境变量,2.2.3之后的版本中已经找不到该文件了。
一、导入示例工程
我们先导入一个cocos提供的示例工程samples\Cpp\HelloCpp:
二、导入库工程
我们导入例子工程后发现找不到类Cocos2dxActivity,因为示例工程引用了一个库工程,所以我们要导入该工程,该工程在cocos2dx\platform\android\java下:
三、将cygwin/bin添加到环境变量path中
我们导入了库工程,但是发现还是有错误,我们运行一下工程,看看console的输出:
从输出中我们可以看到在PATH中找不到bash,bash就是cygwin/bin目录下,把该路径添加到path中,配置之后要重启一下Eclipse。
四、添加NDK_ROOT变量
我们添加完bash到path后再运行程序,发现编译还是报错:
这次是因为缺少NDK_ROOT,可以再环境变量中添加,也可以在Eclipse->Window->Preference->C/C++->Build->Enviroment中添加:
五、运行
经过以上几步,我们再运行程序就可以成功编译了。
六、问题补充:
1、运行时报"Unable to add 'C:\app\Android\ndk\cocos2d-x-2.2.3\samples\Cpp\HelloCpp\proj.android\assets\fonts\Marker Felt.ttf': Zip add failed"的错误
解决方法:打开cygwin安装目录下的etc\fstab文件,在文件最后添加
none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
2、用genymotion运行例子时遇到"INSTALL_FAILED_CPU_ABI_INCOMPATIBLE"的错误
解决方法:http://blog.csdn.net/cjj7905150/article/details/18270103
3、cocos官方提供了的环境配置指导,在例子工程中有个README.md文件,有更加详细的安装指导
## Prerequisites:
* Android NDK
* Android SDK **OR** Eclipse ADT Bundle
* Android AVD target installed
## Building project
There are two ways of building Android projects.
1. Eclipse
2. Command Line
### Import Project in Eclipse
#### Features:
1. Complete workflow from Eclipse, including:
* Build C++.
* Clean C++.
* Build and Run whole project.
* Logcat view.
* Debug Java code.
* Javascript editor.
* Project management.
2. True C++ editing, including:
* Code completion.
* Jump to definition.
* Refactoring tools etc.
* Quick open C++ files.
#### Setup Eclipse Environment (only once)
**NOTE:** This step needs to be done only once to setup the Eclipse environment for cocos2d-x projects. Skip this section if you've done this before.
1. Download Eclipse ADT bundle from [Google ADT homepage](http://developer.android.com/sdk/index.html)
**OR**
Install Eclipse with Java. Add ADT and CDT plugins.
2. Only for Windows
1. Install [Cygwin](http://www.cygwin.com/) with make (select make package from the list during the install).
2. Add `Cygwin\bin` directory to system PATH variable.
3. Add this line `none /cygdrive cygdrive binary,noacl,posix=0,user 0 0` to `Cygwin\etc\fstab` file.
3. Set up Variables:
1. Path Variable `COCOS2DX`:
* Eclipse->Preferences->General->Workspace->**Linked Resources**
* Click **New** button to add a Path Variable `COCOS2DX` pointing to the root cocos2d-x directory.
![Example](https://lh5.googleusercontent.com/-oPpk9kg3e5w/UUOYlq8n7aI/AAAAAAAAsdQ/zLA4eghBH9U/s400/cocos2d-x-eclipse-vars.png)
2. C/C++ Environment Variable `NDK_ROOT`:
* Eclipse->Preferences->C/C++->Build->**Environment**.
* Click **Add** button and add a new variable `NDK_ROOT` pointing to the root NDK directory.
![Example](https://lh3.googleusercontent.com/-AVcY8IAT0_g/UUOYltoRobI/AAAAAAAAsdM/22D2J9u3sig/s400/cocos2d-x-eclipse-ndk.png)
* Only for Windows: Add new variables **CYGWIN** with value `nodosfilewarning` and **SHELLOPTS** with value `igncr`
4. Import libcocos2dx library project:
1. File->New->Project->Android Project From Existing Code.
2. Click **Browse** button and open `cocos2d-x/cocos2dx/platform/android/java` directory.
3. Click **Finish** to add project.
#### Adding and running from Eclipse
![Example](https://lh3.googleusercontent.com/-SLBOu6e3QbE/UUOcOXYaGqI/AAAAAAAAsdo/tYBY2SylOSM/s288/cocos2d-x-eclipse-project-from-code.png) ![Import](https://lh5.googleusercontent.com/-XzC9Pn65USc/UUOcOTAwizI/AAAAAAAAsdk/4b6YM-oim9Y/s400/cocos2d-x-eclipse-import-project.png)
1. File->New->Project->Android Project From Existing Code
2. **Browse** to your project directory. eg: `cocos2d-x/cocos2dx/samples/Cpp/TestCpp/proj.android/`
3. Add the project
4. Click **Run** or **Debug** to compile C++ followed by Java and to run on connected device or emulator.
### Running project from Command Line
$ cd cocos2d-x/samples/Cpp/TestCpp/proj.android/
$ export NDK_ROOT=/path/to/ndk
$ ./build_native.sh
$ ant debug install
If the last command results in sdk.dir missing error then do:
$ android list target
$ android update project -p . -t (id from step 6)
$ android update project -p cocos2d-x/cocos2dx/platform/android/java/ -t (id from step 6)