【问题标题】:How to install multiple android applications ( from apk files) into device?如何将多个 android 应用程序(从 apk 文件)安装到设备中?
【发布时间】:2013-12-14 19:10:52
【问题描述】:

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

我正在使用 Windows

谢谢。

【问题讨论】:

    标签: android adb apk


    【解决方案1】:

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

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

    【讨论】:

    • 对于任何偶然发现此问题的 mac 或 linux 用户,类似的命令将是 find . -name "*.apk" -exec adb install {} \; 以在当前目录(和任何子目录)中安装所有 apk 文件。
    • adb install-multiple 命令并不总是对我有用,到处抛出错误。为了方便起见,我不得不回退到此命令并保证将安装文件夹中的所有 apk。
    【解决方案2】:

    您可以使用(来自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 文件放在批处理文件上并使用 %* 作为参数。

    如果你还在“我要一一安装, 从以下答案 https://stackoverflow.com/a/34553043/257319 使用我的脚本,它将允许您无限量的参数,同时在安装命令中正确缩短 apk 文件名..

    另一种选择是将整个 APK 批量压缩为“存储压缩 zip”,将其推送到 sdCard,将其解压缩到 tmp 文件夹,然后使用 shell 一个一个地安装包,但由于这些包存在于本地,因此开销很大“adb-to-modem 对话”几乎没有 :)

    安装愉快:]

    【讨论】:

      【解决方案3】:

      你在使用 linux 吗?您可以将所有 apk 复制到一个目录,然后简单地运行:

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

      【讨论】:

      • 我忘了说。我在 Windows 上
      【解决方案4】:

      我找到了解决方案。其实很简单:

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

      这就是我想要的。 谢谢大家

      【讨论】:

      • 几乎,最好使用| 而不是&amp;。 - - &amp; 会说“如果没有问题,请继续下一次安装”,但有时(除非您选择使用 -r 强制安装:替换现有应用程序)软件包已安装或损坏,在这种情况下整行会停止执行,但在这种情况下,其余的install 指令也不会执行,虽然这在某些情况下很好(你想调试出现错误的包)通常批量安装倾向于喜欢“大众方式”。使用| 就像说“继续”。
      • 这不再是正确答案 - adb install-multiple 是您需要的命令。
      【解决方案5】:

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

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

      安装使用

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

      还卸载多个支持通配符的包。

      完全免责声明:我是开发者

      【讨论】:

        【解决方案6】:

        这对我有用:

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

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

        【讨论】:

          【解决方案7】:

          基于(并感谢)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
          

          这个批处理文件给出了这个输出,[注意几个错误,因为文件名中有非常规字符(™ 交易标记字符和“&”符号),但不用担心,这将是另一个话题。 ]

          [最后一句话。原始文件夹地址比“我的硬件”要长得多,并且仅出于说明目的进行了编辑,如果有任何机会忘记在其他行中进行编辑,请注意。 它经过三重检查,但无论如何,人们永远不会知道。]

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

          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 . . .
          

          【讨论】:

            【解决方案8】:
            for file  in ./*.apk;
            do
             adb -s deviceserial install $file;
            done
            

            【讨论】:

              【解决方案9】:

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

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

              【讨论】:

              【解决方案10】:

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

              在你的文件夹路径中的 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

              【讨论】:

                【解决方案11】:

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

                【讨论】:

                  【解决方案12】:

                  在 Windows 10 上使用 Powershell ISE:

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

                  2. 使用

                    导航到此文件夹
                    CD "/your/folder/dir"
                    
                  3. 输入这个命令:

                    (gci -re *.apk).Fullname
                    

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

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

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

                  6. 将apk文件前的路径替换为"adb install"(最后有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 安装到连接的设备/模拟器

                  【讨论】:

                    【解决方案13】:

                    将以下内容另存为“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
                    

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

                    【讨论】:

                      【解决方案14】:

                      我为 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!
                      )
                      )
                      )
                      )
                      

                      【讨论】:

                        【解决方案15】:

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

                        在 Windows 10 上:

                        1. 在这里下载adb​​ fastboot(下载链接在第一篇):https://forum.xda-developers.com/showthread.php?t=2317790

                        最小的ADB和Fastboot_techbeasts.rar

                        1. 解压到 c:/b/fastboot(例如)
                        2. 打开 c:/b/fastboot/py_cmd.exe
                        3. 通过usb将手机连接到windows

                        在手机上:

                        1. 设置>关于手机>在底部 7 附近点击 build nr 或 build model times>解锁开发者选项。
                        2. 设置>开发者选项>启用adb调试
                        3. 在 Windows 上的 ADB 中:输入:

                        adb devices

                        查看哪些可用。

                        1. 如果显示...未授权,请解锁手机屏幕并接受 pc 密钥。

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

                          adb install test.apk

                        3. 以下命令将所有 apk 安装在一个文件夹中:

                          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"

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2011-11-22
                          • 1970-01-01
                          • 2012-01-26
                          • 2015-04-01
                          • 2014-09-04
                          相关资源
                          最近更新 更多