BlackBerry 10 development in 2022

Tuesday, October 11, 2022    Post   855 words   5 mins read
BlackBerry 10 development in 2022

We’re damn good too but you can’t be any geek off the street, you gotta be handy with the steel, if you know what I mean. Earn your keep. Warren Griffin III

As you probably know, BlackBerry shutdown all their Blackberry OS services from January 4, 2022 and the old download links are now dead as a chipmunk in Dubai. Not only that, but it seems like they requested the removal of the remaining artifacts from various archive sites. Don’t worry, its for our sake, you wouldn’t want “illegal” stuff flying around, wouldn’t you?

Now, what can you do if you want to start your own BlackBerry application in the year of Allah, 2022? Basically you need two components, the Momentics IDE and SDK API level files (you need to do an offline installation because Momentics can’t download them from the BlackBerry servers anymore). Actually three, because you also need heavy alcohol consumption to get you through it.

Momentics IDE

Start by downloading the Momentics IDE for your platform (the computer you’re using, does it have an apple on it? macOS. Does it look like it was made in Ozztralia by a bunch of Vietnamese kids? Still macOS. Do you feel the urge to throw the computer outside a window someday? It’s Windows. Did you happen to sign the Richard Stallman support petition? Congratulations, it’s a Linux. You get the idea.)

If you downloaded a version that’s not for Windows, well, you’re out of luck. The API level files are only for the Windows platform. If I ever happen to run into the files for macOS and Linux, I’ll update the article, but I wouldn’t hold my breath, unless it’s one of my BDSM sessions.

API level

After January 4 it’s impossible to find the files for the latest API levels (10.3.3.3204 is the newest), so instead we have to work with 10.3.1.995.

The original files could be found on BlackBerry servers until 2022 but not anymore.

http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.libraries.10.3.1.995.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.tools.10.3.1.12.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.cshost.10.3.1.995.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.qmldocs.10.3.1.995.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.documents.10.3.1.995.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.licenses.10.3.1.995.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.qconfigmk.10.3.1.995.zip
http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.3.1.995/packages/bbndk.win32.samples.10.3.1.995.zip

You do notice a pattern, right?

http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_<API_LEVEL>/packages/bbndk.<PLATFORM>.<PACKAGE>.<API_LEVEL>.zip

Where <API_LEVEL> is the API level version, 10.3.1.995 in this case, <PLATFORM> is the name of the platform, win32 for Windows, macosx for macOS and linux for … Linux.

In theory, if we wanted to download the files for API level 10.0.9.2372 and Linux platform, we could construct the URL like this:

http://downloads.blackberry.com/upr/developers/update/bbndk/ndktargetrepo_10.0.9.2372/packages/bbndk.linux.libraries.10.0.9.2372.zip

But the files are not there anymore, so it doesn’t matter. I had to dig into dark places and bribe someone from a company whose name starts with B and ends with Y (Why yes, you cracked the code, it’s Ben & Jerry, I know people there and I’m not afraid to use them).

In spite of all the problems I encountered during the past hour, I got the files for the API level 10.3.1.995 and I didn’t even have to social-engineer someone from BlackBerry (HELLO THERE LAPSUS$!).

Behold, the aforementioned files.

If the files will get removed, let me know so I can update them (or maybe put up a Tor mirror).

Extract bbndk.win32.tools.10.3.1.12.zip into c:\bbndk_api\ (create that directory first) so that you get a new directory inside named host_10_3_1_12. Extract bbndk.win32.libraries.10.3.1.995.zip into c:\bbndk_api\ and you’ll get another directory inside named target_10_3_1_995.

Extract bbndk.win32.cshost.10.3.1.995.zip, bbndk.win32.documents.10.3.1.995.zip, bbndk.win32.qconfigmk.10.3.1.995.zip and bbndk.win32.samples.10.3.1.995.zip into c:\bbndk_api\ and their contents will get merged into the target_10_3_1_995 directory.

Now you should have a directory c:\bbndk_api\ and inside it two more directories, target_10_3_1_995 and host_10_3_1_12.

Install

Install Momentics IDE by double-clicking the momentics-2.1.2-201503050937.win32.x86.setup.exe (if you want to install it for a different platform, do open that specific file but keep in mind the API level files are for the Windows platform. You know … Bill Gates, Allah forgive me for saying its name out loud). Leave the destination folder to C:\bbndk and click Next few times until the installation begins. Grab a glass of water and get your daily water intake until the install is done (or vodka, if we’re still allowed to use that name).

Open Momentics, go to the Help menu and click on the Update API Levels… submenu, go to the Custom tab. Click on the Add New Custom SDK button and the Import SDK Platform window opens. In the Target Path field you need to enter the path to the target_10_3_1_995 directory (basically c:\bbndk_api\target_10_3_1_995\) and in the Host Path field you need to enter the path to the host_10_3_1_12 directory (likewise, c:\bbndk_api\host_10_3_1_12\). Don’t enter manually, click the Browse buttons and select the path. The Name field is not important, leave it to target_10_3_1_995 or change it, the Version field should autocomplete to 10.3.1.995. Click Finish.

That’s it, now you can create a sample BlackBerry project. Takedown request from BlackBerry in 5 … 4 …