我创建了一个 .so 文件,该文件通过 JNI 公开了对 Java 的本机 C 调用。这很好用,如果我只在我的 C 代码中使用系统库,我可以将应用程序部署到我的 Android 系统上。但是,如果我想调用其他 .so 文件中的函数,我无法让我的项目正确链接。
例如,假设我有一个“libotherso.so”文件,其中包含用 C 定义的 API,我可以从用于生成“libMyJNILibrary.so”的“MyJNILibrary.c”代码中调用这些 API。
我尝试按如下方式更改我的 Android.mk 文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MyJNILibrary
LOCAL_SRC_FILES := MyJNILibrary.c
LOCAL_LDLIBS += -lotherso
include $(BUILD_SHARED_LIBRARY)
但是当我为此调用 ndk-build 时,发现 -lotherso 时出现错误。我应该将“libotherso.so”文件放在哪里,以便 ndk-build 可以获取它?
感谢您的任何帮助,您可以提供。