| name | skymap.build |
| description | Build, test, deploy, and manage data generation for Sky Map. Trigger on "build the app", "run tests", "deploy to device", "generate data", "run lint", or similar build/dev workflow requests. |
Sky Map Build & Dev Workflow
Environment Setup
Always set before building:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export ANDROID_HOME=~/Library/Android/sdk
local.properties must exist in the repo root with sdk.dir=<path to Android SDK>.
You will also need a no-checkin.properties in the app folder. If using a new
git worktree you should attempt to copy these files out of the current main folder.
Build Flavors
- gms — Google Play Services (Analytics, Location). Requires
no-checkin.properties for release builds.
- fdroid — Pure open source, no Google dependencies.
Always specify the flavor. Never use bare assembleDebug.
Build Commands
Prefer to use the shell scripts:
./build.sh
./build.sh -d
./build.sh --full
./build.sh --fdroid
but you can also use gradlew directly:
./gradlew :app:assembleGmsDebug
./gradlew :app:assembleFdroidDebug
./gradlew :app:bundleGmsRelease
Prefer not using the -fullk option unless you are adding/removing strings.
Testing
./gradlew test
./gradlew app:test
./gradlew app:connectedAndroidTest
Linting
./gradlew lint
Data Generation
Run when modifying star catalogs or astronomical data:
cd tools
./generate.sh
./binary.sh
Deployment to a phone
./deploy.sh
./deploy.sh -p
./deploy.sh -d
./deploy.sh --frdroid
./undeploy.sh
Common Deployment Issues
INSTALL_FAILED_UPDATE_INCOMPATIBLE: uninstall the Play Store version first — adb uninstall com.google.android.stardroid
- Device shows offline:
adb kill-server && adb start-server