Я новичок в Android NDK.
Есть 3 файла: "first.c, first.h, second.c", который я хочу скомпилировать с двумя общими библиотеками (libfirst.so, libsecond.so, второй с использованием первого)
ниже: Android.mk
LOCAL_PATH:= $(call my-dir)
# first lib
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-first
LOCAL_SRC_FILES := first.c
include $(BUILD_SHARED_LIBRARY)
# second lib
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-second
LOCAL_SRC_FILES := second.c
LOCAL_SHARED_LIBRARIES := libtwolib-first
include $(BUILD_SHARED_LIBRARY)
first.h
extern int first(int x, int y);
second.c
jint
Java_com_example_twolibs_TwoLibs_add( JNIEnv* env,
jobject this,
jint x,
jint y )
{
return first(x, y);
}
Но когда запускается эта программа, приложение вынуждено завершать работу.если первый компилируется в статическую библиотеку.тогда ладно.Как и соответствующий Android.mk ниже:
LOCAL_PATH:= $(call my-dir)
# first lib, which will be built statically
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-first
LOCAL_SRC_FILES := first.c
include $(BUILD_STATIC_LIBRARY)
# second lib, which will depend on and include the first one
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtwolib-second
LOCAL_SRC_FILES := second.c
LOCAL_STATIC_LIBRARIES := libtwolib-first
include $(BUILD_SHARED_LIBRARY)
Кто-нибудь может мне помочь?Большое спасибо ...