cocos2d-2.x创建项目以及编译SO遇到的问题


   大家好,

   在玩cocos的过程中遇到很多问题,也解决很多问题,下面我先说cocos2d-2.x创建项目以及在android平台下跑起来时遇到的问题。

   我所使用的cocos2d-x版本为 cocos2d-x-2.1.5 (2.14已经以后都是用cygwin创建项目),如果没有先下载(有就忽略),在根目录下会有 create_android_project.bat批处理脚本。这个脚本就是我们创建的cocos android项目所需要执行的脚本,其中里面需要配置一些路径:
     1.set _CYGBIN=C:\cygwin64\bin   (这个是cygwin目录.没有安装的根据系统位数先安装cygwin)
     2.set _ANDROIDTOOLS=E:\adt-bundle-windows-x86_64-20130522\sdk\tools   (Android SDK 目录)
     3.set _NDKROOT=E:\android-ndk-r8e-windows-x86_64\android-ndk-r8e     (NDK 目录)

    这些修改完后,我们就能够打开 cmd cd到你 cocos2d-x-2.1.5 目录下 运行 create_android_project.bat 脚本了。
如果前面的配置有问题,请检查环境配置;没有问题则可以进行下一步。

先会让输入android package(android包名),如:org.cocos2dx.example
接着输入 project name (Android项目名) 如 TestPro
然后输入android target id: 如 android-17   (注意,这里输入需要与电脑环境配置的一致,android-17 对应 android 4.2.2 系统)

如果没有error ,表示创建成功。则会在根目录生成项目  文件夹为 你上面输入的 项目名

创建算是成功了。但是我们需要跑在android上面,还是缺点东西的

我们可以把项目导入到  eclipse 中,导入后,肯定会有很多的错误,那是正常的,因为还有哦一步没有做,我们需要在 cocos2d-x-2.1.5 目录  E:\cocos2d-x-2.1.5\cocos2dx\platform\android\java 把这个也导入到项目,作为lib库使用,让我们生产的项目依赖如它。第一次肯定是项目中会有感叹号,这时候需要先 clear 然后在build 项目。就OK了。

上面这些做完,我们还是不能够在android项目上跑。因为是 cocos2d-x项目,c++写的,在android使用需要编译 二进制(SO文件),那么我们就需要编译C++文件,这里用的是cygwin编译。
我们打开cygwin,cd 到 项目目录   E:\cocos2d-x-2.1.5\TestPro\proj.android 然后运行 ./build_native.sh  一运行。我们会发现很快的出现  please define NDK_ROOT    eclipse编译时不会使用cygwin,而你的变量是在cygwin里设置的,所以无效。   正确的理法是在win7的环境变量中设置,这样cygwin和eclipse就都能认了
解决办法为,我们找到 cygwin 安装目录 找到  C:\cygwin64\home\当前使用计算机用户\.bash_profile  文件。打开此文件  添加一下语句:
NDK_ROOT=/cygdrive/e/android-ndk-r8e-windows-x86_64/android-ndk-r8e
export NDK_ROOT

注意:/cygdrive/e/android-ndk-r8e-windows-x86_64/android-ndk-r8e   根据自己的配置  

好了,现在开始满怀信心的在编译,这次好多了。多出了好几行,一看,ERROR 提示为  cc1plus.exe: fatal error: jni/hellocpp/main.cpp: Permission denied
虽然英语不咋好,但是能看出是权限有问题了。但是却又不知道解决,只好google,或者百度。还好网络很强的,各种大神的发帖,找到了。解决方案是:进入cmd  windows命令台  指定工程目录,
接着修改文件和目录的权限,输入:takeown /f * /a /r
然后授权授权everyone组
,输入:icacls * /t /grant:r everyone:f,

再切换到cygwin Terminal下,再次运行build_native.sh包,输入:./build_native.sh


这次成功了。我们可以在项目里面的 libs 目录下找到 armeabi 文件夹下找到 刚才生成的  libgame.so 文件。

共勉~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值