(I have solved my problem, so have edited it to look more like a blog post - the final working solution has been placed as an "answer" below.)
I want to package our BB libraries (v4.5 OR v5.0) into JAR format, so we can give application source code to clients WITHOUT giving library source code.
Currently, I have my SDK, and my apps, all setup with source code, as different projects in the same workspace. All projects compile. My SDK is setup as a library project, my apps as applications.
In each app, I add the SDK project to the build path.
Eclipse handles the build perfectly, creates the various COD files. I copy & unzip the COD files into the same folder, run updatejad
to combine the JAD files, and end up with many COD files that install perfectly.
Problem is - the library is required to be in source code.
There are many conflicting sources of information on this. The process is simple, but not well documented. In some attempts, I have encountered the following problems:
Unfortunately the main document that seems to be referenced from RIM is incorrect - details below.
(I hope its OK to cross-reference this question with the following long list of links?)
StackOverflow links:
This one gives other links - quite useful:
These not so useful:
RIM:
How to install JAR file in Blackberry? Open My Computer and open your media card memory disk, usually labeled as Removable and Paste the JAR file In your smart phone go to Media → Explore and locate the JAR file you have just copied from your computer Click on the *.
But there are java apps specifically written for Blackberry devices. These will install without any hiccup. Here is how to install a jar file: Copy the jar file to the memory card. In the BB, open the file manager. Browse to where you saved the jar file and click it. Now click ‘Download’.
You can install three types of files: .jar, .jad and .cod . Let’s look at how to install applications in these formats: .JAR or Java applications: Blackberry has limited support for .jar files. It may or may not install on your BB. Because Blackberry do not support some of the modules required by some .apps.
Open My Computer and open your media card memory disk, usually labeled as Removable and Paste the JAR file In your smart phone go to Media → Explore and locate the JAR file you have just copied from your computer
I have managed to solve the problem so have edited the question, and placed the final procedure, with notes, down here:
1) Change the SDK project to be a MIDLET application as per this link (Richard Schilling’s Professional Weblog)
2) Build the SDK project in Eclipse. Package & Sign the project as normal.
3) Copy that resulting JAR file into your project, and update the build path to use that JAR.
4) Also in the build path settings, go to the "Order & Export" tab & check the box to export this JAR file.
WARNING: at this point a lot of users seem to encounter the bug where Eclipse tells you "Project {0} has to have a jad file file if it exports a mildlet jar". This error happens if you do not set the SDK project's type to MIDLET.
If you get this error, please check the project's build type.
If you have set it to MIDLET correctly, try editing the manifest inside the JAR file, to remove the line MicroEdition-Profile- MIDP-2.0
.
Full details are given in this link: "Project {0} has to have a jad file file if it exports a mildlet jar" error appears in BlackBerry Java Plug-in for Eclipse
NOTE: regarding the RIMAPPSA2 signature, I found some info about getting rid of that requirement. The steps seem strange, but they worked for me insofar as the signing stage went. Unfortunately for me the app didn't run on the phone (still requiring some signatures). But these steps might help someone else & can be found at Frustrations with Blackberry Developer plugins for Eclipse
NOTE 2: remember to refresh your project after reimporting a new build of the JAR file, if you have to go back to step 1 (otherwise Eclipse will keep using the old one you have just overwritten).
So to summarise:
If you get questions about RIMAPPSA2 signatures, see step 1.
Easy when you know how - but this took me many days to get right?!?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With