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

首先声明一下自己用的版本 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 文件

上一篇:在线服务之socket编程科普


下一篇:开发框架-移动开发平台: mPaaS