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項目