看板 AndroidDev 關於我們 聯絡資訊
環境如下: 我手上的Android是工程build,有root,沒有SuperUser之類的管理app 在adb shell底下不用打su也能執行root權限 打adb root會出現 adbd is already running as root 我想做這件事: su -c sh /cache/hello.sh //在adb shell底下打沒問題 但在寫app時調用: Process p = Runtime.getRuntime().exec("su -c sh /cache/hello.sh"); 卻不會執行(但沒有exception) 上網查不到相關資訊,有人能解答嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.192.3
mshockwave:我不太確定,但p你有execute嗎? 09/12 19:56
Leeng:沒有,請問能說明一下嗎? 因為跑非root的指令都可以(如ls) 09/12 20:17
Leeng:另外,我自己root過的手機可以(SuperUser要按允許) 09/12 20:18
sulf:要丟String[]進去exec() 09/12 20:35
Leeng:String[]也試過了 因為這台不是商業ROM 可能比較奇怪 09/12 20:40
onlywig:hello.sh的權限是?? 09/12 22:47
sdyy:要使用su的程式好像不能這樣用 http://bit.ly/15ZqLEd 09/12 23:17
sdyy:我是用上面這網址的方法 09/12 23:18
Leeng:hello.sh是777 也許真的是特殊image的關係 謝謝各位解答 09/13 05:39
Leeng:剛裝了root checker 它居然說我沒root adb shell可以su 09/13 08:42
Leeng:但app層不行 請問有人能解釋這個情形嗎? 09/13 08:42
gohomexx:細節我忘了,但你的apk是用什麼 key 去 sign 的? 09/13 15:49
gohomexx:至少要使用該 img 的 framework / system key 才行吧 09/13 15:49
Leeng:感謝樓上也許提到關鍵點 這份Android image沒sign過 09/13 16:32
※ 編輯: Leeng 來自: 60.251.192.2 (09/13 16:32)
Leeng:所以連market上面抓的Root Checker也判定沒root 09/13 16:33
Leeng:是這個原因嗎? 09/13 16:33
gohomexx:有點記不得了,但不是用 framework / system key sign 09/13 17:45
gohomexx:則 apk 無 root 權限 09/13 17:45
sdyy:eng build adb預設就是root權限 你還必須要push su檔跟相關 09/14 10:51
sdyy:管理程式才能讓普通程式也取得root 09/14 10:52
sdyy:沒有叫Android image沒sign過這說法.. 你build image一定有 09/14 10:53
sdyy:專用的key 其他apk有sign相同key才能取的system權限但非root 09/14 10:55
Leeng:應該是沒用commercial key去sign 09/14 13:02
sdyy:應該只是你沒有su檔 root跟sign key沒有關聯 不過你既然有 09/14 17:54
sdyy:adb root 你把su檔push 到system/xbin 並更改權限 有需要的話 09/14 17:56
sdyy:再搭配superuser等 做管理 09/14 17:57
sdyy:而且像市面上那麼多需要root的軟體 哪可能取得各家廠商的key 09/14 17:58
Leeng:xbin裡面有su 我也有摳到system/bin adb shell底下可以下su 09/14 20:38
sdyy:你可以安裝terminal emulator app 輸入su 看他有回什麼 09/14 21:47
sdyy:還有要確定 su的權限是rwsr-sr-x 09/14 21:50
niewolf:應該是Android 4.3之後 google有多一些機制去擋 04/07 22:20