setting up a blackberry dev environment under linux

i recently had to look at the blackberry sdk for something. to my disappointment, the blackberry sdk is only available for windows - no linux or mac versions in site. my first attempt was to run a windows vm under virtualbox, but that brought my system to a screeching halt.

so i started doing some research (see sources at the bottom of the post) and found an easier way.  i did this all under ubuntu linux (lucid).

1.  install wine (sudo apt-get install wine)

2.  get winetricks from here (see for details).

3.  chmod +x winetricks; ./winetricks gdiplus; ./winetricks msxml3

4.  download and install the jdk for windows from sun (oracle?) under wine.

5.  update your windows path to contain the directory of the sdk - do this by editing ~/.wine/system.reg and searching for PATH= and appending your path to it.

6.  ensure that java works under wine (ie run wine javac and see if it works - if it doesn’t, try doing a wine cmd followed by a path to see what the path is at the moment).

7.  download the 32 bit eclipse for windows - unzip it and move it to ~/.wine/drive_c.

8.   install the blackberry sdk (wine BlackBerry_JDE_PluginFull_1.1.2.201004161203-16.exe).

9.  mkdir /opt/rim; cp -r ~/.wine/drive_c/eclipse/plugins/net.rim.ejde.componentpack5.0.0_5.0.0.25/components /opt/rim/sdk

10.  download the sun java wireless toolkit for linux and install it in /opt/rim/WTK2.5.2

11.  finally, set up a /opt/rim/tools directory and add the following files in there (make sure to chmod +x them):



PATH=$PATH:$PREVERIFY java -jar $SDK/bin/rapc.jar \
   import=$SDK/lib/net_rim_api.jar \
   codename=$1 \
   $1.rapc \

cd "`dirname $0`"
/usr/bin/wine /opt/rim/sdk/simulator/fledge.exe /app=/opt/rim/sdk/simulator/Jvm.dll /handheld=9550 /session=9550 /app-param=DisableRegistration /app-param=JvmAlxConfigFile:9550.xml /data-port=0x4d44 /data-port=0x4d4e /pin=0x2100000A

and that’s it! now let’s compile a sample app, say the helloworld sample (from /opt/rim/sdk/samples/com/rim/samples/device/helloworlddemo/). to do this, copy the helloworlddemo folder somewhere and add a HelloWorldDemo.rapc file in that folder that looks like this:

MIDlet-Name: HelloWorldDemo
MIDlet-Version: 0.9
MIDlet-Vendor: Research In Motion Ltd.
MIDlet-Jar-URL: HelloWorldDemo.jar
MIDlet-Jar-Size: 0
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1
MIDlet-1: Hello World Demo,img/helloworld_jde.png,
RIM-MIDlet-Flags-1: 0

now you can compile it by running /opt/rim/tools/ HelloWorldDemo - if all is well, you should see a HelloWorldDemo.cod file.

then run, which should launch the simulator. you can choose to install the cod file from the menu.

btw, if you want to use other emulators, run wine fledge.exe /help under /opt/rim/sdk/simulator and you’ll find what valid parameters there are for the device type. then edit and change it to your device type.

one other note - another way to compile applications involves using the blackberry ant tools. i haven’t tried this yet, however.


comments powered by Disqus