首先声明一下自己用的版本 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
也可以修改templatemulti-platform-cppproj.androiduild_native.sh 这个模板文件,以后就不用每次都修改了
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 也找不到
解决方法:复制 ***cocos2dxplatformandroidjavasrc (***为cocos2d-x更目录) 到你android项目中的src文件夹中,这样就又有一个麻烦问题,是不是每次创建都要复制呢,答案当然是否定的,来看一劳永逸的方法,将srcorgcocos2dxlib
中的lib文件拷贝到cocos2d-x-2.2 emplatemulti-platform-cppproj.androidsrcorgcocos2dx 以后用命令创建的时候这些文件也会自动拷贝进去。
这是2.2的版本, 以前的版本和此不一样
tips: 如果能正常编译,proj.android 导入eclipse 中,就能编译 apk 文件