Skip to content

Fix cmdline-tools path and accept all SDK licenses #9

Fix cmdline-tools path and accept all SDK licenses

Fix cmdline-tools path and accept all SDK licenses #9

Workflow file for this run

name: Build SmartCalc APK
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout repo
- name: Checkout code
uses: actions/checkout@v3
# Step 2: Cache pip packages
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
# Step 3: Cache Buildozer folder
- name: Cache Buildozer
uses: actions/cache@v3
with:
path: .buildozer
key: ${{ runner.os }}-buildozer-${{ hashFiles('**/buildozer.spec') }}
restore-keys: |
${{ runner.os }}-buildozer-
# Step 4: Install system dependencies
- name: Install system dependencies
run: |
sudo apt update
sudo apt install -y python3-pip python3-setuptools python3-wheel git zip unzip openjdk-17-jdk wget
pip install --upgrade pip
pip install buildozer cython virtualenv
# Step 5: Download cmdline-tools and accept Android SDK licenses
- name: Accept Android SDK licenses
run: |
mkdir -p $HOME/.buildozer/android/platform/android-sdk/cmdline-tools
# Download cmdline-tools if missing
if [ ! -f $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/latest/bin/sdkmanager ]; then
wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip
unzip -q cmdline-tools.zip -d $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/
# Move extracted folder to 'latest'
mv $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/cmdline-tools $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/latest
fi
# Accept all licenses
yes | $HOME/.buildozer/android/platform/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses
# Step 6: Build APK
- name: Build APK
run: |
buildozer android debug
# Step 7: Upload APK artifact
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: SmartCalc-APK
path: bin/*.apk