diff --git a/PRIVACY.md b/PRIVACY.md index 4031c5d..4e0eeb5 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -26,11 +26,11 @@ This app does not include any analytics, tracking, or advertising SDKs. No data ## Open Source -The complete source code is available at: https://github.com/USER/android-tether-api +The complete source code is available at: https://somegit.dev/anonfunc/android-tether-api ## Contact -For questions about this privacy policy, open an issue on the GitHub repository. +For questions about this privacy policy, open an issue on the repository. --- diff --git a/justfile b/justfile index c0c6e47..048222a 100644 --- a/justfile +++ b/justfile @@ -8,8 +8,14 @@ gradle_cache := env_var_or_default("GRADLE_CACHE", justfile_directory() + "/.gra default: @just --list +# Ensure build directories exist with correct permissions +[private] +setup-dirs: + @mkdir -p {{gradle_cache}} .gradle .kotlin build + @chmod 777 {{gradle_cache}} .gradle .kotlin build 2>/dev/null || true + # Build debug APK -build: +build: setup-dirs docker run --rm \ -v {{justfile_directory()}}:/project \ -v {{gradle_cache}}:/gradle-cache \ @@ -19,27 +25,38 @@ build: sh -c './gradlew assembleDebug --no-daemon && chown -R $(stat -c %u:%g /project) /project/.gradle /project/.kotlin /project/app/build 2>/dev/null || true' @echo "APK: app/build/outputs/apk/debug/app-debug.apk" -# Build release APK (requires keystore and env vars) -release: +# Build release bundle for Play Store (prompts for keystore password) +release: setup-dirs + #!/usr/bin/env bash + set -euo pipefail + read -s -p "Keystore password: " KEYSTORE_PASSWORD && echo + read -p "Key alias [release]: " KEY_ALIAS + KEY_ALIAS=${KEY_ALIAS:-release} + read -s -p "Key password (enter for same as keystore): " KEY_PASSWORD && echo + KEY_PASSWORD=${KEY_PASSWORD:-$KEYSTORE_PASSWORD} docker run --rm \ -v {{justfile_directory()}}:/project \ -v {{gradle_cache}}:/gradle-cache \ -e GRADLE_USER_HOME=/gradle-cache \ - -e KEYSTORE_PASSWORD \ - -e KEY_ALIAS \ - -e KEY_PASSWORD \ + -e KEYSTORE_PASSWORD="$KEYSTORE_PASSWORD" \ + -e KEY_ALIAS="$KEY_ALIAS" \ + -e KEY_PASSWORD="$KEY_PASSWORD" \ -w /project \ {{android_image}} \ - sh -c './gradlew assembleRelease --no-daemon && chown -R $(stat -c %u:%g /project) /project/.gradle /project/.kotlin /project/app/build 2>/dev/null || true' - @echo "APK: app/build/outputs/apk/release/app-release.apk" + sh -c './gradlew bundleRelease --no-daemon && chown -R $(stat -c %u:%g /project) /project/.gradle /project/.kotlin /project/app/build 2>/dev/null || true' + echo "Bundle: app/build/outputs/bundle/release/app-release.aab" # Clean build artifacts clean: - rm -rf app/build build .gradle .kotlin + docker run --rm -u root \ + -v {{justfile_directory()}}:/project \ + -w /project \ + {{android_image}} \ + rm -rf app/build build .gradle .kotlin @echo "Cleaned" # Run gradle tasks -gradle *ARGS: +gradle *ARGS: setup-dirs docker run --rm \ -v {{justfile_directory()}}:/project \ -v {{gradle_cache}}:/gradle-cache \