Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 2.08 KB

File metadata and controls

51 lines (39 loc) · 2.08 KB

gimporter

Garmin Connect App to import GPX and FIT files

HOWTO

  • start the Android app https://github.com/gimportexportdevs/gexporter on your mobile device (where your Garmin Connect app runs)
  • build and start this Connect IQ app
  • select a course to download
  • start the course or download more
  • check that the FIT file was imported (e.g. check the courses folder or start an activity with the course)

iOS

Development

Toolchain

With Nix (Linux), nix develop provides the complete compile toolchain: the ConnectIQ SDK (pinned in flake.nix), a JDK, and SDK_HOME already set. Without Nix, install the SDK via Garmin's SDK manager; properties.mk picks up its current-sdk.cfg automatically on both Linux and macOS. Machine-specific overrides (e.g. DEVICE, PRIVATE_KEY) go into a gitignored properties.local.mk.

Either way you need two things the toolchain cannot ship:

  • Device definitions: download them once with the SDK manager (requires a Garmin developer login).
  • Signing key: PRIVATE_KEY defaults to ~/.id_rsa_garmin.der; generate one with openssl genrsa -out key.pem 4096 && openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out ~/.id_rsa_garmin.der -nocrypt.

Building

make build                 # app + widget for DEVICE (default: marqadventurer)
make build DEVICE=fenix7   # any device from the manifest
make -j buildall           # app + widget for every supported device
make run                   # build and launch in the simulator
make package               # store-ready .iq packages

buildall is parallel-safe: each target compiles in its own bin/work/<target>/ directory because monkeyc drops fixed-name scratch files into its output directory and concurrent compiles sharing one directory corrupt each other.