ADB常用命令

ADB简介

adb命令是adb这个程序自带的一些命令,而adb shell则是调用的Android系统中的命令,这些Android特有的命令都放在Android设备的system/bin目录下

查看adb版本号

查看adb版本号:adb version

查看电脑上连接的所有手机设备

查看电脑上连接的所有手机设备:adb devices

指定对应serialNumber号的设备/模拟器

adb -s HJS0218930001800 install test.apk指定在设备号为HJS0218930001800的设备上安装应用

adb pulladb push

  1. adb pull [手机路径] [电脑路径] 将手机中的文件拉取到电脑中,示例:adb pull /sdcard/test.txt E:\
  2. adb push [电脑路径] [手机路径] 将电脑中的文件推送到手机中,示例:adb push E:\test.txt /sdcard/

adb install

  1. 安装应用:adb install test.apk
    • -r:替换已经存在的应用,即adb install -r test.apk
    • -d:允许降版本安装
    • -t:允许安装测试包
    • -s:将应用安装到sdcard
    • -g:为应用授予所有运行时权限

adb uninstall

  1. 卸载应用:adb uninstall [packagename],其中packagename表示应用包名,示例:
    adb uninstall com.tencent.mm
    • -k:表示卸载应用但是保留数据和缓存目录,示例:adb uninstall -k com.tencent.mm

adb logcat

  1. 查看所有日志:adb logcat
    • -v:设置日志的输出格式
    • -s:查看某一标识的日志:adb logcat -s [flag],示例:adb logcat -s test,同时过滤多个标识:adb logcat -s test1,test2,test3
    • -f:将应用日志输出到手机文件中:adb logcat -f [filePath],其中filePath表示文件路径
      ,示例:adb logcat -f /sdcard/test.txt
    • -t:输出最近的几条日志,然后退出命令。示例:adb logcat -t 10
  2. 将应用日志输出到电脑文件中:adb logcat > E:\test.txt
  3. 指定输出某一标识的某个日志级别及以上的日志信息:adb logcat -s test:D
    • 同时输出多个标识的某个日志级别及以上的日志信息:adb logcat -s test1,test2,test3:D
    • 输出所有某个日志级别及以上的日志信息:adb logcat *:D
    • 日志级别分类:
      • VVerbose,默认日志
      • DDebug,调试日志。
      • IInfo,一般提示性信息
      • WWarn,警告信息
      • EError,异常或错误信息
  4. 将指定标识的某个日志级别及以上的日志信息输出到电脑文件中:adb logcat -s gyb:D > E:\test.txt
  5. 查看指定应用日志:windows命令如下adb logcat | findstr [进程ID]linux命令入下adb logcat | grep [进程ID],示例:adb logcat | findstr 13584
    • 查看指定应用的指定标识的日志:windows命令如下adb logcat -s test:D | findstr 13584linux命令如下adb logcat -s test:D | grep 13584

adb shell

ps

  1. 列出手机中所有进程信息:adb shell ps
  2. 查找某个应用的进程信息:windows命令如下adb shell "ps | grep [keyword]"adb shell ps | findstr [keyword]linux命令如下adb shell ps | grep [keyword],其中keyword
    可以是应用包名或者包名的一部分,示例:adb shell "ps | grep com.example.learn"

pm

  1. 列出手机中已安装的所有应用包名:adb shell pm list packages
    • -s:列出手机中已安装的所有系统应用,即adb shell pm list packages -s
    • -3:列出手机中已安装的所有第三方应用
    • -f:列出手机中已安装的所有应用的包名和APK存放路径
  2. 查找对应包名的APK所在路径:adb shell pm path com.tencent.mm
  3. 禁止应用:adb shell pm disable [packagename],其中packagename表示应用包名,示例:
    adb shell pm disable com.tencent.mm
  4. 启用应用:adb shell pm enable [packagename],其中packagename表示应用包名,示例:
    adb shell pm enable com.tencent.mm
  5. 清楚应用数据和缓存:adb shell pm clear [packagename],其中packagename表示应用包名,示例:
    adb shell pm clear com.tencent.mm

APK签名

查看签名文件

keytool -list -v -keystore [keystorePath]
keystorePath:签名文件绝对路径

示例:
keytool -list -v -keystore D:\Key\test.jks

查看第三方应用签名

首先对第三方应用进行解压缩,找到文件名为META-INF的文件夹,找到里面后缀名为.RSA的文件
keytool -printcert -file [RSAPath]
RSAPath:对第三方APK文件解压缩后,文件名为META-INF的文件夹中后缀名为.RSA的文件

示例:
keytool -printcert -file D:\Test\META-INF\TEST.RSA

给空白APK文件签名

方法一:
jarsigner -verbose -keystore [keystorePath] -signedjar [newPath] [oldPath] [alias]
keystorePath:签名文件绝对路径
newPath:签名后文件的输出路径
oldPath:未签名文件的原始路径
alias:签名文件的alias名称(创建时所填写)

示例:
jarsigner -verbose -keystore D:\Key\test.jks -signedjar D:\Key\New.apk D:\Key\Old.apk test

方法二:
jarsigner -verbose -keystore [keystorePath] -storepass [keystorePass] -signedjar [newPath] [oldPath] [alias]
keystorePath:签名文件绝对路径
keystorePass:签名文件密码
newPath:签名后文件的输出路径
oldPath:未签名文件的原始路径
alias:签名文件的alias名称(创建时所填写)

示例:
jarsigner -verbose -keystore D:\Key\test.jks -storepass test -signedjar D:\Key\New.apk D:\Key\Old.apk test
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近看到一些关于adb的相关知识,总结一下,这些常用的命令以后可以直接拿来用~ adb其实就是Android De...
    Mr_冯先生阅读 9,703评论 0 10
  • adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括...
    skyyhu阅读 3,957评论 0 1
  • adb 常用命令 ADB的全称为Android Debug Bridge,就是起到调试桥的作用。ADB是andro...
    DC_ing阅读 5,879评论 0 3
  • vscode的go插件这款插件的特性包括: • Colorization 代码着彩色 • Completion L...
    小线亮亮阅读 14,229评论 0 7
  • 自由自在的生活,在我的解释里,就是精神的文明。 生命的过程,无论是阳春白雪,青菜豆腐,我都得尝尝是什么滋味,才不枉...
    九十七的阅读 1,748评论 0 1