web-dev-qa-db-ja.com

複数のAndroidアプリケーション(apkファイルから))をデバイスにインストールする方法

50個のapkファイルがあり、多くのAndroidデバイスにインストールする必要があります。ワンクリックでそれをインストールするにはどうすればよいですか。 "install"コマンドでadbを使用してapkファイルをインストールできますが、方法一度に50のAPKファイルをインストールしますか?

Windowsを使用しています

ありがとう。

13
Danylo Volokh

私は解決策を見つけました。実際には非常に単純です:

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

それが私が探していたものです。みんな、ありがとう

5
Danylo Volokh

Windowsでは、次のコマンドラインを使用できます。

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

次のいずれかを使用できます(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)

1つずつインストールするよりも優先されます。これは、デバイスのモデムに接続/切断する各コマンドのオーバーヘッド接続時間を節約するためです。

一般的に言えば、パッケージ名(apkファイル)をエスケープするときにinstall-multipleを使用します。apkファイル名にスペースが含まれていないか、ファイル名をエスケープする必要があることを確認してください。 Windowsのcmdを使用している場合、"でのエスケープとラップは必須ではありませんが、少しトリックを使用している場合を除き、バッチファイルにいくつかのapkファイルをドロップし、%*を引数として使用します。

「1つずつインストールしたい場合は、次の回答のスクリプトを使用してください https://stackoverflow.com/a/34553043/257319 これにより、無制限にアクセスできます引数の数。インストールコマンドでapk-file名を適切に短縮します。

別の方法としては、APK全体を「ストレージ圧縮Zip」にバッチ圧縮してsdCardにプッシュし、tmpフォルダーに解凍し、シェルを使用してパッケージを1つずつインストールしますが、ローカルに存在するため、「adb -to-modem conversations」はほとんどありません:)

幸せなインストール:]

14
user257319

Linuxを使用していますか?すべてのapkを1つのディレクトリにコピーして、次のコマンドを実行するだけです。

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

複数の接続されたデバイスで同時に動作するクロスプラットフォームソリューションが必要な場合(デフォルトの場所でadbを見つけるなどの便利な機能がたくさんあります)、このツールをチェックアウトできます。

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

インストールの使い方

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

console showcase

ワイルドカードをサポートする複数のパッケージもアンインストールします。

完全な免責事項:私は開発者です

2
patrickf

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 . . .
1
Osman Vielma
for file  in ./*.apk;
do
 adb -s deviceserial install $file;
done
0
Victor Choy

これは私のために働きました:

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

すべてのAPKが現在のディレクトリにありました。 (Ubuntuで実行)

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. 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. 押す - F8キーボードまたはRun Selectionコマンドバー

    これにより、接続されたデバイス/エミュレータにすべてのAPKがインストールされます

0
adrenalineWest

Windowsの場合は、次のようにします。

cMDでurフォルダーパス内でこれを実行します。

dir /s /b > print.txt

テキストファイルを開き、すべてのEnteriesの名前を

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」に名前変更する必要があります。ウィンドウに表示されている拡張子を持っている必要があります。 Googleは、方法がわからない場合に

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

0
Joolah

Macで実行する場合は、すべてのAPKをフォルダに入れ、ターミナルでこれを試してください:

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

SDカードとMultiAPKInstallerを1つ備えた30台のデバイスに10個のapkファイルをインストールしました(Playストアで入手可能: https://play.google.com/store/apps/details?id=com.bifusimo.multiapkinstaller&hl=pl )。

0
Mr.R.

以下を「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

最後にログファイルが生成されます。すべてのエラーメッセージが含まれます。

0
Sabaat Ahmad