nucleus-ffm / foss_warn

An unofficial open source application to get emergency alerts from https://warnung.bund.de/meldungen.
GNU General Public License v3.0
98 stars 6 forks source link

Size of App/APK #80

Closed chris-asdf closed 1 year ago

chris-asdf commented 1 year ago

Hi,

What's the reason why the App is so big, >40MB for the latest f-droid build?

All the best Chris

MatsG23 commented 1 year ago

The app has been over 40MB in size since March last year already: https://github.com/nucleus-ffm/foss_warn/releases/tag/0.2.9.2 It is actually a good question what makes the app so big. The version before the release I mentioned has been under half of the size.

nucleus-ffm commented 1 year ago

If I am honest, I also wondered why the size of the app increased so much with version 0.2.9.2. I have tried several times to find the reason. Today I did some research again and found the answer. The technical answer is that with Android SDK version 23

„the platform can read native libraries without extracting them if they are uncompressed, so they changed the default value of extractNativeLibs manifest attribute. If you declare minSdk 23 or higher, building the APK with uncompressed native libraries should save space on devices because: APK is compressed before download anyway, so download size doesn't change after installation, there's only one copy of the library (uncompressed inside APK)“

found on stackoverflow

So actually the size should decrease, but if the APK contains several ABIs, the APP size increases because the APK contains libraries for all ABIs.

So the plan would be to create builds with split APKs. But we are not sure if F-Droid supports that yet. For the Github release that would be an option, but people need to know which APK they need and it would be nice to automated that.

For now, I added android:extractNativeLibs="true". To keep the old behaviour. The app size is now 21 MB again, which is fine from my point of view.