Compiling and deploying a mobile application built in Adobe Flex 4.6 was an extremely difficult and confusing tasks. Main issues involved vague error messages in Flex Builder and even vaguer solutions that I came across on-line.
Missing File error messages
This was the most confusing and annoying error that restricted me from making any sort of headway when it came to deploying my application to a development playbook. Any attempt to perform following task through Flex Builder resulted in an error:
- Atempt to register the computer as a signing authority from RIM
- Creation of a certificate
- Creation of a debug token
- Packaging and creating a release build bar file
I gave up on the problem and built/deployed my application through command line. This worked until I needed to package the entire application – I wanted a cleaner method of accomplishing this task.
After many days of struggle and searching I started getting closer to the solution. I’ve read on-line that the issue could be caused by missing files [most posts refereed to the icon files that are specified in the configuration xml files]. So began the tedious process of triple checking that any and all references were using relative paths.
Although this didn’t fully solved my problem and I was still getting missing file error I was getting closer to the solution.
By default Flex Builder creates blackberry-tablet.xml file. This file is obsolete with the latest release of playbook development SDK. What the system requires and as it turns out the main issue for all my problems is bar-descriptor.xml file. All the information about this configuration file can be found on Blackberry SDK help page. Once the file was added and successfully populated with proper information all my problems disappeared and I was able to Sign, Create Certificates, Debug Tokens and package my application.
Failure 881 application author does not match debug token author
This error occurred every time I tried to deploy the application on the development playbook. Some check points to keep in mind:
- Make sure you have a proper authorId that can be obtained from the debug token [GOTO: Windows – Preferences – Flash Builder – Target Platforms – BlackBerry Tablet OS – Signing; once there select active debug token and click Details button – this action will open a pop-up window that will display: Author, Author ID, Issue Date and Expire Date values] use the author and author_id value in your bar-descriptor.xml file.
- Make sure that the debug token that currently presides on your playbook is up to date. I had to delete the existing playbook debug token and re-run the initialization process from Flex Builder – this fixed the problem.
Exec format error
This error occurred out of no where. It was the final step before confirming that the entire workflow was valid. The solution was a reboot of the playbook.
Submitting Error: File bundle (***.bar) has been rejected. Package ID is required for all .bar file. If this is an upgrade, Package ID must match Package ID in original file bundle.
This error occurs if the packageId attribute is not specified in the bar-descriptor.xml file. In order to identify the proper package id open the bundle bar file and locate the META-INF/MANIFEST.MF file which will contain an entry Package-Id. Copy the entry and paste it in to your bar-descriptor.xml file.