win32的项目移植到Android平台,除了可以使用cygwin来帮助完成编译打包so文件,也可以使用NDK来完成这项工作,当然,NDK的版本要高于R7B才能支持。
1.设置cocos2dx根目录下的create-android-project.bat
使用notepad++打开该create-android-project.bat文件,设置以下变量,修改成自己的pc对应的路径。- set _CYGBIN=D:\cygwin\bin
- ..
- set _ANDROIDTOOLS=D:\adt-bundle-windows\sdk\tools
- ..
- set _NDKROOT=D:\android-ndk-r8c
2.运行create-android-project.bat,创建Android项目
首先要求输入包名,我这里输入 com.nickwang.cardgame2然后要求输入项目名,这里输入 cardgame2最后要求输入Android构建版本,我这里输入 android-17这时,就能在cocos2dx根目录下看到cardgame3的项目了。
3.拷贝源码和资源
将原win32项目下.h 文件和.cpp文件拷贝到cardgame3下的Classes文件夹。将原win32项目下的图片资源拷贝到cardgame3下的Resources文件夹。4.拷贝cocos2dx 的java库
将cocos2dx根目录\cocos2dx\platform\android\java\src下的java源码,拷贝到新建Android项目proj.android的src下。5.将proj.android项目导入到Eclipse,并设置项目的build属性
项目导入后,右键项目->properties->Builder,进入下面的设置界面点击New,出现如下界面:
点击Program,选择OK,跳出新的设置界面。如下:首先设置main界面的相关参数。
按照图中所示,设置ndk下的ndk-build.cmd路径到Location下,设置当前项目到Working Directory下。接下来设置refresh界面相关参数:
设置了Specific resouces为当前项目的jni目录。然后在Enviroment中新建变量NDK_MODULE_PATH,变量值为cocos2dx主目录和cocos2dx主目录\cocos2dx\platform\third_party\android\prebuilt
接着配置BuildOption界面的相关参数。
然后就配置完成,点击OK,回到主界面。
6.修改Android.mk配置
修改proj.android/jni/Android.mk文件的配置,加入所有的cpp文件路径。如果在此处遇到报错Cannot find module with tag 'CocosDenshion/android' in import path ,请参考:cocos2dx在Eclipse下编译报错:Cannot find module with tag 'CocosDenshion/android' in import path 同时请注意文件格式,不要加入不需要的字符。 贴一下我的完整的Android.mk文件:LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/PokerScene.cpp \
../../Classes/Poker.cpp \
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
$(call import-add-path,D:/cocos2d-2.0-x-2.0.4)
\
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)