『壹』 adb 如何在设备内部复制/移动文件
什么销物是adb工具?怎么森斗李用此迟?
『贰』 如何通过,adb install 把程序安装到sdcard上
官方app to sd,直接在应用管理中选移动到sd卡即可
数据、碰搏主程序都移动到sd卡需要先给sd分区,Fat+ext格式,ext2或者ext3都可以
ext分区大小自己定,我一般分个300-500m。
进入cmd输入
adb shell ls /system (查看一下system目录下有无sd文件夹)adb shellsubusybox df -h (如果你的卡成功分区的话。在这里会看到system/sd 前面的大小会是你分出来ext2的大小)
mkdir /system/sd/app
cp -a /data/app /system/sd/
cp -a /data/app-private /system/sd/ (缓存也放到sd)
cp -a /data/dalvik-cache /system/sd/
cp -a /data/data /system/sd/exitexit完成后毁液,重启手机并进入terminal在手机上输入以下指令mount datarm -rf /data/app
ln -s /system/sd/app /data/app
rm -rf /data/app-private
ln -s /system/sd/app-private /data/app-private
rm -rf /纤吵物data/data
ln -s /system/sd/data /data/data
ln -s /system/sd/dalvik-cache /data/dalvik-cachereboot然后你无论是从android market下载或是使用 adb install xxx.apk都会装到sd卡上
『叁』 踩坑adb——我的一次使用adb命令的踩坑之旅
昨晚正在测case的时候,突然冒出来一同事(我们都叫他肖总),来了一句:BUG基(同事都叫我BUG基,你懂的),我这复现了一个问题,但是开发那边说叫我把log导出来,我这不会导,你知道怎么导吗?
作为一只BUG基,我怎么可能会放过这个装比的机会呢,哈哈。
叫肖总导log的那个开发啥也没说,就只在jira系统的comments最后写了一句“导出方法:adb pull/cache/recovery/ ./”。其实当时我是崩溃的,我擦,肖总,你妹,这开发不是说弯枣了导出方法了吗?你直接复制粘贴打上去命令不就行了吗?然而,装比心理作怪,我还是决定了帮他。
那么下一步是什么?没错,是时候展现装比的技术了!
拿过Pad的第一步,那当然是先装驱动啦。没驱动你怎么使用adb命令?为什么这么说呢。驱动一般指的是设备驱动程序(Device Driver),是一种可以使 计算机 和设备通信的特殊程序。相当于 硬件 的接口, 操作系统 只有通过这个接口,才能控制 硬件 设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。那么ADB又是什么东东?Android Debug Bridge,我们一般简称为adb,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互。意思也就是说,ADB命令需要通过驱动程序提供的接口来控制硬件设备,因为我们的文件是存储在硬件设备上的呀。
那装驱动要在什么状态下安装?废话,肯定是开机状态啦。当然在安装驱动前,要先开启开发者模式的ADB调试,这里我就含颂不说为什么了,自己想。
那再下一步就是我们要用开发给的adb命令,导出/cache/recovery/这个文件夹的内容。或许有人会问,这开发不是已经给了文件的路劲了吗,直接在Pad上复制粘贴到SD卡又或者直接用PC从Pad复制粘贴到PC就可以了呀。对于这个,我只想说,废话,这么简单的,你会想不到吗?你以为我是猪啊。然而我并不是猪,我是BUG基。
对于上面那个想法,条件并不成立,当我们连接Pad时,windows是屏蔽部分文件的,反正我这里是这个情况,而用Pad直接复制粘贴到SD卡也是不成立,当我复制的时候,会提示“操作失败,目标无法复制”,至于为什么会出现这个提示,请往下看。
既谈闹郑然上面两个方法都不行,那我们就只有用adb命令了。
在执行操作之前,我们要先看移动设备是否跟PC连接,那么就需要用adb devices这个命令查看当前连接的设备,这里可能返回的状态有三种:
I.device设备已经成功连接到了adb-server
II.offline设备并没有连接到adb或者没有响应
III.no device并没有设备/模拟器连接
这里说的三种状态显示的可能跟显示情况不大一样,譬如我连接是正常的,返回的是
或许有人知道这里的意思是什么,但是是否有想到过前面的那个daemon是什么呢?当然有人会说,只要复制粘贴会用就可以了,对于这个回答,我默默表示不回答。
这个daemon还得要从ADB说起,ADB包含了以下三部分的cs模式的程序:
而在解释上图的意思之前,我想先引入两个概念,那就是端口和通信(已理解的可以略过)。
端口
计算机"端口"是英文port的译义,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
端口最主要的作用就是通信和数据传输,把数据报顺利的传送到目的主机是没有问题的。那么问题出在哪里呢?我们知道大多数 操作系统 都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
本地 操作系统 会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队, 操作系统 为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
通信
通信(Communication)就是信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。其实这里的通信,意思就是说用特定的逻辑信号,实现双方的互相信息传输,譬如说在命令行输入adb devices命令,意思就是说我想要对方输出设备列表给我看,这里的输入”adb devices”就是发送给对方的信号,而输出的设备列表就是对方反馈回来的信号,这个整个过程就是通信的过程。
说了这么多,其目的就在于扫盲,下面我们来说上面提到的ADB三部分的cs模式的程序(我把上面的图拉下来,防止大家看不到):
1) adb client
从图中,我们知道client是运行在PC端的,每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。
当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。
所有的client都是通过5037端口与adb-server进行通信的。
2 ) adb daemon ( adbd )
从图中,我们知道daemon是作为一个后台进程运行在模拟器/真实Android设备中的。
daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这么一个后台进程,并且为其分配了两个连续的端口,比如:
Emulator 1,console: 5554
Emulator 1, adb:5555
也正因为每个设备都分一组两个端口,也已adb连接手机的最大数量为16。
说回端口的作用,在这两个端口中,其中偶数端口是用于server与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。
3) adb server
从图中,我们同样可以知道,server也是作为一个后台的程序运行在PC端的,他负责管理client进程以及adb daemon之间的通信。
当一个server开启的时候,他会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。
完成了上面一大堆吧啦吧啦的扫盲,大家应该知道了图1的意思了吧,那么我们就要解决问题了。
我们来看开发给我们的adb命令
不知大家是否看到使用adb命令都要在前面输入adb,譬如开发给的“adb pull /cache/recovery/ ./”这个命令就有adb在前面。那么为什么要在命令前面加上一个adb呢,原因在于如果我们不加adb,windows系统会默认为对windows执行命令,而不是通过ADB命令行工具对手机执行操作命令。后面的“pull /cache/recovery/ ./”通过前面学习linux命令结构(linux命令结构为command [options] [arguments...])大概可知道pull指的是命令动作,后面那两个,指的其实就是参数,/cache/recovery/指的是Pad设备的文件路径,而./指的是当前运行命令行的路劲,譬如下面的提到的C:\Users\301001958这个路径。
好了,继续回到我们的装比之路,刚开始的时候,我不小心把” adb pull /cache/recovery/ ./ ”打成了“adb pull /cache/recovery/./”,也就是,我没有把中间的空格打上,结果弹出了这样的提示,啊,真是瞎了我的眼……
于是,我马上改过来,修改成了“adb pull /cache/recovery/ ./”,结果还是弹出了一样的提示。
我擦,这怎么办怎么办,难道真的要装比不成,反遭雷劈?别急,我们先来看看这里提示的意思,这里的这个remote的意思是指的远端设备,在这指的就是Pad,而object '/cache/recovery/' does not exist的意思就是说Pad的/cache/recovery/这个文件夹对象不存在。
这咋回事啊?怎么会就不存在呢?于是乎,我再进入Recovery mode查看,得到的结果如下:
我擦,这怎么回事?明明有这个文件夹的存在,于是我再次开机在命令行输入adb -help,验证一下这个adb命令的用法,结果吧啦吧啦的出现了一大坨黑色的字,看着都头晕啊,不过还是让我找到了想要的信息,如下图:
看到了这里,我瞬间脸黑了,我靠,这完全就是跟我想的那样没错嘛,怎么就说文件夹对象不存在呢。
于是我还是找上了大家最喜欢的——度娘。找了一番,找到了一个似乎有用的信息,如下图:
正如上面所说,难道是因为没有文件夹没有读写权限?于是,我又输入了adb remount,得出结果如下:
额,看到这里,我不想说话了,不过这里,已经算是弄出了点端倪,大家应该也知道了前面直接在Pad的系统里面复制提示无法复制了吧,最主要就是不够权限的原因,因为一旦系统运行文件随便被更改,系统就有可能出现运行错误或者崩溃。只是我竟天真的以为这里的root,指的是我们经常用的那个一键root软件,只要用软件一键root了,就可以快乐的解决问题了,可想而知,得到的结果依然是像是碰到了蜜蜂窝一样,被蛰着千疮百孔啊,面目全非……这些什么鸟一键root软件,根本就无法root得了我们这些开发中的Pad嘛,还试了一大堆都不行,至于为什么,暂时我没有深究,大家有空可以去研究研究。
到了这里,我只想说:盖伦,请给我一把大宝剑……
无奈,问题最终还是得要解决,于是我继续再找度娘玩去了。
经过了一番查找,我似乎终于找到了答案如何获得root权限了,就是仅仅只需要用“adb root”这个命令就可以让adb获得root权限,二话不说,赶紧开干啊,输入adb root,得出的结果是:adbd restart as root,我擦,蓝瘦香菇,明明只需要几个命令……就可以获得root权限,我为什么能搞得那么复杂,我不行了,盖伦,借你的大宝剑扶我起来……
但是似乎有一件很重要的事是,正因为我前面用了一键root软件,我才能在adb命令使用root权限,前面的功夫也并不是全是无用功,来到这里,我们就只需执行最后一步就是用开发给的命令,把文件拖出来,不过,我把开发给的最后一个参数改了,也就是“./”这个参数,改成了我自己电脑桌面的一个文件夹路径,如我在桌面起了个叫做FileLog的文件夹,如我FileLog的文件夹路径为C:\Users\301001958\Desktop\FileLog,那么我执行的就是adb pull /cache/recovery/ C:\Users\301001958\Desktop\FileLog,然后按Enter执行命令,文件就巴拉拉的复制到了我的FileLog文件夹里面,到这里问题解决完毕。
回顾整个过程,踩的坑着实不少,一个简简单单的命令,一个简简单单的操作,都能把自己搞死,不过在这整个过程里面,也是一个不断扩展知识的过程,也是一个不断挑战自我的过程,到最后的解决,是满心的舒畅。
这整个过程里,给我最大的感悟是,乐于助人,助的有时候不仅仅是别人,助的也是自己,因为在这个过程中,我的知识获得了拓展,获得了成长,也获得了成就感,获得了兴趣,用此文,希望能助正在踩坑的你,走出这个坑,不管是大坑还是小坑,又或者是神坑,在这个写作分享的过程中,也让我对整个知识面理解更全面更深了一步。
文章写得不是那么好,太长了点,请轻喷。
致正在踩坑的你我。 2017.02.26 By BUG基
『肆』 adb 常用命令
1、adb shell am force-stop 后跟包名,结束应用
2、adb install +包名 adb安装apk (覆盖安装是使用 -r 选项)
3、adb uninstall +包名 adb卸载apk
adb uninstall -k cnblogs.apk 卸载app但保留数据和缓存文件
4、adb reboot 重启Android设备
5、adb devices 获取连接的设备列表及设备状态
6、adb push (PC到Android设备)
例:adb push E:\0713\ellip_factroy__debug.apk storage/self/primary
7、adb pull(Android设备到PC)
例:adb pull /storage/self/primary/EL_v3.0.0.6_release.apk E:\0713
8、adb shell pm list package 列出所有的应用的包名 (-s:列出系统应用 -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置 -i:列出应用包名及其安装来源)
9、input : 向 Android 设备发送按键
1)adb shell input keyevent + 按键事件 发送按键事件 例如:adb shell input keyevent KEYCODE_HOME 模拟按下Home键
2)3 adb shell input tap +触摸事件的位置 , 对屏幕发送一个触摸事件 例如:点击屏幕上坐标为 500 500 的位置(adb shell input tap 500 500)
3)adb shell input swipe 滑动事件 例如:从右往左滑动屏幕 (adb shell input swipe 800 600 100 600)
10、screencap 截图命令 adb shell screencap -p /sdcard/qq/1.png
11、screenrecord 录屏命令 adb shell screenrecord /sdcard/qq/1.mp4,执行命令后操作手机,ctrl + c 结束录制
12、clear 清除应用数据 adb shell pm clear com.
13、复制、删除 、查看文件、新建文件夹
adb shell进入Android Linux命令中,
复制cp: cp -f /sdcard/qq/1.png /sdcard/aa
删除文件rm:rm /sdcard/qq/1.png
删除文件夹rm -r:rm -r /sdcard/qq
查看文件cat:cat /sdcard/qq/1.txt
新建文件夹:mkdir /sdcard/cc
adb shell mkdir -m 777 /sdcard/cc 创建文件夹cc并给文件夹赋予读写执行的权限
adb shell mkdir -p/sdcard/Download/Demo/test1,如果Demo目录不存在,执行该条命令会创建Demo目录和其子目录test1
新建文件:touch /sdcard/cc/1.txt
移动文件:adb shell mv /sdcard/Download/test1.log /sdcard/Download/Demo/
重命名:adb shell mv /sdcard/Download/Demo/test1.log /sdcard/Download/Demo/test.lg
14、adb logcat > D:\log.txt 将日志打印到电脑上
15、获取手机内部存储信息: adb shell df /data
获取sdcard存储信息:adb shell df /storage/sdcard
『伍』 使用adb命令和电脑互传文件
1、电脑传文件到手察纤机
adb push test.txt /sdcard/test
把当前目录下的test.tex文件传到手机 /sdcard/test目录中
2、信没轿手机文件传到电脑
adb pull /sdcard/test/test.txt D:/test
把/sdcard/test/目录下的test.txt文滑肆件传到 D盘的test目录中
查看手机文件目录
1、adb shell 进入到根目录
2、ls查看所有目录
3、cd sdcard 进入到sdcard目录,安卓手机的文件管理一般都这这里
然后选择要传输哪些文件到哪个文件夹
『陆』 小米电视4 adb命令编辑文件
如何命令编辑文件:
进入账号与安全设置页面以后,移动焦点至ADB调试,按向右散核方向键选择允许,会弹首亮出一个弹窗,然后你选择冲芹掘确定打开即可。
『柒』 adb命令和monkey总结
移动动测测试试基基础础
adb常常用用命命令令总总结结
1. adb / adb -help 使用帮助
2. adb devices 查看连接到电脑的设备
3. adb install example.apk 安装程序
4. adb -s emulator-5554 install example.apk 安装程序到指定的设备上(模拟器)
5. adb pull <remote> <local> 将设备上文件保存到电脑上
6. adb push <local> <remote> 将本地的文件上传到设备上
7. adb start-server 重启adb服务
8. adb kill-server 杀掉adb服务
9. adb shell 进入命令行交互模式,进入之后可以像在linux输入shell命令一样来操作手机设备(android本来就是基于linux的)
10. adb logcat <信息显示优先级参数> 显示日志信息 优先级从低到高顺序排
11.adb shell cat /proc/cpuinfo 查看宽谨燃手机CPU,
12.adb shell ps 查看进程信息
Monkey命令实战
1.Monkey是什么?
Monkey是Android中的一个命令行工具,可以运行在模拟器或者实际设备中
向系统发送伪随机的用户事件流(按键输入、触摸屏输入、手势输入等)
实现对正在开发的应用程序进行测试
Monkey测试之一种为了测试软件的稳定性、健壮性的快速有效的方式
2.Monkey的特征
测试对象仅为应用程序包,有一定的局限性(不能对源码进行测试)
Monkey测试使用的事件流数据是随机的,不能进行自定义
可以对MonkeyTest对象,事件数量,类型、频率等进行设置
3. Monkey使用
adb shell monkey [options]
adb shell monkey -p 包名 -v 500
-p 指定测试程序包名
-v 显示默认程度的信息
500 事件数设定为500
例如: adb shell monkey -p com.android.calculator2 -v 500
4. Monkey命命令令结结果果分分析析
1. 找monkey里面那个出错的地方
2. 查看monkey里面出错前的一些事件动作,并手动执行该动作
3. 若以上步骤还不能找出,使用之前执行的monkey命令再执行一遍,seed值要一样(seed值一样,发送的伪随机事件流也一样)
4. 注意第一个switch以及其他信息
seed值和,不同event类型比例
5.Monkey测试的目的
1. ANR问题:在日志中搜索“ANR”
2. 崩溃的问题:在日志中搜索“Exception”
3. ANR:Application Not Responding,在Android中,如慎虚果应该程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应
用程序无响应对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关晌洞闭”应用。 好的程序应该能流畅运行,不能出现ANR问题
Monkey命令进阶
1.运行时机
产品功能稳定之后进行
2. monkey更更复复杂杂的的命命令令
adb shell monkey -p packagename -v -v -- throttle 600 88
-v :代表整个Monkey运行的次数,多个 -v 可以定制Monkey报告的等级
--throttle 600 : 每个操作都间隔时间600ms
88 :执行的事件数
adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 --throttle 600 88
adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 -s 1234 --throttle 600 88
--pct-touch :设置在整个过程中点击操作所占的百分比
--pct-trackball: 设置滚轮在所用操作中的百分比
--ignore-crashes:崩溃之后继续测试,重新启动程序
--ignore-timeouts:遇到超时,也继续执行
-v:
命令行的每一个-v将增加反馈信息的级别
Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息
Level 1提供较为详细的测试信息,如逐个发送到Activity的事件
Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity
更多monkey命令:http://xqtesting.blog.51cto.com/4626073/1430654
实测命令(经常用到的,可以参考):
adb shell monkey -p com.xx.xxx(包名)--throttle 500 --ignore-crashes --igonre-timeouts --ignore-security-exceptions --igonre-native-crashes --
monitor-native-crashes -v -v -v 1000000 >> D:\monkeyScreenLog.log
说明:忽略crashes、timeout等是为了出问题是monkey继续运行下去,希望能抓取更多的出错信息
3.可可以以练练习习使使用用的的apk包名
com.android.calculator2
com.android.browser
com.android.music
com.android.email
com.android.contacts
monkey也可以进行压力测试。
可靠性测试
稳定性测试:长时间使用软件不会出现无响应
monkey:安卓系统常用稳定性和压力测试工具
语法:monkey -p 包名 --throttle 数值(间隔时间,单位ms) -v 数值(操作次数)
monkey -p com.emicro.emicrophone --throttle 500 -v 300
百分比事件
0:点击事件 参数--pct-touch
1:滑动事件 --pct-motion
2:缩放事件 --pct-pinchzoom
3:轨迹球事件 --pct-trackball
4:屏幕旋转 --pct-rotation
5:基本导航事件 --pct-nav
6:主要导航事件 --pct-majornav
7:系统按键事件 --pct-syskeys
8:activity启动事件 --pct-appswitch
9:键盘唤出隐藏事件 --pct-flip
10:其他事件 --pct-anyevent
异常测试 :断电,断网,异常退出。。。
adb 调试桥
adb devices 检查设备是否连接
adb install apk文件路径文件名
adb uninstall 包名 卸载
aapt d badging apk文件路径文件名
adb shell 进入安卓系统
『捌』 adb命令和linux命令
adb root 获取 root 权限。
adb sideload
adb shell ps 打印进程状态。
adb shell top 展现上层 CPU 进程信息。
adb shell getprop 获取 Android 系统服务属性
adb shell setprop 设置服务属性。
adb shell mpsys 获取系统数据。
adb logcat 打印日志文件
adb shell ip 主要用于显示一些数据
adb shell netstat 主要用于网络统计。
adb shell ping 没啥好说的,和 PC 的 ping 命令一样的。
adb shell netcfg 通过配置文件配置和管理网络连接。
adb shell cp 字面意思,很好理解,复制。
adb shell pwd 定位当前的操作位置
adb shell mv 移动或者更名文件
adb shell mkdir 创建一个文件夹
adb shell rm 删除文件或者目录
adb shell ls 列出目录内容。
adb shell pm clear 清除应用缓存。
adb shell pm path 打印 apk 的路径。
adb usb 设置设备以 USB 形式连接 PC
adb kill-server 终止 adb 进程。
adb forward 端口映射,将 PC 端的某端口数据重定向到手机端的一个端口。
adb devices 主要是用于打印当前连接的所有模拟器或者设备。
shutdown -h now 关闭系统
init 0 关闭系统
telinit 0 关闭系统
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
reboot 重启
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
cp -r dir1 dir2 复制一个目录及子目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
『玖』 手机system分区没解锁怎么移动文件
1、使用文件管理工具(如ES文件浏览器、Root文件管理等),将文件拷贝至SD卡或内谈简桐部存储空间中。
2、咐梁使用ADB或其他类似工具将文件复制到电脑指定目录中。
3、通过OTA更新含坦或将系统分区解锁(解锁有风险,操作需谨慎),拷贝文件到指定位置中。