我想创建一个Jabber(Jabber.net)使用Unity3D(单声道/ C#)适用于iOS和Android聊天客户端。 我得到了客户端在iOS中工作(也运行良好,在统一模拟器)。 然而,在Nexus 7的HTC Desire在运行它时它不工作。 它不会崩溃,但不连接任何。 它只是产生以下错误:
d / dalvikvm(9368):没有JNI_OnLoad在/system/lib/libc.so 0x413b7270发现,跳过INIT
这个错误是连接到我的Jabber.net客户端的连接方法:
jc = new JabberClient();
...
// Setting up the jabberclient and attaching eventhandlers
...
jc.Connect();
任何想法如何解决呢?
编辑:指导员研究JNI_OnLoad,我发现这样的描述:
“虚拟机将调用JNI_OnLoad当本机库被加载(例如,通过的System.loadLibrary)。JNI_OnLoad必须返回本地库所需要的JNI版本。为了使用任何新的JNI函数,本地库必须导出返回JNI_VERSION_1_2 JNI_OnLoad功能。如果本地库不导出JNI_OnLoad函数,该VM假定该库只要求JNI版本JNI_VERSION_1_1。如果虚拟机不承认JNI_OnLoad所返回的版本号,本地库不能被加载“。
从http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp9502
可以把它有可能重建Jabber.net与JNI_OnLoad方法返回JNI_VERSION_1_2 ??