【问题标题】:adb install apk on multiple connected devices using WINDOWSadb 使用 WINDOWS 在多个连接的设备上安装 apk
【发布时间】:2016-02-29 07:32:18
【问题描述】:

我正在寻找一种解决方案,将所有 apk 安装在所有使用 Windows 连接的设备上的文件夹中。 我到处找,我只能找到 Bash 解决方案。

这是我遇到的最好的 bash:

通过本网站 http://engineering.meetme.com/2014/07/quick-tip-how-to-install-or-uninstall-apks-on-multiple-android-devices-with-just-one-command/

#!/bin/bash
# Script adb+
# Usage
# You can run any command adb provides on all your currently connected devices
# ./adb+ <command> is the equivalent of ./adb -s <serial number> <command>
# Examples
# ./adb+ version
# ./adb+ install apidemo.apk
# ./adb+ uninstall com.example.android.apis
adb devices | while read line
do
  if [ ! "$line" = "" ] && [ `echo $line | awk '{print $2}'` = "device" ]
  then
      device=`echo $line | awk '{print $1}'`
      echo "adb -s $device $@ ..."
      adb -s $device $@
  fi
done

现在我想知道如何将其转换为 bat 文件? 请问有谁知道怎么做……

我可以手动执行此操作: 我运行 adb devices,然后复制所有 id 并在下面的代码中替换

ECHO Running Bat script
@ECHO OFF
:: comment
 adb -s <DEVICE_ID> install MyApk.apk
 adb -s <DEVICE_ID> install MyApk2.apk
 adb -s <DEVICE_ID> install MyApk3.apk

但我需要自动化这个过程。

我需要学习如何获取所有已连接的 devices_id 作为上面的 bash 代码。然后获取文件夹中的所有 .apk 文件(此 bat 文件所在的位置)。 然后运行安装...

如果有人知道如何提供帮助,真的很感激。谢谢。

【问题讨论】:

  • 查看下面的脚本。这是一个棘手的问题。

标签: android bash batch-file cmd adb


【解决方案1】:

最后,设法正确实现它(将当前文件夹中的所有 apk 安装到所有连接的设备):

echo off       
setlocal EnableDelayedExpansion           
for /f "tokens=*" %%f in ('C:\android\sdk\platform-tools\adb.exe devices') do (
for /r %%p in (*.apk) do (
set devicestr=%%f
set apk=%%p
if "!devicestr!"=="!devicestr:List=!" (
for /f "tokens=1" %%d in ("!devicestr!") do (
set deviceid=%%d
echo !deviceid!
echo !apk!
C:\android\sdk\platform-tools\adb.exe -s !deviceid! install !apk!
)
)
)
)

此行删除“已连接设备列表”:

如果 "!devicestr!"=="!devicestr:List=!" (

【讨论】:

  • 谢谢,感谢您的帮助。我明天会试试,让你知道我的进展如何。再次感谢您。
猜你喜欢
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-04
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多