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:
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!
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:
Next, download a copy of the latest build with git:
sudo apt-get install git-core
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:
git clone git://repo.or.cz/barry.git barry
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:
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.
FYI, I tried checkinstall in place of make install, but got no love.
sudo make install
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:
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:
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:
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 load coolapp.cod
This will return lots of output like you see below. Just look for the app in question. In this case, 'coolapp':
Then use the erase command to remove it:
0x7810 220.127.116.1100 1335760 Fri Aug 15 11:24:32 2008
0x7880 18.104.22.16800 1766600 Fri Aug 15 11:25:20 2008
0x7910 22.214.171.12400 1744000 Fri Aug 15 11:25:29 2008
0x7940 126.96.36.19900 5220000 Fri Aug 15 11:25:31 2008
0x7970 188.8.131.5200 2566000 Fri Aug 15 11:25:17 2008
0x79a0 184.108.40.20600 1760000 Fri Aug 15 11:25:34 2008
0x79d0 220.127.116.1100 1760000 Fri Aug 15 11:25:33 2008
0x13a2 2.3.200000 6557960 Tue Oct 28 14:33:03 2008
0x1455 2.0.600000 4507040 Wed Oct 1 14:22:25 2008
0x1522 1.1.200000 1218880 Tue Jan 6 04:45:11 2009
0xe030 3.00000000 3037600 Sat Jul 21 17:48:59 2007
After your phone and computer stop chatting again, the app should be gone. Ta-daa!
bjavaloader erase CoolApp
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.