Android.mk: Link using a pre-compiled static library

I’m tryining use protobuf in android application. I compiled protobuf-lite.a with Cigwin. Next, I changed the Android.mk.

jni/Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := libprotobuf-lite

LOCAL_LDLIBS := libprotobuf-lite.a

include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/external)

$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/cocos/audio/include)

LOCAL_MODULE := MyGame_shared

LOCAL_MODULE_FILENAME := libMyGame

LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
…/…/Classes/ComputerScene.cpp
…/…/Classes/ComputersListScene.cpp
…/…/Classes/ExchangeScene.cpp
…/…/Classes/MainScene.cpp
…/…/Classes/UtilFormatMoneyStr.cpp
…/…/Classes/UtilInitLabelMoney.cpp
…/…/Classes/UtilFormatHashRateStr.cpp
…/…/Classes/Player.cpp
…/…/Classes/GSToGC.pb.cc \

LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes
LOCAL_C_INCLUDES += $(LOCAL_PATH)/…/…/cocos2d/external/protobuf/include

_COCOS_HEADER_ANDROID_BEGIN

_COCOS_HEADER_ANDROID_END

LOCAL_STATIC_LIBRARIES := cocos2dx_static
libprotobuf-lite \

_COCOS_LIB_ANDROID_BEGIN

_COCOS_LIB_ANDROID_END

include $(BUILD_SHARED_LIBRARY)

$(call import-module,.)

_COCOS_LIB_IMPORT_ANDROID_BEGIN

_COCOS_LIB_IMPORT_ANDROID_END

cocos compile -p android --ap android-19 --ndk-mode=release

Error - “The LOCAL_SRC_FILES for a prebuilt library should only contain one item”.
Full log: https://pastebin.com/L6tTAyg4

1 Like