Bonbon-Chan
|
 |
«
Reply #30 - Posted
2009-12-02 09:51:44 » |
|
I don't really get the pack200 stuff... I have try to make a batch file to optimized my jar size (it executes itself automatically with netbean after a clean&build) : 1 2 3 4 5 6 7 8 9 10 11 12 13
| "C:\Program Files\Java\jdk1.6.0_13\bin\jar" uf dist\k2010.jar META-INF\MANIFEST.MF
java -jar C:\proguard\lib\proguard.jar @k2010.pro
"C:\Program Files\Java\jdk1.6.0_13\bin\pack200" --effort=9 -O --no-gzip dist\k2010.jar.pack dist\k2010_.jar "C:\Program Files\7-Zip\7z" a -tgzip -mx=9 dist\k2010.jar.gz dist\k2010.jar
echo off echo --------------------------------------------------------------------------- echo --------------------------------------------------------------------------- dir dist\*.* echo --------------------------------------------------------------------------- echo --------------------------------------------------------------------------- |
I get : 1 2 3 4
| 6 834 k2010.jar 2 851 k2010.jar.gz 4 693 k2010.jar.pack 4 078 k2010_.jar |
So, i think it works but are my option right ? Is it the .jar.gz that should be under the 4096 ?
|
|
|
|
|
Abuse
|
 |
«
Reply #31 - Posted
2009-12-02 13:06:38 » |
|
Funky, Could you also provide a means of attaching resource file(s) to be included in the resultant pack. 
|
Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! 
|
|
|
Markus_Persson
|
 |
«
Reply #32 - Posted
2009-12-02 13:23:28 » |
|
So, i think it works but are my option right ? Is it the .jar.gz that should be under the 4096 ?
Yes. But the name should really be k2010.pack.gz
|
|
|
|
Games published by our own members! Check 'em out!
|
|
soothsayer
Senior Newbie  Projects: 1
|
 |
«
Reply #33 - Posted
2009-12-02 13:28:01 » |
|
Fantastic!!!  Who maintains this site? Is it a permanent project?
|
|
|
|
|
Riven
|
 |
«
Reply #34 - Posted
2009-12-02 15:33:30 » |
|
Fantastic!!!  Who maintains this site? Is it a permanent project? Thanks. Me. Yes. I bet I can improve it further, as I'm currently not even using an obfuscator to shrink the method/field names.
|
|
|
|
soothsayer
Senior Newbie  Projects: 1
|
 |
«
Reply #35 - Posted
2009-12-02 15:48:49 » |
|
Thanks. Me. Yes.
I bet I can improve it further, as I'm currently not even using an obfuscator to shrink the method/field names.
Thank you. By the help of this tool I can finally create my jar file easily. I had a big problem with compression until now.
|
|
|
|
|
Markus_Persson
|
 |
«
Reply #36 - Posted
2009-12-02 15:56:46 » |
|
Do you store all java classes submitted there, or can we use it without giving all your source code to you? 
|
|
|
|
Riven
|
 |
«
Reply #37 - Posted
2009-12-02 16:11:02 » |
|
Do you store all java classes submitted there, or can we use it without giving all your source code to you?  Yeah, it was very tempting, but I resisted. The only file that is stored, is the generated .pack.gz file, so you can download it. I can probably launch a thread to remove it after a minute or so.
|
|
|
|
Riven
|
 |
«
Reply #38 - Posted
2009-12-02 16:13:48 » |
|
I just updated the service, so that it actually gives you plain-text error messages, it something would go wrong before the external processes are launched.
I submitted my Poker4K app (2006) which was exactly 4096 bytes, and it came out at 3592 bytes.
|
|
|
|
Markus_Persson
|
 |
«
Reply #39 - Posted
2009-12-02 16:24:43 » |
|
Left 4k Dead went from 4096 bytes to 4019. Neat. 
|
|
|
|
Games published by our own members! Check 'em out!
|
|
Riven
|
 |
«
Reply #40 - Posted
2009-12-02 16:35:45 » |
|
Can anybody give me a kickstart on which proguard parameters to use?
Even if I use the most basic / safe parameters, the jar file comes out at under 300 bytes, and obviously it doesn't even remotely work.
|
|
|
|
|
|
Riven
|
 |
«
Reply #42 - Posted
2009-12-02 16:43:47 » |
|
I did: which apparently didn't patternmatch 'public class X'. * Riven is updating the webservice
|
|
|
|
Riven
|
 |
«
Reply #43 - Posted
2009-12-02 16:49:33 » |
|
Thanks Markus! I submitted my Poker4K app (2006) which was exactly 4096 bytes, and it came out at 3592 bytes.
3508 bytes bytes now.
|
|
|
|
Markus_Persson
|
 |
«
Reply #44 - Posted
2009-12-02 17:06:11 » |
|
Left 4k Dead got BIGGER! G.pack.gz => 4259 bytes
|
|
|
|
Riven
|
 |
