1,配置NDK路径 NDK从7开始自带编译器,在windows上无需配置cygwin的环境。在eclipse中点击菜单栏window->Perferences->android->NDK,配置NDK的路径。
2, 添加native lib 新建一个空白的Android工程,在根目录上点击右键Adnroid Tools - Add Native Support...(对于未添加过jni的项目),在弹出的对话框中输入要新建的lib的名称,点击Finish,在工程目录下会多出一个jni文件夹,里面有一个空白的cpp文件和一个Android.mk文件。此时,在Builders里面又多了两项,一个是CDT Builder,一个是Scanner Configuration Builder。
3,Cocos2dx在安卓上移植的时候,加入第三方库,so库被删掉解决:
方法1)
(1)在新建目录jni/prebuilt,添加so包
(2)在原来的jni/Android.mk 代码行LOCAL_PATH := $(call my-dir)之后添加如下代码:
#下面为添加代码
include $(CLEAR_VARS)
LOCAL_MODULE := mppay
LOCAL_SRC_FILES := prebuilt/libmppay.so
include $(PREBUILT_SHARED_LIBRARY)
方法2)
先把本地代码编译完成,然后去掉builders中CDT builder项的勾号,这时在把第三方so文件拷贝到libs下。
方法3)
增加一个builder在ndk的builder之后,命令是一个bat文件:
d del /f /q D:\Android\cocos2d-x-2.2\GameAndroid\obj\local\armeabi\libmegjb.so
xcopy /x /s /c /r D:\Android\cocos2d-x-2.2\GameAndroid\jni\prebuilt\libmegjb.so D:\Android\cocos2d-x-2.2\GameAndroid\obj\local\armeabi\
xcopy /x /s /c /r D:\Android\cocos2d-x-2.2\GameAndroid\jni\prebuilt\libmegjb.so D:\Android\cocos2d-x-2.2\GameAndroid\libs\armeabi\
此bat即在ndk运行后把第三方lib的so拷贝到lib目录下去