Install --phone fails with no error message

Hi, brand new Pebble developer here. I’ve got a very simple test app that runs fine using “pebble install --emulator emery”. But it’s failing to get pushed to my phone and watch.

] pebble install --phone 192.168.0.218 -vvvv
DEBUG:pebble_tool.util.analytics:Queueing analytics data: {'event': 'invoke_command_install', 'identity': {'sdk_client_id': '9446e310-d9b4-4f71-9c9e-09f41f3f0bc8'}, 'platform': 'native_sdk', 'sdk': {'host': {'platform': 'macOS-14.6.1-arm64-arm-64bit-Mach-O', 'is_vm': False, 'is_wsl': False, 'python_version': '3.13.7'}, 'version': '4.9.148', 'tool_version': '5.0.31', 'project': {'uuid': 'cba41603-c709-4b39-b3e4-d568eccae692', 'app_name': 'AnyList', 'is_watchface': False, 'type': 'native', 'sdk': '3'}}, 'data': {}}
DEBUG:pebble_tool.util.analytics:Analytics disabled; not posting.
DEBUG:libpebble2.communication:-> WatchVersion(command=None, data=WatchVersionRequest())
DEBUG:libpebble2.communication:-> 0001001000
DEBUG:libpebble2.communication:<- 009b00100169cad2d976342e392e3135330000000000000000000000000000000000000000000000003661373663373800000f01688cf10276342e392e392d636f72653234000000000000000000000000000000000000003066313533636400010f01688cf1026173746572697800005331303233353042303343524799203517f9834220db00000000656e5f5553000001ffff6000000000000000000000
DEBUG:libpebble2.communication:<- WatchVersion(command=1, data=WatchVersionResponse(running=WatchFirmwareVersion(timestamp=1774899929, version_tag=v4.9.153, git_hash=6a76c78, is_recovery=False, hardware_platform=15, metadata_version=1), recovery=WatchFirmwareVersion(timestamp=1754067202, version_tag=v4.9.9-core24, git_hash=0f153cd, is_recovery=True, hardware_platform=15, metadata_version=1), bootloader_timestamp=1754067202, board=asterix, serial=S102350B03CR, bt_address=4799203517f9, resource_crc=2202149083, resource_timestamp=0, language=en_US, language_version=1, capabilities=6356991, is_unfaithful=False))
Installing app...
App install failed.
INFO:root:Spent 0.000309 seconds waiting for analytics.

The phone is a Pixel 7, on the same wifi connection. App is Pebble 1.0.14.8. Phone is Pebble 2 Duo running PebbleOS 4.9.153. The “Dev Connection” toggle is flipped. (If it’s off, the install fails right away.) Here’s the package.json, in case that’s important:

{
  "name": "anylist-pebble",
  "author": "Harlan",
  "version": "1.0.0",
  "keywords": ["pebble-app"],
  "private": true,
  "dependencies": {},
  "pebble": {
    "displayName": "AnyList",
    "uuid": "CBA41603-C709-4B39-B3E4-D568ECCAE692",
    "projectType": "moddable",
    "sdkVersion": "3",
    "enableMultiJS": true,
    "targetPlatforms": [
      "emery",
      "gabbro"
    ],
    "watchapp": {
      "watchface": false
    },
    "messageKeys": [
      "INDEX",
      "ACTION",
      "ITEM_NAME",
      "ITEM_CHECKED"
    ],
    "resources": {
      "media": []
    }
  }
}

Any ideas? Thank you!

1 Like

You’ll need to support the platform ‘flint’ for Core 2 Duo

1 Like

And unfortunately Alloy apps do not support Flint yet

1 Like

Oh, I see – what’s the right platform or stack to be using to develop an app for this hardware? Thanks!

1 Like

You need to write your app in C.

Or maaaybe Rocky works as well, if you still want to use JS. Support for it has been dropped by Core Devices so you’ll need to use an old version of the SDK to use it. Build a Watchface in JavaScript using Rocky.js // Pebble Developers

It’s possible that Rocky support was removed in the C2D firmware, I’m not sure.

1 Like