https://blog.csdn.net/aggresss/article/details/53998257

通过前面的介绍我们对Android系统是如何编译生成的以及软件的运行机制有了一个大概的了解,用模拟器来模拟Android系统还是不够直观,还是使用真机来模拟一下更有感觉,这一期我们来使用小米3联通版(MI3W)来刷Android系统。
对于在Android平台上喜欢刷机的朋友应该应该都知道CyanogenMod,它将AOSP中goole强制嵌入的应用都去掉,让Android系统更加轻便和个性化,国内的小米,vivo,oppo当面都是通过修改CyanogenMod来推出自己的固件的,尤其是在Android4.x的年代,刷入CyanogenMod的固件后,由于一些没用的系统服务被精简掉,手机的处理速度可以比官方固件提高30%左右。
不过有个很遗憾的消息,在我写这篇博客的时候CyanogenMod的网站关闭了,2017年可能会以Lineage的名字出现。真得很痛心啊,我不是往者荣耀主义者,希望Android的发展可以像OpenWrt那样实现真正的社区化管理,期待2017年CyanogenMod从前倡导的精神以任何方式重生,我也愿意为其贡献一份微薄之力。
在无法下载到CyanogenMod官方原版的时候,我这里提供一个固件包,是我在2016年12月初下载的https://pan.baidu.com/s/1slJCJ0L
cm-13.0-20160820-SNAPSHOT-ZNH5YAO0J0-cancro-recovery.img 文件为recovery文件,
cm-13.0-20160820-SNAPSHOT-ZNH5YAO0J0-cancro.zip 为固件程序。
因为这个固件不提供基带,但又要求基带版本在4.0以上,所以可以先刷一个完整的MIUI8然后再刷入CM的固件。
刷机过程:
1.下载fastboot和adb工具:sudo apt-get install android-tools-fastboot android-tools-adb
2.首先将手机进入fastboot模式,按住音量- 键和开机键开机就可以进入,连接至电脑。

3.如果使用命令 fastboot devices 命令没有设备显示,则是usb设备的权限问题,解决办法可以参考
http://blog.csdn.net/maosidiaoxian/article/details/22661725
udev的.rules文件内容可以参考这里:
https://github.com/aggresss/PHDemo/blob/master/Tools/51-android.rules
4.使用命令 fastboot oem unlock #解锁bootloader
5.进入到刚才下载的CyanogenMod的recovery目录下,然后执行fastboot flash recovery cm-13.0-20160820-SNAPSHOT-ZNH5YAO0J0-cancro-recovery.img
6.按住音量+ 键和开机键开机就可以进入recovery模式
7.在recovery模式下Factory reset --> full factory reset 进行userdata和cache分区reset;
8.在recovery模式下Apply update --> Apply from adb,然后连接PC端,在PC中的固件的目录下输入: adb sideload cm-13.0-20160820-SNAPSHOT-ZNH5YAO0J0-cancro.zip 完成后重启即可。

到这里我们就把手机刷成了第三方固件,了解了刷机一般过程,下一期我们使用CyanogenMod的源码编译出一个可以刷机的固件。
对于刷机的zip格式的文件如果想研究里面的内容,可以将它们解压,这里将常用的system分区的解压方法放到下面,供大家参考。
====================================
system.new.dat 解压
sdat2img工具解压
Convert sparse Android data image (.dat) into filesystem ext4 image (.img)
https://github.com/xpirt/sdat2img/
https://github.com/xpirt/sdat2img/blob/master/sdat2img.py
example:
sdat2img.py system.transfer.list system.new.dat system.img
=====================================
system.img 解压
Android 中的 system.img 可能有是yaffs2 或者 ext 的文件系统。
file system.img 判断 文件类型
如果是ext4文件格式使用 simg2img 工具把system.img 转为为ext4 文件格式。
simg2img 在linux的adb工具目录下
simg2img system.img system.ext4.img
然后 mkdir data.out
mount -t ext4 -o loop system.ext4.img data.out

