ADB详解与fastboot以小米为例


前言

使用ADB命令可以禁用一些系统应用(免root)。
一般卸载系统软件以系统更新为例,可以通过两种方式:
1)ADB工具卸载禁用。
2)获取root权限,刷模块禁用升级。
本文介绍第一种方式。这种方式相比刷root更加安全可靠。
但是也需要谨慎使用,不能乱删导致变砖。


一、什么是ADB与fastboot?

ADB全称Android Debug Bridge,调试桥作用即调试的接口,一个客户端-服务器端(Android)程序,ADB是Android SDK 的工具,直接操作管理Android设备。

ADB连接物理方式:
adb支持两种连接Android系统的方式,USB方式及网络方式 . 一般android设备默认会设置为USB方式(直接插数据线的方式) . android系统底层运行着一个服务(adbd),在手机系统内部,管理在电脑端的adb命令连接,这个服务在启动时会根据手机的配置监听USB连接或网络

ADB命令如何连接手机
手机通过USB(先安装驱动)或者WiFi通电脑连接
手机开启调试模式:选项-点击8次版本号直到弹出开发者模式提示-开发者选项-调试模式
任务管理器关闭手机助手软件,避免端口冲突

adb devices 则默认连接到手机,默认端口为5037(USB)
adb connect/disconnect 手机IP地址(WiFi)

某些命令和文件夹执行需要ROOT权限
adb版本要和手机系统匹配

二、ADB安装

1.ADB下载

ADB下载地址1:https://adbshell.com/downloads
ADB下载地址2:https://developer.android.com/studio/releases/platform-tools.html
进入https://adbshell.com/downloads选择ADB Kit工具包下载,下载完成将其解压缩后,可以得到以下3个核心文件:
ADB

2.ADB驱动安装

一般直接插数据线自动安装。

3.ADB安装

方法一:
我的电脑-》右键属性-》高级系统设置-》环境变量path-》添加adb工具路径。
方法二:
将三个文件剪切到下面两个目录中
C:\Windows\System32
C:\Windows\SysWOW64
ADB

4.fastboot安装

Fastboot,意思是快速启动。Fastboot是一种电脑通过USB数据线对手机固件进行刷写、擦除/格式化、调试、传输各种指令的 固件通信协议 同时也是Google的Android SDK Platform Tools中的一个命令行工具。需要在电脑上安装适合手机的 USB 驱动程序。

在安卓手机中Fastboot是一种比recovery更底层的刷机模式(俗称快速引导模式)。
相对于某些系统卡刷来说,线刷更可靠,安全。Fastboot从字面上来看是快速启动的意思,也算是一个刷机界面,不过比recovery更加底层,这个底层是更加接近硬件层。

当手机不能进入recovery的时候,还能进Fastboot挽救。当不能进入Fastboot的时候,还有Qualcomm 9006/9008端口、MTK端口、QCN端口刷机能挽救。不过当电脑连这些手机刷机端口都不能连上的时候,那可就是砖了。

三、ADB使用

步骤
1)手机-》进入开发者选项-》打开USB调试
2)手机数据线连接电脑-》电脑cmd进入小黑框
3)使用adb命令,详见第四章
如查看系统中所有的包
卸载系统中的应用
卸载完后就可以拔掉数据线了

四、ADB常用命令

adb devices		//查看adb已连接的设备信息,出现序列号和device表示已正常连接设备
adb shell pm list packages		//查看所有已安装应用的包名
adb shell pm uninstall -k --user 0 包名		//卸载包名所对应的软件(卸载命令1)
adb uninstall 包名		//卸载包名所对应的软件(卸载命令2,与卸载命令1功能相同,2选1即可)

1、查看adb版本

C:\Users\30608>adb version
Android Debug Bridge version 1.0.29

也有另外的效果,应该是安装的路径有问题

E:\other>adb version
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as C:\Windows\system32\adb.exe

2、查看系统中所有包

adb shell pm list packages
在这里插入图片描述

3、卸载指定包名对应的软件

