Cocoscreator1.6.1版本
- so文件放在模板文件夹build-templates\jsb-binary\frameworks\runtime-src\proj.android-studio\app\libs\armeabi-v7a下。
- 构建的时候so文件能够copy过去。
- 编译的时候so文件被删除,只剩下libcocos2djs.so
Cocoscreator1.6.1版本
这样是会被删除的。
so放在工程一个路径下,
Android.mk 前面添加
include (CLEAR_VARS)
LOCAL_MODULE := 模块名字(自定义)
LOCAL_SRC_FILES := so路径/xxx.so
include (PREBUILT_SHARED_LIBRARY)
LOCAL_STATIC_LIBRARIES := cocos2d_js_static这句话后面再加
LOCAL_SHARED_LIBRARIES := 模块名字(上面那个)
LOCAL_PATH := $(call my-dir)
include (CLEAR_VARS)** **LOCAL_MODULE := libYvImSdk_static** **LOCAL_SRC_FILES := ../../../So/libYvImSdk.so** **include (PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2djs_shared
LOCAL_MODULE_FILENAME := libcocos2djs
ifeq ($(USE_ARM_MODE),1)
LOCAL_ARM_MODE := arm
endif
LOCAL_SRC_FILES :=
…/…/…/Classes/AppDelegate.cpp
hellojavascript/main.cpp \
ifeq ($(USE_ANY_SDK),1)
LOCAL_SRC_FILES += …/…/…/Classes/SDKManager.cpp
…/…/…/Classes/jsb_anysdk_basic_conversions.cpp
…/…/…/Classes/manualanysdkbindings.cpp
…/…/…/Classes/jsb_anysdk_protocols_auto.cpp
endif
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/…/Classes \
LOCAL_STATIC_LIBRARIES := cocos2d_js_static
LOCAL_SHARED_LIBRARIES := libYvImSdk_static
LOCAL_WHOLE_STATIC_LIBRARIES := PluginProtocolStatic
include $(BUILD_SHARED_LIBRARY)
$(call import-module,scripting/js-bindings/proj.android/prebuilt-mk)
改成这样运行报错了.
11-16 18:26:09.257 4746-4746/? E/dalvikvm: dlopen("/data/app-lib/com.xx.hall-1/libcocos2djs.so") failed: dlopen failed: “/data/app-lib/com.xx.hall-1/libcocos2djs.so” has unexpected e_machine: 40
你路径错了吧
安卓上CPU架构不同,对应不同的.so(armeabi,armeabi-v7a,x86)怎么对应把这3种不同的.so拷贝到lib对应目录下