gpt4 book ai didi

java - 使用 ndk-build 从 Android 库项目链接到共享库

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:26:32 29 4
gpt4 key购买 nike

我有一个 Android 库项目“A”,它在“A/jni”文件夹中包含 native C++ 源代码,可以很好地构建为“A/libs/armeabi-v7a/libA.so”并与其他平台相关。

我现在想创建一个 Android 项目“B”,其中包含 Java 内容以及“B/jni”文件夹中的更多 native C++ 源代码。这些来源使用项目“A”的 C++ 库中的代码。我已经通过设置

成功地编译了这些
  LOCAL_C_INCLUDES  := (path_to_A/jni) 

(即,这会从项目“A”中获取头文件)。

问题:如何以干净的方式链接到“A/lib/armeabi-v7a/libA.so”?

我已阅读 IMPORT_MODULE 文档,但这似乎适用于您想要链接到纯 NDK 模块的情况,而不是位于 Android 库项目中的库。

最佳答案

首先创建一个模块,它将把您的 libA.so 库编译为项目 B 中的预构建共享库。

include $(CLEAR_VARS)
LOCAL_MODULE := libA
LOCAL_SRC_FILES := path/to/libA.so
include $(PREBUILT_SHARED_LIBRARY)

然后,通过以下方式将此模块添加到项目的主模块中:

LOCAL_SHARED_LIBRARIES := libA

我从未在我的项目中尝试过 IMPORT_MODULE 选项,但这适用于我的情况。

关于java - 使用 ndk-build 从 Android 库项目链接到共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600917/

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