adb shell pm uninstall -k --user 0 包名

如何选对应的软件包
法1)在手机上通过第三方软件(如APK查看器等)查看卸载的软件包名,比如这里系统更新的包名就是com.android.updater
法2)打开系统设置——应用管理,右上角选择「显示系统服务」。点击下面的应用,再点击右上角 ⓘ 图标,就能够查看到应用包名。
提示Success就表示卸载成功。以卸载系统更新为例
在这里插入图片描述
更多的adb命令https://adbshell.com/

用来连接设备
adb connect ip地址
断开设备
adb disconnect ip地址
终止adb服务/启动adb服务
adb kill-server/start-server
启动service
adb shell am startservervice
启动activity
adb shell am start -n 包名/类名
列出所有的选项说明及子命令
adb help

重启到recovery和fastboot
adb reboot recovery
adb reboot fastboot

安装APK:adb install [-lrtsdg] <path_to_apk>
卸载应用:adb uninstall [-k] <packagename>

清除应用数据和缓存:adb shell pm clear <packagename>
强制停止应用:adb shell am force-stop <packagename>

测试  得到1个小时,设置次数可能在百万以上
adb shell monkey -p com.xyy.vwill -s 100 10000--momkey

monkey日志分析:日志: app的日志(adb logcat :crash anr error等日志) monkey执行日志(执行过程,正常结束,异常结束,执行了哪些事件,执行时长)
关闭WiFi
adb shell svc wifi disable
开启WiFi
adb shell svc wifi enable
ping网络动态
ping -c 1 -w 1 119.29.29.29/ping 119.29.29.29

连接设备,传输文件从设备传到电脑
adb pull 文件路径 D:/file/20220421.txt(存放的文件路径和文件名)
从电脑传到设备端
adb push C:/users/desktop/gc2093_default_JX8006.json  vendor/etc/camera/rkisp2/gc2093_YT-RV1109-2-V2_40IR-2MP-F20.json

当传输文件提示没有权限,需要获得权限 adb root   adb  remount
adb shell screencap -p /sdcard/screenshots/01.png/adb pull /sdcard/screenshots D:/file--adb命令截图
消除屏幕图案:adb shell rm /data/system/gesture.key
截图:adb shell screencap <文件保存路径>
adb shell screencap /sdcard/screen.png--手机截图保存到SD卡
录像:adb shell screenrecord <文件保存路径>
注:Ctrl + C停止屏幕录制,或者到三分钟停止,且没有声音

adb shell
su
wm density--查看设备密度
wm density 120--改密度

卸载应用程序
adb uninstall com.imstlife.anaerobic
安装(可以直接拖到文件到cmd里,cmd自动识别路径)
adb install anaerobic.apk
adb shell pm list packages -3--显示第三方应用包名

设备压力测试
adb shell
su
am start -n com.cghs.stresstest/.StressTestActivity

权限
adb shell
su
chmod -R 777 vendor

查询手机cpu和内存信息
adb shell cat /proc/cpuinfo
adb shell cat /proc/meminfo
adb shell ps
adb shell kill pid

连接并进入设备:adb shell
发送广播:adb shell am broadcast -a 广播action
文件传输(复制):
传到板子:adb push <本地路径> <板子路径>
从板子传回:adb pull <板子路径> <本地路径>
adb push C:\a.txt /sdcard/
adb pull /sdcard/a.txt C:\

关机:cmd:adb shell reboot -p  serial:reboot -p
重启并进入烧录模式:cmd:adb shell reboot efex   serial:reboot efex

消除密码:adb shell rm /data/system/password.key

串口电量:echo 1 > /sys/class/axppower/axpdebug
查询当前充电电流:cat /sys/class/power_supply/battery/current_now

滑动解锁:adb shell input swipe x1 y1 x2 y2
注:1为起始坐标,2为终点坐标

点击操作:adb shell input tap x y
注:x,y为要点击的坐标

禁止休眠:echo testlock > /sys/power/wake_lock
恢复可休眠:echo testlock > /sys/power/wake_unlock

