The shared library can be in the current directory of the code that's
dlopen()ing it, and native code may refer to the library by an
absolute pathname, but otherwise it would have to be in the approved
places, yes.

You can look at open_library() in bionic/linker/linker.c

Thanks
Iliyan

On Tue, Mar 17, 2009 at 11:35 PM, li sun <[email protected]> wrote:
>
> You mean that the shared libraries MUST be placed in /system/lib or /lib ?
>
> There are not other ways, say, changing init.rc, available ?
>
> Thanks!
>
> 2009/3/18 Iliyan Malchev <[email protected]>:
>>
>> The dynamic linker does not honor the LD_LIBRARY_PATH, and looks  for
>> libraries in /system/lib and /lib only, in that order.
>>
>> On Tue, Mar 17, 2009 at 9:36 PM, sunwrt <[email protected]> wrote:
>>>
>>> Hi, guys,
>>>
>>> I built a shared library libhello.so, which only contained a function
>>> print_hello(char*), and and a program, which used the only function to
>>> print "hello android" with android-toolchain.
>>>
>>> I mkdir a new dir- /data/test and push libhello.so and hello into
>>> emulator, then execute the hello and output the string "hello
>>> android". It is work good.
>>>
>>> But after I move libhello.so into other dir, say ./mylib, and set
>>> LD_LIBRARY_PATH=/system/lib:/data/test/mylib, hello outputs nothing.
>>>
>>> So, any guy knows why and how to make it work ?
>>>
>>> Thanks in advance!
>>>
>>> >
>>>
>>
>> >
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to