How can I adb install an apk to multiple connected devices?

后端 未结 20 2075
余生分开走
余生分开走 2020-11-30 19:03

I have 7 devices plugged into my development machine.

Normally I do adb install and can install to just a single device.

Now

20条回答
  •  忘掉有多难
    2020-11-30 19:13

    Here is bash for install and run apk on all connected devices

    Using

    nick@nickolay:/home/workspace/MyProject$ > bash path/to/installAndRunApk.sh

    installAndRunApk.sh

    #!/usr/bin/env bash
    #--------find apk---------
    apkFile=$(find -name '*.apk' -print | grep -oP '(?<=.).*(.apk)')
    
    #--------find apkFilePath---------
    if test -z "apkFile"
    then
    echo "apkFile: is NULL"
    exit 0;
    fi
    
    echo "apkFile: ${apkFile}"
    apkFilePath=$(pwd)${apkFile}
    echo "apk file path: ${apkFilePath}"
    
    #--------install---------
    if test -z "$apkFilePath"
    then
    echo "apkFilePath: is NULL"
    exit 0;
    fi
    
    echo "adb install -t -r ${apkFilePath}"
    for SERIAL in $(adb devices | grep -v List | cut -f 1);
    do `adb -s ${SERIAL} install -t -r ${apkFilePath}`;
    done
    
    #--------get applicationId---------
    echo "aapt dump badging ${apkFilePath} | grep -oP '(?<=package: name=).*(?=versionCode)'"
    applicationId=$(aapt dump badging ${apkFilePath} | grep -oP '(?<=package: name=).*(?=versionCode)')
    echo "applicationId: is ${applicationId}"
    
    #--------launch---------
    if test -z "$applicationId"
    then
    echo "applicationId: is NULL"
    exit 0;
    fi
    
    echo "____________________START_APPLICATION_ID________________________"
    echo "applicationId: ${applicationId}"
    echo "____________________END_APPLICATION_ID__________________________"
    echo "____________________START_LAUNCHER______________________________"
    for SERIAL in $(adb devices | grep -v List | cut -f 1);
    do `adb -s ${SERIAL} shell monkey -p ${applicationId} -c android.intent.category.LAUNCHER 1`;
    done
    echo "____________________END_LAUNCHER________________________________"
    

提交回复
热议问题