我正在编写一个卸载应用程序。我想删除系统应用程序,当然我的手机是Rooted。我使用How to uninstall Android App with root permissions?中的代码。
private void delApp() {
String deleteCMD = "pm " + applicationInfo.packageName;
Process process;
try
{
process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("mount -o remount,rw -t rfs /dev/stl5 /system; \n");
os.writeBytes(deleteCMD+"; \n");
os.writeBytes("mount -o remount,ro -t rfs /dev/stl5 /system; \n");
os.flush();
}
catch (IOException e)
{
e.printStackTrace();
}
}
但是我的手机举报了一条消息" ...已被授予超级用户权限"而不是删除我选择的应用程序。我尝试使用User App和System App但没有区别。我错过了什么?如何删除具有Root权限的系统应用程序以及如何在没有此对话框的情况下删除应用程序(快速删除和自动)。
修改 我使用这段代码解决了我的问题,希望能帮助别人。
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("mount -o rw,remount /system\n");
os.writeBytes("rm -r "+ "[SourceDir]" + "\n");
os.writeBytes("mount -o ro,remount /system\n");
os.flush();
os.close();
process.waitFor();
注意:[SourceDir]是您的系统应用目录