如何安装多个Android应用程序(从apk文件)到设备?

时间:2013-11-28 16:56:56

标签: android adb apk

我有50个apk文件,我需要将它安装到许多Android设备上。如何一键安装它。 我可以通过“安装”命令使用adb安装apk文件但是如何一次安装50个apk文件?

我正在使用Windows

感谢。

15 个答案:

答案 0 :(得分:23)

在Windows中,您可以使用以下命令行:

for %f in (C:\your_app_path\*.apk) do adb install "%f"

答案 1 :(得分:13)

您可以使用(来自ADB帮助):

adb install-multiple [-lrtsdpg] <file...>
                             - push this package file to the device and install it
                               (-l: forward lock application)
                               (-r: replace existing application)
                               (-t: allow test packages)
                               (-s: install application on sdcard)
                               (-d: allow version code downgrade)
                               (-p: partial application install)
                               (-g: grant all runtime permissions)

优先安装一个一个, 因为您将在连接/断开设备调制解调器的每个命令上节省一些开销连接时间,

一般来说,在转义包名(你的apk文件)时使用install-multiple, 你最好确保apk文件名没有空格,否则你必须转义文件名。 如果你正在使用windows的cmd转义和"包装是强制性的,除非你使用一个小技巧:在批处理文件上删除一些apk文件并使用%*作为参数。

如果你还在&#34;我想逐个安装, 使用我的脚本来自以下答案https://stackoverflow.com/a/34553043/257319它将允许您无限量的参数,同时适当缩短安装命令中的apk文件名..

另一种方法是将整个APK批量压缩为“存储 - 压缩邮编”。将它推送到sdCard,将其解压缩到tmp文件夹,然后使用shell逐个安装软件包,但由于这些软件在本地存在,所以&#34; adb-to-modem对话&#34;几乎没有:)

快乐安装:]

答案 2 :(得分:7)

你正在使用linux吗?您可以将所有apks复制到一个目录,然后只需运行:

