04-17-2009 06:34 PM
I'm using JDE 4.5 and trying to build an application for test on the 8300-JDE simulator. Now the application is growing - simply because of the number of resources (i.e. video files) I'm adding to the package. In short: the resultant COD file is now over 128K.
Now I've pored thru the forum and think I understand all about large COD files and sibling COD files. And I can discern that my resultant COD file does indeed include many sibling COD files.
However, when I try to launch my app in the simulator, it hums and haws, then an error message appears in the debug log:
Error starting jsbridge: Module 'jsbridge' does not match codfile timestamp of sibling module 'jsbridge-1'.
I've tried other simulators, but for the life of me: I can't figure out what's going on there. I'll save my question there for another threadbut the short version is if I switch to another simulator (say 8800-JDE), I get a pop saying 'jsbridge.debug' file not found.
04-17-2009 07:36 PM
Perform a "clean" on the simulator directory.
In your project directory, delete all of your compiler artifact files (cod, jad, debug)
Now perform a "clean build" and try again.
04-20-2009 02:22 PM
Well if you're referring to my footnote remark about the simulator problem.... I've discovered this clean stuff. However, that's not my primary concern here. Rather my primary concern is the apparently too large COD file.
I have this morning cleaned out all my simulators and rebuilt my projects and I observe the following behaviour:
1. After I had cleaned my simulators, my first obsevered problem was that my application was no longer even being installed on any simulators.
2. I determined this had to do with the size of the application - since by reducing the size of it (by removing some video files from the app), I could get it installed.
3. Once I had successfully installed the application once (with a newer smaller size), I then tried to add more video resources. Fairly quickly I got into a new state.
3. Specifically when I started the simulator, then selected my application, the first thing that happened was a popup error said 'jsbridge.debug' not found.
4. The second thing that happend was after a number of seconds, I received a messag in my debug pane of the JDE saying: Module 'jsbridge' does not match codfile timestamp of sibling module 'jsbridge-1'
THis is all very predictable now. If I remove a video file from my app to reduce its size to some specific level, the application will load, launch and execute. If I then add a video file such that the app is now 'too big', the aforementioned behaviour results.
I've tried this using JDE 4.5 and JDE 4.7
04-20-2009 04:23 PM
I can add some more fuel to this problem:
I'm once again at the point where my simulator is refusing to load my (presumably too big) cod file from JDE.
So what I do is from within the simulator's 'File' menu. I select 'Load java program...' and find my cod file. In the debug pane of JDE I get a terse message that says: 'Jvm: errors in jsbrige.cod'
There are other terse and obtuse lines prior to that message, but I would guess they have nothing to do with anything (e.g VM:+GC(F)w=21)
04-20-2009 04:32 PM
I've had similar issues. Adding one .png file of size 244KB, seems to throw my app haywire. It seems to NOT compile a new build. Selecting clean all >> build >> run only seems to run the old .cod file, because any changes made just will not show. So by removing that one file from my app, it will start to work perfectly again.
I'd love to get some Blackberry feedback on this. Is it some issue with the way the .cod files are created? Is it something wrong with the image I am adding?
My current .jar file is1.6KB in size.
My current .cod file is 845KB, which I know is over the limit but it works. Why won't it break it up even smaller is another good question?
04-20-2009 05:00 PM
04-28-2009 02:39 PM
6 MB is an extremely large BlackBerry application. I'd recommend to store your video data separate from the application. You could load it separately (over USB or wirelessly) and store it on the micro SD card or device memory.
Regarding the 244 KB png file, what version of BlackBerry JDE are you using? If you are using version 4.5.0 or higher it should be able to span the PNG file over multiple sibling cod files. This is not supported in older versions of the BlackBerry JDE and would fail with a build time error. The maximum size of file that can be added to a project for older versions of the BlackBerry JDE is approximately 64 KB.
04-28-2009 04:44 PM
Well I really don't intend for this response to sound either condescending or beligerent. That's not at all my point. So please take my response not personally, but professionally.
But quite honestly, to say "6MB is an extremely large application" is just utter nonsense. This remark will undoubtedly rank up there with Bill Gates famous statement: "Who would want more than 640KB of memory?"
Having come from the iPhone development environment, I can certainly assure you that 6MB is not a large application. Admittedly in their environment, they have a 10MB restriction for over-the-air download of applications. However, due to integration with iTunes, large applications are easily downloaded via wire to iTunes, then transferred simply to iPhone devices. My understanding about the BB sync feature leads me to believe BB apps can be similar acquired and installed.
What differentiates iPhone apps from Blackberry apps at the moment (and explains much of the size difference one can find between these two app classes), is the fact that many iPhone apps take advantage of the rich multi-media capabilities of the iPhone.
Now with BB making a clear foray into the consumer market and trying to beef up their rich-media capabilities, it is naive and anachronistic to stick to this notion of apps being a few hundred kilobytes in size.
Given that BB architecture purportedly supports large COD files, it should therefore actually work with large COD files. And developers should not be simply flipped off when they actually try to use large COD files. It is clear that there are problems with large COD files, and it seems not only prudent, but an imperative for BB to address the issues associated.
04-28-2009 05:16 PM
First compare to Bill Gates, the compare to the iPhone? Nice.
You're using 4.5. So you're targeting devices like the pearl 8100 and the curve 8300 which ship with 64MB of flash (compare to 4GB on the original iPhone). The OS itself eats about half of it. Then there's mail, contacts, pictures, ringtones, themes. Word on the street is to leave around 12MB free. So there's only 15-25MB for applications on those devices.
Your 6MB app, alone, will take up 1/4 to 1/3 of available space. An equivalent iPhone app (in terms of taking up space) would be 1GB in size. That's about 100 times the iTunes download limit. Still don't think it's extremely large for the target?
The suggestion you've received to put the videos on the sdcard is quite sensible. It's bad form to waste the user's precious flash with megs and megs of media files. Those belong on the sdcard.
02-22-2012 08:22 AM - edited 02-22-2012 08:22 AM
I had really large cod files. I finally found out, that the .svn directories were packaged into the cod file. Since i have a lot of linked sources it got really bad. The result was, that signing took really long and the resulting cod was over 8 MB in size, instead of 1,2 MB.
What you can do about it:
right click your project, then go to properties -> java build path -> tab "source".
"open" a source, mark "excluded" click "edit" on the right side
In "Eclusion patterns" click "add"
save and repeat this for all sources