mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
1.7 KiB
1.7 KiB
Android
App variants
Controlled by APP_VARIANT in packages/app/app.config.js (vanilla Expo, no custom Gradle plugin):
| Variant | App name | Package ID |
|---|---|---|
production |
Paseo | sh.paseo |
development |
Paseo Debug | sh.paseo.debug |
EAS profiles: development, production, and production-apk in packages/app/eas.json.
development uses Android debug.
Local build + install
From repo root:
npm run android:development # Debug build
npm run android:production # Release build
npm run android:clear # Remove generated Android project
Or from packages/app:
# Debug
APP_VARIANT=development npx expo prebuild --platform android --non-interactive
APP_VARIANT=development npx expo run:android --variant=debug
# Release
APP_VARIANT=production npx expo prebuild --platform android --non-interactive
APP_VARIANT=production npx expo run:android --variant=release
# Clear generated Android project
rm -rf android
Screenshots
adb exec-out screencap -p > screenshot.png
Cloud build + submit (EAS)
Stable tag pushes like v0.1.0 trigger:
packages/app/.eas/workflows/release-mobile.ymlon Expo servers (iOS + Android build + submit).github/workflows/android-apk-release.ymlon GitHub Actions (APK asset on GitHub Release)
Release candidate tags like v0.1.1-rc.1 only trigger the GitHub APK workflow. They publish a GitHub prerelease APK for testing and do not submit to the stores.
Useful commands
cd packages/app
# List recent workflow runs
npx eas workflow:runs --workflow release-mobile.yml --limit 10
# Inspect a run
npx eas workflow:view <run-id>
# Stream logs for a failed job
npx eas workflow:logs <job-id> --non-interactive --all-steps