0、准备
SDK 平台工具版本说明
Android SDK Platform-Tools 是 Android SDK 的一个组件。它包含与 Android 平台进行交互的工具,例如 adb
、fastboot
和 systrace
。开发 Android 应用时需要使用这些工具。如果您想要解锁设备的引导加载程序并为其刷入新的系统映像,同样需要使用这些工具。
虽然这些工具中的某些新功能仅适用于较新的 Android 版本,但这些工具是向后兼容的,因此您只需要一个版本的 SDK Platform-Tools。
工具下载地址:https://developer.android.google.cn/studio/releases/platform-tools
0.5、安装ADB Interface驱动
不安装接口驱动,会导致无法找到设备。(使用adb devices 显示所有在线设备时,找到不设备,不管是不是offline状态。)
搜索下载ADB Driver Installer http://adbdriver.com/downloads/(可自行百度下载地址很多)。
0.6、安装ADB Debug工具( ADB Debug Bridge version 1.0.36)
软件版本过低,会导致找到开启的设备,但设备显示离线。(offline状态)
1、刷BootLoader (TWRP)
1.1、adb刷机twrp。附件参考(https://blog.csdn.net/lechengyuyuan/article/details/51160740
)
2、刷Operating System(LineageOS 基于Android Pie)
2.1、进入twrp,先进行四清wipe(ART cache\cache\date\system)。
2.2、然后刷入LineageOS (基于Android Pie),比Android Pie更清爽的界面,连GooglePlay都清理了,速度超快。
原生系统AOSP Android 9.0 Pie:https://sourceforge.net/projects/posp/
或者也可以尝试一下Arrow-OS【推荐!】:https://sourceforge.net/projects/arrow-os/
2.3、重启时,不要安装twrp的应用,会报错。
3、刷Kali NetHunter Toolbox(Bacon_Android_Pie)
3.1、进入twrp,直接刷Kali NetHunter Toolbox安装包。
4、遇到wifi问题
4.1、明明连接上来WiFi,也能上网却显示无internet连接,这是因为Android默认ping Google的一个地址测试网络联通性,但在国内无法访问。
4.2、解决方法:替换成这个
adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
5、遇到上网问题
5.1、发现无法访问非https的网址,一访问就出现
net::err_cleartext_not_permitted
这是因为Google为保证用户数据和设备的安全,针对下一代 Android 系统(Android P(9.0)) 的应用程序,将要求默认使用加密连接,这意味着 Android P(9.0) 将禁止 App 使用所有未加密的连接,因此运行 Android P(9.0) 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响。
6、Kali NetHunter工具包无法已ROOT权限运行
6.1、原因就是没有root,之前都是用supersu,但是Android Pie无法使用此方法,需要使用新工具Magisk(https://github.com/topjohnwu/Magisk)。
6.2、先安装Magisk Manager工具APP。
6.3、重启进入TWRP,刷入Magisk的刷机ZIP包,重启系统即可(重启前可以清一下ART cache)。
7、 ADB调试常用命令
adb命令是adb程序自带的一些命令,adb shell 是调用android 系统的命令
输入命令连接到设备
adb connect 10.0.0.102
查看连接的adb设备
adb devices
List of devices attached
10.0.0.101:5555 device
10.0.0.102:5555 device
连接多个设备对其中一个进行操作
//以adb shell 为例
adb -s 10.0.0.131:5555 shell
查看所有进程详情
adb shell procrank
* VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
* RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)
* Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
* USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
获取root权限
adb root
关闭进程(PID),需要root权限
adb shell kill 620
查看所有安装包
adb shell pm list packages
安装应用
adb install test.apk
保留数据和缓存文件,重新安装,升级
adb install -r test.apk
卸载应用
adb uninstall test.apk
卸载app但保留数据和缓存文件
adb uninstall -k test.apk
复制普通手机文件到电脑
//adb pull 文件路径 保存路径
adb pull /mnt/sdcard/test.txt Desktop/
复制文件到手机中
adb push 文件路径 保存路径
例如:
adb push .\potato_bacon.zip /sdcard/0/
操作手机/system
目录文件,adb remount
将 /system
部分置于可写入的模式,默认情况下 /system
部分是只读模式的。这个命令只适用于已被 root 的设备
adb remount
查看存储空间
adb shell
//查看存储空间
df
//查看目录下的文件大小
du -sh *
重启机器
adb reboot
日志相关的命令
1.查看进程pid为120
的日志信息
adb logcat | grep 120
2.过滤出有字符串tcp
的日志进行显示
adb logcat | grep "tcp"
3.查看Tag为MainActivity
的日志信息
adb logcat -s MainActivity
4.查看Tag为MainActivity
的,日志等级不低于V
的日志信息
adb logcat MainActivity:V *:S
优先级是下面的字符,顺序是从低到高:
> * V — 明细 verbose(最低优先级)
> * D — 调试 debug
> * I — 信息 info
> * W — 警告 warn
> * E — 错误 error
> * F — 严重错误 fatal
> * S — 无记载 silent
5.将日志输出到文件,一般在日志命令后面加 >> 文件路径
就行了,但是1,2的命令不行
adb logcat MainActivity:V *:S >> ~/Desktop/MainActivityLog.txt
设置网络adb监听的端口
1.最简单的方法
先是使用usb线连接电脑跟安卓设备,执行adb命令,该条命令是设置网络adb监听的端口,5555是默认,也可以设置其他的,在安卓设备重启后会失效,不需要root权限
adb tcpip 5555
2.重启后依然有效方法
在root权限下执行
adb shell su -c setprop service.adb.tcp.port 5555
3.修改系统配置文件的方法
在Android的/system/build.prop文件最后添加service.adb.tcp.port=5555,重启后有效,需要root权限