1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Android 常用ADB 和 adb shell 命令

Android 常用ADB 和 adb shell 命令

时间:2023-06-12 12:05:56

相关推荐

Android 常用ADB 和 adb shell 命令

常用ADB命令

一般都是通过这样子的格式 adb [-d|-e|-s <设备序列号>] <子命令>

通常只有一台设备就忽略 [-d|-e|-s ] 这一部分

参数含义:

-d 指定当前唯一通过USB连接的Android设备为命令目标

-e 指定当前唯一运行的模拟器为命令目标

-s 指定相应 serialNumber 号的设备/模拟器为命令目标

adb 常用命令汇总

adb help //查看帮助adb version //查看adb版本号adb devices //查看设备adb get-state// 获取设备状态adb start-server //启动服务adb kill-server // 杀死服务

wifi adb 命令

adb connect IP:port //连接设备adb disconnect //断开连接所有设备adb disconnect IP:port //断开连接指定设备adb root //获取root权限adb remount //重新挂载文件系统(默认只读,执行命令后可写)

安装应用 -r -t -d 可以组合使用

adb install Package //安装APKadb install -r Package //强制覆盖安装adb install -t Package //允许降级覆盖安装adb install -d Package //允许测试包

卸载应用

adb uninstall PackageName //卸载APKadb uninstall -k (keep) PackageName //保留用户数据卸载adb pull //将设备文件文件发送到PCadb push //将PC文件发送到设备

adb logcat 命令格式 : adb logcat [选项] [过滤项]

选项参数说明

"-v"选项 : 设置日志的输出格式;----->adb logcat -v threadtime 查看日志输出时间和线程信息

"-c"选项 : 清空所有的日志缓存信息;---->adb logcat -c

"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;------->adb logcat -d

"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;------>adb logcat -t 5 输出日志缓冲区的最近5行

"-g"选项 : 查看日志缓冲区信息; ------>adb logcat -g

"-G"选项 : 设置日志缓冲区信息; ------>adb logcat -G 200M

"-B"选项 : 以二进制形式输出日志; ----> adb logcat -B

adb logcat -c //清空日志adb logcat -v threadtime >D:\111.log //抓日志并输出保存D:\111.logadb logcat -G 200M //设置日志缓存大小adb logcat -g //查询日志缓存大小

adb shell 常用命令

adb shell screencap /sdcard/screen.png //屏幕截图(并存放sdcard目录,命名screen.png)adb shell screenrecord /sdcard/demo.mp4 //录制屏幕(Android4.4以上可用)adb shell dumpsys activity activities //查看activity信息adb shell dumpsys activity |findstr mResumedActivity //获取当前activity信息adb shell dumpsys window windows | findstr “Current” //查看当前app窗口activity

二、am参数

am全称activity manager,你能使用am参数去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。

例如: adb shell am start -a android.intent.action.VIEW

关于am参数的一些命令:

start \[options\] :启动activity通过指定的intent参数。具体intent参数参照官方表。 startservice \[options\] : 启动service通过指定的intent参数。具体intent跟start命令参数相同。 force-stop : 强制停止指定的package包应用。 kill \[options\] :杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user | all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER\_ID下面会介绍到) kill-all :杀死所有的后台进程。 broadcast \[options\] :发送一个intent。具体intent参数参照start命令参数。参数选项:--user | all | current: 指定user进程杀死,如果不指定默认为所有users。 instrument \[options\] :测试命令,不多作介绍。 profile start :在进程中运行profile,分析结果写到里。 profile stop :停止profile。 set-debug-app \[options\] :设置package包应用为debug模式。参数选项:-w|--persistent:等待进入调试模式,保留值。 clear-debug-app :清空之前用set-debug-app命令设置的package包应用。 启动:adb shell app am start -n {packageName}/.{activityName} 杀app的进程:adb shell am kill <packageName> 强制停止一切:adb shell am force-stop <packageName> 启动服务:adb shell am startservice 停止服务:adb shell am stopservice 拨打电话: adb shell am start -a android.intent.action.CALL -d tel:10086 或者 adb shell am start -a android.intent.action.CALL tel:15967562075 进入手机qq主页:adb shell am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity 进入手机微信主页 :adb shell am start -n com.tencent.mm/.ui.LauncherUI

二、pm参数

pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用等。

例如: adb shell pm uninstall com.example.MyApp

关于一些pm命令的介绍:

list packages \[options\] :打印所有包,选择性的查询包列表。 参数选项:-f:查看关联文件,即应用apk的位置跟对应的包名(如:package:/system/app /MusicPlayer.apk=com.sec.android.app.music); \-d:查看disabled packages; \-e:查看enable package; \-s:查看系统package; \-3:查看第三方package; \-i:查看package的对应安装者(如:1、 package:com.tencent.qqmusic installer=null 2、package:com.tencent.qqpim installer=com.android.vending); \-u:查看曾被卸载过的package。(卸载后又重新安装依然会被列 入); \--user:The user space to query。 list permission-groups :打印所有已知的权限群组。 list permissions \[options\] :选择性的打印权限。参数选项: list features :设备特性。硬件之类的性能。 list libraries :当前设备支持的libs。 list users :系统上所有的users。(上面提到的USER\_ID查询方式,如:UserInfo{0:Primary:3}那么USER\_ID为0) path :查询package的安装位置。 install \[options\] :安装命令。 uninstall \[options\] :卸载命令。 clear :对指定的package删除所有数据。 enable :使package或component可用。(如:pm enable "package/class") disable :使package或component不可用。(如:pm disable "package/class") disable-user \[options\] :参数选项:--user : The user to disable。 grant :授权给应用。 revoke :撤销权限。 set-install-location :设置默认的安装位置。其中0:让系统自动选择最佳的安装位置。1:安装到内部的设备存储空间。2:安装到外部的设备存储空间。(这只用于调试应用程序, 使用该命令可能导致应用程序退出或者其他不适的后果)。 get-install-location :返回当前的安装位置。返回结果同上参数选项。 set-permission-enforced \[true|false\] :使指定权限生效或者失效。 create-user :增加一个新的USER。 remove-user :删除一个USER。 get-max-users :该设备所支持的最大USER数。(某些设备不支持该命令) 列出手机所有的包名: pm list packages 安装/卸载: pm install/uninstall

最后

如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。

如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。

相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。

全套视频资料:

一、面试合集

二、源码解析合集

三、开源框架合集

欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓

PS:群里还设有ChatGPT机器人,可以解答大家在工作上或者是技术上的问题

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。