Ticket Created
over 3 years ago

CIQQA-599

Unable to load bitmap with CIQ template app

Error: Invalid Resource Specified
Details: 'Failed invoking <symbol>'
Time: 2021-09-16T16:38:38Z
Part-Number: 006-B3288-00
Firmware-Version: '19.20'
Language-Code: eng
ConnectIQ-Version: 4.0.5
Filename: test
Appname: test
Stack:
- pc: 0x3000426d
- pc: 0x3000406b
- pc: 0x1000014c
File: Rez
Line: 21
Function: MainLayout
- pc: 0x100000a5
File: 'C:\eclipse-workspace\test\source\testView.mc'
Line: 12
Function: onLayout

Steps to reproduce.

In Eclipse create new application from the CIQ template "New -> Other -> ConnectIQ", select app type "widget".

Run widget as is in emulator - works as expected

Run widget as is in real Fenix 6 - Widget crashes with error above

  • I was able to reproduce the same error log by building a PRG for the wrong device. Either the "build for device wizard" or running the app in the simulator with the correct device should both create a PRG that would work. 

  • If you run your app without using "Build Project", then "Build Project" is automatically called anyway. If you check Project > Build Automatically, then Build Project is called every time you make a code change.

    My understanding (educated guess) has been that "Build Project" is for the simulator/ongoing development and "Build for Device" is for the occasional sideload, although I wouldn't expect to see the difference in outcome that you see. I have always used Build for Device for sideloads, though. (I've never copied the output of Build Project to a real device, IIRC.)

    The command line and output of either Build Project or Build for Device should go to the Connect IQ console (it does for me), although I see very little difference with a simple data field project other than the output directory for the PRG.

    In your case, you could get detailed information the build process (including details about resource compilation) by adding the "-g" switch to the build command line and comparing the resulting output for each of Build Project and Build for Device.

    Menu > Window (Eclipse on Mac) > Preferences > Connect IQ > Compiler > Compiler time options

  • I don't use "build Project".  T create a run configuration, and then run it.  There too you select a target.

  • Is this possible to use "Build for device" menu item in order to target widget application to different platforms (e.g., Fenix and Forerunner series)?

    There is a binary difference available between "Build for device" and  "Build project" approaches. It looks like "Build project" approach doesnt put drawable resources to the output binary

    Is this a known issue with resource compiler? How does "Build for device" approach work? Is this possible to compare build logs for both approaches

  • Is this possible to use "Build for device" menu item in order to target widget application to different platforms (e.g., Fenix and Forerunner series)?

    There is a binary difference available between "Build for device" and  "Build project" approaches. It looks like "Build project" approach doesnt put drawable resources to the output binary

    Is this a known issue with resource compiler? How does "Build for device" approach work? Is this possible to compare build logs for both approaches