繁体   English   中英

在 Android NDK 项目中使用我自己的预构建共享库

[英]Using my own prebuilt shared library in an Android NDK project

我遇到了这个几乎是我需要的帖子:

如何使用 Android NDK 编译 static 库?

基本上,我的项目中的某些部分永远不会更新,所以我试图避免每次更新 Android.mk 文件以添加一些内容时都构建它们。

上面的答案显示了如何将一些代码内置到单独的 static 库中,但是当我尝试在单独的 Android.mk 文件中预构建上述代码时,它不会自行构建。 这似乎有点多余......如果我必须同时构建它们,那么制作一个单独的 static 库有什么意义呢?

如果我在单独的项目中更改 Android.mk 以阅读:

包括 $(BUILD_SHARED_LIBRARY)

并将其包含在主项目中:

LOCAL_SHARED_LIBRARIES:= libMyaccessories.so

然后我得到未解析的引用(函数名),可能是因为它找不到共享库(在调用路径中)

谁能帮我解决这个问题?

在 Android.mk 的文档中,检查PREBUILT_SHARED_LIBRARY脚本描述。 将.so 文件放在lib (不是libs )目录中,并在其旁边编写一个 Android.mk 文件,如下所示:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := Myaccessories
LOCAL_SRC_FILES := libMyaccessories.so
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../jni/include

include $(PREBUILT_SHARED_LIBRARY)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM