Giter VIP home page Giter VIP logo

garmin-connect-seed's Introduction

Garmin Connect IQ seed

This is a seed project for writing Garmin Connect IQ applications. Instead of using the Eclipse plugin (which works rather poorly...), you can use any text editor of your choice and compile, run or package your project using make.

NOTICE: This seed works will all Java versions below Java 12. The reason for this is, Java 12 stopped shipping with a JAR neccessary for the Garmin SDK. This applies to the Eclipse plugin, as well and will need to eventually be addressed by Garmin.

Setup

All you'll need to get started is edit the properties.mk file. Here's a description of the variables:

  • DEVICE - device type you want to use for simulation (e.g. fenix3, vivoactive, epix...)
  • SDK_HOME - home folder of your SDK (e.g. /Users/me/connectiq-sdk-mac-3.0.4)
  • PRIVATE_KEY - path to your generated RSA private key for signing apps (needed since CIQ 1.3) (e.g. /home/.ssh/key/id_rsa_garmin.der)
  • DEPLOY - if you want to hot-deploy to your device, that's the mounted path for the APPS folder (e.g. /Volumes/GARMIN/GARMIN/APPS/)

Targets

  • build - compiles the app
  • buildall - compiles the app separately for every device in the SUPPORTED_DEVICES_LIST, packaging appropriate resources. Make sure to have your resource folders named correctly (e.g. /resources-fenix3_hr)
  • run - compiles and starts the simulator
  • deploy - if your device is connected via USB, compile and deploy the app to the device
  • package - create an .iq file for app store submission

How to use?

To execute the run target, run make run from the home folder of your app

garmin-connect-seed's People

Contributors

artaud avatar danielsiwiec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

garmin-connect-seed's Issues

Application is started multiple times

If I put a println in the application's initialize(), onStart(), and onStop() functions, when I run in the simulator I see:

app init
app start
app init
app start

Is this intended behavior? It seems bizarre, and at the very least makes it difficult to follow the execution of the program. Actions like onSelect in the delegate also occur multiple times

make package fails on "Unable to resolve entry class"

Hi, when I try to package my app, I'm getting

com.garmin.monkeybrains.asm.AssemblerException: Unable to resolve entry class. Check the manifest file.
	at com.garmin.monkeybrains.asm.EntryPoint.resolve(EntryPoint.java:106)
	at com.garmin.monkeybrains.asm.Assembler.resolve(Assembler.java:1055)
	at com.garmin.monkeybrains.asm.Assembler.resolve(Assembler.java:860)
	at com.garmin.monkeybrains.asm.Assembler.assemble(Assembler.java:592)
	at com.garmin.monkeybrains.compiler.Compiler.assemble(Compiler.java:869)
	at com.garmin.monkeybrains.Monkeybrains.runCompiler(Monkeybrains.java:957)
	at com.garmin.monkeybrains.Monkeybrains.compileApplication(Monkeybrains.java:695)
	at com.garmin.monkeybrains.Monkeybrains.simpleMain(Monkeybrains.java:1567)
	at com.garmin.monkeybrains.Monkeybrains.main(Monkeybrains.java:1654)
ERROR: unknown:0: Unable to resolve entry class. Check the manifest file.
Makefile:45: recipe for target 'package' failed
make: *** [package] Error 100

make build works fine.

Any ideas?
While packaging the sme app with Eclipse CIQ plugin, I had no problems.

Unable to connect to simulator

Has this project been tested to work with 3.2.2 ? Because since its creation some things have changed.
I'm a starting developer, and Im just getting into this. I've managed to get over the "java.xml.bind" errors, but Im having this error:
Unable to connect to simulator. make: *** [run] Error 2

Unknown license of the project

It would be great if a license was specified for the project so it's clear how it can be used.

I.e. Apache License 2.0 would be cool

Support for Venu 3?

Thanks for making this awesome watch face.

Do you think it would be possible to add support for the venu 3?

Thanks!

Error trying to run

Hello, this is awesome, many thanks.
Maybe you can help me with a small problem I'm having while trying to run the compiled program on the simulator. When I use eclipse to run it it runs just fine, but when I try to run the command myself I get the following error:

โžœ  $SDK_HOME/bin/monkeydo bin/garmin-hello-world.prg fenix5_sim
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
        at com.garmin.connectiq.common.prgreader.entrypoints.EntryPoint.parse(EntryPoint.java:88)
        at com.garmin.connectiq.common.prgreader.entrypoints.EntryPoints.parse(EntryPoints.java:51)
        at com.garmin.connectiq.common.prgreader.PrgParser.parse(PrgParser.java:221)
        at com.garmin.monkeybrains.monkeydodeux.MonkeyDoDeux.execute(MonkeyDoDeux.java:241)
        at com.garmin.monkeybrains.monkeydodeux.MonkeyDoDeux.main(MonkeyDoDeux.java:145)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 5 more

Do you have any idea? Many thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.