restore to factory default

My problem is that my app works fine on my (VA-HR) watch, but crashes on my remote alpha tester's watch.
I suspect the issue is related to initial settings (somewhere...but where?).
I need to restore my watch to true factory settings, to replicate the issue, but when I take the Settings/System/Restore Defaults, I don't get that state.
My apps remain in GCM/Android as "NOT INSTALLED" and I suspect there are other remnants on the watch.

Has anyone had this issue and have any suggestions
  • A hard reset can be done, and involves some combo of key presses when turning the watch on. If you search the vivoactive device forum you probably find it.

    But, that's a really extreme step. With the crash, is it a hard crash of the watch, or a crash of your app? ("IQ!")

    If it's a hard crash, in the \garmin directory of the watch is err_log.txt, that garmin can look at.
    if it's an app crash ("IQ!") on the watch is \garmin\apps\logs\ciq_log.txt. It may not have much in it for a release build of the app, and if not, send the tester a debug build (it has the debug symbols, etc).

    Have the user send you those files. With ciq_log.txt, it might point right to the problem (down to the line with a debug build) so no need to reset your watch.

    See point 8 in the new developer FAQ:

    https://forums.garmin.com/showthread.php?339891-New-Developer-FAQ

    There's also "Handling Crashes" in the Developer's guide in the SDK.
  • A hard reset can be done, and involves some combo of key presses when turning the watch on. If you search the vivoactive device forum you probably find it.

    I might skip that step for now.

    But, that's a really extreme step. With the crash, is it a hard crash of the watch, or a crash of your app? ("IQ!")

    it's an app crash IQ!

    If it's a hard crash, in the \garmin directory of the watch is err_log.txt, that garmin can look at.
    if it's an app crash ("IQ!") on the watch is \garmin\apps\logs\ciq_log.txt.

    it's a side-loaded version.
    It may not have much in it for a release build of the app, and if not, send the tester a debug build (it has the debug symbols, etc).


    I might need a decode for "it has the debug symbols"

    Thanks for the tips
  • it's an app crash IQ!
    it's a side-loaded version.
    I might need a decode for "it has the debug symbols"


    When you do "build for device wizard" in eclipse, at the bottom of the dialog is a checkbox for "build release version of project". Un-check that, and it will build a debug version. Send that .prg and the user can use a sideload with debug symbols.

    Then have them send you the CIQ_LOG.txt from \garmin\apps\logs on the watch. You'll see the same kind of info as you see if your app crashes in the sim.

    update: You can also have a app specific log (\garmin\apps\logs\<yourappname>.txt) It must be pre-created by the user. Then in your code, you can use Sys.println() calls to write things to it if you need more info. Same as you can see in the sim with Sys.println()'s
  • When you do "build for device wizard" in eclipse, at the bottom of the dialog is a checkbox for "build release version of project". Un-check that, and it will build a debug version.

    Ha! I had not seen that check box as it was scrolled off the window, and so invisible to the newbie!
    It is unchecked by default.

    Send that .prg and the user can use a sideload with debug symbols.

    debug symbols? Sorry, this is all new to me.
  • debug symbols? Sorry, this is all new to me.


    With a release build, you'll see minimal info in CIQ_LOG.txt. With a debug build, you'll see more info, like you see in the simulator when there is a crash. (it needs the debug symbols for that - in the sim, with eclipse, it runs debug builds)

    for alpha/beta testers with sideloads, sending debug builds is best as you get more info if there is a IQ! crash.

    When something is packaged in a .iq for the app store, it's always a release build.
  • update: You can also have a app specific log (\garmin\apps\logs\<yourappname>.txt) It must be pre-created by the user. Then in your code, you can use Sys.println() calls to write things to it if you need more info. Same as you can see in the sim with Sys.println()'s

    BRILLIANT!!!!
    Why isn't that in the programmers guide under debugging?????
    It would have saved me days and days of work

    The Guide talks about the CIQ_LOG.txt file but not the {appName}.txt option.
  • Why isn't that in the programmers guide under debugging?????


    It's there in the section titled "Basic Debugging" under "How To Test" :)
  • It's there in the section titled "Basic Debugging" under "How To Test" :)

    Ah, yes, so it is... :o
  • Writing to a <yourapp>.txt file is not a cheap operation, so you really only want to do it sparingly. After 5k of data, it also rolls to a <yourapp>.bak so you can only have a max of about 10k. Another hint, I tend to have a timestamp for these messages, so you can see separate runs of the app easily, as well as time between things when that's needed.