从android4.4到现在android7.1升级,现在的升级包越来越大,一个system分区大小都分配了2G,整个升级包达到了接近500M, 升级包解压之后1G+,奇怪的是,发现了两个不同批次的板,升级时间差了三倍,相同的升级包,一个要三分钟,一个不到一分钟就升级完了. 经过查看,发现了两个板子的emmc型号不相同,一个是Samsung KLMBG2JETD-B041,一分钟就可以升级完成,一个是Samsung KLM8G1WEPD-B031,升级需要三分钟.就写了个sh脚本,来测试下,这两…
摘要 Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于windows PE或DOS).也可以称之为安卓的恢复模式,在这个所谓的恢复模式下,我们可以刷入新的安卓系统,或者对已有的系统进行备份或升级,也可以在此恢复出厂设置(格式化数据和缓存). 1. Recovery相关概念 Recovery: Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式,也指Android的Recovery分区 OTA: Over-the-Air Technology,…
Recovery升级过程,通常会从两个地方获取升级包update.zip升级,一般在线升级,会把升级包下载到cache分区,本地升级会从usb或者tf卡中升级.本文讨论下,本地USB升级时,无法挂载USB设备的问题. 无法挂载USB设备的时候,可以按照以下流程分析: 4.1 手动挂载 我们先确定是否能够手动挂载USB设备 busybox mount -t vfat /dev/block/sda1 /udisk -t vfat  是U盘的格式,根据U盘具体格式加参数 /dev/block/sda1…
Recovery只有在升级的时候才会呈现给用户,所以界面一般都很简单,没有android上层那么绚丽,所以recovery下面对图片的支持很有限,仅支持png图片显示,所以我们可以看到,recovery下面所有的背景以及提示信息,都是以png格式图片的资源文件存在.一般的厂商都会觉得,原生的机器人很low,都会重新整理一套升级显示的UI,但并非所有的png图片recovery都是支持的,下面我们来分析下recovery下png资源文件的支持. 6.1 资源文件路径以及分类 我们资源文件的路径在S…
一般在升级过程,都会提示用户,请勿断电,不管是android的STB,TV还是PHONE,或者是其他的终端设备,升级过程,基本上都可以看到“正在升级,请勿断电”,然后有个进度条,显示升级的进度. 但是从系统安全的角度考虑,如果用户真断电了,我们仍然需要能够从异常掉电的情况中,恢复系统或者继续升级. 我们先理解下recovery的过程,我们升级过程,其实分为两个阶段,升级包校验过程,以及升级包更新过程: 2.1 校验过程掉电 在升级包校验过程,是recovery对升级包zip的完整性以及合法性进行…
Android OTA 升级之三:生成recovery.img 作者: 宋立新 Email:zjujoe@yahoo.com 前言 得到了ota升级包后,我们就可以用它来升级系统了.Android 手机开机后,会先运行 bootloader. Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式.Recovery 模式会装载 recovery 分区, 该分区包含recovery.img.recovery.img 包含了标准内核(和boot.img中的内…
总结: 我们使用delta编码算法减少Android应用升级程序的大小.我们通过bsdiff和bspatch工具在android上实现delta编码算法.服务器软件和android应用已经部署.当前,我们能够减少Android升级流量的50%,如果大量的部署,这将会减少网络的压力. 升级机制: 我们打算采用delta编码的patch升级Android应用.新的升级机制可以描述如下: 1.  在服务器上生成一个patch. 2.  下载patch到手机中. 3.  通过补丁获取一个已安装应用的新的…
Android  recovery和android本质上是两个独立的rootfs, 仅仅是recovery这个rootfs存在的意义就是为android这个rootfs服务,因此被解释为Android系统的一部分. recovery作为一个简单的rootfs, 提供了很有限的几个功能,仅仅包括了几个简单的库.UI的显示採用的是直接刷framebuffer的形式.作为android framework及app层的码农.对这样的形式相对陌生,特抽点时间梳理了一番. 首先,浏览一下reocvery的m…
转自android recovery模式及ROM制作 1.总述 为了方便客户日后的固件升级,本周研究了一下android的recovery模式.网上有不少这类的资料,但都比较繁杂,没有一个系统的介绍与认识,在这里将网上所找到的和自己通过查阅代码所掌握的东西整理出来,给大家一个参考! 2.Android启动过程 在这里有必要理一下android的启动过程: 图1 android启动过程 系统上电之后,首先是完成一系列的初始化过程,如cpu.串口.中断.timer.DDR等等硬件设备,然后接着加载b…
Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError 这个问题折腾了2个小时,最后解决了,Stack Overflow 上也有一次类似的问题,但是没有人提供解答. 这个错误的意思是运行时没有找到类,所以一般是你编译通过了但是无法运行. 写完这个就去解答,希望更多的人看到并避免,节省大家的精力. 解决方法 首先把方法写出来,起因和经过和原理写在后面,时间仓促的直接看解决方法吧. 一般出现这个错都是使用的provided导致的 例如,我的旧配…