作者gn00618777 (非常念舊)
看板AndroidDev
標題[問題] 請問如何以 adb shell 就是 root 了
時間Wed Aug 24 16:35:53 2016
事情是這樣的...
我有一個搖桿透過 type c 接到手機上,我先 adb root 再下 adb shell
才可以看到 /dev/hidraw0 ,而我有一個daemon 要 open 這個 hidraw0 去撈資料
所以我就將init.rc 中的下面這行做些修改
service flash_recovery /system/bin/install-recovery.sh
class main
user root
oneshot
install-recovery.sh內容為:
#!/system/bin/sh
exec /system/bin/virtualsensor -->這個是我的daemon
if ! applypatch -c
EMMC:/dev/block/platform/soc.0/f9824900.sdhci/by-name/recovery:12846314:e3826bbc8a340573cc090d1fc74c95f3ac2eb876;
then
applypatch -b /system/etc/recovery-resource.dat
EMMC:/dev/block/platform/soc.0/f9824900.sdhci/by-name/boot:11769062:330dcb89a90904da99a5238065b7f769af0bb4ca
EMMC:/dev/block/platform/soc.0/f9824900.sdhci/by-name/recovery
e3826bbc8a340573cc090d1fc74c95f3ac2eb876 12846314
330dcb89a90904da99a5238065b7f769af0bb4ca:/system/recovery-from-boot.p && log
-t recovery "Installing new recovery image: succeeded" || log -t recovery
"Installing new recovery image: failed"
else
log -t recovery "Recovery image already installed"
fi
改完後,重燒 boot.img 的確 ps 可以看到 virtualsensor 在執行,我再插入搖桿
但這個 virtualsensor 無法 open 這個 hidraw0 ...
----------------------------------------------------------------------------
唯一能成功的做法是..
1 adb root
2 adb shell
3 cat /dev/hidraw0 --> 確認device node 有生出來
4 virtualsensor & --> 直接執行此 daemon
這樣才能open device node
不知道我最上面的作法,是忽略了什麼呢?
謝謝
另外的作法我在 init.rc加上
service virtualsensor /system/bin/virtualsensor
class main
user root
oneshot
登入 shell 後,完全沒有在跑... WTF
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.69.181
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1472027757.A.E98.html
※ 編輯: gn00618777 (61.220.69.181), 08/24/2016 17:18:00
→ gn00618777: 解了...要關掉selinux...謝謝 08/24 18:17