coco2d-x 交叉编译成Android程序及中间遇到的问题

来源:互联网 发布:js获取两位随机数 编辑:程序博客网 时间:2024/05/22 00:34

开发环境 win7 + eclipse + Android + cygwin + NDK

1 :NDK 下载地址http://developer.android.com/tools/sdk/ndk/index.html ,cygwin 下载地址 http://www.cygwin.com/

2 :安装cygwin 过程要注意 select package -->  search --> 输入build --> 找到 Devel & default 修改成 Devel & Install (不然编译不通过)

3 :NDK 在Eclipse 里Window --> Preferences --> Android --> NDK 把下载文件路径放进去

4 :在Eclipse --> Help --> Install New Software --> Add 添加插件地址http://dl-ssl.google.com/android/eclipse

5 :coco2d-x 的下载地址http://cocos2d.cocoachina.com/

6 :下载好coco2d-x  目录下找到 create-android-project.bat 文件 编辑工具打开 修改三处
        _CYGBIN=c:\cygwin\bin
        _ANDROIDTOOLS=d:\develop\android\android-sdk-windows\tools

       _NDKROOT=e:\android-ndk-r9b

7 : 双击这个create-android-project.bat 文件 输入你的项目的包路径 ,然后项目名称,然后android api ,最后完成回到coco2d-x 目录下找到你的项目

       把项目下的build_native.sh 拖到cygwin 输入台里去,然后回车编译,如果编译不行就是cygwin 安装的时候没有设置build install 。

      如果有错误Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null
       recipe for target 'obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o' failed

      解决办法 项目下找到jni -- > Application.mk 添加APP_CFLAGS += -Wno-error=format-security    ; Android.mk 添加LOCAL_CFLAGS := -w

      成功,把proj.android 导入到Eclipse里去,可能会出现org.cocos2dx.lib.Cocos2dxActivity;找不到,把\cocos2d-x-2.1.4\cocos2dx\platform\android\java\src下的文件

      拷到项目的src 下

      为了下次不再手动添加可以这么做 定位 (cocos2d-x根目录)\template\android\,用文本文件打开 copy_files.sh,找到 copy_src_and_jni() 函数,添加入下代码cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android

 

 

 

原创粉丝点击