cocos2d-x:将iOS项目编译成Andriod项目
来源:http://www.cnblogs.com/angzn/p/3328049.html 一、Android 环境搭建 1、安装Andriod-NDK(Native Development Kit) 新建一个文件夹(eg:NDK),解压Android-NDK,将解压文件与压缩包放在一个目录下(eg:放在NDK中)。 2、安装cocos2d-x 解压cocos2d-x源文件到任意目录(一般放在你Workspace一起)。 修改create-android-project.sh文件,修改NDK_ROOT_LOCAL和ANDROID_SDK_ROOT_LOCAL的值,如下: NDK_ROOT_LOCAL="/NDK/android-ndk-r8c"(NDK的路径) ANDROID_SDK_ROOT_LOCAL="/Users/tfmacmini02/android-sdk-macosx"(Android SDK(Mac OS X平台)路径)
二、Android 编译 1、进入cocos2d-x源文件目录下,执行cocos2d-x下的create-android-project.sh文件(./create-android-project.sh)来创建android项目。 eg:TF-no-Mac-mini:cocos2d-x-2.1.5 tfmacmini02$ ./create-android-project.sh 2、输入包名,包名输入iOS项目中.plist文件的Bundle identifier即可。 eg:Input package path. For example: org.cocos2dx.example net.twinfish.DragGame 3、选择Android支持的版本。 eg:Now cocos2d-x supports Android 2.2 or upper version Available Android targets: 然后输入id号选择版本 eg:input target id: 1 4、输入工程名称 eg:input your project name: DragGame 5、Android工程创建完成,在cocos2d-x目录下生成了对应的Android项目。
NOTE: 1)、工程创建完成后,将iOS项目下的Classes(iOS自己新建的类都放在Classes下)下的文件全部copy到Andriod项目下的Classes下, 还有Resources下同样也是全部copy(但是iOS下Resources可能有多级目录,Android下只能都放在Resources这个目录下,不能分子目录)。 2)、修改proj.android/jni/Android.mk文件,修改“LOCAL_SRC_FILES”的值,将Classes下的 实现文件(除头文件,eg:cpp、mm)的目录都添加进去。 eg:LOCAL_SRC_FILES := hellocpp/main.cpp ../../Classes/AppDelegate.cpp ../../Classes/GameLayer.cpp ../../Classes/BoxSprite.cpp ../../Classes/BallSprite.cpp
6、然后对该项目进行编译,进入项目下的proj.android目录。 eg:TF-no-Mac-mini:cocos2d-x-2.1.5 tfmacmini02$ cd DragGame/proj.android/
NOTE: 修改build_native.sh文件,添加下面这条语句到顶部。 exportNDK_ROOT=/NDK/android-ndk-r8c 当然,为了满足项目需求,可能还需要修改其他的一些,具体因项目而定。
7、执行build_native.sh文件进行编译(./build_native.sh),这里可能需要几分钟。 eg:StaticLibrary : libchipmunk.a Prebuilt : libwebsockets_static.a <= /Users/tfmacmini02/Projects/cocos2d-x-2.1.5/DragGame/proj.android/../../external/libwebsockets/android/./lib/armeabi/ 8、然后你就可以通过eclipse导入(import),进行编译运行。但是必须在eclipse下导入cocos2d-x的platprom/android/java文件(cocos2d-x的andriod平台支持文件)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |