我正在关注 http://permadi.com/blog/2011/12/running-android-ndk-examples-using-eclipse-and-sequoyah/ 上的 android jni 开发基本教程。 。在解决问题之前,我通过将“cmd F:\Android\android-ndk-r8\ndk-build”设置为构建命令来解决构建错误。
更改了构建命令
希望没有搞错。但现在它给出以下错误。我在这里添加了 logcat。
我可以看到这里显示了两个异常:java.lang.UnsatisfiedLinkError 和 java.lang.ExceptionInInitializerError。我无法弄清楚到底是什么原因造成的。据说您可以通过将 libJniTest.so 添加到正确的路径来修复 UnsatisfiedLinkError。但我找不到它。我在我的 Windows 机器上运行搜索以找到 libjnitest.so 但它不存在。这是问题吗?如果是,有人可以说它应该在哪里。有一千多个与此相同的问题,但我花了几个小时后却找不到解决方案。
这是我的代码。 Java代码 请注意,iv'e 评论了 native 函数调用,但我可以看到问题出在加载库上。 原生代码
这里我添加了文件夹结构。
最佳答案
您需要从项目的主目录运行 $(NDK)/ndk-build 才能创建 .so 库,该库应自动复制到 libs/文件夹中。
这假设您有一个正确的 jni/文件夹,其中包含 Android.mk 和源代码。
您可能想查看 ndk 示例目录中的 hello-jni 示例,以获取包含所有必需部分的官方示例。
关于java - Android JNI 基本应用程序在运行时出现异常 - java.lang.ExceptionInInitializerError、java.lang.UnsatisfiedLinkError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11248589/