[OTA] 系统加密后Recovery是如何读取OTA升级包的---Andorid 6.0 M 的更新
2015-12-04 14:54
337 查看
private static ProgressDialog pd = null;之前有写过在android 5.0 L上,系统加密后Recovery是如何读取OTA升级包的最近发现在在Android 6.0上,Google做了一些改变,当然是好的改变了。首先,在RecoverySystem.java中,加了 UNCRYPT_FILE (/cache/recovery/uncrypt_file)
</pre><p></p><pre>
334 public static void installPackage(Context context, File packageFile) 335 throws IOException { 336 String filename = packageFile.getCanonicalPath(); 337 338 FileWriter uncryptFile = new FileWriter(UNCRYPT_FILE); 339 try { 340 uncryptFile.write(filename + "\n"); 341 } finally { 342 uncryptFile.close(); 343 } 344 Log.w(TAG, "!!! REBOOTING TO INSTALL " + filename + " !!!"); 345 346 // If the package is on the /data partition, write the block map file 347 // into COMMAND_FILE instead. 348 if (filename.startsWith("/data/")) { 349 filename = "@/cache/recovery/block.map"; 350 } 351 352 final String filenameArg = "--update_package=" + filename; 353 final String localeArg = "--locale=" + Locale.getDefault().toString(); 354 bootCommand(context, filenameArg, localeArg); 355 }在frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java中新加了
</pre><p> private static ProgressDialog pd = null;</p><pre>还有一个
private void uncrypt()
uncrypt()会调用uncrypt,并从UNCRYPT_STATUS_FILE文件中读取进度,更新一个progress dialog.
也就是说,在 M上,关机解密过程中,会在 power down animation前,显示一个progress dialog。 这样就避免了L上如果解密需要时间过长时,关机动画后会出现黑屏的问题。
相关文章推荐
- app重构之架构
- JS读取ACCESS数据库类,已封装
- 设置MYSQL远程连接
- 制药企业核算报表系统整体方案
- 制药企业核算报表系统整体方案
- 去掉点击出现的透明阴影--&&--去除iphone、ipad页面button默认样式--元素垂直居中
- Opencv 给图像添加边界
- 再按一次退出程序
- oracle 中 in 和exists用法区别
- jquery 滚动条分页加载数据
- Mac : 强大的截图
- 利用形参改变调用函数中内容的实例
- 【LINUX】——如何配置宿主机和虚拟机IP在同一网段
- centos修改yum源
- MySQL 中 GROUP BY 基本实现原理
- 使用jQuery mobile库检测url绝对地址和相对地址的方法
- oracl密码过期解决方案
- U3D打图集流程
- Redis 或弃用当前 VM 机制,采用新的 diskstore 模型
- XML 特殊字符处理和 CDATA