要先将/system进行可读写挂载,默认是只读就算是root用户不不能删除。
"su mount -o remount /system"
具体有可能不是这个,因为有ext4或者yaffs2的,要根据具体的实现情况来做。可以先手动做做再使用APP删除。
"su mount -o remount /system"
具体有可能不是这个,因为有ext4或者yaffs2的,要根据具体的实现情况来做。可以先手动做做再使用APP删除。
解决方案 »
- 打开一个mapview的运用,第一次打开没事,返回在打开报如下错误,再返回打开运用有没事,但下一次有会报错,如此循环。
- android 中创建文件 Permission denied
- 自制锁屏界面的疑问
- 求助关于listview的焦点问题 在线
- 怎样让自己定义写的Home桌面在适当的时候成为默认启动桌面
- 这个日志文件那个朋友能给指点下
- android页面跳转问题
- 安卓创建数据库问题
- 关于使用service的上下文和activity来读取sharedpreferences的同步问题
- android 关于 语音的 APP 崩溃报错
- Android下怎么把多张图片拼成一个gif啊,有没有现成的库?
- java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
Runtime.getRuntime().exec("su -c mount -o remount /system");
另外还有可以获取执行命令的输出信息呢,你可以找一下,然后做一下判断,看运行结果成功与否。
剛試了都不行
mProcess = Runtime.getRuntime().exec(
"su -c mount -o remount /system");
mProcess = Runtime.getRuntime().exec("rm /system/xbin/su");和mProcess = Runtime.getRuntime().exec(
"su -c mount -o remount /system");
mProcess = Runtime.getRuntime().exec("su rm /system/xbin/su");也試過 雖然有Toast顯示獲取權限 但都不行
我原本是想要先把xbin/su移動到sdcard作備份
之後按一個按鈕把sdcard內的su再還原到xbin/su(好像SuperSU開啟一樣)
可惜不太懂源碼是怎樣運行,最後找到一個方法現在只差把sdcard內的su再還原到xbin/su這部份public void onClick(View v) { // TODO Auto-generated method stub os = new DataOutputStream(suProcess.getOutputStream());
try {
DataOutputStream mDataOutputStream = new DataOutputStream(
suProcess.getOutputStream());
suProcess = Runtime.getRuntime().exec("sh");
suProcess = Runtime.getRuntime().exec(
"cp /system/xbin/su /mnt/sdcard/su");
mDataOutputStream.writeBytes("su;");
mDataOutputStream.flush();
mDataOutputStream.close();
suProcess.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
//Get Root
suProcess = Runtime.getRuntime().exec("su");
os= new DataOutputStream(suProcess.getOutputStream()); //Remount writable FS within the root process
os.writeBytes("mount -w -o remount -t ext4 /dev/block/mmcblk0p9 /system\n");
os.flush(); //Do something here
os.writeBytes("rm /system/xbin/su\n");
os.flush(); //End process
os.writeBytes("exit\n");
os.flush(); }
catch (IOException e) {
throw new RuntimeException(e);
} } });
剛剛試了
root:/ # mount | grep system
mount | grep system
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,seclabel,relatime,
data=ordered 0 0它說我有rw 但仍然不能mv /system/xbin/su /sdcard/su
mv在android手機內是沒用 不知道什麼原因
那我就用cp然後rm那個檔案代替在電腦用adb是很容易做到我想要的效果 因為輸入了su之後一直是root狀態
即使我rm /system/xbin/su仍然是root
還有想問問如何一開啟程式 得知用戶的superuser是按了允許還是拒絕觸發事件?