Runtime error, FileNotFoundException: libjninode.so
I am getting the following error when I am trying to run anode on my Transformer prime running Android 4.0.3.
Is Anode packaging the .so files as part of the .apk, then extracting them to the filesystem at runtime as executables ?
If so, can an non rooted device write to the standard library location ?
04-25 06:25:27.224: D/TextView(1523): Constructor - Got appearance for textColorPrimaryInverse
04-25 06:25:27.224: D/TextView(1523): Constructor -- Got mEditTextBackgroundColor
04-25 06:25:57.744: V/anode::RuntimeNative(1523): extractLib: copying library
04-25 06:25:57.744: V/anode::RuntimeNative(1523): init: unable to write library to file: java.io.FileNotFoundException: libjninode.so
04-25 06:25:57.744: V/anode::AnodeActivity(1523): initRuntime: exception: org.meshpoint.anode.Runtime$InitialisationException: java.io.FileNotFoundException: libjninode.so; cause: java.io.FileNotFoundException: libjninode.so
04-25 06:25:57.744: V/anode::AnodeActivity(1523): isolate start: exception: org.meshpoint.anode.Runtime$IllegalStateException: Runtime has not beed initialised; cause: null
04-25 06:41:45.824: W/dalvikvm(1523): No implementation found for native Lorg/meshpoint/anode/RuntimeNative;.nodeDispose ()V
04-25 06:41:45.824: D/dalvikvm(1523): GC_CONCURRENT freed 344K, 6% free 6575K/6983K, paused 11ms+3ms
04-25 06:41:46.194: E/System(1523): Uncaught exception thrown by finalizer
04-25 06:41:46.224: E/System(1523): java.lang.UnsatisfiedLinkError: nodeDispose
04-25 06:41:46.224: E/System(1523): at org.meshpoint.anode.RuntimeNative.nodeDispose(Native Method)
04-25 06:41:46.224: E/System(1523): at org.meshpoint.anode.Runtime.finalize(Runtime.java:120)
04-25 06:41:46.224: E/System(1523): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
04-25 06:41:46.224: E/System(1523): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
04-25 06:41:46.224: E/System(1523): at java.lang.Thread.run(Thread.java:856)
Yes, it copies the shared objects to the fileysystem, but it's an area that's accessible to the app.
The error message looks like perhaps the copy fails because it can't find the file in the assets directory.
I scanned my whole /
Did you follow this: https://github.com/paddybyers/anode/wiki/build ?
hmm,,, No I didn't.. my bad, I looked at the wiki page, but the "More information" section fell below the fold for me and I missed it.. Things make a little more sense now.. Thank you.
I did a checkout of the node from master-isolate-android and compiled. It looks like it produced libjninode.so, but soon after when building bridge it failed with the following error. Do I need to checkout any of the other projects from a specific point, they are currently at the tips
Compile++ thumb : bridge <= Env.cpp
bridge/src/Env.cpp: In member function 'int bridge::Env::initV8()':
bridge/src/Env.cpp:142:16: error: 'class node::Isolate' has no member named 'setExitHandler'
make: *** [obj/local/armeabi/objs/bridge/src/Env.o] Error 1
gentijo@~/Projects/Javascript/node-android/anode$