Skip to content

fix: Re-add Android SDK platform installation step #7

fix: Re-add Android SDK platform installation step

fix: Re-add Android SDK platform installation step #7

Workflow file for this run

name: Android Build
on:
push:
branches: [main, master]
paths:
- 'android/**'
- '.github/workflows/android-build.yml'
pull_request:
branches: [main, master]
paths:
- 'android/**'
- '.github/workflows/android-build.yml'
workflow_dispatch:
jobs:
lint-and-test:
name: Lint & Unit Tests
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- name: Install Gradle 8.7
run: |
wget -q https://services.gradle.org/distributions/gradle-8.7-bin.zip -O /tmp/gradle.zip
sudo unzip -q /tmp/gradle.zip -d /opt
echo "/opt/gradle-8.7/bin" >> $GITHUB_PATH
- name: Setup Android SDK
run: |
export SDK=/usr/local/lib/android/sdk
echo "ANDROID_HOME=$SDK"
# Ensure required platform is installed
if [ ! -d "$SDK/platforms/android-34" ]; then
echo "Installing android-34 platform..."
if [ -f "$SDK/cmdline-tools/latest/bin/sdkmanager" ]; then
yes | $SDK/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null 2>&1 || true
$SDK/cmdline-tools/latest/bin/sdkmanager "platforms;android-34" > /dev/null 2>&1
fi
fi
echo "sdk.dir=$SDK" > android/local.properties
- name: Run unit tests
working-directory: android
run: /opt/gradle-8.7/bin/gradle testDebugUnitTest 2>&1 | tail -60
env:
ANDROID_HOME: /usr/local/lib/android/sdk
- name: Upload test reports
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports
path: android/app/build/reports/tests/
retention-days: 7
build-apk:
name: Build Debug APK
runs-on: ubuntu-22.04
needs: lint-and-test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- name: Install Gradle 8.7
run: |
wget -q https://services.gradle.org/distributions/gradle-8.7-bin.zip -O /tmp/gradle.zip
sudo unzip -q /tmp/gradle.zip -d /opt
- name: Setup Android SDK
run: |
export SDK=/usr/local/lib/android/sdk
if [ ! -d "$SDK/platforms/android-34" ]; then
if [ -f "$SDK/cmdline-tools/latest/bin/sdkmanager" ]; then
yes | $SDK/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null 2>&1 || true
$SDK/cmdline-tools/latest/bin/sdkmanager "platforms;android-34" > /dev/null 2>&1
fi
fi
echo "sdk.dir=$SDK" > android/local.properties
- name: Build APK
working-directory: android
run: /opt/gradle-8.7/bin/gradle assembleDebug
env:
ANDROID_HOME: /usr/local/lib/android/sdk
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: app-debug
path: android/app/build/outputs/apk/debug/app-debug.apk
retention-days: 30