先看此文:http://blog.csdn.net/tt5267621/article/details/8941084(首先ecplise已经可以编译cocos2d-x再看此文)
build_native.sh
和eclipse编译cocos2d-x项目英文好的同学可以直接查看官方说明Using the NDK plugin,这里我简单翻译一下
https://dl-ssl.google.com/android/eclipse/
/android/android-ndk-r8e
这里我以cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame
这个自带的小游戏为例子来说明一下.
假设你的eclipse是干净的,也就是左边的Package Explorer栏是空空的
cocos2d-2.1rc0-x-2.1.3/cocos2dx/platform/android/java
这个目录,选中libcocos2dx,导入cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/proj.android
因为我们不使用build-native.sh来编译,所以要先把资源文件得到在android项目的assets下,具体就是把cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/Resources
下面的所有文件复制到cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/proj.android/assets
下面去
准备工作完毕
ndk-build NDK_DEBUG=1
,确定,关闭对话框 cocos2dx,CocosDenshion,extensions,external
这4个目录到你的NDK的sources目录下,以我的电脑为例,就是/android/android-ndk-r8e/sourcescocos2dx,CocosDenshion,extensions,external, libcurl,libjpeg,libpng,libtiff,libwebp
这几个为了可以给C++下断点,我们必须修改一下当前的项目文件结构
Android.mk中:
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/GameOverScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
修改为
LOCAL_SRC_FILES := hellocpp/main.cpp \
Classes/AppDelegate.cpp \
Classes/HelloWorldScene.cpp \
Classes/GameOverScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes
也就是使文件指向正确的位置
Project->Build ALL 编译项目,应该可以成功编译
eclipse自动切换到了Debug界面,而且成功的断点下来了,并且变量可以在右边窗口查看 Debug界面上的按钮就不再多说了,就是继续执行,单步执行什么的几个,摸索一下便知
[原创文章,转载请注明]
PS: 上述操作中我们复制了cocos2dx的好多文件到NDK的目录下面去,显的有点繁琐,这样做的目录是为了避开去设置NDK_MODULE_PATH,如果一旦设置了NDK_MODULE_PATH,就会使的调试不可行,可能有更好的方法,如果你知道,或者有什么问题都可以直接在文章下面留言