【小小小白进行手机进行刷机测试 Ubuntu系统下安装adb工具、fastboot工具】

1.Android系统分区的介绍:

(1)hboot:开机引导区域。类似于电脑的BIOS,这块区域没有刷正确,手机就变成了砖,但是一般Linux系统下刷机不会变成砖;

(2)rdio:通讯模块。基带、wifi、bluetooth等斜街硬件的驱动软件

(3)recovery:系统出现故障时负责恢复

(4)boot:Linux嵌入式系统内核

(5)system:系统文件、应用

(6)cache:系统运行时产生的缓存

(7)userdate:用户使用App时产生的缓存数据

2.刷机的分类:

我目前的理解是刷机就是重新给手机安装系统,目前了解到的刷机方式有【卡刷】和【线刷】。

(1)卡刷(较简单的刷机方式):

系统在进行定制的时候,会编译出来一份zip压缩包,里面没有代码,而是上面提到的一些系统分区的镜像,方便用户进行 手动升级 和 恢复系统 用的。这个zip压缩包是内置在sdcard上的,并且需要在recovery模式下进行。进入recovery模式是通过按住关机键和音量下键进入recovery状态下,然后再进入BootLder界面。Note:有些手机可能没有预装recovery。

(2)线刷(较难、较底层的刷机方式):

相较于recovery状态下的卡刷,线刷是用过fastboot工具进行刷机,是一种更底层的刷机方式。fastboot刷机方式是要有一根数据线链接电脑和手机。通过fastboot命令来控制刷机过程,这种刷机更安全。

3.adb工具

adb是Android系统一个工具,全称是“Android Debug Bridge”,即安卓调试桥。
下面这中介绍安装的adb版本不是最新的,在正常用的过程中可能会出现问题,所以我找了下面的这个链接:
此链接安装的adb版本是1.0.40的

(1) adb的作用:

Android手机在刷机(线刷)的时候,必须有一个adb工具。在刷机的时候,我们用数据线连接电脑和手机。使用adb命令来使手机进入重启、进入Recovery、进入fastboot、文件推送状态下。

(2)在Ubuntu18.04上安装adb:

(a)更新apt,如果不更新,可能会存在安装不成功的可能:

sudo apt update

(b)通过apt-get命令安装:

sudo apt-get install android-tools-adb

(c)查看adb的版本

adb version

3.可能会用到的adb命令:

(1)显示当前设备:

adb devices

(2)复制文件到手机:

adb push [电脑中要推送的文件的位置] [需要把文件推送到手机的那个位置]
例如:
adb pull C:\muzi.zip /sdcard

(3)复制手机中的文件到电脑:

adb pull [手机中文件的位置][要复制到电脑的那个位置] 
adb pull sdcard/muzisoft.zip c:\

(4)重启设备

adb reboot

(5)重启设备到recovery模式

adb reboot recovery

(6)重启设备到bootloader模式

adb reboot bootloader

下面的两个命令暂时不是很理解
(7)安装.apk类文件(需要保证.apk文件的位置和adb文件在同一个目录下面)

adb install A.apk
假设安装的是A文件,类型是apk类型的。

(8)安装apk类文件到sd卡:(保证apk文件和adb在同一个目录下)

adb install -s A.apk

4.fastboot工具:

通过上面的介绍可以知道,fastboot是Android手机在进行线刷的时候的必备工具,所以我们要在Ubuntu18.04上安装fastboot工具。

(1)Ubuntu 18.04上安装fastboot工具:

sudo apt-get install android-tools-fastboot

(2)权限问题的解决:

过以上的命令,我们可以找一个测试机试试能否在Ubuntu终端命令上发现进入fastboot状态下的手机。操作步骤如下:

找一个测试机进入fastboot状态下,然后用数据线与电脑链接;
在Ubuntu上的终端命令下输入:fastboot devices
得到的结果是:
no permission (user mi is not in the plugdev group); see [http://developer.android.com/tools/device.html]
这个mi是我的用户名

那么此时的一个解决方案就是(彻底解决问题):
参考链接:参考博主

下面是我的总结:


(a)切换目录:

cd /etc/udev/rules.d/

(b)通过sudo命令去编辑配置文件:

sudo vim 51-android.rules
进入编辑状态之后要按键盘【i】才能进行编辑

©将以下的配置信息复制进去:

# udev rule to detect android devices
# These rules refer to http://developer.android.com/tools/device.html
# Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"
# Archos
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", MODE="0666", GROUP="plugdev"
# Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"
# Azpen Onda
SUBSYSTEM=="usb", ATTR{idVendor}=="1f3a", MODE="0666", GROUP="plugdev"
# BQ
SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"
# Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev"
# Fairphone
SUBSYSTEM=="usb", ATTR{idVendor}=="2ae5", MODE="0666", GROUP="plugdev"
# Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev"
# Fujitsu Toshiba 	
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev"
# Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev"
# Genesys
SUBSYSTEM=="usb", ATTR{idVendor}=="d324", MODE="0666", GROUP="plugdev"
# Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
# Haier
SUBSYSTEM=="usb", ATTR{idVendor}=="201e", MODE="0666", GROUP="plugdev"
# Hisense
SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", GROUP="plugdev"
# HTC, Wiko
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
# Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
# Intel
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", GROUP="plugdev"
# K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev"
# KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev"
# Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev"
# Lab126
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", MODE="0666", GROUP="plugdev"
# Lenovo
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev"
# LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
# Mad Catz
SUBSYSTEM=="usb", ATTR{idVendor}=="0738", MODE="0666", GROUP="plugdev"
# Meizu
SUBSYSTEM=="usb", ATTR{idVendor}=="2a45", MODE="0666", GROUP="plugdev"
# Micromax
SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", MODE="0666", GROUP="plugdev"
# Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"
# MTK
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", GROUP="plugdev"
# NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"
# Nokia
SUBSYSTEM=="usb", ATTR{idVendor}=="0421", MODE="0666", GROUP="plugdev"
# Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev"
# Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev"
# OnePlus Two (unknown vendor's name)
SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", MODE="0666", GROUP="plugdev"
# Oppo
SUBSYSTEM=="usb", ATTR{idVendor}=="22d9", MODE="0666", GROUP="plugdev"
# OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev"
# Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev"
# Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"
# Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev"
# PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev"
# Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"
# Rockcwell Electronics
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev"
# SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev"
# Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
# Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev"
# Sony
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"
# Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"
# Spreadtrum
SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666", GROUP="plugdev"
# T & A Mobile Phones
SUBSYSTEM=="usb", ATTR{idVendor}=="1bbb", MODE="0666", GROUP="plugdev"
# Teleepoch
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev"
# Texas Instruments UsbBoot
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", MODE="0666", GROUP="plugdev"
# Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"
# Wearners
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"
# Wileyfox
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", MODE="0666", GROUP="plugdev"
# XiaoMi
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev"
# YU
SUBSYSTEM=="usb", ATTR{idVendor}=="1ebf", MODE="0666", GROUP="plugdev"
# Zebra
SUBSYSTEM=="usb", ATTR{idVendor}=="05e0", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", MODE="0666", GROUP="plugdev"
# ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"
# ZUK
SUBSYSTEM=="usb", ATTR{idVendor}=="2b4c", MODE="0666", GROUP="plugdev"

(d)保存退出文件:

首先按左上角的【esc】键盘
然后,输入【:wq!】

(e)分别去执行以下命令就能退出:

sudo chmod a+r 51-android.rules  #将此目录下面的所有rules文件加上权限
sudo service udev restart
adb kill-server
adb devices

再去执行fastboot devices就能看见链接数据线的手机设备的型号了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值