Colton Idle
03/25/2025, 4:12 AMColton Idle
03/25/2025, 4:13 AM./gradlew packageDmg
No conveyor.
64.9MB for .dmg
124.1MB for .app (what you get when you open .dmg)
2. ./gradlew packageReleaseDmg
No conveyor, but runs proguard.
51.9MB for .dmg
109.9MB for .app (what you get when you open .dmg)
3. ./gradlew packageReleaseDmg
No conveyor, but runs proguard with obfuscate.set(true)
48MB for .dmg
105.8MB for .app (what you get when you open .dmg)
4. ./gradlew desktopJar && conveyor make site
A regular unproguarded app with conveyor
71.5MB example-1.0.0-mac-aarch64.zip
120.9MB Example.app
5. ./gradlew desktopJar && conveyor make site
A regular unproguarded app with conveyor + conveyor's "native library extraction"
62.3MB example-1.0.0-mac-aarch64.zip
123.8MB Example.app
6. ./gradlew proguardReleaseJars && conveyor make site
Proguarded app with conveyor
58.6MB example-1.0.0-mac-aarch64.zip
106.3MB Example.app
7. ./gradlew proguardReleaseJars && conveyor make site
Proguarded app with conveyor with conveyor's "native library extraction"
49.4MB example-1.0.0-mac-aarch64.zip
109.2MB Example.app
8. ./gradlew proguardReleaseJars && conveyor make site
Proguarded and obfuscated app with conveyor
54.6MB example-1.0.0-mac-aarch64.zip
102.3MB Example.app
9. ./gradlew proguardReleaseJars && conveyor make site
Proguarded and obfuscated app with conveyor with conveyor's "native library extraction"
45.5MB example-1.0.0-mac-aarch64.zip
105.2MB Example.app
The winner!
I care about initial download size. An app built with conveyor + conveyor's "native library extraction" + proguard + obfuscation (arguably the combo that everyone should aim for) comes in at the smallest download size of 45.5MB. And that contains extra code in there for sparkle (the update framework) that you don't get with the typical gradlew package*
tasks (and its also supposed to help with small delta updates). Way cool!Colton Idle
03/25/2025, 2:08 PMeygraber
03/25/2025, 2:30 PMColton Idle
03/25/2025, 2:35 PMeygraber
03/25/2025, 2:37 PM