blob: 034b15322e042e7de9a67cdd95a59609b7736587 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/sh
initialize_adb() {
if [ -z "${SN}" ]; then
local number="$(adb devices | grep -wc 'device')"
if [ "${number}" -gt 1 ]; then
warn_msg "Device not specified; define SN or use '-s'"
error_msg "More than one device or emulator found"
elif [ "${number}" -eq 1 ]; then
SN="$(adb devices | grep -w 'device' | awk '{print $1}')"
export SN
else
error_msg "Device NOT found"
fi
fi
adb -s "${SN}" shell ls / > /dev/null 2>&1
if [ $? -eq 0 ]; then
info_msg "Connected to device ${SN} successfully"
else
error_msg "Unable to connect to device ${SN}"
fi
}
detect_abi() {
# "| tr -d '\r'" is needed here, refer to the below issue.
# https://code.google.com/p/android/issues/detail?id=2482
abi="$(adb -s "${SN}" shell uname -m | tr -d '\r')"
case $abi in
armv7|armv7l|armv7el|armv7lh) abi="armeabi" ;;
arm64|armv8|arm64-v8a|aarch64) abi="arm64" ;;
*) error_msg "Unknown architecture" ;;
esac
info_msg "ABI: ${abi}"
}
install() {
local file_path="$1"
local file_name="$(basename "${file_path}")"
if adb -s "${SN}" shell mount | grep system | grep -q ro; then
# Remounts the /system partition on the device read-write
info_msg "/system partition is read-only, remounting it read-write..."
adb -s "${SN}" remount
fi
info_msg "Installing ${file_name}"
adb -s "${SN}" push "${file_path}" "/system/bin/"
adb -s "${SN}" shell chmod 755 "/system/bin/${file_name}"
}
pull_output() {
local device_output="$1"
local host_output="$2"
info_msg "Pulling output from devcie ${SN}"
adb -s "${SN}" pull "${device_output}" "${host_output}"
}
|