您的位置:首页 > 移动开发 > Cocos引擎

win7 64位下安装cocos2d-x 2.2 for android

2014-01-04 01:12 369 查看
Android开发者做cocos2dx最大的绊脚石,不是c++,而是环境的搭建——摘自某博客

这几天在家装cocos2dx,2.2版本,(3.0 alpha版还没有试成功,改天吧),各种报错再加上下载速度不给力,断断续续的装了好几天,终于看到了它们的logo(据说是个奔跑的椰子)。把我个人的经验记下,能够以后提醒自己,帮助别人。

安装环境:

win7 64位

安装项:

cocos2d-x 2.2.1 http://www.cocos2d-x.org/download

android ADT bundle for Windows http://developer.android.com/sdk/index.html (包含Eclipse,ADT plugin和android SDK)

android NDK r9c http://developer.android.com/tools/sdk/ndk/index.html
cygwin 1.7.27 http://cygwin.com/setup-x86_64.exe

安装方法参照 cocos2d-x-2.2.1\samples\Cpp\HelloCpp\proj.android 目录下的README。

#### 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`

注:如果在cygwin里用命令行build_native.sh编译,要在windows环境变量里加上这几项,否则还是会报如下错误

Please define NDK_ROOT in your environment or in local.properties


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.

常见错误:

1. java.lang.UnsatisfiedLinkError: Couldn't load xxx: findLibrary returned null

与模拟器的CPU选择有关,一般是因为选择了x86的架构,在AVD manager里把CPU改成ARM架构即可。NDK在r6之后支持x86架构了,但需要在项目里添加一个参数。

Support x86 and armxxx

Change the APP_ABI in HelloWorld/android/jni/Application.mk

APP_ABI := armeabi armeabi-v7a x86

详见http://www.cocos2d-x.org/wiki/Build_HelloWorld_on_android_x86_platform
据我观察,这样做会在项目得libs生成一个x86文件夹,并生成.so文件

2. 运行错误:java.lang.IllegalArgumentException: No configs match configSpec

我所找到的解决方法是将AVD的target调至4.0以上,不包括4.0

3. Errors running builder 'Integrated External Tool Builder' on project 'patrol'

解决方法是:

右键项目选择“Properties”,再选择“Builders”,删除丢失的builder。

4. Unable to find native library

起初我用java build path选择libcocos2dx当作reference project,后来发现还是不行。最终的解决方式就是把cocos2dx生成的libcocos2dx.jar拷贝入项目的libs目录下即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: