Hi, Thanks for the help. The problem is that I don't know where the libraries go to when I move the app to SD on my HTC for me to use System.load().
So the only workaround I found is to check for the existance of the .so file in the predefined folder "/data/data/your_package_name/lib". If it is not there, then I unzip it from the package APK file to "/data/data/your_package_name/files" folder and load it from there. Thanks On Wed, May 15, 2013 at 11:29 PM, Piren <[email protected]> wrote: > That's actually the same person making pretty much the same reply :-) > > > On Thursday, May 16, 2013 1:02:10 AM UTC+3, bob wrote: > >> I found this one using Google: >> >> https://groups.google.com/**forum/?fromgroups=#!topic/** >> android-ndk/0uY4qgam1Ws<https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/0uY4qgam1Ws> >> >> It says: >> >> You must use System.load() if you want to specify the full path name >> of the file, System.loadLibrary() is only for ones in the default >> location. >> >> Also *you should not be able to load an .so off the SDCARD on an ARM * >> *system by normal means*, as ARM supports non-executable pages and >> android's implementation of mmap() refuses to map executable pages >> backed by a noexec file system. To load from such a file system you >> would have to map anonymous executable pages and manually load the .so >> into them, doing appropriate interpretation of the contents and all >> fixups normally performed by the runtime linker. >> >> Thanks. >> >> >> On Wednesday, May 15, 2013 4:32:37 PM UTC-5, Piren wrote: >>> >>> That's what bing got me :) >>> >>> http://stackoverflow.com/**questions/2826412/how-to-load-** >>> jni-from-sd-card-on-android-2-**1<http://stackoverflow.com/questions/2826412/how-to-load-jni-from-sd-card-on-android-2-1> >>> >>> On Wednesday, May 15, 2013 12:00:50 PM UTC+3, Filipe wrote: >>> >>>> Hi, >>>> >>>> I had only used Bing up till now ;) >>>> Thanks for your great tutorial on this new thing called Google. >>>> I tryed it, but still did not find the answer. >>>> >>>> The libs are under the "/data/data/your_package_name/**lib" folder. >>>> When I move the App I start getting java.lang.**UnsatisfiedLinkError: >>>> findLibrary returned null >>>> >>>> I found some new things >>>> This works without problems on AVD. But I noticed that even if I move >>>> the App to the sdcard on the AVD, the lib remains in the same folder. >>>> >>>> So maybe the problem is specific to my HTC. >>>> Using "adb shell" I can find the libs in this folder. After moving to >>>> sdcard, when I use "adb shell" I get "permission denied" trying to access >>>> the lib folder !!! >>>> So I'm gessing that on my HTC the libs are moved, I just don't know >>>> where to. >>>> >>>> >>>> Thanks >>>> >>>> Terça-feira, 14 de Maio de 2013 23:51:21 UTC+1, Lew escreveu: >>>> >>>>> Filipe wrote: >>>>>> >>>>>> I have a project in Eclipse that uses some jni [sic] libraries that I >>>>>> load using System.loadLibrary("**myNativeLib"). >>>>>> >>>>> >>>>> Those libraries are native to what platform? >>>>> >>>>> >>>>>> >>>>>> This works great, but if I move my app to the SDCard it stops >>>>>> working, because it can't load the library. >>>>>> >>>>> >>>>> Did you take note of this from the Javadocs for 'System.loadLibrary()'? >>>>> "The mapping of the specified library name to the full path for >>>>> loading the library is implementation-dependent." >>>>> >>>>> Where did you put the library on the device. Is this where the system >>>>> expects to find libraries? >>>>> >>>>> Are there any limitations on moving the app to SDCard when using jni? >>>>>> Or do I have to change my call to System.loadLibrary ? >>>>>> >>>>> >>>>> http://developer.android.com/**reference/java/lang/System.** >>>>> html#loadLibrary(java.lang.**String)<http://developer.android.com/reference/java/lang/System.html#loadLibrary(java.lang.String)> >>>>> >>>>> Also, I see some potentially useful links here: >>>>> http://lmgtfy.com/?q=Android+**JNI <http://lmgtfy.com/?q=Android+JNI> >>>>> >>>>> -- >>>>> Lew >>>>> >>>>> >>>> -- > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > --- > You received this message because you are subscribed to a topic in the > Google Groups "Android Developers" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/android-developers/SmKVuQU0zN8/unsubscribe?hl=en > . > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

