本人之前搞一次android环境伤一次,这次下定决心不再伤了,总结如下,供大家参考。
cygwin - 不需要
- JDK&JRE JAVA运行时及开发包(要安装)
- Eclipse的一个插件 要去官网下带adt sdk cdt的套装,省事(解压即可)
- 下cocos2dx2.1.4(解压即可)
- 下载ndk(r8e最好,不行的话下最新 ndk9)
- 打开eclise,在window->perfernces->Android->sdk中填上刚刚下的eclipse同级的adt-bundle-windows-x86_64-20130729\sdk目录
- Android->NDK中填ndk路径 e:\android-ndk-r9-windows-x86_64\android-ndk-r9
- 导入Cocos2dx例子工程:
Eclipse中File->New->Other...选择Andriod Project from Existing Code在Import Projects的Root Directory中导入e:\cocos2d-2.1-x-2.1.4\samples\HelloCpp\proj.android\(注意, 不要选中 Copy project into workspace, 否则路径编乱很难编译成功) - Properties->Builder->New->Program 在Main标签中填NDK编译命令行 e:\android-ndk-r9-windows-x86_64\android-ndk-r9\ndk-build.cmd 点击Browser Workspace选中当前工程,出现${workspace_loc:/HelloCpp}
切换到Environment标签中填写,新建NDK_MODULE_PATH 填写 e:\cocos2d-2.0-x-2.0.4\;e:\cocos2d-2.0-x-2.0.4\cocos2dx\platform\third_party\android\prebuilt\ - porject->clean
- Run As->1 Android Application.
搞定
对了,用ndk9可能出现 error: format not a string literal and no format arguments
只要把CCLog中用字符串的地方作如下改变就OK
cocos2d官方终极解决方案:
jni/appliction.mk加上
APP_CFLAGS += -Wno-error=format-security
- //exmaple:
- char iii[100] = "";
- sprintf(iii, "怪物id不存在 %d",iiiiid);
- CCLog("%s", iii); // OK
- CCLog(iiii);// error[/size]