您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx 跨平台编译遇到的几个问题

2013-10-25 12:37 344 查看
首先声明一下自己用的版本 vs2010 cocos2d-x_2.2 ndk_r9

1. 安装cygwin之后,也设置好了 ndk_root, 但是 cd $NDK_ROOT 进入不了,

只好修改了 build_native.sh 文件,如下

# paths
export NDK_ROOT=/cygdrive/d/android-ndk-r9

if [ -z "${NDK_ROOT+aaa}" ];then
echo "please define NDK_ROOT"
exit 1
fi

也可以修改template\multi-platform-cpp\proj.android\build_native.sh 这个模板文件,以后就不用每次都修改了

2. 现在能正常运行,但是不能完全编译,开始用的 ndk_r8 , 后来换成 ndk_r9 就 ok 了

3.执行 ./ build_native.sh 编译成功出现的标志

$ ./build_native.sh
NDK_ROOT = /cygdrive/d/android-ndk-r9
COCOS2DX_ROOT = /cygdrive/e/cocos2d-x-2.2/projects/MoonWarriors/proj.android/../../..
APP_ROOT = /cygdrive/e/cocos2d-x-2.2/projects/MoonWarriors/proj.android/..
APP_ANDROID_ROOT = /cygdrive/e/cocos2d-x-2.2/projects/MoonWarriors/proj.android
Using prebuilt externals
Android NDK: WARNING: APP_PLATFORM android-9 is larger than android:minSdkVersion 
Android NDK: WARNING:/cygdrive/e/cocos2d-x-2.2/projects/MoonWarriors/proj.androi
Android NDK: WARNING: Unsupported source file extensions in jni/Android.mk

Android NDK:   ../../Classes/resource.h
make: 进入目录“/cygdrive/e/cocos2d-x-2.2/projects/MoonWarriors/proj.android”
Install        : libgame.so => libs/armeabi/libgame.so
make: 离开目录“/cygdrive/e/cocos2d-x-2.2/projects/MoonWarriors/proj.android”


因为已经编译过,因此输出的log比较少,否则会很多

4 工程导入编译的时候eclipse会报错,Cocos2dxActivity,org.cocos2dx.lib.Cocos2dxActivity 也找不到

解决方法:复制 ***\cocos2dx\platform\android\java\src\ (***为cocos2d-x更目录) 到你android项目中的src文件夹中,这样就又有一个麻烦问题,是不是每次创建都要复制呢,答案当然是否定的,来看一劳永逸的方法,将src\org\cocos2dx\lib
中的lib文件拷贝到cocos2d-x-2.2\template\multi-platform-cpp\proj.android\src\org\cocos2dx 以后用命令创建的时候这些文件也会自动拷贝进去。
这是2.2的版本, 以前的版本和此不一样

tips: 如果能正常编译,proj.android 导入eclipse 中,就能编译 apk 文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: