[问题] root装置 仍无法透过app下shell command

楼主: CaliforCat (加州猫)   2020-06-16 23:46:45
已经把手机root成功
透过模拟终端app可以su之后$变#
在自己写的测试app,用按键下指令 su
https://imgur.com/PcvBycN.jpg
装置的萤幕会跳出询问是否要授予权限,确认后会显示获得权限的讯息
https://imgur.com/xwUEcI1.jpg
但后续一样透过app的按键下 已经用adb跟模拟终端测试过可用的改亮度指令
https://imgur.com/VJxSbsR.jpg
却都没反应
要修改的档案权限是744
照理来说,已经跳出app被授予超级使用者权限,应该是要可以用了才对
我还是只能透过adb先去把档案chmod成777,才能在app成功下指令 达到功能
1. 想请问是哪里出问题了呢?
另外想请问,我在开发板可以透过adb shell下指令su $变成#
但从开发板的模拟终端app 下su却显示没权限
/system/bin/sh: su: can't execute: Permission denied
2. 请问开发板应该已经是root的状态,该如何在app获得超级使用者权限?
谢谢
作者: ssccg (23)   2020-06-17 04:26:00
su是让执行su的Process (Runtime.exec回传的那个Process)变root,不是让app本身变root,你必须用同一个Process继续执行要用root权限的指令 (Process.getOutputStream.write)不是另外再跑一次exec,那是再起一个没su过的Process
作者: kobe8112 (小B)   2020-06-17 19:24:00
少送一个Enter?另一个疑惑是,你还没按确认前,都没有取得root权限吧?那是否该改在onActivityResult后才执行需要root的指令?第二个疑惑应该有误,我自己在写的时候也没印象需要这样直接CATCH全部例外看是啥错吧不过我后来都直接用别人写好的静态类执行这类指令了
作者: tsaiminghan (tsaiminghan)   2020-06-18 16:20:00
把sepolicy关掉试试?另一个问题,su和命令分两次下,你确定第二次时,还还是root吗?你如果每次按su, 都会出现取得root的话,我觉得只有s只有su那次才是rootsu执行结束后,root就结束了 (可能)因为你呼叫的是另一个runtime

Links booklink

Contact Us: admin [ a t ] ucptt.com