前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >adb常用命令(持续更新中)

adb常用命令(持续更新中)

原创
作者头像
无情剑客
修改2021-01-15 17:01:31
1.6K0
修改2021-01-15 17:01:31
举报
文章被收录于专栏:Android逆向

ADB 即 Android Debug Bridge,Android调试桥。ADB工作方式比较特殊,采用监听Socket TCP 端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口。熟练使用 ADB 命令将会大大提升开发效率。 ADB 的命令有很多,今天就来总结下我在TV开发常用到的一些 ADB 命令。

adb install 一共有lrtsdg六个选项

-l 锁定该应用程序 -r 替换已存在的应用程序,也就是说强制安装 -t 允许测试包 -s 把应用程序安装到sd卡上 -d 允许进行将见状,也就是安装的比手机上带的版本低 -g 为应用程序授予所有运行时的权限 显示系统中全部设备: adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

2.开启ADB服务: adb start-server

3.关闭ADB服务: adb kill-server 停止 adb 服务

4.连接设备: adb connect 192.168.1.61 如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可。

5.断开设备: adb disconnect 192.168.1.61

6.安装一个apk adb install -r (APK路径) -r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。

7.直接卸载: adb uninstall (apk包名) 卸载 app 但保留数据和缓存文件: adb uninstall -k (apk包名)

8.列出手机装的所有app的包名: adb shell pm list packages

列出系统应用的所有包名: adb shell pm list packages -s

列出除了系统应用的第三方应用包名: adb shell pm list packages -3

9.清除应用数据与缓存: adb shell pm clear (apk包名)

10.启动应用 adb shell am start -n com.helloshan.demo/.MianActivity 此处无图,要知道具体的软件的包名及入口才可以打开。

11.强制停止应用 需要强制停止应用,则执行以下命令: adb shell am force-stop (apk包名)

12.删除系统应用: adb remount (重新挂载系统分区,使系统分区重新可写)。 adb shell cd system/app/ ls rm *.apk ls命令可以查看文件夹下的所有文件

12.杀死某个进程:(三个步骤) adb shell ps kill pid ps是查看进程命令,kill pid 你想结束的进程

13.pull和push文件 adb push (文件路径) (想要push的路径)

adb pull (文件路径) (想要pull的路径)

adb push/pull 之前有些设备要获取权限先,14条讲解。

14.获取文件的读写权限: adb remount 有些设备并不能直接adb remount,必须要先以root身份进入,先执行adb root,在执行adb remount

15.查看日志: adb logcat

16.查看屏幕分辨率 adb shell wm size

17.常用操作文件夹命令 操作文件和文件夹有时会出现权限不够,Read-only file system。就需要adb remount 操作,获得权限。 cd system/sd/data //进入系统内指定文件夹 ls //列表显示当前文件夹内容 mkdir xxx //创建xxx的文件夹 rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 rm xxx //删除文件xxx rmdir xxx //删除xxx的文件夹

18 Selinux adb shell setenforce 0

setenforce 0 :设置SELinux 成为permissive模式 临时关闭selinux的

在eng/userdebug版本中 使用setenforce 命令进行设置: adb shell setenforce 0 //设置成permissive 模式 adb shell setenforce 1 //设置成enforce 模式 注意此方法重启后失效

在eng/userdebug/user 版本中 使用getenforce 命令查询当前权限状态,如: adb shell getenforce adb shell dumpsys package com.sonymobile.tvout.wifidisplay | grep "CONNECTIVITY_INTERNAL" 19 dm-verity 关闭在调试环境下的dm-verity检查 adb disable-verity dm-verity: 它是dm(device mapper)的一个target,是一个虚拟块设备,专门用于文件系统的校验 获取UID的方法:

代码语言:javascript
复制
1|shell@miki8735_tb_m:/ $ ps | grep hola                                       u0_a120   26187 360   1757260 97896 SyS_epoll_ 0000000000 S com.hola.weathershell@miki8735_tb_m:/ $ cat /proc/26187/status                                 Name:   om.hola.weatherState:  S (sleeping)Tgid:   26187Pid:    26187PPid:   360TracerPid:  0Uid:    10120   10120   10120   10120Gid:    10120   10120   10120   10120

20 top命令是查看CPU利用率的 adb shell top -m 5 21 adb shell am broadcast [options] 作用:发送一个广播 adb shell am broadcast -n com.example.myapplication/.ThermalReceive 22 adb shell dumpsys meminfo 显示内存信息 23 adb shell dumpsys window windows 查看窗口

