mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
95 lines
2.7 KiB
Bash
95 lines
2.7 KiB
Bash
#!/bin/bash
|
|
# Setup WSL2 environment for Android builds
|
|
# Run this once to install all dependencies
|
|
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo " WSL2 Android Build Environment Setup"
|
|
echo "=========================================="
|
|
|
|
# Update system
|
|
echo ""
|
|
echo "Updating system packages..."
|
|
sudo apt-get update
|
|
|
|
# Install JDK 17 (try multiple approaches)
|
|
echo ""
|
|
echo "Installing OpenJDK 17..."
|
|
if ! sudo apt-get install -y openjdk-17-jdk 2>/dev/null; then
|
|
echo "Adding Ubuntu toolchain PPA for JDK 17..."
|
|
sudo apt-get install -y software-properties-common
|
|
sudo add-apt-repository -y ppa:openjdk-r/ppa
|
|
sudo apt-get update
|
|
sudo apt-get install -y openjdk-17-jdk
|
|
fi
|
|
|
|
# Set JAVA_HOME
|
|
echo ""
|
|
echo "Configuring JAVA_HOME..."
|
|
JAVA_PATH=$(dirname $(dirname $(readlink -f $(which java))))
|
|
if ! grep -q "JAVA_HOME" ~/.bashrc; then
|
|
echo "export JAVA_HOME=$JAVA_PATH" >> ~/.bashrc
|
|
fi
|
|
export JAVA_HOME=$JAVA_PATH
|
|
echo "JAVA_HOME=$JAVA_HOME"
|
|
|
|
# Install build essentials
|
|
echo ""
|
|
echo "Installing build tools..."
|
|
sudo apt-get install -y build-essential curl git unzip
|
|
|
|
# Install Node.js via nvm
|
|
echo ""
|
|
if command -v node &> /dev/null; then
|
|
echo "Node.js already installed: $(node -v)"
|
|
else
|
|
echo "Installing Node.js via nvm..."
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
|
|
# Load nvm for this session
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
|
|
|
nvm install 20
|
|
nvm use 20
|
|
fi
|
|
|
|
# Install EAS CLI
|
|
echo ""
|
|
echo "Installing EAS CLI..."
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
|
npm install -g eas-cli
|
|
|
|
# Configure Android SDK path (use Windows SDK)
|
|
echo ""
|
|
echo "Configuring Android SDK..."
|
|
WIN_USER=$(cmd.exe /c "echo %USERNAME%" 2>/dev/null | tr -d '\r\n')
|
|
WIN_SDK_PATH="/mnt/c/Users/$WIN_USER/AppData/Local/Android/Sdk"
|
|
|
|
if [ -d "$WIN_SDK_PATH" ]; then
|
|
echo "Found Windows Android SDK at: $WIN_SDK_PATH"
|
|
if ! grep -q "ANDROID_HOME" ~/.bashrc; then
|
|
echo "export ANDROID_HOME=\"$WIN_SDK_PATH\"" >> ~/.bashrc
|
|
echo "export ANDROID_SDK_ROOT=\"$WIN_SDK_PATH\"" >> ~/.bashrc
|
|
echo 'export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"' >> ~/.bashrc
|
|
fi
|
|
else
|
|
echo "Windows Android SDK not found at: $WIN_SDK_PATH"
|
|
echo "You may need to set ANDROID_HOME manually in ~/.bashrc"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " Setup complete!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "Run this to reload your shell:"
|
|
echo " source ~/.bashrc"
|
|
echo ""
|
|
echo "Then build with:"
|
|
echo " cd /mnt/i/Projects/Sauci"
|
|
echo " ./scripts/build-android-local.sh"
|
|
echo ""
|