Ответ 1
Я нашел решение. На самом деле это очень просто:
adb install application1.apk & adb install application2.apk & adb install applicaiton3
То, что я искал. Спасибо всем
У меня есть 50 файлов apk, и мне нужно установить его на многие устройства Android. Как установить его одним щелчком мыши. Я могу установить файл apk с помощью adb через команду "install", но как установить сразу 50 файлов apk?
Я использую Windows
Спасибо.
Я нашел решение. На самом деле это очень просто:
adb install application1.apk & adb install application2.apk & adb install applicaiton3
То, что я искал. Спасибо всем
В Windows вы можете использовать эту командную строку:
for %f in (C:\your_app_path\*.apk) do adb install "%f"
вы можете использовать (из ADB
help):
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)
который предпочтительнее установки по одному, так как вы будете экономить некоторое время соединения по каждой команде, подключая/отключаясь к модему вашего устройства,
вообще говоря, используйте install-multiple
, избегая имени пакета (ваши файлы apk),
вам лучше убедиться, что имена файлов apk не имеют пробелов или вам придется избегать имен файлов.
если вы используете windows cmd, экранирование и обтекание с помощью "
является обязательным, если вы не используете небольшой трюк: отбрасываете несколько файлов apk над пакетным файлом и используете аргумент %*
as.
если вы все еще на "Я хочу установить один за другим, используйте мой script из следующего ответа fooobar.com/questions/132701/..., он позволит вам неограниченное количество аргументов, а при правильном сокращении имени apk файла в команде установки.
другая альтернатива - пакетное сжатие всего APK в "хранилище-сжатие zip", нажимая его на SDCard, распаковывая его в папку tmp и используя оболочку для установки пакетов один за другим, но поскольку они существуют локально накладные расходы "разговоров adb-to-modem" почти не будет:)
счастливая установка:]
Вы используете linux? Вы можете скопировать все apks в один каталог, а затем просто запустить:
#!/bin/sh
for file in /dir/*
do
adb install $file
done
Если вам требуется кросс-платформенное решение, которое одновременно работает и на нескольких подключенных устройствах (с набором удобных функций, например, с поиском adb в местоположении по умолчанию), вы можете проверить этот инструмент:
https://github.com/patrickfav/uber-adb-tools
Использование для установки
java -jar uber-adb-tools.jar --install /folder/apks/
Также удаляет несколько пакетов с поддержкой подстановочных знаков.
Полная оговорка: я разработчик
Основано (и спасибо) на ответ alextooter и отредактировал Маной Ханна
Я придумал это:
В 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
Этот командный файл дал этот результат, [заметите пару ошибок, потому что нетрадиционные символы в имени файла (™ trade Mark Char и символ "&" ), но не о чем беспокоиться, это будет другая тема.]
[Последнее замечание. Исходный адрес папок был намного длиннее, чем "мое оборудование", и он был отредактирован только для иллюстративных целей, если бы он был забыт редактировать в некоторых других строках, тогда имейте в виду. Это было проверено трижды, но в любом случае никто не знает.]
поэтому с помощью функции "Экранный вывод":
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 . . .
Если вы хотите сделать это на Mac, поместите все свои APK в папку и попробуйте это в терминале:
for file in apk/*;
do
./adb install $file;
done
Для Windows выполните следующее:
в CMD внутри пути к папке ur выполните следующее:
dir /s /b > print.txt
Откройте текстовый файл и переименуйте все enteries из
c:\......
to
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
Теперь вам нужно переименовать это расширение .txt в "c:\apps\print.txt" на "print.bat". Вам нужно иметь расширение, показанное в окнах. Google, если вы не знаете, как это сделать
Я установил 10 файлов apk на 30 устройствах с одной SDCard и MultiAPKInstaller (доступно в магазине воспроизведения: https://play.google.com/store/apps/details?id=com.bifusimo.multiapkinstaller&hl=pl).
Это сработало для меня:
ls *.apk | cut -d' ' -f9 | tr '\r' ' ' | xargs -r -n1 -t adb install
Все APK были в текущем каталоге. (выполняется на Ubuntu)
for file in ./*.apk;
do
adb -s deviceserial install $file;
done
Пошаговые действия, необходимые для выполнения ответа Alextooter:
На окнах 10:
Минимальный ADB и Fastboot_techbeasts.rar
по телефону:
adb devices
чтобы увидеть, какие из них доступны.
Если он говорит... неавторизован, разблокируйте экран телефона и примите ключ компьютера.
затем, если вы вставите файл .apk в c: /b/fastboot/test.apk, приложение установит следующую команду:
adb install test.apk
Следующая команда устанавливает все apks в папку:
for %f in (C:\your_app_path\*.apk) do adb install "%f"
Обратите внимание, если в пути есть пробел, вы должны поставить путь между кавычками:
for %f in ("c:/b/fastboot/subfolder with space in the name/apks\*.apk") do adb install "%f"