Resources | developer.brewmp.com Resources | developer.brewmp.com

Developer

resources

Developer Mode

Developer Mode enables the Brew MP SDK tools to load, run, and test applications on a device.

Note: Developer Mode (Gateway) is supported on Brew MP 1.0.2 and newer devices. Brew MP 1.0.0 and some 1.0.1 devices do not support Developer Mode.

Developer Mode includes both the set up of the port (e.g. USB port) used by the SDK to connect to the device, and the removal of the restrictions that prevent it from running unauthorized code. Brew MP and Brew devices do not allow code that is unsigned or unauthorized to run. In order for a developer creating new applications to test their applications on real devices, live on carrier's networks, the devices must be put into Developer Mode. This opens up the device allowing it to run code the developer creates.

Developer mode involves the following steps:

  1. Developer Mode Port Settings -- Enabling the port on the device (USB / Serial) so the tools can connect
  2. Developer Mode device plug in and driver setup -- Physically connecting the device
  3. Developer Mode Connect -- Establishing communication between the PC tools and device
  4. Developer Mode Enable -- Authorizing the device to run the developer's code and opening the device to the tools

Versions of BREW preceding Brew MP such as Brew 3.x and 4.x did not have Developer Mode Enable. Instead they used Test Enable Signatures. Test signatures continue to be supported by Brew MP, but Developer Mode is preferred. It is generally easier obtain authorization for and is usually more convenient.

When Developer Mode is enabled the device will run applications, extensions, services. It does not matter if the code is signed or not or whether the code is on the main file system or a memory card. When not in developer mode, all the applications have to be signed (or be part of system software). If the application (the .mif and .mod and other files) is copied to the device, it can be run.

Developer Mode restricts privileges. The privileges allowed depend on how the device is enabled. If an application lists privileges in its .mif that are not allowed by the enablement, that application won't run. The application won't load and attempts to start it or invoke any classes it defines generate a ECLASSUNSUPPORTED error.

Developer Mode enables a number of development and debugging tools to run over a USB (or other) port. This includes the Brew MP Debugger, Loader, and Logger. Developer access over the USB port is limited by the same privileges as applications running on the device. For example, if a tool is used to attempt a file copy to the development PC and the enablement privilege did not allow access to that file, the copy will fail.

Developer Mode enablements are for a limited amount of time. They can be as short as a day or two or a long as a number of months. When the enablement expires the handset will no longer run the applications placed on the device and access via the USB port goes back to normal.

The current Developer Mode state can be displayed using the Target Manager from the Brew MP SDK. It shows the expiration date. Development mode can be disabled using Target Manager. This returns the device to the normal state, including privileges.