非常感谢原作者,我按照他写的确实成功了,期间遇到一些问题也修改了下写下来,方便后来者。点击看原文。
1、安装JDK(这个不多说了,你行的)
2、安装Python(点开后下载,一定要是2.x的)
3、下载Cocos2dx 3.2,Android SDK,Android NDK
如图是下载后解压的三个目录:
4、进入cocos2d目录,运行setup.py,根据提示,分别将你对应的目录粘贴进去(当然你也可以手动到环境变量那里配),
最终结果如图:
若是一闪而过,说明一切都设置成功了。
5、创建一个Cocos项目,打开cmd命令行,输入命令,如图:
其中helloworld是项目名字(也叫做项目文件夹),com.test.helloworld项目包名, cpp是C++语言,d:/cocos_project是我创建项目的根目录。
去cocos_project目录就可以看到我们传说中的hellowrd目录了
验证能否运行(这一步有点费时,可以跳过,直接去第7步上eclipse):
6.进入cocos_project\helloworld\proj.win32目录,点击helloworld.sln在Visual Studio中打开我们的helloworld项目,这一步,只是为了证明我们的项目是可以运行的。在Visual Studio中点击三角符号运行(编译过程有点长,等等更健康),最终运行效果如图:
导入到Eclipse下
7、开始试下Android了,打开你的Android Eclipse
菜单->File->Import->Exists Project into Project-> 选择cocos_project\helloworld\proj.android,确定-》Finish,
Eclipse为我们自动clean,尝试自动编译C
有错误。这太正常了。看看是什么原因。
java代码出错了,将cocos_project\helloworld\cocos2d\cocos\platform\android\java\src目录下的整个文件夹复制到src目录下,然后重新clean一下项目,刷新后发现项目已经生成了so库了。
在这里可能会出现Invalid APP_STL value: c++_static的错误,原因如这个回答:You need a newer NDK release,NDK r9 didn’t provide libc++_static,that’s why it’s not a valid value in your Application.mk,你必须使用新版的NDK,因为NDK r9没有提供libc++_static,所以在Application.mk中指定该选项是无效的。
解决方法:
第一种:请升级android-ndk-r9b为最新的android-ndk-r10d或者更新的版本 (下载地址),此乃上上策!
第二种:修改Application.mk文件的前5行:
#上面这5行是原本的
#APP_STL := c++_static
#NDK_TOOLCHAIN_VERSION=clang
#
#APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
#APP_LDFLAGS := -latomic
#下面这几行是修改过后的,可以直接复制贴过去就好了
APP_STL := gnustl_static
# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]
# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -std=c++11 -Wno-literal-suffix -fsigned-char
如图:
然后再点击project-> Clean就好了…
8、设置当前Android项目使用的Android版本为4.0以上的(此处默认使用的是2.3的)
点击项目-》右键-》properties-》Android-》勾选Android4.0 以上的版本,顺便把下面那个打叉叉的Library去掉。
如图:
9. 启动一个Android模拟器。注意模拟器属性要勾选Use Host GPU哦。
Android模拟器启动完成后,运行一下android项目,如无意外,即看到如图效果: