请参考其他博文如何下载ADT,SDK,CDT,ADT,如果未安装Eclipse,则应先安装JDK,并设置环境变量,还是详情参考其他博文,毕竟网上这些资料很多。
2、下载NDK
建议下载NDK较新版本,否者可能在编译时出错,本人下载的是android-ndk-r8e,以下为下载网页,进入下载自己所需版本:
http://developer.android.com/tools/sdk/ndk/index.html
设置NDK环境变量,新建NDK_ROOT 变量值( D:\android-ndk-r8e)具体取决于ndk安装路径
3、下载Cygwin
请参考其他博文所需下载的配件,第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。一定要安装gcc g++ gdb make这些工具。
运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
Cygwin一样模拟了Linux的权限管理体系,这也没有什么不好的,但是跟Microsoft Windows的默认权限管理却有些不对付。常会出现权限问题,一个文件可以手动改,但如果是多个文件就比较麻烦了,我这里采用彻底的解决方法是,在安装好Cygwin以后,禁止Cygwin采用POSI体系的权限管理。使用文本编辑器打开 Cygwin目录\etc\fstab,末尾添加代码: none / cygdrive binary,user,noacl,posix=0 0 0
在命令行中进入cygwin目录,并执行cygwin.bat,如果你不是用Administrator账号登录的系统,那么会在cygwin\home\文件夹中生成一个以你的登录名命名的新的文件夹。
修改新生成文件夹中的“.bash_profile ”文件,用UE或editplus等文本编辑器打开,在最后增加: (/d/android-ndk-r8e是安装ndk的路径)
NDK_ROOT=/cygdrive/d/android-ndk-r8e
export NDK_ROOT
然后保存关闭。
建议用专业点的文档编辑器,就不要用那啥了,我用的是UtalEdit,在cygwin中输入如下:
出现路径,说明已配置正确。
在Cocos2d-x-2.1.4下找到此文件,编辑_ANDROIDTOOLS ,_CYGBIN ,_NDKROOT变量的值,为你安装目录的路径如下修改:
Cocos2d-x-2.1.4提供新建项目的快捷方法,使用project-creator.py这个python脚本进行工程项目的创建和配置:
使用上面的例子,假如我想新建一个HelloWorld项目,执行create_project.py脚本,进入Dos命令行界面输入下面的命令:
(1)D: //切换盘符,因为我的Cocos2d-x源码在D盘,create_project.py在该目录下。
(2)cd D:\Development\cocos2d-x-2.1.4\tools\project-creator //进入到create_project.py脚本所在目录
(3)运行脚本,生成Snow项目(其实就是HelloWorld),命令为:
python create_project.py -project Snow -package com.cocos2dx.org -language cpp//其中Snow为工程名称,com.cocos2dx.org为包标识名。
在cocos2d-x-2.1.4\projects\Snow(你所新建的项目名)proj.win32目录下双击Snow.sln文件,会生成解决方案,并把相关库包含进来,不需要另外导入:
点击启动调试,或F5,即可生成win32项目,如下所示:
--------------------------------------------跑在android的平台上还需要继续-----------------------------------------------------------------------
首先在上面新建的里面里cd到proj.android目录下,运行:./build_native.sh
这中间我这出现问题(android/CCCommon.o' failed),因为我用的ndk如果是是r9;所以在 proj.android\jni\Application.mk 文件最后追加上
经过编译,得到如下结果:
7,把项目导入到Eclipse里,右键项目->properties->builders->new->program->ok
依次配置4个界面如下图
1)main面板下->location->browse file system->选择你的NDK目录下的ndk-build.cmd
main面板下->working directory->browse workspace..->选择当前项目
refresh面板下的specific resource选择为当前目录下的jni文件夹,如下图
environment面板下->new...->如下所示
value处填写
cocos2d-x的根目录+分号+cocos2d-x的根目录/cocos2dx/platform/third_party/android/prebuilt
Build Options面板下,Specify Resouces..选择当前项目的jni文件夹,其他配置如下图:
可能会出现的问题:
说明api等级不符合,只要在AndroidManifest.xml里面把minSdkversion修改一下就行了,如我应该修改成9
最后在clean一下,就等编译了,时间稍微有点长,需要耐心,如果出现如下情况说明就好了!此时运行一下程序
,2, 我在eclipse上述都弄好后出现下面的错误:
make: *** No rule to make target `/cygdrive/d/android/cocos2d-x-master/T12/proj.android/../../cocos2dx/CCConfiguration.cpp', needed by `obj/local/armeabi/objs/cocos2dx_static/CCConfiguration.o'. Stop.
处理方法:
把C:\cocos2d\cocos2d-x-2.1.4\projects\TestGame\proj.android\obj\local\armeabi\objs文件夹下面的内容都删掉,clean,再进行编译就可以了
3,在eclipse里面的Problems窗口内一直报:
Description Resource Path Location Type
解决办法:
创建新的环境变量 NDK_MODULE_PATH
调整 “项目属性-C/C++ Builder” 选项,将 “Build command” 的值从原来的 bash ${ProjDirPath}/build_native.sh
设置为 x:\android-ndk-r8e\ndk-build.cmd
;
加入 NDK_MODULE_PATH 值:D:\Documents\Downloads\cocos2d-x-2.1.4;D:\Documents\Downloads\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt
运行如下
如果出现黑屏现象,则是因为权限不够的问题,此时将资源文件复制到assest文件夹下。
将NDK 目录下的/sources/cxx-stl/gnu-libstdc++/libs/armeabi/ 目录下的libgnustl_static.a 文件复
制到项目文件夹下的obj/local/armeabi/libgnustl_static.a 目录下,之后右键项目选择runas-Android
Application 运行就搞定了!