anode icon indicating copy to clipboard operation
anode copied to clipboard

Runtime error, FileNotFoundException: libjninode.so

Open gentijo opened this issue 12 years ago • 5 comments

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)

gentijo avatar Apr 26 '13 07:04 gentijo

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.

paddybyers avatar Apr 26 '13 07:04 paddybyers

I scanned my whole / and no copy of libjninode.so exists, how is it built and copied into the assets directory ?

gentijo avatar Apr 26 '13 21:04 gentijo

Did you follow this: https://github.com/paddybyers/anode/wiki/build ?

paddybyers avatar Apr 26 '13 21:04 paddybyers

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.

gentijo avatar Apr 26 '13 21:04 gentijo

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$ 

gentijo avatar Apr 27 '13 00:04 gentijo