在 … 中未找到 JNI_OnLoad 正在跳过初始化

本教程将介绍在 ... 中未找到 JNI_OnLoad 正在跳过初始化的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

在 ... 中未找到 JNI_OnLoad 正在跳过初始化 教程 第1张

问题描述

我在过去一天左右一直收到此消息,直到现在它还没有造成问题.我早些时候让我的代码与我的本机库一起运行,但今天我添加了一些新函数,但它再次不起作用.

LogCat 中没有显示错误,但我的程序只是在我的设备上立即打开和关闭.没有消息说应用程序已意外停止,只是屏幕上出现黑色闪烁.

我查看了 google 和 SO,但出现此消息的原因有很多.这是我的 LogCat:

08-03 10:44:50.186: D/dalvikvm(2143): Trying to load lib /data/data/my.eti.commander/lib/libRelayAPI.so 0x40514f58
08-03 10:44:50.186: D/dalvikvm(2143): Added shared lib /data/data/my.eti.commander/lib/libRelayAPI.so 0x40514f58
08-03 10:44:50.186: D/dalvikvm(2143): No JNI_OnLoad found in /data/data/my.eti.commander/lib/libRelayAPI.so 0x40514f58, skipping init
08-03 10:44:50.288: I/DEBUG(1058): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-03 10:44:50.288: I/DEBUG(1058): Build fingerprint: 'LENOVO/IdeaPad_Tablet_A1_07/A1_07:2.3.4/GRJ22/eng.user.20120209.100319:user/release-keys'

我想知道的是:

1) 这个 No JNI_OnLoad 消息是否导致我的程序无法打开?

2) 如果是这样,我知道我没有发布任何代码,但有人可以解释一下这条消息的大致意思.包括它正在跳过的 init 内容.

我今天添加的新功能在发生这种情况时被注释掉了.我最初遇到了另一个错误,并想确保我的旧代码仍然有效.

推荐答案

函数JNI_OnLoad不是必须的.因此,如果您没有提供此功能,您的程序应该可以正常运行.

您的问题来自代码的另一部分.尝试使用 ndk-gdb 修复它.

好了关于在 ... 中未找到 JNI_OnLoad 正在跳过初始化的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。