切换HMDI输出模式:echo 720p50hz > /sys/class/disp/disp/attr/hdmi_test_mode

查看SD卡是否被识别(定位驱动):ls /dev/block
查看各分区容量:df

查询当前策略:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

切换策略:echo fantasys > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

获取log:
adb shell logcat -v time >>c:\1.5rc2#55-bug-logcat.log
adb shell dmesg >> c:\1.2-#01--BUG描述-dmesg.log
adb shell mount >> c:\1.2-#46-mount.log
logcat-- 查看日志
    adb logcat -v time *:W |grep pid > /data/data/log.txt
    adb pull /data/data/log.txt d:/log/
    adb shell "logcat -v time *:W |grep pid " > d:/log/log.txt
    adb logcat -c

日志的指令
logcat -v time -n 10 -r 102400 -f /sdcard/logcat.txt(一直发送)
logcat -v time -n 10 -r 102400 -f /sdcard/logcat.txt &(发送一次)

整理一下可删除的应用(测试删除后能正常开机使用)
com.miui.systemAdSolution (小米系统广告解决方案,必删) com.miui.analytics (小米广告分析,必删) com.xiaomi.gamecenter.sdk.service (小米游戏中心服务) com.xiaomi.gamecenter (小米游戏中心) com.sohu.inputmethod.sogou.xiaomi (搜狗输入法) com.baidu.input_mi (百度输入法小米版)com.miui.player (小米音乐) com.miui.video (小米视频) com.miui.notes (小米便签) com.miui.translation.youdao (有道翻译) com.miui.translation.kingsoft (金山翻译) com.android.email (邮件) com.xiaomi.scanner (小米扫描) com.miui.hybrid (混合器) com.miui.bugreport (bug 反馈) com.milink.service (米连服务) com.android.browser (浏览器) com.miui.gallery (相册) com.miui.yellowpage (黄页) com.xiaomi.midrop (小米快传) com.miui.virtualsim (小米虚拟器) com.xiaomi.payment (小米支付) com.mipay.wallet (小米钱包) com.android.soundrecorder (录音机) com.miui.screenrecorder (屏幕录制) com.android.wallpaper (壁纸) com.miui.voiceassist (语音助手) com.miui.fm (收音机) com.miui.touchassistant (悬浮球) com.android.cellbroadcastreceiver (小米广播) com.xiaomi.mitunes (小米助手) com.xiaomi.pass (小米卡包) com.android.thememanager (个性主题管理) com.android.wallpaper (动态壁纸) com.android.wallpaper.livepicker (动态壁纸获取) com.miui.klo.bugreport (KLO bug 反馈)
国内版MIUI
com.miui.cloudservice (小米云服务)
com.xiaomi.account (小米账户)
com.android.updater (系统更新)
com.miui.cloudbackup (云备份)
com.xiaomi.market (应用市场)
com.xiaomi.finddevice (查找手机)
com.lbe.security.miui (权限管理服务)
com.miui.securitycenter (手机管家)
MIUI 国际版(欧版 miui.eu)应用包名(欧版可以随便删)
com.google.android.googlequicksearchbox (Google)
com.miui.miservice (服务与反馈)
com.mi.health (健康)
com.mi.globalbrowser (国际版浏览器)
com.miui.huanji (小米换机)
com.miui.newmidrive (小米云盘)
com.miui.bugreport (用户反馈)
com.miui.personalassistant (智能助理)
com.android.hotwordenrollment.xgoogle (谷歌助理1)
com.android.hotwordenrollment.okgoogle (谷歌助理2)
com.xiaomi.mirecycle (小米回收)
com.miui.videoplayer (小米视频国际版)
com.google.android.projection.gearhead (Google Auto/Google 汽车)
com.google.android.gms.location.history (Google 地理位置历史记录)
com.google.ar.lens (Google 智能(虚拟)摄像头)

五、fastboot常用命令

