I made a Blackberry Webworks project using jquery mobile and phonegap. When I go to build the project I get the error "I/O error: output error: Solution-###.cod data section to large 65152 bytes".
I am under the impression that when creating a webworks project the images and resources you use and that is what is causing this error? I have gone through and made all of my images smaller than 65 KB and right now the only things larger then 65 KB are my jquery.js, jqueryMobile.js and index.html files.
I am a little confused as to what I can do to fix this error or to figure out which Solution-97.cod?
Thanks in advance.
The error you are getting is due to the size of the created .cod file(s). Each of these files cannot be larger than 64kb in size. I have not worked with webworks, I code apps with eclipse, and this splits the final app into multiple .cod files less than 64kb.
Since you have mentioned that it gets up to "solution-97.cod" I assume it is exporting to at least that number of cod files - i.e. approx 6.2mb of data. I've found that any apps over approx. 3Mb tend to give hassles and errors with the cod file creation.
If possible try to reduce the size of your resources (convert png to jpg where possible for example).
There is a discussion (and links to further threads of a similar nature) on the blackberry developer forums: http://supportforums.blackberry.com/t5/Java-Development/cod-data-section-too-large-65222/td-p/410066
Related
I'm getting ready to deploy my react native application to the iOS App Store, and am going to build a binary using expo (something I've never done before). However, something that has confused me since I started this project is why my application folder is so big. My app has maybe around 40 images, most smaller than a few hundred kb. However, the node_modules folder is pretty large and makes up the bulk of my application folder with about 150mb of packages, most of which I don't use and the ones I do using only contributing to a fraction of that total. When I build a binary, will those unused packages be included in the binary or will it be much smaller than it is right now? If it will still be around the same size after building, how can I significantly shrink the size of my application?
No, it will not be included in the bundle. In my experience, a basic React Native app is roughly 7-11MB. Yours will of course be larger if you have a ton of components and static assets, but it's nothing to worry about.
I have created an project of size nearly 5 MB, but after archiving app from xworkspace it increases upto 194Mb and IPA file size upto 70 MB.
Will it fine to have a large size "ipa" for normal application ?
Thank you
It is fine as long as the IPA file size is less than 100 MB. Once the file size becomes larger than 100MB, then it won't be available to download from the Appstore on Cellular Internet. It will be available to download only on WiFi.
I would recommend you inspect the Xcode project to find large dependencies that are causing the file size to increase.
If your entire project is only 5Mb size, you may have a dependency or copy build path resources problem.
Double check :
do you need all frameworks linked to the project ?
do you have a build phase which copy to final resources path unused or unwanted files ?
if you use dependency manager suche as cocoapod or carthage: are all the pulled external frameworks necessary ?
If you want to know what are the big files, it's pretty easy once you have the IPA file: rename your ipa with "zip" extension, unarchive, explore
Bonus: Even the finder say to you "XX MB", it's not the final size. To know the final size, you can upload your ipa on ituneconnect, even if you don't want to use it. after processing, in builds list. You can have the final size for each devices. ex:
As you can see Universal is quite big compared to the specific build for, for ex, iphone 6 !
I recently finished an app on Xcode and compressed it to a .zip file (or .ipa as I changed the ending later). However, I was shocked to see that the size of the .zip was 1.62 GB, which is incredibly large for an iOS app, and way too large to be accepted by iTunes Connect.
After looking over similar questions on Stack Overflow, I proceeded to remove all resources in my project to see if they were the cause of the problem. I took out any .PNG or .JPG image file, and also removed any .MP3 audio file. However, after compressing my app it was still at an absurd number - 1.56 GB!
I don't know what to do now, as I really need to submit this app but it is still way too big. I would appreciate any help on this issue. Thanks!
Edit: I had to create a completely new project in order to fix this issue, as I couldn't find what was making the size so big in the original project. I copied and pasted the storyboard, added all the image and audio files, and re-created the classes by copying and pasting the code.
I'm baffled by how Xcode is managing to compress my iOS app so effectively. All of my images and sound files combined add up to 282 MB for about 3000 items. However, the .app is somehow only 126 MB! Further, the file sizes inside the .app package contents are the same, yet the folder sizes are all roughly half size. How is this possible?
The main reason is probably that all your images (assuming images make up the majority of the 282 MBs in your app) are compressed using pngcrush as a build step in your application. You can actually watch this by looking at at the build log from xcode.
The special version of pngcrush that is used in the iOS SDK cause the PNG images to be non-standard (making them unviewable on the Mac or any other standard program for that matter). Instead, they are adapted to the display hardware of the iOS devices which means that they will load faster as well.
I need to add more png images to my app. When the size of the .cod file crosses 5mb it throws a runtime exception, and I cannot figure why, even with a debugger. If I remove some images I can run the app. I am using BlackBerry OS 4.7 with the storm. Later OS versions also have the same issue.
Hi Arhimed thanks for your
suggestion.How to do lazy resource
loading? When I am taking all the
images before main method I move the
images to SDCard.But it is throwing
same runtimeexception and I cannot
compile it.
Under the "lazy resource loading" I mean you could host your images somewhere in the internet. So on the first app start, being under a splash screen, you would download them to SDCard (or to Device Memory if Device Memory is big enough - it is fully up to you where to store the images). On a slow connection it could take minutes, so you definitely need to inform users about what is going on, so they don't think the app has hung.
Yes, Use OTA in Following command on Application folder.
cd application dir.....
ren appName.cod *.zip // this will divided one cod file to multiple part it.
and now you can extract this zip file on specific folder and also add it's .jad file