[英]NDK - Include a Prebuilt library and call a native function in Android Project
[英]Using my own prebuilt shared library in an Android NDK project
我遇到了这个几乎是我需要的帖子:
基本上,我的项目中的某些部分永远不会更新,所以我试图避免每次更新 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.