第十六期 CyanogenMod 小米3W刷机《手机就是开发板》相关推荐

  1. 第十八期 Android GPS原理分析《手机就是开发板》

    如果想对Android的整个框架有一个更深层次的感性认识,我们还需要抓住一个点去研究一下.Android按照模块分成很多个系统,比如Audio,Video Out,Camera,Phone,WIFI, ...

  2. 【移动战略说·第十六期】创业者面临的机遇与挑战(杭州站)

    经济高速发展的时代,消费者需求越来越高,创业政策的放宽,大量谋求改变命运的创业者涌入市场,创业早已不稀奇.但随着全民创业的趋势不断发展,创业市场竞争日趋激烈,创业似乎越来越难了.但即便如此,越来越多的 ...

  3. 【悟空云课堂】第二十六期:通过错误消息导致的信息暴露(CWE-209:Generation of Error Message Containing Sensitive Information)

    关注公众号"中科天齐软件安全中心"(id:woocoom),一起涨知识! 该栏目为中科天齐全新规划的悟空云课堂,每周五下午18:00准时上线,旨在科普软件安全相关知识,助力企业有效 ...

  4. html5诗歌作业,《品味诗词群》总第七十六期作业

    <品味诗词群>总第七十六期作业 老物件总能给人以无限的怀想.本期作业以<收录机>为主题,以图题诗.韵部不限,诗词均可,要求不变,期待精彩! 品味诗词雅韵,传承华夏文明. 七绝 ...

  5. 未雨绸缪,迎接运维新时代—— Tech Neo第十六期技术沙龙

    运维发展历程与工业革命异曲同工,工业的三次革命分别是机械化.电气化与信息化,运维则是原始手工.脚本与自动化工具.那么工业4.0悄然来临的今天,智能化又将会给运维带来哪些影响?坦白讲,AIOps是新概念 ...

  6. 鲁大师电动车智能化测评报告第十六期:破局者与搅局者之争

    鲁大师第十六期智能化电动车测评排行榜数据来源于鲁大师智慧实验室,测评的车型均为市面上主流品牌的主流车型.截止目前,鲁大师智能化电动车测评的车型高达80余种,且还在不断增加和丰富中. 1.测评依据 鲁大 ...

  7. 小米M1刷机包 乐蛙ROM第122期 技术顺畅开发版

    ROM介绍 [第122期]乐蛙OS5完美版Ver14.4.18 [OS5本周推荐] 新增 音乐锁屏界面显示歌曲名称和封面 优化 重绘蛙迷使用最多的108个第三方应用图标 [联系人] 修复 多音字问题, ...

  8. android仿秒拍源码,你所不知道的程序员 程序员其实真的很…【Bus Weekly】三十六期...

    原标题:你所不知道的程序员 程序员其实真的很-[Bus Weekly]三十六期 快,点击蓝色"字体"关注这个公众号,一起涨姿势- 现如今,程序员在中国的科技 圈可以说已经达到了举足 ...

  9. 小米4C刷机图文最详细的教程都在这了好好看总会学会的

    将下载所得的刷机工具以及刷机包解压,解压后如下图   • 注意:由于部分小米手机现在已经机上bootloader锁,所以需要先进行解锁再刷机,否则会出现"系统找不到指定文件"等提示 ...

  10. 小米5 android 4.1.2,小米1刷机包 V5稳定版V1.2 流畅纯净 精简省电 默认开启未知来源 Android4.1.2...

    小米1刷机包 V5稳定版V1.2 流畅纯净 精简省电 默认开启未知来源 Android4.1.2. 小米1刷机必看: 适配:国行 1.刷机前请备份好手机中的资料和数据,为了减少刷机过程中遇到的问题,刷 ...

最新文章

  1. Linux下进程通信知识点学习笔记(一)
  2. 离散数学之集合论 【下】
  3. mysql事物及事物等级_MySQL事物原理及事务隔离级别
  4. Java 后端MD5加密
  5. [English20071024]疯狂突破高中句型300句
  6. 回归的误差服从正态分布吗_线性回归中的正态分布
  7. Flink 学习笔记(源码篇)<一> ——Transformation
  8. 计算机如何恢复桌面,如何恢复计算机桌面图标不见了
  9. 华为浏览器html页样式没了,返回键没有了怎么办 华为手机没有返回键了怎么处理...
  10. springboot请求put请求
  11. 如何正确对用户密码进行加密?
  12. php开发cms漏洞,bagecms漏洞复现
  13. 基于tensorflow2的手写中文数字识别(自己创建数据集)
  14. 爱情本身就是一种习惯
  15. mysql常用查看表结构的SQL语句
  16. 【DL】第 14 章使用卷积神经网络的深度计算机视觉
  17. Android APP之间共享SharedPreference
  18. VueJs创建网易音乐播放器和vueJs常见错误处理
  19. 阿里云CDN上线 WAF,一站式提供分发+安全能力
  20. matlab三相电源含谐波,谐波电能计量算法的研究及MATLAB仿真-毕业论文(设计).doc...

热门文章

  1. QQdengluqi, wangluorenzheng
  2. 无损连接和保持依赖性(有脑就行,尽量说人话版本)
  3. 【笔记】项目工作中总结(三)
  4. macOS + andriod studio + NDK
  5. MATLAB学习(一)——————format 命令
  6. variance和variation的区别
  7. java点餐app源码_android 点餐app源码(含服务端以及数据库脚本)
  8. 【Python标准库】用了Secrets,再也不用担心密码泄露
  9. 李华明Himi浅谈游戏开发de自学历程!(仅供参考)
  10. 回归分析中f多少合适_spss回归分析F值很大,有100多,这样合理吗