作者allstarschh (allstars)
看板AndroidDev
标题Re: [问题]环境变数和执行档无法执行问题
时间Wed Jun 1 00:26:46 2011
: : 3. 为什麽改init.rc这些script你要重新编image?
: 我是透过以下指令去执行模拟器:
: emulator -system system.img -data userdata.img -ramdisk ramdisk.img
: 因为init.rc是放在ramdisk.img里,所以我修改完init.rc後,必须要重新make,
: 以产生新的ramdisk.img来供我使用
为什麽不直接改init.rc 然後adb push进去
: : 4. 你也可以用Runtime.exec来echo 你的LD_LIBRARY_PATH看有没有被设
: : echo $LD_LIBRARY_PATH > /data/data/your_apk/path.txt
: : 前提是你觉得LD_LIBRARY_PATH是问题的话
: 我今天发现我提出的问题的解法了:
: 修改: ~/android source目录/bionic/linker/linker.c
: 在sopaths[]这个变数加入自己要搜寻的lib path,然後重新make,产生出的
: image就可以顺利run我额外写的执行档了。
: ----------------------------------
: 补充提问:
: 我希望我写的程式之後可以在手机上run,那有没有动态改变sopaths的方法?
: (因为修改linker.c然後重新make,只能在模拟器上这样搞,市面上的手机是
: 没法这样搞的)
: 谢谢。
对 所以你这方法只是work around
顶多就用自己编的rom烧到手机上可以跑
如果要放到别的手机上 这就不行了
我觉得还是要看看你说adb shell可以跑但apk不行跑的问题
因为adb shell可以跑的话 至少linker那没问题 你的library也没有dependency的问题
可以确认我问的第一个问题吗 permission
通常/data/data/pkg/lib下的owner是system
但会不会你adb push你自己的lib进去时 把permission改掉了
变成别的group others那的read permission不见了
--
http://allstarschh.blogspot.com
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.135.229