forked from samlin001/asd-codelabs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasd.sh
executable file
·111 lines (96 loc) · 2.64 KB
/
asd.sh
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/bash
readme() {
echo '''
Utility scripts for Android System Development, e.g.
/ws/asd-codelabs/asd.sh setupVm
. /ws/asd-codelabs/asd.sh setEnv
asd.sh go
asd.sh studio
asd.sh sync
asd.sh buildSdkPhone
asd.sh buildAPhone
asd.sh runAvd
asd.sh avdInfo
'''
}
setupVm() {
SECONDS=0
echo "Set up a new VM"
echo "Check if kvm is enabled for the VM. If not, follow Enabling nested virtualization for VM instances"
ls -l /dev/kvm
echo "Add yourself to the kvm grols up"
sudo adduser ${USER} kvm
echo "Ensure the kvm group can access to kvm"
sudo chmod 660 /dev/kvm
grep kvm /etc/group
echo "link ${HOME}/Android to /ws/Android to use preloaded SDK"
ln -s /ws/Android ${HOME}/Android
echo 'alias lunchSdkPhone=". build/envsetup.sh && lunch sdk_phone_x86_64-userdebug"' >> ~/.bashrc
echo 'alias lunchAPhone=". build/envsetup.sh && lunch aphone-userdebug"' >> ~/.bashrc
echo 'alias studio="/ws/android-studio/bin/studio.sh &"' >> ~/.bashrc
echo 'export PATH=$PATH:/ws/bin:/ws/asd-codelabs' >> ~/.bashrc
echo 'export PATH=$PATH:/ws/google-cloud-sdk/bin:/ws/Android/Sdk/emulator' >> ~/.bashrc
echo "setupVm took ${SECONDS}"
}
setEnv() {
echo "Set up development environment for each terminal."
if [[ -z ${ANDROID_BUILD_TOP} ]]; then
export ANDROID_BUILD_TOP="/ws/android"
fi
echo "ANDROID_BUILD_TOP=${ANDROID_BUILD_TOP}"
if [[ -z ${ANDROID_SDK_ROOT} ]]; then
export ANDROID_SDK_ROOT="${HOME}/Android/Sdk"
fi
echo "ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}"
cd "${ANDROID_BUILD_TOP}"
}
go() {
echo "Open useful sites for reference."
xdg-open https://github.com/samlin001/asd-codelabs
xdg-open https://devhints.io/command_line
xdg-open https://devhints.io/bash
xdg-open https://devhints.io/vim
xdg-open https://cloud.google.com/sdk/docs/cheatsheet
xdg-open https://github.com/android/compose-samples/releases/tag/v1.0.0-beta07
}
sync() {
SECONDS=0
cd "${ANDROID_BUILD_TOP}"
repo sync -j16
echo "took ${SECONDS} sec. to sync."
}
build() {
SECONDS=0
m -j16
echo "took ${SECONDS} sec. to build."
}
buildSdkPhone() {
cd "${ANDROID_BUILD_TOP}"
. build/envsetup.sh && lunch sdk_phone_x86_64-userdebug
build
}
buildAPhone() {
cd "${ANDROID_BUILD_TOP}"
. build/envsetup.sh && lunch aphone-userdebug
build
}
runAvd() {
emulator -no-snapshot -memory 4096 -qemu -smp 6 &
}
avdInfo()
{
echo "Check key device info"
adb shell getprop | grep ro.build.fingerprint
adb shell getprop | grep abi
adb shell ls -l /product/media
adb shell ls -l /product/app
adb shell pm list features
adb shell cat /proc/meminfo
adb shell cat /proc/cpuinfo
}
if [[ -z $1 ]]; then
readme
else
echo "Running: $@"
$@
fi