2

我是NDK的新手。我创建了最简单的 foo 库。当我尝试使用System.loadLibrary("foo")加载它时,出现异常:

Caused by: java.lang.UnsatisfiedLinkError: Couldn't load foo: findLibrary returned null

我检查了一下,libfoo.so存在于lib/armeabi/libfoo.so的 APK 文件中。但在安装 APK 文件期间,它并未在模拟器上部署到/data/data/com.myapp/lib/libfoo.so 。我在 Eclipse 中安装带有调试按钮的 APK。

我做错了什么?

我尝试将其手动推送到 /data/data/com.myapp/lib/。在那种情况下,我会遇到异常:

Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: get_lib_extents[742]:   801 - /data/data/com.myapp/lib/libfoo.so is not a valid ELF object

谢谢。

4

1 回答 1

0

您需要将本机库放在 libs/[TARGET_ARCH_ABI] 下,其中 TARGET_ARCH_ABI 是 armeabi、x86 等。

于 2013-05-06T05:39:13.873 回答