作者chrisben (燃燒吧,小宇宙!!!)
看板AndroidDev
標題Re: [問題]環境變數和執行檔無法執行問題
時間Wed Jun 1 13:57:47 2011
※ 引述《allstarschh (allstars)》之銘言
: 我覺得還是要看看你說adb shell可以跑但apk不行跑的問題
: 因為adb shell可以跑的話 至少linker那沒問題 你的library也沒有dependency的問題
: 可以確認我問的第一個問題嗎 permission
: 通常/data/data/pkg/lib下的owner是system
: 但會不會你adb push你自己的lib進去時 把permission改掉了
: 變成別的group others那的read permission不見了
我今天確認過權限了
分別在run我的執行檔前和後,ls -al去看權限,下法如下:
ls -l /data/data/pkg/ 和 ls -l /data/data/pkg/lib
看到的權限在owner, group, other都是755,然後lib這個資料夾本身和lib下
的檔案的擁有者皆是system, 所以我想權限應該是正常的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.31.75
1F:推 allstarschh:那就在linker加log看是怎麼link fail的嘍~ 06/02 11:15
2F:→ diousk:apk owner? 06/02 14:17
3F:→ chrisben:今天已解,最後執行我的執行檔的方式如下: 06/02 21:45
4F:→ chrisben:利用Runtime搭配Process和DataOutputStream,依序執行 06/02 21:45
5F:→ chrisben:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:我的lib path 06/02 21:47
6F:→ chrisben:和我要run的執行檔。然後我發現這種方式在模擬器上, 06/02 21:47
7F:→ chrisben:還是無法run我的執行檔,會出現前文說的link的問題 06/02 21:48
※ 編輯: chrisben 來自: 59.105.31.75 (06/02 21:51)
8F:→ chrisben:但放在手機上,卻可以用這種方式順利執行我的執行檔。 06/02 21:51
9F:→ chrisben:所以模擬器似乎有利用寫code的方式export lib的路徑後, 06/02 21:52
10F:→ chrisben:執行檔依然認不到改變後的路徑的bug 06/02 21:53
※ 編輯: chrisben 來自: 59.105.31.75 (06/02 21:54)