Update network.py #340
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build KingWatch Pro APK | |
| on: | |
| push: | |
| branches: [ main, master ] | |
| pull_request: | |
| branches: [ main, master ] | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y \ | |
| git zip unzip openjdk-17-jdk \ | |
| autoconf automake libtool pkg-config \ | |
| zlib1g-dev libncurses5-dev libncursesw5-dev \ | |
| libtinfo5 cmake libffi-dev libssl-dev \ | |
| build-essential ccache rsync | |
| - name: Force Java 17 | |
| run: | | |
| sudo update-java-alternatives -s java-1.17.0-openjdk-amd64 || true | |
| echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
| echo "/usr/lib/jvm/java-17-openjdk-amd64/bin" >> $GITHUB_PATH | |
| - name: Install Buildozer and Cython | |
| run: | | |
| pip install --upgrade pip | |
| pip install buildozer==1.5.0 cython==3.0.11 | |
| - name: Cache Buildozer global directory | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.buildozer | |
| key: buildozer-${{ runner.os }}-${{ hashFiles('buildozer.spec') }} | |
| restore-keys: | | |
| buildozer-${{ runner.os }}- | |
| # ── THE FIX ──────────────────────────────────────────────────────────── | |
| # Buildozer HARDCODES the check to: | |
| # ~/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager | |
| # No env var, no spec setting changes this. We must put real SDK there. | |
| - name: Install Android SDK at Buildozer hardcoded path | |
| run: | | |
| SDK=$HOME/.buildozer/android/platform/android-sdk | |
| mkdir -p $SDK/cmdline-tools | |
| wget -q \ | |
| https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip \ | |
| -O /tmp/cmdline-tools.zip | |
| unzip -q /tmp/cmdline-tools.zip -d /tmp/ct-raw | |
| mv /tmp/ct-raw/cmdline-tools $SDK/cmdline-tools/latest | |
| SDKMGR=$SDK/cmdline-tools/latest/bin/sdkmanager | |
| # Accept all licences silently | |
| yes | $SDKMGR --licenses > /dev/null 2>&1 || true | |
| # Install SDK packages — use 34.0.0 NOT rc2 (rc2 requires manual licence accept) | |
| $SDKMGR \ | |
| "platform-tools" \ | |
| "platforms;android-35" \ | |
| "build-tools;34.0.0" \ | |
| "ndk;25.1.8937393" | |
| # Create legacy shim — this is the exact path Buildozer checks | |
| mkdir -p $SDK/tools/bin | |
| printf '#!/usr/bin/env bash\nexec "%s" "$@"\n' "$SDKMGR" \ | |
| > $SDK/tools/bin/sdkmanager | |
| chmod +x $SDK/tools/bin/sdkmanager | |
| # Symlink NDK to the name buildozer.spec expects: ndk/25b | |
| ln -sfn $SDK/ndk/25.1.8937393 $SDK/ndk/25b | |
| echo "ANDROID_SDK_ROOT=$SDK" >> $GITHUB_ENV | |
| echo "ANDROID_HOME=$SDK" >> $GITHUB_ENV | |
| echo "$SDK/cmdline-tools/latest/bin" >> $GITHUB_PATH | |
| echo "$SDK/platform-tools" >> $GITHUB_PATH | |
| echo "$SDK/tools/bin" >> $GITHUB_PATH | |
| - name: Verify SDK setup | |
| run: | | |
| echo "=== sdkmanager shim ===" && cat $ANDROID_SDK_ROOT/tools/bin/sdkmanager | |
| echo "=== NDK symlink ===" && ls -la $ANDROID_SDK_ROOT/ndk/ | |
| echo "=== build-tools ===" && ls $ANDROID_SDK_ROOT/build-tools/ | |
| $ANDROID_SDK_ROOT/tools/bin/sdkmanager --list 2>/dev/null | grep "Installed" | head -10 | |
| - name: Build debug APK | |
| run: buildozer android debug | |
| env: | |
| ANDROID_SDK_ROOT: ${{ env.ANDROID_SDK_ROOT }} | |
| ANDROID_HOME: ${{ env.ANDROID_HOME }} | |
| - name: Upload APK artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: KingWatch-Pro-debug | |
| path: bin/*.apk | |
| retention-days: 30 |