Sideloading .prg file from .iq archive?

Former Member
Former Member
I have noticed there is a big size difference between the .prg file created with 'Build for device' and the .prg contained in the .iq archive.

Is there anything special about the 'Build for device' version which makes it more suitable for sideloading, or is it OK to unzip the .iq archive and sideload the .prg version from the archive?

I would think for testing purposes it would be better to use the .prg from the .iq archive to test the exact same file that people are going to download?

-Torstein
  • I don't know for sure, but I believe the .iq file contains release mode binaries (compiled with the -r flag), and the binaries that you build for device are not. I believe the intention here is that when you are building a one-off binary for a device, you are still debugging, but when build a distributable package you are done debugging.

    I've extracted and side-loaded a few of my apps from the .iq file in the past. I don't think it matters, I just wanted to see if there was any noticeable difference.
  • Travis - how did you extract it? I have some stuff that is "me" specific that won't be in the app store, but I'd like to side load stuff without the debug code.
  • The .iq file is just a .zip file. If you are a gui guy, you can just change the file extension. Once you are in there, you'll find a folder for each device (you can find the device ids in <sdk>/bin/devices.xml).

    Travis
  • Cool! I'm more of a "compression guy" than gui guy and I didn't realize it was just a zip! (but I also didn't look! :) )

    And I'm also more of a "command line guy" that a "gui guy"! :) Just as long as I don't need punched cards or paper tape to type out the instructions!
  • Oh my, the .iq version of a .prg file is maybe 1/5th the size, and in the case of my "position/location" widget, is VERY fast! The makeJsonRequest widget is also about 1/5th the size and does appear to be much faster, but there is the comm side that might dilute some of it!

    maybe the build environment needs a "debug vs release" flag for standard builds, so a "release" version can be tested, as it IS different!

    Update: after running the slimmed down .prg file, YES this should be an option when just building during test, as the debug stuff can make something "almost usable" to "it works" for widgets and the 10 sec revert time out on the vivoactive!

    Update 2: My watchface is again about 1/5 the size, and while I can't tell if it's faster, I'm willing to guess that it will be much more efficient when it runs. It wasn't bad before, but every extra instruction counts when it comes to battery life!
  • Former Member
    Former Member over 10 years ago
    I've filed a request to have this added. It should be fairly simple to add so I don't see why we wouldn't do it but it might be lower priority as you can pull the .prg file from the .iq package.