42 lines
960 B
Bash
Executable File
42 lines
960 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
typeset -a abis
|
|
SCRIPT_NAME=$(basename $0)
|
|
|
|
function log() {
|
|
echo "${SCRIPT_NAME} ${1}: ${2}" >&2
|
|
}
|
|
|
|
# make sure server is running, otherwise sdb will show devices offline
|
|
adb start-server
|
|
|
|
while IFS= read line; do
|
|
read -a arr <<< "${line}"
|
|
|
|
device_name="${arr[0]}"
|
|
device_status=${arr[1]}
|
|
|
|
log "DEBUG" "device_name=${device_name}"
|
|
log "DEBUG" "device_status=${device_status}"
|
|
|
|
if [[ "${device_status}" != "device" ]]; then
|
|
continue
|
|
fi
|
|
|
|
device_product_abi=$(adb -s ${device_name} shell -n getprop ro.product.cpu.abi)
|
|
log "DEBUG" "device_product_abi=${device_product_abi}"
|
|
|
|
if [[ ! ${abis[*]} =~ ${device_product_abi} ]]; then
|
|
abis+=("${device_product_abi}")
|
|
fi
|
|
done <<< "$(adb devices | tail -n+2)"
|
|
|
|
if [[ ! "${abis[*]}" ]]; then
|
|
log "ERROR" "no devices found. Check 'adb devices -l' output and share with Infra team if needed."
|
|
exit 3
|
|
fi
|
|
|
|
log "DEBUG" "resulting abis:"
|
|
IFS=\;; echo "${abis[*]}"
|