[問題] 在app裡面執行root

看板AndroidDev作者 (Leeng)時間12年前 (2013/09/12 18:49), 編輯推噓5(5026)
留言31則, 7人參與, 最新討論串1/2 (看更多)
環境如下: 我手上的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

09/12 19:56, , 1F
我不太確定,但p你有execute嗎?
09/12 19:56, 1F

09/12 20:17, , 2F
沒有,請問能說明一下嗎? 因為跑非root的指令都可以(如ls)
09/12 20:17, 2F

09/12 20:18, , 3F
另外,我自己root過的手機可以(SuperUser要按允許)
09/12 20:18, 3F

09/12 20:35, , 4F
要丟String[]進去exec()
09/12 20:35, 4F

09/12 20:40, , 5F
String[]也試過了 因為這台不是商業ROM 可能比較奇怪
09/12 20:40, 5F

09/12 22:47, , 6F
hello.sh的權限是??
09/12 22:47, 6F

09/12 23:17, , 7F
要使用su的程式好像不能這樣用 http://bit.ly/15ZqLEd
09/12 23:17, 7F

09/12 23:18, , 8F
我是用上面這網址的方法
09/12 23:18, 8F

09/13 05:39, , 9F
hello.sh是777 也許真的是特殊image的關係 謝謝各位解答
09/13 05:39, 9F

09/13 08:42, , 10F
剛裝了root checker 它居然說我沒root adb shell可以su
09/13 08:42, 10F

09/13 08:42, , 11F
但app層不行 請問有人能解釋這個情形嗎?
09/13 08:42, 11F

09/13 15:49, , 12F
細節我忘了,但你的apk是用什麼 key 去 sign 的?
09/13 15:49, 12F

09/13 15:49, , 13F
至少要使用該 img 的 framework / system key 才行吧
09/13 15:49, 13F

09/13 16:32, , 14F
感謝樓上也許提到關鍵點 這份Android image沒sign過
09/13 16:32, 14F
※ 編輯: Leeng 來自: 60.251.192.2 (09/13 16:32)

09/13 16:33, , 15F
所以連market上面抓的Root Checker也判定沒root
09/13 16:33, 15F

09/13 16:33, , 16F
是這個原因嗎?
09/13 16:33, 16F

09/13 17:45, , 17F
有點記不得了,但不是用 framework / system key sign
09/13 17:45, 17F

09/13 17:45, , 18F
則 apk 無 root 權限
09/13 17:45, 18F

09/14 10:51, , 19F
eng build adb預設就是root權限 你還必須要push su檔跟相關
09/14 10:51, 19F

09/14 10:52, , 20F
管理程式才能讓普通程式也取得root
09/14 10:52, 20F

09/14 10:53, , 21F
沒有叫Android image沒sign過這說法.. 你build image一定有
09/14 10:53, 21F

09/14 10:55, , 22F
專用的key 其他apk有sign相同key才能取的system權限但非root
09/14 10:55, 22F

09/14 13:02, , 23F
應該是沒用commercial key去sign
09/14 13:02, 23F

09/14 17:54, , 24F
應該只是你沒有su檔 root跟sign key沒有關聯 不過你既然有
09/14 17:54, 24F

09/14 17:56, , 25F
adb root 你把su檔push 到system/xbin 並更改權限 有需要的話
09/14 17:56, 25F

09/14 17:57, , 26F
再搭配superuser等 做管理
09/14 17:57, 26F

09/14 17:58, , 27F
而且像市面上那麼多需要root的軟體 哪可能取得各家廠商的key
09/14 17:58, 27F

09/14 20:38, , 28F
xbin裡面有su 我也有摳到system/bin adb shell底下可以下su
09/14 20:38, 28F

09/14 21:47, , 29F
你可以安裝terminal emulator app 輸入su 看他有回什麼
09/14 21:47, 29F

09/14 21:50, , 30F
還有要確定 su的權限是rwsr-sr-x
09/14 21:50, 30F

04/07 22:20, , 31F
應該是Android 4.3之後 google有多一些機制去擋
04/07 22:20, 31F
文章代碼(AID): #1ICPmuh- (AndroidDev)
文章代碼(AID): #1ICPmuh- (AndroidDev)