0

我在我的 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 工具链构建共享库的链接。所以我使用了 android 源代码目录中arm-eabi-gcc可用 的工具链之一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 代码中引用外部共享库吗?

4

1 回答 1

0

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

Android NDK 附带了有关使用其 toolcahin 的详细说明:http: //source-android.frandroid.com/ndk/docs/STANDALONE-TOOLCHAIN.html。如果您对本文档有具体问题,请随时提问。

于 2012-09-13T07:02:08.817 回答