常用ADB命令
博客专区 > ShawnXia 的博客 > 博客详情
常用ADB命令
ShawnXia 发表于1年前
常用ADB命令
  • 发表于 1年前
  • 阅读 97
  • 收藏 6
  • 点赞 2
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

摘要: 写给自己看

来自我的简书:http://www.jianshu.com/p/c5dde71b96ad

1、 adb version 查看ADB版本信息。

2、 android list targets 显示SDK中所有的Android平台信息。 列出来的是SDK里面安装的所有版本的API信息,每两个版本之间以 ------ 进行分隔。 输入例子如下:

id: 8 or "Google Inc.:Google APIs:23"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 1
     Description: Android + Google APIs
     Based on Android 6.0 (API level 23)
     Libraries:
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : no ABIs.

3、 adb install [-lrtsdg] <file> 安装APK文件。

ArgsDescription个人理解
-lforward lock application锁定当前file
-rreplace existing application替换已存在的,会保留数据
-tallow test packages允许调试
-sinstall application on sdcard安装到SD
-dallow version code downgrade允许低版本覆盖高版本
-ggrant all runtime permissions授予所有runtime权限

4、 adb push [-p] <local> <remote> 拷贝file/dir(官方如是说)到设备

ArgsDescription个人理解
-pto display the transfer progress显示拷贝进度

注: adb install 是将APK安装到data/data/目录下,作为普通用户应用软件。 adb push 不是安装命令,它是将file/dir写入设备的存储系统中;因此,只要有相应的权限,就可以将文件放到任何目录下,当然也就能将APK文件pushsystem目录下,作为系统应用程序。

5、 adb pull [-p] [-a] <remote> [<local>] 从设备拷贝 file/dir(官方如是说)local 指定的目录。

ArgsDescription个人理解
-pto display the transfer progress显示拷贝进度
-ameans copy timestamp and mode复制时间戳和模式(这个a对应哪个单词?)

6、 adb remount 重新挂载系统分区,使系统分区可读写。

7、 adb shell 进入shell命令模式。

8、 logcat | grep "TAG"shell命令模式下查看TAG日志

9、 adb uninstall [-k] <package> 卸载APK。

ArgsDescription个人理解
-kmeans keep the data and cache directories保留当前 APP 的数据和缓存目录

10、 rm *.apkshell 命令下删除文件。

11、 adb shell df 查看系统盘符和大小。如:

FilesystemSizeUsedFreeBlksize
/dev224.1M80.0K224.1M4096
/sys/fs/cgroup224.1M12.0K224.1M4096
/mnt224.1M0.0K224.1M4096
/system1.5G873.7M614.2M4096
/data1.7G293.4M1.4G4096
/cache248.0M156.0K247.8M4096
/protect_f5.8M56.0K5.8M4096
/protect_s5.8M52.0K5.8M4096
/nvdata27.5M864.0K26.6M4096
/storage224.1M0.0K224.1M4096
/mnt/runtime/default/emulated1.7G293.4M1.4G4096
/storage/emulated1.7G293.4M1.4G4096
/mnt/runtime/read/emulated1.7G293.4M1.4G4096
/mnt/runtime/write/emulated1.7G293.4M1.4G4096

12、 adb shell pm list packages -f 输出所有已安装的应用。 这条命令在 shell 也可以使用:pm list packages -f 输出例子如下:

 C:\Users\Shawn>adb shell pm list packages -f
package:/system/priv-app/FMRadio/FMRadio.apk=com.android.fmradio
package:/system/plugin/PrivacyProtectionLock/PrivacyProtectionLock.apk=com.mediatek.ppl
package:/system/vendor/operator/app/Litres/Litres.apk=ru.litres.android
package:/system/app/Uicc2Terminal/Uicc2Terminal.apk=org.simalliance.openmobileapi.uicc2terminal
package:/system/priv-app/TelephonyProvider/TelephonyProvider.apk=com.android.providers.telephony
package:/system/app/AdupsFotaReboot/AdupsFotaReboot.apk=com.adups.fota.sysoper
package:/system/vendor/operator/app/Vkontakte/Vkontakte.apk=com.vkontakte.android

13、 adb shell input keyevent + Code 模拟按键输入。部分按键 Code 如下:

CodeAction
82menu
3home
19up
20down
21left
22right
66enter
4back

14、 adb shell input touchscreen swipe <x1> <y1> <x2> <y2> 模拟滑动输入。

ArgsDescription
x1起点 x 坐标
y1起点 y 坐标
x2终点 x 坐标
y2终点 y 坐标

输入举例:adb shell input touchscreen swipe 18 665 18 350

15、 adb shell am start -n 包名/包名+类名 启动 Activity。 举例如下: adb shell am start -n com.android.music/com.android.music.MusicBrowserActivity

16、 adb shell screenrecord <file> 录制屏幕。 举例如下: adb shell screenrecord /storage/emulated/demo.mp4

17、 adb shell dumpsys 输出所有 Activity 的运行状态。 不建议直接使用,建议配合 shell 下的 grep 命令进行过滤使用。 举例如下: 输入 dumpsys activity activities | grep "mms" 输出

    1|root@DEXP:/ # dumpsys activity activities | grep "mms"
    * TaskRecord{94182ff #104 A=android.task.mms U=0 sz=1}
      userId=0 effectiveUid=u0a11 mCallingUid=u0a11 mCallingPackage=com.android.mms
      affinity=android.task.mms
      intent={flg=0x10008000 cmp=com.android.mms/.ui.ConversationList}
      realActivity=com.android.mms/.ui.ConversationList
      Activities=[ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}]
      * Hist #0: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
          packageName=com.android.mms processName=com.android.mms
          launchedFromUid=10011 launchedFromPackage=com.android.mms userId=0
          app=ProcessRecord{5f565ae 9179:com.android.mms/u0a11}
          Intent { flg=0x10008000 cmp=com.android.mms/.ui.ConversationList }
          frontOfTask=true task=TaskRecord{94182ff #104 A=android.task.mms U=0 sz=1}
          taskAffinity=android.task.mms
          realActivity=com.android.mms/.ui.ConversationList
          dataDir=/data/user/0/com.android.mms
      TaskRecord{94182ff #104 A=android.task.mms U=0 sz=1}
        Run #0: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
    mResumedActivity: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
  mFocusedActivity: ActivityRecord{2d76a1e u0 com.android.mms/.ui.ConversationList t104}
共有 人打赏支持
粉丝 0
博文 24
码字总数 13934
×
ShawnXia
您的赞赏都会让我开心一整天
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: