Jac*_*kie 427 shell android cmd adb android-debug
Run Code Online (Sandbox Code Playgroud)$ adb --help
...
Run Code Online (Sandbox Code Playgroud)-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
...
Run Code Online (Sandbox Code Playgroud)$ adb devices List of devices attached emulator-5554 device 7f1c864e device
...
Run Code Online (Sandbox Code Playgroud)$ adb shell -s 7f1c864e error: more than one device and emulator
?
jan*_*not 740
使用-s
选项BEFORE命令指定设备,例如:
adb -s 7f1c864e shell
Run Code Online (Sandbox Code Playgroud)
另请参阅http://developer.android.com/tools/help/adb.html#directingcommands
Saz*_*han 252
adb -d shell
(或者,adb -e shell
如果您要连接到模拟器).
如果您懒得输入完整ID,此命令将在大多数情况下为您提供帮助.
来自http://developer.android.com/tools/help/adb.html#commandsummary:
-d
- 将adb命令指向唯一连接的USB设备.连接多个USB设备时返回错误.
-e
- 将adb命令指向唯一正在运行的仿真器.运行多个仿真器时返回错误.
mon*_*tux 31
另一种方法是将环境变量ANDROID_SERIAL设置为相关的序列,这里假设您使用的是Windows:
set ANDROID_SERIAL="7f1c864e"
echo %ANDROID_SERIAL%
"7f1c864e"
Run Code Online (Sandbox Code Playgroud)
然后你可以adb.exe shell
毫无问题地使用.
Dan*_*ett 26
我看到"多个设备"错误后发现了这个问题,其中有2个离线手机显示:
C:\Program Files (x86)\Android\android-sdk\android-tools>adb devices
List of devices attached
SH436WM01785 offline
SH436WM01785 offline
SH436WM01785 sideload
Run Code Online (Sandbox Code Playgroud)
如果只连接了一个设备,请运行以下命令以消除脱机连接:
adb kill-server
adb devices
Run Code Online (Sandbox Code Playgroud)
pel*_*can 17
要在其中一个模拟器上安装 apk:
首先获取设备列表:
-> adb devices
List of devices attached
25sdfsfb3801745eg device
emulator-0954 device
Run Code Online (Sandbox Code Playgroud)
然后使用以下-s
标志在模拟器上安装 apk :
-> adb -s "25sdfsfb3801745eg" install "C:\Users\joel.joel\Downloads\release.apk"
Performing Streamed Install
Success
Run Code Online (Sandbox Code Playgroud)
Ps.:这里的顺序很重要,所以-s <id>
必须在install
命令之前,否则它不起作用。
希望这可以帮助某人!
Moh*_*raj 11
根据https://developer.android.com/studio/command-line/adb#directingcommands
对我的测试有用的:
UBUNTU BASH 终端:
$ adb devices
List of devices attached
646269f0 device
8a928c2 device
$ export ANDROID_SERIAL=646269f0
$ echo $ANDROID_SERIAL
646269f0
$ adb reboot bootloader
Run Code Online (Sandbox Code Playgroud)
Windows命令提示符:
$ adb devices
List of devices attached
646269f0 device
8a928c2 device
$ set ANDROID_SERIAL=646269f0
$ echo $ANDROID_SERIAL$
646269f0
$ adb reboot bootloader
Run Code Online (Sandbox Code Playgroud)
这使您能够使用普通命令和脚本,就好像仅连接了 ANDROID_SERIAL 设备一样。
或者,您可以每次都提及设备序列号。
$ adb -s 646269f0 shell
Run Code Online (Sandbox Code Playgroud)
当连接多个设备时,这个要点将为您显示菜单做大部分工作:
$ adb $(android-select-device) shell
1) 02783201431feeee device 3) emulator-5554
2) 3832380FA5F30000 device 4) emulator-5556
Select the device to use, <Q> to quit:
Run Code Online (Sandbox Code Playgroud)
为了避免键入你可以创建一个包含在设备选择作为解释的别名这里.
对于 Windows,这里有一个快速的 1 行示例,说明如何在多个设备上安装文件
FOR /F "skip=1" %x IN ('adb devices') DO start adb -s %x install -r myandroidapp.apk
Run Code Online (Sandbox Code Playgroud)
如果您计划将其包含在批处理文件中,请将 %x 替换为 %%x,如下所示
FOR /F "skip=1" %%x IN ('adb devices') DO start adb -s %%x install -r myandroidapp.apk
Run Code Online (Sandbox Code Playgroud)
用户@janot
已经在上面提到了这一点,但这花了我一些时间来过滤最佳解决方案。
有两个广泛的用例:
1)连接了 2 个硬件,第一个是模拟器,另一个是设备。
解决方案:adb -e shell....whatever-command
用于模拟器和adb -d shell....whatever-command
设备。
2)N通过USB / ADB-的WiFi连接的设备(所有模拟器或手机/平板电脑)的数量:
解决方案:第一步)运行adb devices
当前通过USB或ADBoverWiFI)连接(设备这会给你一个列表
步骤2)现在运行adb -s <device-id/IP-address> shell....whatever-command
无论怎样你有很多设备。
在连接到 wifi ADB 的设备上清除应用程序数据的示例我将执行:
adb -s 172.16.34.89:5555 shell pm clear com.package-id
要清除在我的 USB 连接设备上连接的应用程序数据,我将执行:
adb -s 5210d21be2a5643d shell pm clear com.package-id
在任何特定设备上运行 shell 的最佳方法是使用:
adb -s << emulator UDID >> shell
For Example:
adb -s emulator-5554 shell
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
320169 次 |
最近记录: |