1
0
Fork 0

Add Android SDK and Flutter SDK installation scripts

main
Ambrose Chua 2023-07-27 13:48:46 +08:00
parent 11d25f4574
commit ee2dd3f088
3 changed files with 102 additions and 0 deletions

56
.local/bin/install_android_sdk Executable file
View File

@ -0,0 +1,56 @@
#!/bin/sh
set -eu
android_sdk_path="$HOME/.android/sdk"
jdk_path="$HOME/.android/jdk"
install_jdk() {
version=20.0.2
major_version=20
build=9
case "$(uname -s)" in
Darwin) os=mac;;
*) os=linux;;
esac
wget \
--output-document /tmp/openjdk.tar.gz \
https://github.com/adoptium/temurin${major_version}-binaries/releases/download/jdk-${version}%2B${build}/OpenJDK${major_version}U-jdk_x64_${os}_hotspot_${version}_${build}.tar.gz
mkdir -p /tmp/openjdk
tar -x \
--gunzip \
--directory /tmp/openjdk \
--file /tmp/openjdk.tar.gz
rm -rf "$jdk_path"
mv /tmp/openjdk/jdk-${version}+${build} "$jdk_path"
rm -r /tmp/openjdk.tar.gz /tmp/openjdk
}
install_android_sdk() {
sdkmanager_version=7.0
version=9477386
case "$(uname -s)" in
Darwin) os=mac;;
*) os=linux;;
esac
mkdir -p "$android_sdk_path/cmdline-tools"
wget \
--output-document /tmp/commandlinetools.zip \
https://dl.google.com/android/repository/commandlinetools-${os}-${version}_latest.zip
unzip -q /tmp/commandlinetools.zip -d /tmp/commandlinetools
rm -rf "$android_sdk_path/cmdline-tools/$sdkmanager_version"
mv /tmp/commandlinetools/cmdline-tools "$android_sdk_path/cmdline-tools/$sdkmanager_version"
rm -r /tmp/commandlinetools.zip /tmp/commandlinetools
ln -s "$android_sdk_path/cmdline-tools/$sdkmanager_version" "$android_sdk_path/cmdline-tools/latest"
"$android_sdk_path/cmdline-tools/latest/bin/sdkmanager" --licenses
"$android_sdk_path/cmdline-tools/latest/bin/sdkmanager" tools
"$android_sdk_path/cmdline-tools/latest/bin/sdkmanager" platform-tools
}
install_jdk
export PATH="$jdk_path/bin:$PATH"
install_android_sdk
echo "To install platforms, run:"
echo ' sdkmanager "build-tools;33.0.2" "platforms;android-33"'

29
.local/bin/install_flutter_sdk Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
set -eu
flutter_path="$HOME/flutter"
install_flutter_sdk() {
version=3.10.6
channel=stable
case "$(uname -s)" in
Darwin) os=macos;;
*) os=linux;;
esac
wget \
--output-document /tmp/flutter.tar.xz \
https://storage.googleapis.com/flutter_infra_release/releases/${channel}/${os}/flutter_${os}_${version}-${channel}.tar.xz
mkdir -p /tmp/flutter
tar -x \
--xz \
--directory /tmp/flutter \
--file /tmp/flutter.tar.xz
rm -rf "$flutter_path"
mv /tmp/flutter/flutter "$flutter_path"
rm -r /tmp/flutter.tar.xz /tmp/flutter
"$flutter_path/bin/flutter" precache
}
install_flutter_sdk

17
.zshrc
View File

@ -127,8 +127,25 @@ setup_g() {
export PATH="$HOME/go/bin:$PATH" GOPATH="$HOME/go" GOROOT="$HOME/.go" # g-install: do NOT edit, see https://github.com/stefanmaric/g
}
[[ -f "$HOME/go/bin/g" ]] && setup_g
setup_android_sdk() {
# See ~/.local/bin/install_android_sdk
export ANDROID_SDK_ROOT="$HOME/.android/sdk"
export PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/platform-tools:$PATH"
if [[ -d "$HOME/.android/jdk" ]]; then
export JAVA_HOME="$HOME/.android/jdk"
export PATH="$JAVA_HOME/bin:$PATH"
fi
}
[[ -d "$HOME/.android/sdk" ]] && setup_android_sdk
setup_flutter() {
# See ~/.local/bin/install_android_sdk
export PATH="$HOME/flutter/bin:$HOME/.pub-cache/bin:$PATH"
if ! which google-chrome >/dev/null 2>/dev/null; then
if which flatpak >/dev/null 2>/dev/null; then
flatpak_exports="$(flatpak --installations)/exports"
export CHROME_EXECUTABLE="$flatpak_exports/bin/com.google.Chrome"
fi
fi
}
[[ -d "$HOME/flutter/bin" ]] && setup_flutter
setup_cargo() {