为了有不少走的弯路。这里简要记录cocos2d开发环境的搭建、android开发环境搭建、android NDK环境搭建。终于实现cocos2dx 2.* 游戏Android平台移植。
cocos2dx 2.* 游戏Android平台移植所须要的必要条件
3、安装包准备:
Android NDK概述
NDK全称:Native Development Kit。
1、NDK是一系列工具的集合。
* NDK提供了一系列的工具,帮助开发人员高速开发C(或C++)的动态库,并能自己主动将so和java应用一起打包成apk。这些工具对开发人员的帮助是巨大的。
* NDK集成了交叉编译器。并提供了对应的mk文件隔离CPU、平台、ABI等差异。开发者仅仅须要简单改动mk文件(指出“哪些文件须要编译”、“编译特性要求”等),就能够创建出so。
* NDK能够自己主动地将so和Java应用一起打包,极大地减轻了开发者的打包工作。
解压Android NDK至:
D:android-ndk-r9-windows-x86_64android-ndk-r9
setup-x86_64安装
步骤:
安装完毕后桌面会有快捷方式:
, 安装文件夹D:cygwin64下会有文件夹。相当于创建了小型linux系统:
測试Cygwin64,Cygwin64终端打开输入gcc -v,例如以下证明成功:
配置Cygwin64环境变量
打开.bash_profile配置文件定义NDK_ROOT、COCOS2D_ROOT变量,让用户每次登入系统自己主动读取此变量
$ vi .bash_profile 在末尾加入例如以下:
保存,重新启动终端。
改动项目c++文件路径
打开/cygdrive/e/cocos2d-x/cocos2d-x-2.2.3/projects/testlianliankan/proj.android/jni/Android.mk, 改动LOCAL_SRC_FILES变量为:
LOCAL_SRC_FILES := hellocpp/main.cpp
../../Classes/AppDelegate.cpp
../../Classes/HelloWorldScene.cpp
../../Classes/GameLayer.cpp
../../Classes/GBKToUTF8.cpp
../../Classes/MapLayer.cpp
../../Classes/MapNode.cpp
../../Classes/PauseLayer.cpp
编译cocos2d-x游戏项目 Android版本号
进入到项目文件夹,运行编译脚本。例如以下:
大概要10分钟编译完毕,在libs/armeabi 下生成libcocos2dcpp.so文件,例如以下:
最后将cocos2d项目导入配置好NDK eclipse来生成apk包。
配置Android NDK环境:
打开eclipse。选择window->Preferences,配置ndk路径:
移植库与资源
1、将E:cocos2d-xcocos2d-x-2.2.3cocos2dxplatformandroidjavasrc下org 复制到E:cocos2d-xcocos2d-x-2.2.3projectsestlianliankanproj.androidsrc以下。以便导入cocos2d项目时能找到cocos2d库。
2、将E:cocos2d-xcocos2d-x-2.2.3projectsestlianliankanResources下的资源复制到E:cocos2d-xcocos2d-x-2.2.3projectsestlianliankanproj.androidassets以下。
项目导入project编译
打开eclipse, file->import
勾选要导入项目。Finish。
右键此移植Androidproject,选择properties。再选择Builders->New->program
在Mian页面填入ndk编译路径和localproject路径,例如以下:
D:android-ndk-r9-windows-x86_64android-ndk-r9
dk-build.cmd
在Environment页NEW个环境变量:
填写:
NDK_MODULE_PATH
E:cocos2d-xcocos2d-x-2.2.3;E:cocos2d-xcocos2d-x-2.2.3cocos2dxplatformhird_partyandroidprebuilt
.
勾选New_Builder选项。勾去CDT Builder
然后OK,開始Run.
由于前面已经用脚本编译过了。这时直接不用等直拉把.so生成apk包, 包就在项目的bin文件夹下,生成完自己主动启动模拟器就能够看你的游戏了。 当然
用模拟器调试太慢了,建议还用真机调试,到此大功告成! 附图:
版权声明:本文博客原创文章。博客,未经同意,不得转载。