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

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目录下即可。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值