Thanks for the help.

Using the hint on "getApplicationInfo().nativeLibraryDir" I could confirm
it is a problem on this specific HTC. Probably a bug.
On AVD and on a Samnsung it works correctly and I confirmed the existence
of the lib files in getApplicationInfo().nativeLibraryDir.
On the HTC they are not there when I move the app.

Thanks


On Thu, May 16, 2013 at 2:42 PM, bob <[email protected]> wrote:

> You may want to take a look here:
>
> http://developer.android.com/guide/topics/data/install-location.html
>
> In particular:
>
> *
>                  *
>
> Beginning with API Level 8, you can allow your application to be installed
> on the external storage (for example, the device's SD card). This is an
> optional feature you can declare for your application with the
> android:installLocation manifest attribute. *If you do not declare this
> attribute, your application will be installed on the internal storage only
> and it cannot be moved to the external storage.*
> *
> *
> *
> *
> *
>                  *
> *
> *
>
> It seems like the obvious solution is to just disallow people to move your
> app to the external storage.
>
> Thanks.
>
>
> On Thursday, May 16, 2013 4:19:20 AM UTC-5, Filipe wrote:
>
>> 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/**foru**m/?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/**quest**ions/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("**myNativeLi**b").
>>>>>>>>
>>>>>>>
>>>>>>> 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/**r**eference/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+**J**NI<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 android-d...@**googlegroups.com
>>>
>>> To unsubscribe from this group, send email to
>>> android-developers+**[email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/**group/android-developers?hl=en<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<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
>>> android-developers+**[email protected].
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<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 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.


Reply via email to