线程(网上大部分的方法都是无法获得信息的)

通过如下的命令可以查看特定进程的线程信息:

代码语言:javascript
复制
7Y6DU1I:/ $ ps -T -p 1807                                                      

运行结果如下:

USER PID TID PPID VSZ RSS WCHAN ADDR S CMD u0a232 1807 1807 751 5092496 116012 0 0 S e.myapplication u0a232 1807 1815 751 5092496 116012 0 0 S Jit thread pool u0a232 1807 1820 751 5092496 116012 0 0 S Signal Catcher u0a232 1807 1821 751 5092496 116012 0 0 S ADB-JDWP Connec u0a232 1807 1822 751 5092496 116012 0 0 S HeapTaskDaemon u0a232 1807 1824 751 5092496 116012 0 0 S ReferenceQueueD u0a232 1807 1825 751 5092496 116012 0 0 S FinalizerDaemon u0a232 1807 1826 751 5092496 116012 0 0 S FinalizerWatchd u0a232 1807 1827 751 5092496 116012 0 0 S Binder:18071 u0a232 1807 1828 751 5092496 116012 0 0 S Binder:18072 u0a232 1807 1830 751 5092496 116012 0 0 S Binder:18073 u0a232 1807 1848 751 5092496 116012 0 0 S Profile Saver u0a232 1807 1854 751 5092496 116012 0 0 S RenderThread u0a232 1807 1969 751 5092496 116012 0 0 S queued-work-loo u0a232 1807 2101 751 5092496 116012 0 0 S Binder:18074 u0a232 1807 2568 751 5092496 116012 0 0 S Binder:1807_5

在Android 10上需要使用下面的命令,上面的命令不起作用了。

代码语言:javascript
复制
ps -T -A  | grep 10435 

运行结果如下:

u0a364 10435 10435 826 15418252 117992 futexwaitqueueme 0 S example.burning u0a364 10435 10449 826 15418252 117992 dosigtimedwait 0 S Signal Catcher u0a364 10435 10450 826 15418252 117992 piperead 0 S perfettohprof u0a364 10435 10451 826 15418252 117992 dosyspoll 0 S ADB-JDWP Connec u0a364 10435 10452 826 15418252 117992 futexwaitqueueme 0 S Jit thread pool u0a364 10435 10453 826 15418252 117992 futexwaitqueueme 0 S HeapTaskDaemon u0a364 10435 10454 826 15418252 117992 futexwaitqueueme 0 S ReferenceQueueD u0a364 10435 10455 826 15418252 117992 futexwaitqueueme 0 S FinalizerDaemon u0a364 10435 10456 826 15418252 117992 futexwaitqueueme 0 S FinalizerWatchd u0a364 10435 10457 826 15418252 117992 dosyspoll 0 S gmain u0a364 10435 10458 826 15418252 117992 dosyspoll 0 S gdbus u0a364 10435 10459 826 15418252 117992 dosyspoll 0 S Thread-2 u0a364 10435 10461 826 15418252 117992 dosyspoll 0 S example.burning u0a364 10435 10462 826 15418252 117992 binderioctlwriteread 0 S Binder:104351 u0a364 10435 10463 826 15418252 117992 binderioctlwriteread 0 S Binder:104352 u0a364 10435 10465 826 15418252 117992 binderioctlwriteread 0 S Binder:104353 u0a364 10435 10468 826 15418252 117992 futexwaitqueueme 0 S Profile Saver u0a364 10435 10473 826 15418252 117992 binderioctlwriteread 0 S Binder:104354 u0a364 10435 10480 826 15418252 117992 binderioctlwriteread 0 S Binder:104355 u0a364 10435 10494 826 15418252 117992 doepoll_wait 0 S RenderThread

MuMu模拟器连接

找到配制文件myandrovm_vbox86.nemu,可以找到下面这句话 <Forwardingname="ADB_PORT"proto="1"hostip="127.0.0.1"hostport="7555"guestport="5555"/> 因此可以使用下面的命令来进行连接 adb connect 127.0.0.1:7555

公众号

更多内容,欢迎关注我的微信公众号:无情剑客。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 线程(网上大部分的方法都是无法获得信息的)
  • MuMu模拟器连接
  • 公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档