Android ADB 命令行

作者: 迷途小码农h | 来源:发表于2019-03-13 19:56 被阅读3次

用了 MBP,一直有个问题,不能像 Windows 一样直接拷贝文件到手机 SD 卡上,Android ADB 好像可以直接拷贝,但由于忙,没有去详细了解,最近刚需,要解决,于是系列学习了 ADB 知识,发现新大陆,没想到 ADB 这么强大,以下是我记录了 ADB 较常用的命令行,还有很多值得您去深掘,去学习。

拷贝文件

Mac 不能像 Windows 一样,直接拷贝文件到手机,要想拷东西或看下 SD 卡东西还是有点束手无策,其实是用 Android ADB 命令行解决这个需求。

从电脑拷贝到 SD 卡

命令格式:

adb push /Users/wuxiaolong/Desktop/books.db /sdcard/
/Users/wuxiaolong/Desktop/books.db:电脑文件路径

/sdcard/:拷贝到手机 SD 卡路径

从 sd 卡拷贝到电脑

命令格式:

adb pull /sdcard/books.db /Users/wuxiaolong/Desktop/
/sdcard/books.db:手机 SD 卡路径

/Users/wuxiaolong/Desktop/:拷贝到电脑路径,可以省略,默认复制到用户目录。

指定目标设备

如果电脑连接了多台设备,ADB 命令行会报错,提示 error: failed to get feature set: more than one device/emulator。

命令格式:

adb [-d|-e|-s <serialNumber>] <command>
如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s <serialNumber>] 这一部分,直接使用 adb <command>。

参数 含义
-d 指定当前唯一通过 USB 连接的 Android 设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s <serialNumber> 指定相应 serialNumber 号的设备/模拟器为命令目标
1、比如现在拷贝文件到模拟器上:

adb -e push /Users/wuxiaolong/Desktop/books.db /sdcard/
2、在多个设备/模拟器连接的情况下较常用的是 -s <serialNumber> 参数,serialNumber 可以通过 adb devices命令获取。如:

adb devices
List of devices attached
0815f85118631704 device
emulator-5554 device
输出里的 0815f85118631704和emulator-5554 即为 serialNumber。

继续拷贝文件到指定 emulator-5554 这个设备上:

adb -s emulator-5554 push /Users/wuxiaolong/Desktop/books.db /sdcard/
又如想给 10.129.164.6:5555 这个设备安装应用(这种形式的 serialNumber 格式为 <IP>:<Port>,一般为无线连接的设备或 Genymotion 等第三方 Android 模拟器):

adb -s 10.129.164.6:5555 install test.apk
安装 APK

命令格式:

adb install [-lrtsdg] <path_to_apk>
参数:

adb install 后面可以跟一些可选参数来控制安装 APK 的行为,可用参数及含义如下:

参数 含义
-l 将应用安装到保护目录 /mnt/asec
-r 允许覆盖安装
-t 允许安装 AndroidManifest.xml 里 application 指定android:testOnly="true" 的应用
-s 将应用安装到 sdcard
-d 允许降级覆盖安装
-g 授予所有运行时权限
<path_to_apk>:APK 路径,可以直接拖进终端。

示例:

adb install /Users/wuxiaolong/Desktop/app-release.apk
Success
查看应用列表

命令格式:

adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
即在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如下:

参数 显示列表
无 所有应用
-f 显示应用关联的 apk 文件
-d 只显示 disabled 的应用
-e 只显示 enabled 的应用
-s 只显示系统应用
-3 只显示第三方应用
-i 显示应用的 installer
-u 包含已卸载应用
<FILTER> 包名包含 <FILTER> 字符串
示例:

adb shell pm list packages -3
package:org.geometerplus.zlibrary.ui.android
package:com.danmo.ithouse
package:com.wuxiaolong.ndksample
列出了包名。

卸载应用

命令格式:

adb uninstall [-k] <packagename>
-k 参数可选,表示卸载应用但保留数据和缓存目录;<packagename> 表示应用的包名。

示例:

adb uninstall com.danmo.ithouse
Success
其他

屏幕截图

命令格式:

adb exec-out screencap -p > sc.png
-p指定保存文件为 png 格式,实测如果指定文件名以 .jpg 等其他格式结尾时 -p 参数无效,不要这个参数,保存图片就打不开。sc.png 默认在用户目录。

查看分辨率

命令:

adb shell wm size
Physical size: 1080x1920
Android 系统版本

命令:

adb shell getprop ro.build.version.release
8.1.0
查看型号

命令:

adb shell getprop ro.product.model
Android SDK built for x86
清除应用数据与缓存

命令格式:

adb shell pm clear <packagename>
<packagename> 表示应用名包,这条命令的效果相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。

示例:

adb shell pm clear com.wuxiaolong.ndksample
Success

相关文章

  • Android物语:adb 介绍

    adb简介 Android Debug Bridge (adb) 是一个Android的命令行工具。可以用来连接模...

  • ADB常用命令及作用

    ADB ADB全称Android Debug Bridge。ADB是一种功能多样的命令行工具,起到了调试桥的作用,...

  • ADB常用命令

    一、什么是ADB? adb:一种功能多样的命令行调试工具。 Android 调试桥 (adb),可与设备进行通信。...

  • Android ADB详解

    ADB Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设...

  • mac上adb的安装配置

    什么是adb? adb工具即Android Debug Bridge(安卓调试桥)tools。它就是一个命令行窗口...

  • Mac adb调试小米盒子

    adb是什么? adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗...

  • adb命令行相关

    adb命令行快捷启动 安装AndroidSDK 找到adb.exe的位置,大概是下面这个样子:D:\Android...

  • 关于adb命令你所需要知道的

    概述 Android Debug Bridge (adb) 是一个通用命令行工具,是 Android 开发/测试人...

  • 初学adb(一)

    一.命令学习: 1.adb shell :进入Android终端命令行2.adb push 完整文件名 需要安装的...

  • 2019-10-15

    简介adb ADB,即 Android Debug Bridge, 是一种功能多样的命令行工具,可让您与设备进行通...

网友评论

    本文标题:Android ADB 命令行

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