Android 刷机方案
## 获取
在刷机之前,需要在电脑上下载 **Android Preview** 包,一般我都是到
[安卓中国](https://developer.android.google.cn/preview/download#flash) ,这里可以下载最新的包。
## 手机
相对下载包的获取,比较难的是有一部支持最新的安卓系统的手机,一般
**Preview** 版的系统都是默认支持 **Google** 自己的手机的。
主要有面向的是 Pixel 系列的手机。Google 还是对自己的 **亲儿子** 系列更喜欢。
## 刷机
刷机目前有两个比较麻烦的地方,第一就是需要安装 `adb` 的命令,也就是
**Android** 的功能模块,第二就是需要解锁手机。
### adb 配置
即将 **Android SDK** 下载下来,然后将其配置到环境变量中即可
#### Windows
1. 配置 **ANDROID\_HOME** 变量到环境变量中
2. 配置 **%ANDROID\_HOME%\platform-tools** 到 **path** 中
3. 配置 **%ANDROID\_HOME%\tools** 到 **path** 中
#### Linux & Mac
打开 **profile** 文件,默认为 _.bash\_profile_ 如果使用的是 **zsh** 则编辑 _.zshrc_ 文件。
将下面的内容放到 **profile** 文件中
```shell
ANDROID_HOME=~/developerTools/adt-mac/sdk
export ANDROID_HOME
PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
```
#### Mac
Mac 电脑提供了一个自动安装的内容,可以将 `adb` 相关的内容直接安装,但是如果是想开发 **Android** 应用的话,则必须要按上面的方案进行配置。
首先需要先安装 **brew** ,具体方案见 [Homebrew](https://brew.sh/index%5Fzh-cn) ,或者可以直接看其
**GitHub** 的主页 [Homebrew/brew](https://github.com/Homebrew/brew) 。
然后执行下面的命令
```shell
brew cask install android-platform-tools
```
如果执行刷机的时候,提示 **fastboot is too old** 则需要重新安装
_android-platform-tools_ , 因为 `brew update` 更新是不能更新 _cask_ 库的内容的。
```shell
brew cask reinstall android-platform-tools
```
最后,在命令行中执行 `adb devices` 不报错刚配置成功。如果配置之后,还依然报错的话,可以检查一下是否在使用过程中,将 **USB 调试功能** 关闭了。
### 操作
1. 连接手机
2. `adb devices` 获取手机的 **device id**
3. `adb reboot bootloader` 进入 **bootloader** 模式
4. **如果已经解锁了,则进入第8步,如果未解锁则进入第五步**
5. 进入到 **bootloader** 之后,执行 `fastboot flashing unlock`
6. 如果是 **Pixel 2 XL** 则执行 `fastboot flashing unlock_critical`
7. 如果是更早的设备,则需要执行 `fastboot oem unlock`
8. 进入下载的目录,然后执行 **flash-all** 脚本,如果是 _Windows_ 则是
`flash-all.bat` ,其它的则执行 `flash-all.sh`
9. 执行结束后,手机就已经刷好了,重启就可以使用了
10. 如果执行失败的话,就需要解压目录下的 _image_ 对应的包,然后执行下面的命令
```shell
fastboot flash vendor vendor.img
fastboot flash boot boot.img
fastboot flash system system.img
```
然后重启手机就可以了。
### V 版手机解锁
需要刷入一个工具,才能解锁
```shell
adb push dePixel8 /data/local/tmp
adb shell chmod 755 /data/local/tmp/dePixel8
adb shell /data/local/tmp/dePixel8
```
然后再执行 `adb reboot bootloader` 就可以正常解锁了。
[dePixel8.zip 下载](http://theroot.ninja/depixel8.html)
判断是否 V 版手机
```shell
adb shell getprop|grep cid
```
如果出现 **VZW\_001** 就是 V 版手机
Android 刷机方案的更多相关文章
- (转)Android刷机的一些知识整理
刷机概述刷机原因刷机可以升级和破解固件(在Android上:即可以升级系统,更改系统,获取Root权限):破解系统的原因①安装第三方软件不需要签名,不受证书的束缚:②修改系统的文件,达到系统的瘦身,以 ...
- Android刷机教程
我的机器是Nexus 5 一. 安装驱动 如何进入fastboot模式 1. 拔掉数据线,将手机关机 2. 关机后同时按住[音量减小键]和[开关机键]即可进入Fastboot模式 开启usb调试 - ...
- Android刷机
1.安装第三方recovery 下载自己手机适配的recovery包 https://twrp.me/lg/lgnexus5.html fastboot 卡在 waiting for device $ ...
- miui10 刷机
起因 折腾一下老手机 名词解释 名称 内容 含义 REC Recovery的缩写 Android出厂时自带的恢复模式 (理解为win PE) 双清 data,cache 用户数据+系统缓存 三清 da ...
- Android手机刷机失败的自救方法
刷机对于一些android手机的高级用户来说已经是家常便饭了,很多新手也都跟着教程轻松了学会刷机.升级系统,也都开始经常在网上搜罗一些自制的系统进行刷机,体验新系统带来的新感觉.但是有句古话叫常在河边 ...
- android [因为开了刷机精灵等软件 导致adb 无法使用]error: could not install *smartsocket* listener: cannot bind
今天 使用 刷机精灵后 在使用android studio 时发现 adb 无法正常使用. 于是 想重启 adb.exe , 直接在DOS里杀掉adb输入:adb kill-server 再启动输 ...
- [Android Pro] Android fastboot刷机和获取Root权限
参考文章: https://developers.google.com/android/nexus/images 转载自: http://www.inexus.co/article-1280-1 ...
- Nexus 5 Android 6.0.1刷机、Root
Nexus 5 Android 6.0.1刷机.Root 2016-01-24 一. 准备 1. 备份通讯录等数据,切记. 2. 准备adb .fastboot.网上搜 ...
- Android源码浅析(三)——Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机
Android源码浅析(三)--Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机 最近比较忙,而且又要维护自己的博客,视频和公众号,也就没 ...
随机推荐
- mysql初识笔记
一.初始mysql mysql介绍: mysql版本: 版本号=3个数字+1个后缀 mysql-5.0.9-beta 5 0 9 Beta 主版本号 发行级别 发行稳定级别 发行系列 发行系列的版本号 ...
- JS/Jquery关系
1. JS / JQuery介绍 Jquery是JS库,何为JS库,即把常用的js方法进行封装,封装到单独的JS文件中,要用的时候直接调用即可: 2. JS / JQuery对象 1. 定义 (1) ...
- xpath语法分享
# xpath语法: ## 使用方式: 使用//获取整个页面当中的元素,然后写标签名,然后再写谓词进行提取.比如: ``` //div[@class='abc'] ``` ## 需要注意的知识点: 1 ...
- MySQL InnoDB如何保证事务特性
如果有人问你"数据库事务有哪些特性"?你可能会很快回答出原子性.一致性.隔离性.持久性即ACID特性.那么你知道InnoDB如何保证这些事务特性的吗?如果知道的话这篇文章就可以直接 ...
- Java 学习笔记之 Daemon线程
Daemon线程: 线程: 用户线程 守护线程 守护线程是一种特殊的线程,在进程中不存在非守护线程了,则守护线程自动销毁. public class DaemonThread extends Thre ...
- Cannot access a disposed object in ASP.NET Core
Cannot access a disposed object in ASP.NET Core 楠木大叔 导航 常见原因 总结 对于.neter来说,在使用ASP.NET Core的过程中 ...
- Cocos Creator 3D 打砖块教程(二) | 子弹发射与摄像机平滑移动
在线体验链接: http://example.creator-star.cn/block3d/ 前面一篇文章,我们讲了[打砖块]游戏中的3D物体的场景布局.材质资源.物理刚体与碰撞组件,接下来本篇文章 ...
- B-概率论-条件概率
目录 条件概率 一.条件概率简介 二.条件概率推广 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblo ...
- 《深入理解Java虚拟机》-----第13章 线程安全与锁优化
概述 在软件业发展的初期,程序编写都是以算法为核心的,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种思维方式直接站在计算机的角度去抽象问题和解 ...
- Cocos2d-x 学习笔记(8) ActionManager
1. 概述 ActionManager管理所有的action,调度所有的action,删除指定的action.每个action对应一个node对象,action存储在actions中,actions和 ...