Re: [問題]環境變數和執行檔無法執行問題
※ 引述《allstarschh (allstars)》之銘言:
: 1. emulator應該是要改init.goldfish.rc
我今天確認過,不管是修改init.rc還是init.goldfish.rc,都可以順利修改
LD_LIBRARY_PATH 這個變數
: 2. 你在adb shell跑那執行檔也有作這步嗎?
你是指修改LD_LIBRARY_PATH這個變數嗎? 如果是的話,有。
且我都是在確認LD_LIBRARY_PATH有加入我要額外搜尋的路徑下,去透過
adb shell來執行我的執行檔
: 3. 為什麼改init.rc這些script你要重新編image?
我是透過以下指令去執行模擬器:
emulator -system system.img -data userdata.img -ramdisk ramdisk.img
因為init.rc是放在ramdisk.img裡,所以我修改完init.rc後,必須要重新make,
以產生新的ramdisk.img來供我使用
: 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,只能在模擬器上這樣搞,市面上的手機是
沒法這樣搞的)
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.31.75
※ 編輯: chrisben 來自: 59.105.31.75 (05/31 14:31)
討論串 (同標題文章)
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章