gpt4 book ai didi

android - 如何在android ndk中添加多个共享库?

转载 作者:行者123 更新时间:2023-11-29 02:11:18 31 4
gpt4 key购买 nike

目前我的程序中有很多共享库*.so,但是好像NDK只支持jni会用到的主共享库。

示例:Java 应用程序将使用库 A.so,而 A.so 依赖于 B、C当我将 B 和 C 构建为静态库,然后在 A.so 中使用它们时,通过 LOCAL_STATIC_LIBRARIES,该应用程序运行良好。当我将 B 和 C 构建到共享库,然后通过 LOCAL_SHARED_LIBRARIES 在 A.so 中使用它们,并通过 System.loadLibrary("...") 加载它们中的每一个时,应用程序将在启动时崩溃。

我想将所有其他库用作共享库,以便我可以保持我的应用程序的灵 active ,我如何才能在 android 中正确使用多个共享库?

附加我的 Android.mk 代码:

DEPENDENCE_LIBS := gthread-2.0 gmodule-2.0 gobject-2.0 glib-2.0

ifeq ($(BUILD_STATIC),true)
LOCAL_STATIC_LIBRARIES := $(DEPENDENCE_LIBS)
else
LOCAL_SHARED_LIBRARIES := $(DEPENDENCE_LIBS)
endif

include $(BUILD_SHARED_LIBRARY)

如果我将 BUILD_STATIC 定义为 true,一切正常,但如果我将 BUILD_STATIC 定义为 false,无法工作

最佳答案

其实我原来的方法是正确的,我只是在图书馆名称上有一个拼写错误。现在,当我将 BUILD_STATIC 定义为 false,并使用 System.loadLibrary("lib-name") 加载每个共享库时,整个过程工作正常。

关于android - 如何在android ndk中添加多个共享库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225695/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com