«
Reply #45 - Posted
2009-12-02 17:10:31 » |
|
Hrr... I'll make 2 outputs... one with, and one without proguard
|
|
|
|
pjt33
|
 |
«
Reply #46 - Posted
2009-12-02 17:17:16 » |
|
I did: which apparently didn't patternmatch 'public class X'. Try or I used but that has an obvious downside...
|
|
|
|
|
Riven
|
 |
«
Reply #47 - Posted
2009-12-02 17:23:54 » |
|
Now outputs 2 files. I'll probably only output the smallest file later on.
|
|
|
|
appel
|
 |
«
Reply #48 - Posted
2009-12-02 17:55:16 » |
|
Left 4k Dead got BIGGER! G.pack.gz => 4259 bytes
You just code better than pack200 can compress ,)
|
|
|
|
moogie
|
 |
«
Reply #49 - Posted
2009-12-02 22:11:39 » |
|
I'm curious; does pack200 invalidate the 'inject binary data into class files' space saving paradigm?
looking at the pack 200 spec, (section 5.9) it looks like you can manually inject an encoded attribute into a pack encoded class by defining an appropriate "attribute band" However i do not think that it will compress any smaller than the pack 200 native non-class file storage as it seems be quite tight: as a minimum per file it will have a name (reference into the pack 200 constant pool) file size (32 or 64 bits depending file size) and then the raw file data.
|
|
|
|
|
Eli Delventhal
|
 |
«
Reply #50 - Posted
2009-12-03 00:55:27 » |
|
Hrr... I'll make 2 outputs... one with, and one without proguard
Instead of that, maybe provide checkboxes for each tool you link to and have them all checked by default. Depending upon how fast your utility is, you could even have your service construct results for every possibility, then just return the smallest one.
|
|
|
|
|
|
moogie
|
 |
«
Reply #52 - Posted
2009-12-08 22:11:59 » |
|
hmm... your right, woogley's hosting seems to have stopped. I am in the process of making v4 to output pack200 compressed output but if you want to use it right now i have attached it to this post. It is in two parts, you will have to rename it from .pdf to .zip as this board does not accept zip files and max file size of 1.5meg.
|
|
|
|
|
moogie
|
 |
«
Reply #53 - Posted
2009-12-08 22:15:07 » |
|
Part 2 of the 4kjo tool. Just a reminder that the tool is not very robust (as it was an in house tool) so it expects to be run from the command line with the working path to be where the tool is located. Also i recall that some of the optimizers used do not handle file paths with spaces so best to not have paths with spaces 
|
|
|
|
|
steveyO
|
 |
«
Reply #54 - Posted
2009-12-08 23:23:43 » |
|
Thanks moogie, You star!! Its pretty damn good.. 4.6K -> 2.9K using your tool... To 2.1K after using Pack200..
If you can combine the 2 in version4 would be perfect! If you need somewhere to host it PM me and I'll put in on my website..
|
|
|
|
moogie
|
 |
«
Reply #55 - Posted
2009-12-09 02:47:45 » |
|
Glad it helps.
Version 4 should be able to get it smaller tham 2.1k as i will use use the kzip or BJWdeflate to compress the .pack file to produce the .pack.gz.
|
|
|
|
|
Eli Delventhal
|
 |
«
Reply #56 - Posted
2009-12-09 16:48:33 » |
|
hmm... your right, woogley's hosting seems to have stopped.
I am in the process of making v4 to output pack200 compressed output but if you want to use it right now i have attached it to this post.
It is in two parts, you will have to rename it from .pdf to .zip as this board does not accept zip files and max file size of 1.5meg.
I can host the file on my site if you like. Just give me permission and I'll put the ZIP on it. EDIT: I'll just assume you don't mind, because I won't have time to put this up again later. http://www.otcsw.com/files/4KJOv3.zip
|
|
|
|
moogie
|
 |
«
Reply #57 - Posted
2009-12-09 22:01:42 » |
|
I can host the file on my site if you like. Just give me permission and I'll put the ZIP on it. EDIT: I'll just assume you don't mind, because I won't have time to put this up again later. http://www.otcsw.com/files/4KJOv3.ziphehe no problems  I will *try* to get the updated version done when i get some "free" time... such time seems very rare lately 
|
|
|
|
|
SquashMonster
|
 |
«
Reply #58 - Posted
2009-12-11 04:13:50 » |
|
Riven, your (absolutely brilliant) tool seems to be giving me a 404 when I try to access it. Were we taking up too much of your server's CPU?
|
|
|
|
|
Riven
|
 |
«
Reply #59 - Posted
2009-12-11 14:25:25 » |
|
Oh, no, not a problem. Just upgraded to another server, and have to restore that 4K app and my JGO avatar, which had low-priority for now.
|
|
|
|
|