Add Android Capacitor app and build workflow

- apps/android/: Capacitor project wrapping the mobile web UI
- www/index.html: full DWM remote UI with first-run server IP setup screen
- capacitor.config.json: app ID com.dibby.wemo, allowMixedContent enabled
- .github/workflows/build-android.yml: builds debug APK on Ubuntu via Gradle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
SRS IT
2026-03-29 18:20:27 -04:00
parent 3480c75f4c
commit fe48f9b465
4 changed files with 1317 additions and 0 deletions
+78
View File
@@ -0,0 +1,78 @@
name: Build Android APK
on:
workflow_dispatch:
inputs:
tag:
description: 'Version tag (e.g. 2.0.0)'
required: false
default: '2.0.0'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Set up Android SDK
uses: android-actions/setup-android@v3
- name: Install Android platform tools
run: |
sdkmanager "platforms;android-34" "build-tools;34.0.0"
- name: Install Capacitor dependencies
working-directory: apps/android
run: npm install
- name: Add Android platform
working-directory: apps/android
run: npx cap add android || echo "Android platform already exists"
- name: Sync Capacitor
working-directory: apps/android
run: npx cap sync android
- name: Make gradlew executable
working-directory: apps/android/android
run: chmod +x gradlew
- name: Build debug APK
working-directory: apps/android/android
run: ./gradlew assembleDebug
- name: Rename APK
run: |
VERSION="${{ github.event.inputs.tag }}"
cp apps/android/android/app/build/outputs/apk/debug/app-debug.apk \
"dibby-wemo-$VERSION-android.apk"
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: dibby-wemo-android-apk
path: dibby-wemo-*.apk
retention-days: 30
- name: Upload to GitHub Release
if: github.event.inputs.tag != ''
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ github.event.inputs.tag }}
files: dibby-wemo-*.apk
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}