3

我试图在 Android 应用程序中包含一个使用本机代码的预构建库,但没有成功。我无法弄清楚我做错了什么。

完成的 .apk 文件的内容如下所示。(我使用 NetBeans 和 Ant 来构建一切——如果有人需要,我可以包含 Ant 脚本的相关部分。)

META-INF
assets
libs >
    armeabi >
        libandroidgl20.so
        libgdx.so
res 
AndroidManifest.xml
classes.dex
resources.arsc

在应用程序代码中,我有:

static {
    System.loadLibrary("gdx");
    System.loadLibrary("androidgl20");
}

但我不断收到错误:java.lang.UnsatisfiedLinkError: Library gdx not found.

我是否将 .so 文件放在正确的位置?我是否需要做任何其他事情来确保运行时知道它们?

4

2 回答 2

2

System.load() 需要共享对象的确切路径(包括全名)。这就是你做错了。

改为使用System.loadLibrary("gdx");

于 2011-06-14T17:11:21.993 回答
0

您确定满足“gdx”的所有依赖项吗?
该库中是否有任何未实现的本机功能?

于 2011-06-14T17:13:26.423 回答