Android OTA升级方式

Android OTA 功能,主要用于 修复 bug 、系统升级等。

升级的关键参数是 ro.product.version ,升级包的版本要高于当前版本。

记录下如下两种升级方式。

1.代码升级

通过网络或者USB等方式,传入ota 包。

需要是系统应用,
配置 android:sharedUserId="android.uid.system"

添加权限 ,



使用 RecoverySystem.verifyPackage 校验升级包,

然后通过 RecoverySystem.installPackage 安装升级包。

接着就会进入 Recovery 执行升级。

	/**
     * 功能:检验、安装 OTA 包
     * 参数 otaFile : OTA 包的 File 对象
     * */
    private void installOtaPackage(final File otaFile) throws GeneralSecurityException, IOException {
        RecoverySystem.verifyPackage(otaFile, new RecoverySystem.ProgressListener() {
            @Override
            public void onProgress(int progress) {
                if (progress == 100){
                    try {
                        RecoverySystem.installPackage(mContext, otaFile);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }, null);
    }

2.命令行升级

通过命令行升级,主要用于测试,

事先把 升级包 放到 /data/update.zip 下,然后串口执行

echo --update_package=/data/update.zip > /cache/recovery/command
sync
reboot recovery

你可能感兴趣的:(Android,aosp,OTA)