Parts of a release file

Depending on how you choose to upload your release, you need to have a bundle folder. If you have multiple bundle folders, you can create subfolders in the release's .zip file.

This is what goes into the bundle folder:

.bar files

If your app is designed for a device that uses BlackBerry 10 or later, your application data is packaged as a .bar file.

.cod files

If your app is designed for device software earlier than BlackBerry 10, your application data is packaged as a .cod file.

devices.txt file

Each bundle folder needs to have a devices.txt file that lists the device models supported by the .bar files or .cod files in the bundle folder.

You can upload bundle files individually when you add a release on the vendor portal. If you want to upload multiple bundle folders together, you can create a folder to compress as a .zip file, and upload everything as a batch.

This is what goes into a .zip file:

bundle folder

When you place bundles into a folder that will become a .zip file, the bundles become subfolders.


This file specifies the details for all bundle subfolders in the .zip file.

Guidelines for release components

Use these guidelines to make sure your release has properly configured files:  

Bundle folder (or a subfolder, if part of a .zip folder)
  • A separate bundle folder is required for .cod files and .bar files.
  • You can include application files for different BlackBerry devices, device software versions, and types of devices. For example, if you have .cod files for your app designed for BlackBerry 7, and BlackBerry 6, and .bar files for BlackBerry 10, you would require two bundle folders.
  • The naming convention for bundle folders uses the format, <bundle_name>_<x.x.x.x>, where <x.x.x.x> is the version of the OS that the bundle supports.
  • If you add a bundle that doesn't use the proper naming convention, the vendor portal will default the bundle to the earliest supported version of device software.
Application data (.cod or .bar files)
  • If you are uploading multiple bundles, the application data files need to be in bundle folders.
  • If you are uploading a single bundle, the application data can be in the root of the release folder.
  • You can specify language support for your application data in the format of your file name. For example, a .cod file named CodName_fr_ca.cod supports Canadian French. Language support at the bundle level takes precedence over language support at the file level.
Devices.txt file
  • The devices.txt file contains a comma-separated, or line-separated list of supported devices.
  • List the smartphone model numbers or tablet model numbers that your app supports. For example: 8900,8800,9530,9500,8707v,8707g,8705g.
  • BlackBerry World does not process values that are not valid. If your list contains an invalid model number, that model number will be skipped.
  • If you don’t create a devices.txt file, then you must manually specify the platform and devices for each bundle when you upload the bundle on the vendor portal.
.zip folder
  • You can use any naming scheme you like for a .zip folder.
Release.xml file
  • This file specifies the release version, release notes, and localization data for each bundle.
  • If you specify language support at the bundle level, every application data file in the bundle must support the language specified by the release.xml file.
  • Save the release.xml file in UTF-8 format.
  • BlackBerry World truncates any release version number that exceeds four octets.

Use the following format for the release.xml file:  

<?xml version="1.0" encoding="utf-8"?>
<Release version="x.x.x.x">
       <ReleaseNotes>Release note text</ReleaseNotes>
       <filebundle name="Bundle1_x.x.x.x">
       <filebundle name="Bundle2_x.x.x.x">

The following release.xml example specifies language support for two different bundles. The bundle EnglishBundle_5.0.0.0 supports Canadian English, and FrenchBundle_4.6.1.0 supports Canadian French.

<?xml version="1.0" encoding="utf-8"?>
<Release version="">
       <ReleaseNotes>This release introduces support for Canadian French.</ReleaseNotes>
       <filebundle name="EnglishBundle_5.0.0.0">
       <filebundle name="FrenchBundle_4.6.1.0">

Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus