繁体   English   中英

使用外部共享库的android

[英]android using external shared library

我在Android应用程序中使用外部共享库时遇到问题。 我创建了一个Android.mk文件,如下所示:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := MyApp
LOCAL_SRC_FILES := myexternallib.so
include $(PREBUILT_SHARED_LIBRARY)

使用ndk-build,我可以生成本地本机库,并且可以在System.loadLibrary方法中使用该本机库。 当我运行该应用程序时,出现错误java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1486]: 2659 unknown reloc type 19 @ ( 4220)

在进一步的搜索中,我找到了一个建议使用android工具链构建共享库的链接。 因此,我使用了其中一个工具链arm-eabi-gcc来构建我的源文件,该prebuilt/linux_x86/toolchain/arm-eabi-4.4.3/bin位于android源代码的prebuilt/linux_x86/toolchain/arm-eabi-4.4.3/bin目录中。 我收到错误arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory 我还注意到工具链文件夹没有名为cc1的文件。

我是否遵循正确的程序? 还有其他方法可以在Android代码中引用外部共享库吗?

的确,您应该使用Android工具链。

Android NDK随附了有关使用其工具提示的详细说明: http : //source-android.frandroid.com/ndk/docs/STANDALONE-TOOLCHAIN.html 如果您对此文档有特定疑问,请随时提出。

暂无
暂无

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

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