05-12-2010 12:59 PM
I am using Eclipse 3.5 with BlackBerry Plugin 1.1.2. My BlackBerry Execution Environment is set to 4.2.1. In my Application descriptor I have set it to generate a .alx file. When I package the project, a .alx file gets generated but it contains filesets for version 4.2.1 and 4.7.0:
PWMinder Password Manager, used to store and manage you passwords.
Copyright (c) 2010 Ewert Technologies
<fileset Java="1.49" _blackberryVersion="[4.2.1,4.2.2)">
<fileset Java="1.49" _blackberryVersion="[4.7.0)">
I am not sure why it includes 4.7.0; under the /standard directory, it only generates the .cod and other files for 4.2.1, (no 4.7.0 directory gets created). A while back I changed the Execution Environment to 4.7.0, but since I switched it back to 4.2.1, I assumed the .alx would only include information for 4.2.1. Does it somehow remember that I used 4.7.0 in the past?
This .alx then, seems to cause problem when I try to use Desktop Manager to load the application to my device; Desktop Manager says: "No additional applications can be found. Your file might contain applications that already exist in the application list, or not compatible for your device, or have errors."
The device I'm using is: BlackBerry Curve 8330 v126.96.36.199 (Platform 188.8.131.52)
Running on simulators seems to work fine. I was able to get a previous version of my app to load onto my device.
Solved! Go to Solution.
05-17-2010 02:10 PM - edited 05-17-2010 02:11 PM
The ALX file you have below should install on a BlackBerry Smartphone running BlackBerry Device Software version 4.2.1.x through to 4.2.2.x as well as 4.7.0.x.
You can read more about customizing your application for specific versions of BlackBerry Device Software here:
Create a single .alx file to install multiple versions of an application
If you don't want a version specific ALX file you can remove "_blackberryVersion" and "directory" tags from the ALX file and place the cod files you want to deploy in the same location as the ALX file.
The BlackBerry Java Plug-in for Eclipse can add the additional entries when you build using different versions of the BlackBerry Java SDK.
05-17-2010 03:45 PM
I had a little trouble with this at first on the new plugin but once I got the ALX options figured out it made life a whole lot easier. Where I thought I had to use groups and such on the BES to make sure users got the right version (or no version at all) I now use the ALX.
With that said the ALX needed manual editing unless I was building for exact versions of the OS, which I never do. Basically, the ALX seems to have trouble with the concept of 'install on all devices with version x and up'. There may be some way to set this up in Eclipse but it wasn't immediately evident and the manual fix was easy.
In your case you can remove the whole section related to 4.7 but your real issue is that the tags state that the app is only for devices >=4.2.1 and <4.2.2(exlusive). Edit the 4.2 section to look like the below which is basically that the app is to run on 4.2.1 and all versions higher.
<fileset Java="1.49" _blackberryVersion="[4.2.1,)">
Remember to deploy to your BES with the same file structure listed in the ALX or else you will also need to edit the directory tag stating the cod location.
05-17-2010 04:54 PM
I've directed this feedback to our Product Management team to consider adding some way to customize the version management within an ALX file in a future BlackBerry Java Plug-in for Eclipse release.
05-17-2010 09:09 PM
Once you figure it out it is really useful to understand customizing ALX deployments and makes things far easier than I had thought but if it could be done without manually editing the ALX file then all the better!
06-18-2012 11:11 PM
Hello, I'd like to know if this issue's been resolved. I'm using eclispe helios and the bb plugin 184.108.40.206110141512 and i'm developing an app that runs on OS 5.0 devices and up. I have no way of configuring the generated alx file NOT TO INCLUDE THE _blackberryVersion attribute and the <directory> tag. Is there a newer version of the plugin that allows me to do this?