Ich versuche nanomsg in Android zu implementieren und ich habe Java-Bindungen von diesem Link: http://niwinz.github.io/jnanomsg/ nach dieser Abhängigkeit
Kompilierung ‚jnanomsg: jnanomsg: 0.4 .3' . Es gab mir diese Sonne zurück/jna/libjnidispatch.so wurde nicht gefunden.Wollen nanomsg in Android mit seiner Java-Bindung jnanomsg java.lang.ExceptionInInitializerError
Nach einiger Zeit, die ich herausgefunden „.so“ Datei, die für jna erforderlich ist, fehlt später bekam ich alle erforderlichen „.so“ von diesem Link
https://github.com/java-native-access/jna/tree/master/dist danach kopiert i libjnidispatch.so-Datei app/src/main/jniLibs/armeabi-v7a/libjnidispatch.so und
Ich habe die so Datei von System.loadLibrary ("jnidispatch") geladen, nachdem diese App-Anwendung kompiliert wurde. Wenn ich versuche, für ReqSocket sock = new ReqSocket();
ein Objekt erstellen, verfolge ich Fehler bekommen:
java.lang.ExceptionInInitializerError
at nanomsg.Nanomsg.getSymbols(Nanomsg.java:35)
at nanomsg.Nanomsg.<clinit>(Nanomsg.java:48)
at nanomsg.Nanomsg$constants.<clinit>(Nanomsg.java:51)
at nanomsg.reqrep.ReqSocket.<init>(ReqSocket.java:13)
at com.example.nanomsg.onClick(MainActivity.java:125)
at android.view.View.performClick(View.java:5201)
at android.view.View$PerformClick.run(View.java:21163)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by: java.lang.IllegalStateException: The SecurityManager implementation on this platform is broken; you must explicitly provide the class to register
at com.sun.jna.Native.getCallingClass(Native.java:1295)
at com.sun.jna.Native.register(Native.java:1252)
at nanomsg.NativeLibrary.<clinit>(NativeLibrary.java:30)
at nanomsg.Nanomsg.getSymbols(Nanomsg.java:35)
at nanomsg.Nanomsg.<clinit>(Nanomsg.java:48)
at nanomsg.Nanomsg$constants.<clinit>(Nanomsg.java:51)
at nanomsg.reqrep.ReqSocket.<init>(ReqSocket.java:13)
at com.example.nanomsg.MainActivity.onClick(MainActivity.java:125)
at android.view.View.performClick(View.java:5201)
at android.view.View$PerformClick.run(View.java:21163)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618)
Könnte jemand bitte helfen kann mir, welchen Fehler ich hier mache. Jede Hilfe wäre willkommen.
Führen Sie die Systemeigenschaft 'jna.debug_load = true' und' jna.debug_load.jna = true' aus, um weitere Informationen zum Laden der Laufzeit zu erhalten. – technomage
Hallo Technomage, ich habe meinen Beitrag bearbeitet, bitte überprüfe es einmal und danke für die Antwort. –
Dies könnte helfen: https://groups.google.com/forum/#!topic/jna-users/mlUcaZZYkgQ – technomage