fastboot与手机的连接方式
手机关机进入bootloader模式,用USB数据线连接电脑

列出与电脑连接的设备
fastboot devices
解锁
fastboot oem unlock 解锁码
上锁
fastboot oem lock
刷入boot分区
fastboot flash boot boot.img 
刷入system分区
fastboot flash system system.img
 刷入recovery分区
fastboot flash recovery recovery.img
刷入引导+恢复+系统镜像文件
fastboot flashall
重启设备
fastboot reboot
重启到BootLoader 
fastboot reboot-bootloader
擦除系统分区
fastboot erase system
获取手机信息
fastboot getvar all

总结

工具下载
https://download.csdn.net/download/CHengYuP/87700055
谨慎删除。
引用链接
1)https://blog.csdn.net/weixin_69681418/article/details/125995030
2)https://blog.csdn.net/hhx123456798/article/details/121483826
3)https://blog.csdn.net/m0_60352504/article/details/120087498?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-120087498-blog-121483826.235%5Ev29%5Epc_relevant_default_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-120087498-blog-121483826.235%5Ev29%5Epc_relevant_default_base3&utm_relevant_index=2

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
HTC目前的系统结构都是几个储存分区独立存在而又关联的。 一个完整的官方rom解开如下所示(参考) boot.img system.img recovery.img hboot.nb0 data.img cache.img radio.img 等等。。。 我们所说的刷机也仅仅是boot.img引导分区加上system.img系统分区、 那么很多同学卡在第一屏,白屏。或者recovery无法进入(有时候涉及到系统文件不完整,一般都是未刷入第三方recovery) 都是因为boot系统内核(引导分区)加上system不匹配,造成不能正确引导所致。 既然知道了问题所在,接下来就有几种解决方案了 第一:手动刷入boot。或者recovery。 通过fastboot命令刷入。 首先必须要有fastboot支持,官方刷机包里面都自带。我这里提取给大家 解压运行里面的cmd.exe 我的是直接在系统里面提取的cmd。不一定都适用。如果不能运行那就 点击开始-运行-cmd 进入这个文件夹。运行fastboot命令 手机进入fastboot模式有2种方法。如果你的手机能用adb识别到,有时候卡在第一屏也可以识别 你可以先运行 adb devices 如下图显示说明此时adb命令是可以运行的,也可以做更多的事情。 那么我们通过adb命令进入fastboot吧。 运行命令adb reboot bootloader 这样手机就进入fastboot usb模式,如果电脑驱动没装好,这里会识别不到的 第二种进入方法是,手机完全断电,按住音量向下+电源键不放。进入hboot之后点击下电源键 接下来就是刷入boot和recovery了。 把recovery.img和boot.img提取放到刚才下载的文件夹里面。 回到cmd。运行命令。 单刷boot.img命令 : fastboot flash boot boot.img 单刷recovery.img命令 : fastboot flash recovery recovery.img 当然这里不排除有些机器因为民间解锁后刷官方ROM以及升级hboot的问题出错。 我刚才也是刷了4.0系统的官方rom造成错误,然后刷了一个hboot解决掉了 如果以上还达不到你的要求,那么,继续下一步吧。 第二节:刷入原生官方rom 大家经常遇到的就是手机无法进入系统,刷机各种报错,无法进recovery,那好。我刷htc官方rom总行吧。 但是,经过解锁的机器。有很多局限性。什么cid错误啊,什么版本错误啊。。眼花缭乱了吧。 下面我们一htc sensation和htc raider为例说明下刷机方法。 如果htc sensation和raider都是官方解锁的话。刷入完整的官方rom需要先上锁。 具体方法请参考这里: HTC Raider 4G/X710e/突袭者刷回官方ROM教程 http://bbs.dospy.com/viewthread.php?tid=14412965&bbsid=354&page=1&extra=page=1#pid210911214 那如何选择官方ROM呢。哪一个才是适合自己的手机呢? 这里我给大家提供下对应方法, 回到cmd界面,运行命令。 fastboot getvar all

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CHengYuP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值