我正在尝试构建一个ota更新程序应用程序,它将重启你的设备进行恢复并刷新位于/sdcard/updater/update.zip的邮政编码。
我看到了这个解决方案:solution
所以这是我目前的代码:
Runtime run = Runtime.getRuntime();
Process p = null;
String SDCARD = "/sdcard/updater/update.zip";
DataOutputStream out = null;
try{
p = run.exec("su");
out = new DataOutputStream(p.getOutputStream());
// out.writeBytes("echo 'install_zip(\""+ SDCARD+"\");'" +" > /cache/recovery/extendedcommand\n");
out.writeBytes("adb shell");
out.writeBytes("echo 'install_zip(\""+SDCARD+"\");' > /cache/recovery/extendedcommand");
out.writeBytes("reboot recovery\n"); // testing
out.flush();
}catch(Exception e){
Log.e("FLASH", "Unable to reboot into recovery mode:", e);
e.printStackTrace();
}
但对我来说,它只是重新启动恢复而什么都不做。 请帮忙。
我正在使用TWRP最新版本。
答案 0 :(得分:0)
根据此页面:http://www.teamw.in/OpenRecoveryScript
你需要改变你的
/cache/recovery/extendedcommand
到
/cache/recovery/openrecoveryscript
答案 1 :(得分:0)
我发现android.os.RecoverySystem.installPackage函数可以做到这一点。