cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!

本人新手+菜鸟。这里只是记录我的配置过程备用。

工具:

Android SDK:

http://211.162.127.20/download/2618006/2712222/2/zip/254/206/1383309980414_974/adt-bundle-windows-x86_64-20131030.zip

Android NDK:

http://211.162.127.1/download/2620916/2715310/1/zip/152/98/1383323504024_866/android-ndk-r9b-windows-x86_64.zip

 Python 2.7.5:

http://www.python.org/ftp/python/2.7.5/python-2.7.5.amd64.msi

cocos2d-x-2.2:

http://211.162.127.24/download/2190343/2271122/1/zip/63/243/1381323443263_499/cocos2d-x-2.2.zip

环境:

win7旗舰版

JAVA SDK 1.7

Android SDK 放D盘根目录

Android NDK和cocos2d-x-2.2 放在 D:\cocos2d-x目录下

工程路径:D:\android_workspace


第一步

JAVA SDK 1.7  和  Python 2.7.5 安装  path  classpath配置

JAVA SDK 1.7  和  Python 2.7.5 安装默认即可。

 path:C:\Python27\;C:\Program Files\Java\jdk1.7.0_45\bin;

 classpath:C:\Program Files\Java\jdk1.7.0_45\jre\lib\rt.jar;.;

第二步

Android SDK 和 Android NDK的安装

 Android NDK解压即可

运行解压出来的SDK Manager.exe,把几个新版本就下下来。顺道不eclipse的图标拉出来改名Android。


下载完添加个虚拟机:

以nuxes one 为模板

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第1张图片

use host GPU是为OPGL2.0准备的。

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第2张图片

第三步

cocos2d-x-2.2 安装

解压新建工程的默认的android版本

在D:\cocos2d-x\cocos2d-x-2.2\tools\project-creator 目录下添加一个bat文件 同时创建快接到桌面 内容如下(代码来自网络)

@echo off 
set /p projectName=请输入项目名称:
if "%projectName%"=="" goto inputError
set /p packageName=请输入包标示名:
if "%packageName%"=="" goto inputError
create_project.py -project %projectName% -package %packageName% -language cpp 
pause
exit
:inputError
@echo 项目名称或者包标示名不能为空!
pause

运行测试下

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第3张图片

生成的工程在D:\cocos2d-x\cocos2d-x-2.2\projects路径下。


打开eclipse 导入我们的工程android版。

修改android版本为4.4

添加cocos2d-x的源码

路径:D:\cocos2d-x\cocos2d-x-2.2\cocos2dx\platform\android\java

为了方便调用我们已项目的形式导入。所以这里新建一个android工程

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第4张图片

输入上面的路径,其他默认

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第5张图片

好,修改其属性中的android版本。

导入我们新建的项目(刚刚那个Test弄错了 重新建了个CCTest)

然后在eclipse的配置选项中添加两个变量一个是NDK_ROOT另个是COCOS2DX 这另个名字是不可以改的。因为系统通过这个两个变量关联了资源文件。

NDK_ROOT 路径为D:\cocos2d-x\android-ndk-r9b    如下图

COCOS2DX路径为D:\cocos2d-x\cocos2d-x-2.2

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第6张图片

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第7张图片

通过这两步,我们发现所有报错的信息都消失了,

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第8张图片

我们尝试编译下 发现编译报错:

bash D:/cocos2d-x/cocos2d-x-2.2/projects/TestAndroid/proj.android/build_native.sh clean 
Cannot run program "bash": Launching failed
Error: Program "bash" is not found in PATH

这个原则上要安装cygwin编译了,我们这里换种方法(我百度了好久出来的,感谢分享出来的网友)

修改C++Bulid的属性如下。

Build Command:D:\cocos2d-x\android-ndk-r9b\ndk-build.cmd 

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第9张图片

弄好这又报错入下:jni/Android.mk:23: *** Android NDK: Aborting.    .  Stop.

这个添加如下语句:

$(call import-add-path, D:\cocos2d-x\cocos2d-x-2.2)
$(call import-add-path, D:\cocos2d-x\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt)

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第10张图片

运行下:可以开始编译C++了


卧槽又报错:百度+多次测试发现是build-tools中android-4.4的问题引起的,具体哪个文件引起就不知道了移除就好了

[2013-11-09 16:03:32 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-11-09 16:03:32 - TestAndroid] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.


再次运行又有下面错误

Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 791 (Thread-72)

这个调用内存错误我弄了好久发现是资源文件没找到

把D:\cocos2d-x\cocos2d-x-2.2\projects\TestAndroid\Resources文件拷到D:\cocos2d-x\cocos2d-x-2.2\projects\TestAndroid\proj.android\assets就可以了

再次运行 ok了

cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!_第11张图片


你可能感兴趣的:(cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin。非常全面!!!!)