skymap-build

star 1.7k

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-team By sky-map-team schedule Updated 5/14/2026

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:

# Full rebuild including data generation
./build.sh             # Skip data regeneration
./build.sh -d          # Build the debug version
./build.sh --full      # GMS including data generation
./build.sh --fdroid    # F-Droid

but you can also use gradlew directly:

# Debug APK
./gradlew :app:assembleGmsDebug
./gradlew :app:assembleFdroidDebug

# Release bundle
./gradlew :app:bundleGmsRelease

Prefer not using the -fullk option unless you are adding/removing strings.

Testing

# All unit tests
./gradlew test

# App module unit tests only
./gradlew app:test

# Instrumented tests (requires connected device/emulator)
./gradlew app:connectedAndroidTest

Linting

./gradlew lint

Data Generation

Run when modifying star catalogs or astronomical data:

cd tools
./generate.sh   # Creates ASCII protocol buffers
./binary.sh     # Converts to binary in app/src/main/assets/

Deployment to a phone

./deploy.sh       # Deploy to connected device or emulator
./deploy.sh -p    # Deploy to a physical device
./deploy.sh -d    # Deploy a debug build
./deploy.sh --frdroid # Deploy the fdroid build
./undeploy.sh     # Uninstall the app

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
Install via CLI
npx skills add https://github.com/sky-map-team/stardroid --skill skymap-build
Repository Details
star Stars 1,721
call_split Forks 269
navigation Branch main
article Path SKILL.md
More from Creator
sky-map-team
sky-map-team Explore all skills →