Android ndk NDK如何在同一个Android.mk中构建so和链接?

Android ndk NDK如何在同一个Android.mk中构建so和链接?,android-ndk,Android Ndk,一个Android项目同时编译2个so文件。我们称他为第一个和第二个。我想在第一个SO中调用第二个SO中的函数。我该怎么做 文件内容和目录树如下所示: jni |-Android.mk |-myfiles2.c |-------第一图书馆 |-------|-myfiles1.c |-------|-Android.mk | myfiles1.c: int func1(){ return 123; } myfiles2.c: int func2(){ func1(); //

一个Android项目同时编译2个so文件。我们称他为第一个和第二个。我想在第一个SO中调用第二个SO中的函数。我该怎么做

文件内容和目录树如下所示:

jni

|-Android.mk

|-myfiles2.c

|-------第一图书馆

|-------|-myfiles1.c

|-------|-Android.mk

|

myfiles1.c:

int func1(){
    return 123;
}
myfiles2.c:


int func2(){
    func1(); // this function in first so files
    return 0;
}
首先是文件构建

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    :=  module_lib1  
LOCAL_SRC_FILES := myfiles1.c  
LOCAL_LDLIBS += -llog   
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    :=  module_lib2  
LOCAL_SRC_FILES := myfiles2.c  
LOCAL_LDLIBS += -llog   
LOCAL_SHARED_LIBRARIES := module_lib1   // this is not work  because fisrt file not build finish 
include $(BUILD_SHARED_LIBRARY)
include firstlibdir/Android.mk   
第二个so文件构建

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    :=  module_lib1  
LOCAL_SRC_FILES := myfiles1.c  
LOCAL_LDLIBS += -llog   
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    :=  module_lib2  
LOCAL_SRC_FILES := myfiles2.c  
LOCAL_LDLIBS += -llog   
LOCAL_SHARED_LIBRARIES := module_lib1   // this is not work  because fisrt file not build finish 
include $(BUILD_SHARED_LIBRARY)
include firstlibdir/Android.mk   

我的问题是如何首先构建libmodule_lib1.so并在第二个Android.mk中使用,定义“这不起作用”。发布您收到的确切错误消息。这意味着无法生成第二个so文件,因为第一个so文件未生成成功,第二个so文件无法生成,我可以先在同一个Android.mk文件生成中“include firstlibdir/Android.mk”吗