PORT不写默认为5555.
如:连接网易mumu模拟器
adb connect 127.0.0.1:7555
断开连接
adb disconnect [HOST[:PORT]]
PORT不写默认为5555,如果HOST和PORT都不写则表示断开所有连接
如:断开连接网易mumu模拟器
adb disconnect 127.0.0.1:7555
注:
connect
和disconnect
只能连接和断开TCP/IP设备, 对USB连接设备无效。
####将电脑上的文件复制到设备中
adb push <电脑上的文件路径> <设备里的目录>
如:将桌面上一张图片拷贝到设备内存卡的picture目录中。
adb push C:\Users\Administrator\Desktop\test.gif /sdcard/picture
- 如果picture目录不存在,但上级目录存在,则会在拷贝到根目录,但最终的文件会以这个目录命名
- 如果picture目录不存在,且上级目录也不存在,则会直接报错找不到目录
- 如果目录中已存在同名文件,则会覆盖原来的文件
如果同时连接了多个设备,则需要指定具体的设备,不然会提示more than one device/emulator
错误,b7d5caee
为上面adb devices
得到的设备名称:
adb -s b7d5caee push C:\Users\Administrator\Desktop\test.gif /sdcard/picture
####将设备中的文件复制到电脑中
adb pull <设备里的文件路径> [电脑上的目录]
如:将设备中的test.txt拷贝到电脑桌面上
adb pull /storage/sdcard0/head/test.txt C:\Users\Administrator\Desktop
####安装应用
adb install [-rtdg] apk_path
-r: replace existing application 覆盖安装
-t: allow test packages
-d: allow version code downgrade 降级安装,仅debuggable包
-g: grant all runtime permissions 允许所有运行时权限
####卸载运用
adb uninstall [-k] packagename
-k: keep the data and cache directries 表示卸载应用但保留数据和缓存目录。
####启动ADB服务server
adb start-server
####停止ADB服务server
adb kill-server
重启设备
adb reboot
打印日志
adb logcat *:(V|D|I|W|E|F|S)
V: Verbose
D: Debug
I: Info
W: Warn
E: Error
F: Fatal
S: Silent
**S级别最高,什么日志都不会打印 **
adb logcat *:S
打印tag为haha的所有debug级别日志,其他日志不打印
adb logcat haha:d *:s
将控制台打印的日志保存到文件中
adb logcat -> D:/log.txt
清空控制台打印的日志
adb logcat -c
####shell 的使用
Android系统是基于Linux系统开发的,所以支持常见的Linux的命令,我们连接设备之后就可以使用adb shell
来执行这些命令。
显示设备上所有的应用包名
adb shell pm list package
列出系统应用
adb shell pm list package -s
列出第三方应用
adb shell pm list package -3
列出包名及存放位置
adb shell pm list package -f
列出包名及安装来源
adb shell pm list package -i
显示设备上所有的包含name关键字的应用包名
adb shell pm list packages name
过滤包含com的包的详细信息
adb shell pm list package -3 -f -i com
列出安装包在设备中的路径
adb shell pm path
如:
adb shell pm path com.example.app
打印:package:/data/app/com.example.app/base.apk
清除应用数据与缓存
adb shell pm clear
可能会遇到没有权限的情况java.lang.SecurityException: PID 14299 does not have permission android.permission.CLEAR_APP_USER_DATA to clear data of package XXX
,这种情况需要在开发者选项里面关闭权限限制,每个手机的位置和描述可能不一样,如
查看所有的危险权限列表
adb shell pm list permissions -g -d
monkey测试
adb shell monkey -p package count
package:进行monkey测试的应用包名
count:测试次数
如:
adb shell monkey -p com.example.test 200
查看设备前台activity
adb shell dumpsys activity activities
查询设备型号
adb shell getprop ro.product.model
查询设备品牌
adb shell getprop ro.product.brand
查询系统版本号
adb shell getprop ro.build.version.release
查看电池状态
adb shell dumpsys battery
获取设备屏幕分辨率
adb shell wm size
获取设备屏幕密度
adb shell wm density
查询设备IP地址
adb shell ifconfig
查询设备CPU信息
adb shell cat /proc/cpuinfo
查询内存信息
adb shell cat /proc/meminfo
启动Activity
adb shell am start [-S] applicationId/启动入口Activity的全路径
-S:表示重启当前应用
如:
adb shell am start -S com.example.test/com.example.test.MainActivity
总结
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的Android开发中高级必知必会核心笔记,共计2968页PDF、58w字,囊括Android开发648个知识点,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
2021年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。
虽然面试失败了,但我也不会放弃入职字节跳动的决心的!建议大家面试之前都要有充分的准备,顺顺利利的拿到自己心仪的offer。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
S:表示重启当前应用
如:
adb shell am start -S com.example.test/com.example.test.MainActivity
总结
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的Android开发中高级必知必会核心笔记,共计2968页PDF、58w字,囊括Android开发648个知识点,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
[外链图片转存中…(img-iJbml0my-1715260586453)]
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
2021年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。
虽然面试失败了,但我也不会放弃入职字节跳动的决心的!建议大家面试之前都要有充分的准备,顺顺利利的拿到自己心仪的offer。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!