Thank you for visiting the BlackBerry Support Community Forums.
BlackBerry will be closing the BlackBerry Support Community Forums Device Forums on April 1st (Developers, see below)
BlackBerry remains committed to providing excellent customer support to our customers. We are delighted to direct you to the CrackBerry Forums, a well-established and thorough support channel, for continued BlackBerry support. Please visit http://forums.crackberry.com or http://crackberry.com/ask. You can also continue to visit BlackBerry Support or the BlackBerry Knowledge Base for official support options available for your BlackBerry Smartphone.
"When we launched CrackBerry.com 10 years ago, we set out to make it a fun and useful destination where BlackBerry Smartphone owners could share their excitement and learn to unleash the full potential of their BlackBerry. A decade later, the CrackBerry community is as active and passionate as ever and I know our knowledgeable members and volunteers will be excited to welcome and assist more BlackBerry owners with their questions."
- Kevin Michaluk, Founder, CrackBerry.com
Developers, for more information about the BlackBerry Developer Community please review Join the Conversation on the BlackBerry Developer Community Forums found on Inside BlackBerry.
09-11-2008 02:38 AM
When developing in the JDE, to try things out, you gotta bring up your app in the emulator. Currently, it takes about a minute for it to come up, for the debugger to attach, etc... This really discourages me from trying out things.
Are there any tricks to making the emulator come up faster, a lot faster?
09-11-2008 01:57 PM
Well, for me it is easier to do testing OTA as I have a lot of diagnostics built in and a test cycle consists of invoking one
script, opening my email, hitting the link, and downloading the new version. This may not be the answer for everything
but if you have a server it can be amazingly quick once it is automated and you can send notify emails
to anyone else who may have a phone specific problem for quick testing.
09-11-2008 02:01 PM
09-11-2008 02:27 PM
sometimes it does but it doesn't take down my whole computer while it is
In any case, it seems to be a good way for me but emulators have their purposes and something to consider
if you need to iterate on real devices- the automated approach is pretty simple once you are set up.
09-11-2008 07:10 PM
I need a simple proof of concept, perhaps you can tell me which sun jre's would be compatible with your platform independent
java class libaries. This would work for simple testing ( I'm trying to test an xml parser):
$ java -classpath "net_rim_api.jar;." xxx
Exception in thread "main" java.lang.ClassFormatError: Method <init> in class ne
t/rim/device/api/xml/jaxp/XMLParser has illegal modifiers: 0x101
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
09-11-2008 10:01 PM
As far as I can tell, "net_rim_api.jar" is just a thin wrapper around native code running on the BlackBerry. Pretty much every single API call exists as nothing more than an interface in that JAR file. This means that, as far as I can tell, you have to use the emulator to test this stuff.
Now, I personally would love an offline-capable net_rim_api.jar, if only so I could run the bulk of my unit tests outside of the emulator. Though I'm not sure if that is likely to happen.
09-12-2008 07:47 AM
The class files are "bytecodes" for instructions that execute on a virtual machine ( oddly enough called the
java virtaul machine). This is another "emulator" for an instruction set which doesn't exist in hardware
in most places. There are various class file versions and "class inspectors" online. Nominally
these are all the same and could run in the right JRE. I wouldn't expect everything to work
as eventually there are calls to native code but it is possible to mix and match or provide a JNI
that the emulator uses but without all the extra graphics "stuff" that probably slows down the startup.
The bytecode part is portable, the native part exists for the emulator anyway. It should be possible
to startup a JRE using the right set of classfiles and native code without starting all the other junk.
Certainly I would find it surprising if the xmlparser uses native code but it still just be a matter of hunting down
the pieces you need to test.
09-13-2008 03:49 PM
Try to decompile "net_rim_api.jar" sometime. Pretty much *everything* in there is just an interface with no implementation. What I'm trying to say is its *all* JNI. The only way you'll ever get something that depends on the BlackBerry API to run outside the BlackBerry simulator is to essentially reimplement the whole thing.