mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
76 lines
2.6 KiB
Markdown
76 lines
2.6 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
npm run android:development # Debug build
|
|
npm run android:production # Release build
|
|
npm run android:clear # Remove generated Android project
|
|
```
|
|
|
|
Or from `packages/app`:
|
|
|
|
```bash
|
|
# Debug
|
|
npx cross-env APP_VARIANT=development expo prebuild --platform android --non-interactive
|
|
npx cross-env APP_VARIANT=development expo run:android --variant=debug
|
|
|
|
# Release
|
|
npx cross-env APP_VARIANT=production expo prebuild --platform android --non-interactive
|
|
npx cross-env APP_VARIANT=production expo run:android --variant=release
|
|
|
|
# Clear generated Android project
|
|
rm -rf android
|
|
```
|
|
|
|
## Screenshots
|
|
|
|
```bash
|
|
adb exec-out screencap -p > screenshot.png
|
|
```
|
|
|
|
## Cloud build + submit (EAS)
|
|
|
|
Stable tag pushes like `v0.1.0` trigger:
|
|
|
|
- The EAS GitHub app on Expo servers (iOS + Android production builds + store submit). There is no workflow file in this repo for it.
|
|
- `.github/workflows/android-apk-release.yml` on GitHub Actions (APK asset on GitHub Release).
|
|
|
|
iOS auto-submits to App Store review via a Fastlane lane after EAS uploads to TestFlight. Android auto-submits to the Play Store via EAS-managed credentials.
|
|
|
|
Beta tags like `v0.1.1-beta.1` only trigger the GitHub APK workflow. They publish a GitHub prerelease APK for testing and do not submit to the stores.
|
|
|
|
`android-v*` tags also trigger only the GitHub APK workflow — useful when you want to ship an APK without going through stores. The GitHub APK workflow supports `workflow_dispatch` with an existing `tag` input so you can rebuild without cutting a new tag.
|
|
|
|
### Useful commands
|
|
|
|
```bash
|
|
cd packages/app
|
|
|
|
# Recent builds
|
|
npx eas build:list --limit 10 --non-interactive --json | jq '.[] | {platform, status, appVersion, gitCommitHash}'
|
|
|
|
# Inspect a build (the printed `Logs` URL opens the build's Expo dashboard page,
|
|
# which has a Submissions section showing the auto-submit to the Play Store).
|
|
npx eas build:view <build-id>
|
|
```
|
|
|
|
The Play Console (Internal testing → Production tracks) is the final confirmation that the binary reached the store.
|
|
|
|
See [docs/release.md](release.md) for the full mobile-build babysitting flow.
|