У меня есть шаг сборки, который я добавил для одного из моих сгенерированных файлов .cpp; Вы могли бы сделать что-то подобное.
Обратите внимание, что мне сказали, что то, что я делаю, не поддерживается Google, поэтому используйте на свой страх и риск. Я использую что-то вроде приведенного ниже кода уже более года. Вот примерное представление о том, как это будет выглядеть:
LOCAL_PATH:= $(call my-dir)
# this was important for some cases; can't remember if it's important here, but I don't want to steer you wrong if it isn't
REAL_LOCAL_PATH:=$(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := ndkFoo
# again, I'm being paranoid here
REAL_LOCAL_MODULE := $(LOCAL_MODULE)
LOCAL_SRC_FILES := ndkFoo.c
$(REAL_LOCAL_PATH)/obj/local/armeabi/$(REAL_LOCAL_MODULE).so : $(REAL_LOCAL_PATH)/libs/armeabi/libThirdParty.so
$(REAL_LOCAL_PATH)/libs/armeabi/libThirdParty.so : $(PATH_TO_LIB_THIRD_PARTY)/libThirdParty.so
cp $(PATH_TO_LIB_THIRD_PARTY)/libThirdParty.so $(REAL_LOCAL_PATH)/libs/armeabi/libThirdParty.so
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
Обратите внимание, что вам нужно определить PATH_TO_LIB_THIRD_PARTY.
ТАКЖЕ обратите внимание, что копирование и вставка могут или не могут работать. Makefiles, как известно, требовательны к отступам. Я бы удостоверился, что строка "cp" имеет реальный отступ табуляции, и что больше ничего не отступает. Если «cp» не работает, то, возможно, make делегирует CMD, и вместо этого вы можете попробовать «copy».
Удачи.