anode icon indicating copy to clipboard operation
anode copied to clipboard

LIBRARY_PATH is error

Open killme2008 opened this issue 14 years ago • 5 comments

LIBRARY_PATH should be

private static String LIBRARY_PATH = "/data/data/" + PACKAGE_NAME + "/lib";

It is not in app folder on my i9100.

killme2008 avatar Oct 21 '11 23:10 killme2008

I agree lib is the right place - but that's only OK if you can persuade Android to extract the library there automatically on installation. I'm not sure how you do this - for me it was working sometimes but not always.

So I put the lib in app, and have code there to programmatically extract it when it is first loaded. You can't do this in lib because the lib directory is owned by root and not by the app, and you can't put things in there programmatically.

If you can figure out why it's not always being extracted to lib automatically, then great.

Thanks

paddybyers avatar Oct 22 '11 07:10 paddybyers

If you place the lib in APP_ROOT/lib/armeabi/libjninode.so, then the library will automatically be be placed in the correct library location of your app.

Then you can use System.loadLibrary("jninode") instead of System.load("/path/to/lib"). This is how Android NDK apps load shared libraries afaik. This doesn't solve the problem of how to load bridge.node, but it is at least a start.

skabbes avatar Jan 11 '12 20:01 skabbes

Hmm, fancy doing a PR for it? :)

paddybyers avatar Jan 11 '12 20:01 paddybyers

Yep, I'll look into it later today.

skabbes avatar Jan 11 '12 21:01 skabbes

thanks

paddybyers avatar Jan 11 '12 22:01 paddybyers