#!/bin/sh
for file in /dir/*
do
  adb install $file 
done

答案 3 :(得分:5)

我找到了解决方案。它实际上非常简单:

  

adb install application1.apk &amp; adb install application2.apk &amp; adb install applicaiton3

这就是我在寻找的东西。 谢谢大家

答案 4 :(得分:2)

如果您需要一个同时适用于多个连接设备的跨平台解决方案(具有一系列便利功能,例如在默认位置查找adb),您可以查看此工具:

https://github.com/patrickfav/uber-adb-tools

安装用法

java -jar uber-adb-tools.jar --install /folder/apks/

console showcase

还可以使用通配符支持卸载多个包。

完全免责声明:我是开发人员

答案 5 :(得分:1)

基于(并感谢)alextooter的回答 由Manoj Khanna编辑

我想出了这个:

在Windows中,您可以使用以下命令行:

for %f in (C:\your_app_path\*.apk) do adb install "%f"

在批处理文件中:

您可以使用%% f和“%% f”代替,经过长时间的努力,我在批处理文件中提出了这个非常简洁的解决方案:

@echo Preparing to install all .apk files in "C:\My Hardware\Cell Phone\APKs\" folder to device

@pause

@for /f "delims=|" %%f in ('dir /b "C:\My Hardware\Cell Phone\APKs\"*.apk') do @"C:\My Hardware\Cell Phone\ADB\adb.exe" install -r "C:\My Hardware\Cell Phone\APKs\%%f"

@echo End of Batch File

@pause

这个批处理文件提供了这个输出,[注意一些错误,因为文件名中的非常规字符(™商标字符和'&amp;'符号),但没有什么可担心的,这将是另一个话题]

[最后一句话。原始文件夹地址比“我的硬件”长得多,并且它仅为了说明目的而编辑,如果有任何机会忘记在其他行中编辑然后知道。 这是三重检查,但无论如何,一个人永远不会知道。]

所以,使用屏幕输出复制粘贴:

Preparing to install all .apk files in "C:\My Hardware\Cell Phone\APKs\" folder to device

Press any key to continue . . .

2119 KB/s (3730200 bytes in 1.718s)

        pkg: /data/local/tmp/AdAway_v3 (04-2015).apk

Success

2349 KB/s (39102487 bytes in 16.250s)

        pkg: /data/local/tmp/Amazon Kindle_4.13.0.203_1144258763.apk

Success

1681 KB/s (591738 bytes in 0.343s)

        pkg: /data/local/tmp/Apk Extractor_3.04.apk

Success

1824 KB/s (2685472 bytes in 1.437s)

        pkg: /data/local/tmp/CCleaner_v1.11.43_71411143.apk

Success

1433 KB/s (22935 bytes in 0.015s)

        pkg: /data/local/tmp/Contenidos_1.0_1.apk

Success

can't find 'C:\My Hardware\Cell Phone\APKs\Digital clock XperiaT_3.8.0.96_96.apk' to install

2955 KB/s (189128 bytes in 0.062s)

        pkg: /data/local/tmp/DiskUsage_3.5.3_3053.apk

Success

1761 KB/s (873714 bytes in 0.484s)

        pkg: /data/local/tmp/Galactic Core Free_2.41_43.apk

Success

2619 KB/s (11988685 bytes in 4.468s)

        pkg: /data/local/tmp/Gmail_5.3.95312851_53000576.apk

Success

2380 KB/s (2856307 bytes in 1.171s)

        pkg: /data/local/tmp/Goggles_1.9.4_211.apk

Success

2555 KB/s (38071805 bytes in 14.546s)

        pkg: /data/local/tmp/Google App_4.7.13.19.arm_300412076.apk

Success

2467 KB/s (23850128 bytes in 9.437s)

        pkg: /data/local/tmp/Google Keyboard_4.1.22063.1974169_22063.apk

Success

2682 KB/s (9999424 bytes in 3.640s)

        pkg: /data/local/tmp/Google Play Books_3.4.9_30409.apk

Success

2141 KB/s (13604976 bytes in 6.203s)

        pkg: /data/local/tmp/Google Play Games_3.1.11 (2044178-030)_31110030.apk

Success

2689 KB/s (9640324 bytes in 3.500s)

/system/bin/sh:  TV_3.8.8_38081.apk: not found

/system/bin/sh:  TV_3.8.8_38081.apk: not found

2761 KB/s (17101587 bytes in 6.046s)

        pkg: /data/local/tmp/Google Play Music_6.0.1945S.2039625_1945.apk

Success

2694 KB/s (7631202 bytes in 2.765s)

        pkg: /data/local/tmp/Google Play Newsstand_3.2.0_2014040406.apk

Success

2371 KB/s (41779806 bytes in 17.203s)

        pkg: /data/local/tmp/Google Play services_7.5.74 (1997312-030)_7574030.apk

Success

2759 KB/s (13424078 bytes in 4.750s)

        pkg: /data/local/tmp/Google Text-to-speech Engine_3.4.6.1819666.arm_2103
04060.apk

Success

2448 KB/s (34089466 bytes in 13.593s)

        pkg: /data/local/tmp/Google+_5.8.0.96635860_414049433.apk

Success

2499 KB/s (20197317 bytes in 7.890s)

        pkg: /data/local/tmp/Hangouts_3.3.94322993_22401362.apk

Success

2371 KB/s (13280248 bytes in 5.468s)

        pkg: /data/local/tmp/Keep_3.1.204.00_3120400.apk

Success

2672 KB/s (20566942 bytes in 7.515s)

        pkg: /data/local/tmp/Maps_9.10.1_910100121.apk

Success

2292 KB/s (5759074 bytes in 2.453s)

        pkg: /data/local/tmp/Nova Launcher_4.0.1_40100.apk

Success

2515 KB/s (3098485 bytes in 1.203s)

        pkg: /data/local/tmp/Santa Biblia Reina Valera 1960_1.5.3_40.apk

Success

2769 KB/s (4918721 bytes in 1.734s)

        pkg: /data/local/tmp/TalkBack_4.2.0_40200008.apk

Success

1857 KB/s (564672 bytes in 0.296s)

        pkg: /data/local/tmp/Terminal Emulator_1.0.70_71.apk

Success

2266 KB/s (1160352 bytes in 0.500s)

        pkg: /data/local/tmp/Tinycore_3.2.2_22.apk

Success

2221 KB/s (12048716 bytes in 5.296s)

        pkg: /data/local/tmp/WALKMAN_8.3.A.0.2.apk

Success

1667 KB/s (18543284 bytes in 10.859s)

        pkg: /data/local/tmp/WhatsApp_2.12.158_450540.apk

Success

End of Batch File

Press any key to continue . . .

答案 6 :(得分:0)

如果您想在Mac上执行此操作,请将所有APK放在一个文件夹中并在终端中尝试:

for file in apk/*; 
do 
./adb install $file; 
done

答案 7 :(得分:0)

对于Windows,请执行以下操作:

在你的ur文件夹路径中的CMD中运行:

dir /s /b > print.txt

打开文本文件并重命名

中的所有企业
c:\......

adb install -r c:\....

文件应如下所示:(假设您使用记事本查看“print.txt”文件,请按“CTRL + H”。这将打开“查找和替换”对话框。

adb install -r c:\apps\com.ups.mobile.android-2.apk
adb install -r c:\apps\com.vavni.android.battleship-1.apk

现在您需要将“c:\ apps \ print.txt”中的.txt扩展名重命名为“print.bat”。您需要在Windows中显示扩展名。谷歌,如果你不知道该怎么做

http://forum.xda-developers.com/showthread.php?t=743457

答案 8 :(得分:0)

我已经在30台设备上安装了10个apk文件,其中包含一个SDCard和MultiAPKInstaller(可在Play商店中使用:https://play.google.com/store/apps/details?id=com.bifusimo.multiapkinstaller&hl=pl)。

答案 9 :(得分:0)

这对我有用:

ls *.apk | cut -d' ' -f9 | tr '\r' ' ' | xargs -r -n1 -t adb install

所有APK都存在于当前目录中。 (在Ubuntu上执行)

答案 10 :(得分:0)

for file  in ./*.apk;
do
 adb -s deviceserial install $file;
done

答案 11 :(得分:0)

在Windows 10上使用Powershell ISE:

  1. 将所有*.apk个文件放在一个文件夹中(不要在文件名中使用空格)

  2. 使用

    导航到此文件夹
    CD "/your/folder/dir"
    
  3. 键入以下命令:

    (gci -re *.apk).Fullname
    

    这将返回具有完整路径的所有apk文件

  4. 将所有列表复制到“脚本”面板(在右侧或底部)-然后 Ctrl + A

  5. Ctrl + H 打开查找并替换

  6. “ adb install” 替换apk文件之前的路径(末尾有1个空格)

    例如,如果我们有这个:

    C:/Users/Username/Documents/APK Folder/first.apk
    C:/Users/Username/Documents/APK Folder/second.apk
    C:/Users/Username/Documents/APK Folder/third.apk
    

    替换后:

    adb install first.apk
    adb install second.apk
    adb install third.apk
    
  7. 使用 Ctrl + A

  8. 再次选择所有列表
  9. 按键盘上的 F8 或命令栏上的运行选择

    这会将所有apk安装到连接的设备/模拟器

答案 12 :(得分:0)

将以下内容另存为“ something.ps1 ”。 右键单击-> 使用PowerShell运行

$startTime = Get-Date -Format 'yyyy-MM-dd-HH-mm-ss'
$fileNames = Get-ChildItem -Path $scriptPath -Recurse -Include *.apk
$log = foreach ($f in $fileNames) { adb install -r $f }
$log | Out-File installation-$startTime.log

最后将生成一个日志文件。它将包含所有错误消息。

答案 13 :(得分:0)

我为Windows开发了脚本,该脚本可将所有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!
)
)
)
)

答案 14 :(得分:-1)

执行Alextooter答案所需的分步操作:

在Windows 10上:

  1. 在此处下载adb​​ fastboot(第一篇文章中的下载链接):https://forum.xda-developers.com/showthread.php?t=2317790
  2.   

    最小的ADB和Fastboot_techbeasts.rar

    1. 提取到c:/ b / fastboot(例如)
    2. 打开c:/b/fastboot/py_cmd.exe
    3. 通过usb将手机连接到Windows
    4. 在电话上:

      1. 设置&gt;关于手机&gt;点按底部7附近的构建版本或构建模型 时间&gt;解锁开发者选项。
      2. 设置&gt;开发者选项&gt;启用adb调试
      3. 在Windows上的ADB中
      4. :输入:
      5. adb devices

        查看哪些可用。

        1. 如果说...未经授权,请解锁手机屏幕并接受电脑键。

        2. 然后,如果您在c:/b/fastboot/test.apk中粘贴.apk,则以下命令会安装该应用:

          adb install test.apk

        3. 以下命令安装文件夹中的所有apks:

          for %f in (C:\your_app_path\*.apk) do adb install "%f"

        4. 请注意,如果路径中有空格,则应将路径放在引号之间:

          for %f in ("c:/b/fastboot/subfolder with space in the name/apks\*.apk") do adb install "%f"