我正在面临在我的Android应用程序中使用外部共享库的问题。我创建了一个Android.mk文件,如下所示:android使用外部共享库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MyApp
LOCAL_SRC_FILES := myexternallib.so
include $(PREBUILT_SHARED_LIBRARY)
使用NDK建造我能够生成本地机库和我在System.loadLibrary
方法使用本机库。 当我运行应用程序时,我得到一个错误java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1486]: 2659 unknown reloc type 19 @ (4220)
在进一步的搜索我找到了一个链接,建议使用android工具链建立共享库。因此,我使用了Android源代码的prebuilt/linux_x86/toolchain/arm-eabi-4.4.3/bin
目录中的一个工具链arm-eabi-gcc
来构建我的源文件。我收到一个错误arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
。我还注意到工具链文件夹没有名为cc1
的文件。
我按照正确的程序?有没有其他的方式来引用Android代码中的外部共享库?