如何从android中的应用程序恢复zip恢复?

时间:2014-08-30 23:04:20

标签: java android root recovery

我正在尝试构建一个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最新版本。

2 个答案:

答案 0 :(得分:0)

根据此页面:http://www.teamw.in/OpenRecoveryScript

你需要改变你的

/cache/recovery/extendedcommand

/cache/recovery/openrecoveryscript

答案 1 :(得分:0)

我发现android.os.RecoverySystem.installPackage函数可以做到这一点。