android在windows下面coco2dx平台搭建以及一些常见问题的解决
最近因为参加比赛一些coco2dx的游戏,并且跨平台移植 ,废了好几天的时间,终于搞定了coco2dx的环境配置以及移植的全过程,在这片文章里面先说明一下我的coco2dx在windows下开发配置
闲话不说,直接上正文吧
1.首先,配置android开发环境(JAVA环境,eclipse+adt), 这个应该不用多说了吧
不明白的朋友们可以去参考这篇博文http://hi.baidu.com/wlj1013/item/3e6080351168b9302f0f815c,这里面对android开爱的基本环境讲的很详细。
2.下载NDK ,这个可以去官网下载 http://developer.android.com/tools/sdk/ndk/index.html
1)、用代码阅读工具打开create-android-project.bat(cocos2dx2.0的解压包里面貌似没有这个文件,没有关系,去2.1.4的里面copy一个就好了,没有影响的)(千万不 用将它设置成默认程序打开,不然你就打不开了,倒是后就需要修改去注册表中修改,默认启动方式了。我是用UtralEdit打开的,用它打开的时候,千万不要转换其格式了 噢)
2)、设置环境变量路径:
set _CYGBIN=C:\cygwin\bin(这是我的路径,请设置成自己对应的安装路径)
set _ANDROIDTOOLS=C:\Users\Potter\Documents\work\Android\android-sdk-windows\tools(同理)
set _NDKROOT=C:\Users\Potter\Documents\work\Android\android-ndk-r9(同理)
记得保存,设置好这3个环境变量就ok了.
3)、重新打开create-android-project.bat,(注意:如果是win7,请以管理员的身份运行,否则又会出现问题)下图所示:
输入包名,然后再输入工程名,
输入android版本id:注意的选2.2以上的版本才支持GLES2.0,不然导入eclipse会提示不支持GLES2.0的,那就是没有选2.2以上的原因,不过此时自己改成2.2的包就可以 了
4)、用cygwin编译我们产生的工程
如下图所示:
然后回车,显示如下结果:
由于我之前就已经编译过产生so了,所以会这样,如果是第一次编译会产生很多信息的,不过最后的信息和我这一样,这是你创建的工程HelloWorld就成功了。
补充:
问题1:库生成的时候没有权限造成so生成失败(win7可能出现此问题)
如下图:
解决办法:运行cmd 将其路径定位到你的工程库目录下(如:D:\work\cocos2d-x-2.0.1\MyHelloWorld\proj.android\obj\local\armeabi 这是我的,你的对应)
然后执行:
takeown /f * /a /r
然后再执行:
icacls * /t /grant:r everyone:f
然后再用cygwin去生成ok
问题2:有时候你会发现你在运行
./build_native.sh的时候,会提示你说
这也是个蛋疼的问题其实,用代码编辑器打开你的build_native.sh(就在你工程文件夹里面,和src,res这些文件夹在一起),把里面的NDK_ROOT全部修改为你之前定义的ndk的环境的名字就好了,我定义的名字就是ndk,就直接替换为ndk就好了
问题3:你会发现经过漫长的等待之后,你的lib文件夹下面居然什么都没有,
然后去查看日志
这个原因是比较奇怪的,这个纠结了我好久,然后 找到的解决办法是
打开jni文件夹,然后用代码编辑器之类的工具打开Applixation.mk,在后面添加
APP_CPPFLAGS += -Wno-error=format-security
然后保存,在重新编译,你会发现,问题解决了。
今天就先到这里了,剩下的和移植相关的内容明天再说~