Eclipse打开cocos2dx-lua工程game1\frameworks\runtime-src\proj.android
libcocos2dx项目路径:game1\frameworks\cocos2d-x\cocos\platform\android\java
导入工程后会报些依赖包的错误,解决后点击调试,以android-application的方式运行, 弹出选择运行设备的对话框,本人没有安卓机,新建一个虚拟设备又太慢了,还需要现
下载,正好机器上安了bluestacks模拟器,就用这个啦。
安卓模拟器本身是没有连接上adb的,使用命令adb devices查看不到设备,使用adb connect连接上模拟器
注:adb是android sdk目录下的platform-tools下的命令
adb connect 127.0.0.1:5555
adb devices
这时候才能在adt中的设备对话框中看见
运行后会在模拟器中装上app
点击图标后,闪退,这是为什么啊? 切换到adt的ddms视图,logcat日志中报出一个异常:找不到lib
libName的值就是cocos2dlua, 这需要先对项目进行打包
cmd进入到项目路径,
cocos compile -p android
使用NDK9b版本时会报出错误
r9b版本的NDK是用来生成lua-bindings的hpp与cpp文件,但这里却不能使用这个版本了, 换成android-ndk-r14b
再重新打包,又报出错误:
register_all_cocos2dx_hello方法是luabindings的注册方法,之前做的lua-bindings生成的hpp与cpp文件找不到。
文件所在目录:
在game1\frameworks\runtime-src\proj.android\jni\Android.mk文件中加入cpp文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dlua_shared
LOCAL_MODULE_FILENAME := libcocos2dlua
LOCAL_SRC_FILES := \
../../Classes/AppDelegate.cpp \
hellolua/main.cpp \
#这是新加代码
../../../cocos2d-x/cocos/scripting/lua-bindings/auto/lua_cocos2dx_hello_auto.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
# _COCOS_HEADER_ANDROID_BEGIN
# _COCOS_HEADER_ANDROID_END
LOCAL_STATIC_LIBRARIES := cocos2d_lua_static
# _COCOS_LIB_ANDROID_BEGIN
# _COCOS_LIB_ANDROID_END
include $(BUILD_SHARED_LIBRARY)
$(call import-module,scripting/lua-bindings/proj.android)
# _COCOS_LIB_IMPORT_ANDROID_BEGIN
# _COCOS_LIB_IMPORT_ANDROID_END
再次重新打包
到cocos2dx的安装目录下tools\cocos2d-console\plugins\plugin_compile修改文件build_android.py
command = "%s clean %s -f %s -Dsdk.dir=%s" % (cocos.CMDRunner.convert_path_to_cmd(ant_path), build_mode, buildfile_path, cocos.CMDRunner.convert_path_to_cmd(sdk_root))
改成
command = "%s clean %s -f %s -Dsdk.dir=%s" % (cocos.CMDRunner.convert_path_to_cmd(ant_path),
build_mode, buildfile_path,
(self.sdk_root))
重新执行打包命令
终于打包完成了. ADT中调试game1项目