二,修改默认的makefile
三,使用cygwin编译,运行
进入cocos2dx的home目录,打开create-android-project.bat,修改其中几个变量
_CYGBIN : cygwin\bin的安装绝对路径
_ANDROIDTOOLS : android sdk的 tools目录绝对路径
_NDKROOT : ndk 的绝对路径
改完之后,双击运行之。
之后会出现以下
步骤:1 输入包路径, 工程名(如果在cocos2dx HOME目录中有同名的文件夹会被覆盖,记得不要同名)
步骤2 输入target id,(之前设置的tools路径,列出当前SDK所有版本,会按低到高编ID号),
这里我选择 Android2.3.3, 输入5
这样就完成了,打开cocos2dx的Home目录,多了个目录mygame,打开它有以下几个目录
|-->Classes|-->proj.android
|-->Resources
二,修改默认的Android.mk
进入jni目录打开Andrid.mk
LOCAL_MODULE --- 模块名,唯一,不能有空格
LOCAL_SRC_FILES --- 源文件
LOCAL_C_INCLUDES --- 头文件
LOCAL_WHOLE_STATIC_LIBRARIES --- 静态库
$(call import-module,相对路径) --- 在上面添加了静态库之后,这里就需要
(不知道静态库的名称?如cocosdenshion_static,cocos2dx_static等,打开它们的目录找到的Android.mk)
修改之后的Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mygame_shared
LOCAL_MODULE_FILENAME := libmygame
LOCAL_SRC_FILES := main.cpp \
Classes/AppDelegate.cpp \
Classes/HelloWorldScene.cpp \
Classes/MyScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,cocos2dx) \
$(call import-module,CocosDenshion/android)
编译前看看系统环境变量中是否设置了NDK_ROOT ,那是因为proj.android目录build_native.sh文件中有用到这变量
# paths
if [ -z "${NDK_ROOT+aaa}" ];then
echo "please define NDK_ROOT"
exit 1
fi
没有就设置一下吧...
完成就用cygwin执行 build_native.sh…最后成功的话就会生成一个so文件
eclipse导入工程,Cocos2dxActivity 找不到?
把 cocos2d-2.1rc0-x-2.1.3\cocos2dx\platform\android\java 工程导入eclipse 就可以了
end---------------
[参考资料:]