java - Android JNI 基本应用程序在运行时出现异常 - java.lang.ExceptionInInitializerError、java.lang.UnsatisfiedLinkError

标签 java android android-ndk

我正在关注 http://permadi.com/blog/2011/12/running-android-ndk-examples-using-eclipse-and-sequoyah/ 上的 android jni 开发基本教程。 。在解决问题之前,我通过将“cmd F:\Android\android-ndk-r8\ndk-build”设置为构建命令来解决构建错误。

更改了构建命令 Changed build command

希望没有搞错。但现在它给出以下错误。我在这里添加了 logcat。 Logcat

我可以看到这里显示了两个异常:java.lang.UnsatisfiedLinkError 和 java.lang.ExceptionInInitializerError。我无法弄清楚到底是什么原因造成的。据说您可以通过将 libJniTest.so 添加到正确的路径来修复 UnsatisfiedLinkError。但我找不到它。我在我的 Windows 机器上运行搜索以找到 libjnitest.so 但它不存在。这是问题吗?如果是,有人可以说它应该在哪里。有一千多个与此相同的问题,但我花了几个小时后却找不到解决方案。

这是我的代码。 Java代码 Java code 请注意,iv'e 评论了 native 函数调用,但我可以看到问题出在加载库上。 原生代码 Native code

这里我添加了文件夹结构。

enter image description here

最佳答案

您需要从项目的主目录运行 $(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/

相关文章:

java - Activity 不可分配给 Activity

android - 为 android NDK 创建独立工具链

android - 如何从 AAssetManager 获取 std::basic_istream?

Android OpenCV 优化 - 线检测很慢 Hough Lines

java - <?> 在 Android 方法签名中是什么意思?

java - 在 XSLT 中得到错误的输出?

c# - Monodroid 上的谷歌地图,Mac 上的错误编译

安卓模拟器 : how to find out if hardware virtualization feature is used?

java - 我们什么时候得到 java.lang.NoSuchMethodError 即使 jar/class 有特定的方法

Android ICS 上下文菜单替换