A compact Wear OS GPS viewer for round smartwatches.
GeoWatch displays live latitude, longitude, accuracy, and the latest update time on a clean round-first smartwatch interface.
GeoWatch is a focused smartwatch utility built for Wear OS devices. The app does one thing well: it reads the current GPS position and presents it in a simple, readable watch screen without unnecessary navigation or extra battery-heavy behavior.
It is designed for users who want a quick way to verify their live coordinates directly from the wrist.
- Live GPS position with
LatitudeandLongitude - Accuracy value in meters
- Last update timestamp shown on screen
- Lightweight single-screen design for round smartwatches
- Built-in app version display
- Location updates stop when the app leaves the foreground to help preserve battery life
- GitHub logo asset: assets/geowatch-logo.svg
- Android launcher icon source: app/src/main/res/drawable/ic_launcher_foreground.xml
The current branding uses a blue circular pulse theme with a location pin mark to match the app's GPS purpose and round-watch visual style.
The coordinates in the screenshots below are intentionally blurred for privacy.
versionCode:1versionName:1.0
Version metadata is defined in app/build.gradle.kts.
- Kotlin
- Android SDK 34
minSdk = 30- XML layouts
AppCompatActivity- Google Play Services Location API
Main dependencies:
androidx.core:core-ktxandroidx.appcompat:appcompatcom.google.android.material:materialandroidx.constraintlayout:constraintlayoutandroidx.wear:wear:1.4.0com.google.android.gms:play-services-location:21.3.0
-
app/src/main/java/com/abdul/geowatch/MainActivity.kt Handles permission requests, GPS updates, timestamp formatting, and UI refreshes.
-
app/src/main/res/layout/activity_main.xml Defines the current smartwatch interface.
-
app/src/main/AndroidManifest.xml Declares watch support and required location permissions.
-
app/src/main/res/drawable/ic_launcher_foreground.xml Foreground vector used by the Android app icon.
-
assets/geowatch-logo.svg Repository logo used in this README.
- The app checks location permission on launch.
- If the permission is not granted, the app requests it.
- Once permission is granted, GPS updates begin.
- The main screen displays:
- The latest latitude
- The latest longitude
- GPS accuracy
- Last update time
- App version
- When the activity stops or closes, location updates are removed.
Use this section if you only want to install and run the app on a watch.
- A Wear OS smartwatch
adbavailable on the computer- A built APK, or this project if you want to install the debug build
Enable developer options and wireless debugging on the watch, then pair and connect:
adb pair WATCH_IP:PAIR_PORT
adb connect WATCH_IP:CONNECT_PORT
adb devicesThe watch should appear in the adb devices list before installation.
If you already have an APK:
adb install app-debug.apkIf you are installing from this project:
.\gradlew.bat installDebugOn the watch:
- Open the app list
- Launch
GeoWatch - Grant location permission when requested
Or launch it from the computer:
adb shell monkey -p com.abdul.geowatch 1Use this section if you want to open the project, build it, or modify the code.
- Android Studio
- Android SDK
- Java through the Android Studio bundled JDK
- A Wear OS smartwatch, or a Wear OS emulator
adbavailable on the computer
If Gradle cannot find Java, use the Android Studio bundled JDK:
$env:JAVA_HOME="C:\Program Files\Android\Android Studio\jbr"
$env:Path="$env:JAVA_HOME\bin;$env:Path"
java -versionCreate local.properties in the project root with your own Android SDK path:
sdk.dir=C:\\path\\to\\Android\\SdkExample:
sdk.dir=C:\\Users\\YourUserName\\AppData\\Local\\Android\\SdkDo not commit local.properties. It is machine-specific and already excluded in .gitignore.
To build without installing:
.\gradlew.bat assembleDebugTo build and install on a connected watch:
.\gradlew.bat installDebuglocal.propertiesis machine-specific and should not be uploaded- Replace any personal paths, local IPs, or usernames in documentation before publishing
- Build folders are already ignored in .gitignore
- Package name:
com.abdul.geowatch - Screenshots for the repository are stored in assets/screenshots



