美文网首页
adb shell命令学习

adb shell命令学习

作者: Killshadow | 来源:发表于2019-01-06 14:27 被阅读0次

0x00 概要命令

  1. adb shell pm list packages,列举所有的安装包。
  2. adb connect ip:port,网络adb连接。
  3. adb install package ,安装应用。
  4. adb uninstall package,卸载应用。
  5. adb tcp:port tcp:port,端口转发。adb forward tcp:23946 tcp:23946,连接IDA试。
  6. adb reboot bootloader, 进入fastboot
  7. mount -o rw,remount /system, 将system文件夹变为可读写的文件系统
  8. adb shell getprop | grep product, 查看设备信息(CPU信息等)
  9. adb shell dumpsys activity | grep com.xxx.xxx.xx, 打印Activity栈顶信息

fastboot下命令:
fastboot devices -l 列举设备
fastboot flashing lock 15年以后
fastboot oem lock 15年以前
fastboot flash recovery twrp-3.0.2-0-hammerhead.img 刷入recovery
fastboot reboot 重启手机
fastboot oem get-bootinfo

0x01 详细命令

adb logcat -v time -f /sdcard/test.txt -s "TAG:*" 
 
说明:1, -v time表示日志的输出日志,默认导出来是没时间的
     2, -f 后面的参数表示要输出的日志文件,这里的路径必须要是手机上的路径
     3, -s 后面的参数要过滤日志的TAG,相当于Log.d("TAG","......");
     4,在cmd窗口下执行完这条命令后,这条命令会一直阻塞在那里,不能关闭掉cmd窗口,一关掉就停止输出日志到文件了。

0x02 adb内部命令

卸载:adb uninstall [-k] [package] k表示保留配置文件
安装:adb install -r [package]
上传:adb push text.txt /sdcard/txt.txt
下载:adb pull /data/app/com.qylk.express-2.apk
显示执行中的进程及CPU使用情况top
显示内存使用情况free
更改一个或多个文件或目录的属主和属组chown
启动Activity: am start -n 包名/类名 如am start -n cn.qylk/.Logo
相机: am start -n com.android.camera/com.android.camera.Camera
浏览器:am start -n com.android.browser/com.android.browser.BrowserActivity
定位: am start -a android.intent.action.VIEW geo:0,0?q=beijing
启动网页: am start -a android.intent.action.VIEW -d http://www.aizheke.com
打电话: am start -a android.intent.action.CALL -d tel:88888888
启动: Serviceam startservice -n cn.qylk/.service.LocalService
查看LOG信息: logcat -s [标签名]【记录到文件:-f [filename]】
查看设备: adb devices
进入shell: adb -s emulator-5554 shell
设备序列号: adb get-serialno
快捷方式: ln -s <target> <name>
重启: reboot [-n] [-p] [rebootcommand]
-n: 在重开机前不做将记忆体资料写回硬盘的动作。
adb reboot 重新启动
adb reboot recovery重新启动到recovery
adb reboot bootloader 重新启动到bootloader
挂载: systemadb remount
加载文件系统: mount -a [-r] [-t type] [-o options] [-rw] device dir
-t type:显示被加载文件系统的类型。
-n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。
如:mount -o remount,rw /dev/block/mtdblock3 /system
常用文件命令:rm、cp、mkdir、mv、chmod、grep(文本搜索)、find
杀进程:kill
比较文件: diff(显示详细不同点)、cmp(显示结论)
检查文件系统的磁盘占用: df
显示文件内容: cat [name]

0x03 adb获取设备信息

adb shell 获取手机设备信息:
1、设备基本信息:cat /system/build.prop | grep "product"
2、CPU信息:/proc/cpuinfo和/proc/stat
3、内存:/proc/meminfo adb shell dumpsys meminfo
Terms
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

0x03 adb 取出安装在手机中的 apk

第一步,找到程序的包名
借助 adb shell pm 命令,将安装的所有应用包名列出来:

    $ adb shell pm list packages
    package:android
    package:cn.wps.moffice
    package:com.android.backupconfirm
    package:com.android.bluetooth
    package:com.android.browser
    package:com.android.calculator2
    package:com.android.camera
    package:com.android.certinstaller
    package:com.android.contacts

第二步,找到 apk 的位置

    $ adb shell pm path com.tence01.mm
    package:/data/app/com.tence01.mm-1.apk

第三步,pull 出来

    $ adb pull /data/app/com.tence01.mm-1.apk ~/apks
    2407 KB/s (25567735 bytes in 10.370s)

相关文章

网友评论

      本文标题:adb shell命令学习

      本文链接:https://www.haomeiwen.com/subject/sttnaxtx.html