I recently got a BlackBerry, but I was very sad to learn there was no way to upload java applications (cod files) onto the phone using Linux. As a result, I was restricted to finding and installing only 'jad' files I found on the net. But the good developers at Barry-devel have added a java uploader with their latest release! And I do mean *latest*, like two days ago.
Which brings me to: [COLOR="Red"]Warning! The code I post about here is brand-spanking new. In the unlikely event it 'bricks' your phone, do not blame me or the developers. You are using this software at your own risk![/COLOR]
Furthermore, I have only tested this out on my Blackberry 8130 on Ubuntu 8.10 (Ibex). Your mileage may vary.
There are installation instructions here and dependencies are listed here. You will need both the packages under the heading Master Dependencies as well as the Dependency Packages for Debian stable found at the bottom of the page. I installed the basic needed dependencies (including anything noted for 'CVS builds only') as well as the GUI dependencies and ended up with about 66 Megs of newly installed libraries.
If you know what you're doing when it comes to compiling this sort of thing, go to it! Otherwise, I am posting this brief recap of what I did to install Barry successfully. However, please note the previously mentioned guide is extremely thorough and well-written. Please use the guide you are reading now if you feel you need an example of the installation process or the resulting bjavaloader command.
I used the git method, which requires git to be installed:
sudo apt-get install git-core
Next, download a copy of the latest build with git:
git clone git://repo.or.cz/barry.git barry
This creates a directory called 'barry' in whatever directory you ran the git command in (I used my home directory). Next, go into the barry folder and run the buildgen.sh script:
cd barry
./buildgen.sh
Hopefully no errors. If you got an error, make sure you have both automake and libtool installed. Next, run the configure command. I ran with only the GUI option which provides a simple GUI for the barrybackup command since I am not interested in syncing or using the boost feature. If you are interested in these features, please install the required dependencies and use the appropriate flag. Note that you don't need the GUI for bjavaloader as bjavaloader is part of the base package:
./configure --enable-gui
Finally, make and install. Since this is development software, it's likely you'll be met with an error or two. I know I had my share. You can try getting help here or, even better, at the barry-devel mailing list. Sign up, ask questions and report bugs! They love it.
make
sudo make install
FYI, I tried checkinstall in place of make install, but got no love.
Now with any (aka: lots of) luck, you should have barry installed.
Understand that using barry is not a case of finding 'barry' in your applications menu or running 'barry' in a commmand line. Barry consists of several smaller commands you use separately and they can be found in your /usr/local/bin directory:
ls /usr/local/bin
There's plenty of documentation about using btool and barrybackup (not a bad one to utilize before going any further), but what we're interested in is bjavaloader. Use this command to see the options available to you:
bjavaloader -h
The commands are relatively straight forward, but let's run through a few important commands anyway. To install an application, simply use the 'load' command:
bjavaloader load coolapp.cod
After your Blackberry and computer finish chatting, the application should appear alongside the others you have installed on your phone. Now, it is important to understand you cannot remove the app by using the 'delete' command from your phone! You must use bjavaloader to remove applications installed with bjavaloader. So, to remove said app, first find it using the dir command:
bjavaloader dir
This will return lots of output like you see below. Just look for the app in question. In this case, 'coolapp':
...<clip>
2008
net_rim_bluetooth
0x7810 4.5.0.7700 1335760 Fri Aug 15 11:24:32 2008
net_rim_ecmascript
0x7880 4.5.0.7700 1766600 Fri Aug 15 11:25:20 2008
net_rim_ecmascript_resource
0x7910 4.5.0.7700 1744000 Fri Aug 15 11:25:29 2008
net_rim_ecmascript_resource__en
0x7940 4.5.0.7700 5220000 Fri Aug 15 11:25:31 2008
net_rim_ecmascript_regexp
0x7970 4.5.0.7700 2566000 Fri Aug 15 11:25:17 2008
net_rim_ecmascript_resource__fr
0x79a0 4.5.0.7700 1760000 Fri Aug 15 11:25:34 2008
net_rim_ecmascript_resource__es
0x79d0 4.5.0.7700 1760000 Fri Aug 15 11:25:33 2008
CoolApp
0x13a2 2.3.200000 6557960 Tue Oct 28 14:33:03 2008
GoogleMail
0x1455 2.0.600000 4507040 Wed Oct 1 14:22:25 2008
BBNotePad
0x1522 1.1.200000 1218880 Tue Jan 6 04:45:11 2009
GoogleMaps
0xe030 3.00000000 3037600 Sat Jul 21 17:48:59 2007
Then use the erase command to remove it:
bjavaloader erase CoolApp
After your phone and computer stop chatting again, the app should be gone. Ta-daa!
I hope this makes someone else as happy as myself. I stumbled over a patch announcement in barry-devel and the developers were extremely helpful and good natured with my questions. Be sure to give them some love (the monetary kind, if possible) for their hard work.
Good luck!