Google PlayStore'daki Uygulama Paketi İndirme Boyutu 23 MB civarında :
Ancak neden yüklendikten sonra Diskteki Uygulama Boyutu önemli ölçüde 83 MB'ye yükselir :
Bunun neden olduğu hakkında herhangi bir fikir, çünkü:
1) Sadece 11 MB civarında projelerdeki Flutter'ın varlık dosyası (resimler, ses ve yazı tipleri)
2) Sadece diskteki Çarpıntı Kaynak Kodunun (.dart) boyutu 1,4 MB
3) Android Yerel Kaynağı / simgesi (Res) yalnızca yaklaşık 800 KB
aşağıda kullandığım çarpıntı eklentisi ile ilgili:
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
angles: ^1.0.1
app_settings: ^1.0.5
archive: ^2.0.8
cached_network_image: ^1.1.1
carousel_slider: ^1.3.0
cron: ^0.2.1
crypto: ^2.0.6
cupertino_icons: ^0.1.2
date_format: ^1.0.5
device_id: ^0.1.3
dio: ^2.0.0
easy_alert: ^0.0.2
localstorage: ^2.0.0
audioplayers: ^0.13.1
path_provider: ^1.1.0
esys_flutter_share: ^1.0.2
flutter_compass: ^0.3.2
flutter_html: ^0.9.6
flutter_local_notifications: ^0.8.2
flutter_offline: ^0.2.4+1
flutter_swiper: ^1.1.6
flutter_xlider: ^2.4.5
font_awesome_flutter: ^8.2.0
geolocator: ^5.0.1
google_maps_flutter: ^0.2.0
google_sign_in: ^4.0.1+1
http: ^0.12.0+2
libcalendar: ^0.2.0
location : ^2.3.0
numberpicker: ^1.0.0
pigment: ^1.0.3
rxdart: ^0.21.0
shared_preferences: ^0.5.1+1
shimmer: ^1.0.0
unicode: ^0.1.0
url_launcher: ^5.0.2
validate: ^1.6.0
vibrate: ^0.0.4
after_layout: ^1.0.7+2
draggable_scrollbar: ^0.0.4
flutter_web_browser: ^0.11.0
flutter_youtube: ^1.1.6
google_api_availability: ^2.0.1
indexed_list_view: ^0.0.5
permission_handler: ^3.1.0
queries: ^0.1.4
rect_getter: ^0.0.1
scroll_to_index: any
sqflite: ^1.1.5
tuple: ^1.0.2
xml2json: ^3.0.3
firebase_messaging: ^5.1.6
firebase_analytics: ^3.0.2
firebase_core: ^0.4.0+3
firebase_auth: ^0.11.1+6
firebase_admob: ^0.9.0+1
firebase_in_app_messaging: ^0.0.1+3
superellipse_shape: ^0.1.5
device_info: ^0.4.0+2
in_app_purchase: ^0.2.0+6
sentry: any
system_info: ^0.1.1
highlighter_coachmark: ^0.0.3
volume: ^0.1.0
admob_flutter: ^0.3.2
bubble_tab_indicator: "^0.1.4"
material_design_icons_flutter: ^3.0.3289
scoped_model: ^1.0.1
flutter_slidable: ^0.4.9
kiwi: ^0.1.0
flutter_markdown: ^0.2.0
flutter_downloader: ^1.2.1
native_ads: ^0.2.0
onesignal_flutter: ^2.0.0
Herhangi Bir Fikir Nasıl App Boyutu azaltmak için ?
Şimdiden teşekkür ederim...
GÜNCELLEME
Ben ayarlarsanız minifyEnabled = true
ve shrinkResources = true
( Ravinder Kumar tarafından önerildiği gibi benim de) build.gradle
o zaman çok uzun bir hata oluşturur, burada günlük var:
== Android için bina ==
... (Çok uzun olduğu için hata günlüğünü kestim, ancak tam günlük burada görülebilir: https://www.dropbox.com/s/jy92d1lmj9pgb6d/full_flutter_error_log.txt?dl=0 )
Not: Yapılandırma 'io.flutter.plugins.googlesignin.GoogleSignInPlugin $ Delegate $ 3 {void onComplete (com.google.android.gms.tasks.Task) giriş noktasını korur; } ', ancak' com.google.android.gms.tasks.Task 'tanımlayıcı sınıfı değil
Not: yapılandırma, 'io.flutter.plugins.inapppurchase.Translator {java.util.HashMap girişini SkuDetail'den (com.android.billingclient.api.SkuDetails) tutar; } ', ancak' com.android.billingclient.api.SkuDetails 'tanımlayıcı sınıfı değil
Not: Yapılandırma, 'io.flutter.plugins.inapppurchase.Translator {java.util.HashMap, Satın Alma'dan (com.android.billingclient.api.Purchase) giriş noktasını tutar; } ', ancak' com.android.billingclient.api.Purchase 'tanımlayıcı sınıfı değil
Not: Yapılandırma, 'io.flutter.plugins.inapppurchase.Translator {java.util.HashMap, PurchasesResult (com.android.billingclient.api.Purchase $ PurchasesResult) giriş noktasını tutar; } ', ancak' com.android.billingclient.api.Purchase $ PurchasesResult 'tanımlayıcı sınıfı değil
Not: Bilinmeyen sınıflara 7 referans vardı.
You should check your configuration for typos. (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
Not: Bilinmeyen sınıf üyelerine 3 referans vardı.
You should check your configuration for typos.
Not: tutulan sınıf üyelerinde 242 gizli tanımlayıcı sınıf vardı.
You should consider explicitly keeping the mentioned classes (using '-keep'). (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Not: Sınıflara veya arabirimlere 68 çözümlenmemiş dinamik referans vardı.
You should check if you need to specify additional program jars. (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Uyarı: Sınıflara veya arabirimlere 25 çözümlenmemiş referans vardı.
You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Uyarı: Kütüphane sınıfı üyelerine çözümlenmemiş 2 başvuru vardı.
You probably need to update the library versions. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)
Uyarı: java.io.IO görevi işlenirken kural dışı durum: Lütfen önce yukarıdaki uyarıları düzeltin.
Thread (Tasks limiter_1): destruction Gradle görevi 'bundleRelease' çalıştırılıyor ... 690.7s (!)
************************************************** **********************> ******************* Gradle hatası nedeniyle olabilir AndroidX> bu Flutter uygulamasındaki uyumsuzluklar. Sorun ve nasıl düzeltileceği hakkında daha fazla bilgi için bkz. "Https: //goo.gl / CP92wY". ************************************************** **********************> ******************* Gradle görev paketi Çıkış kodu 1 ile başarısız oldu
Derleme başarısız: | Android için oluşturulamadı
btw, aşağıda benim proguard-rules.pro
:
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class com.baseflow.** { *; }
#-keep class com.chartboost.** { *; }
-dontwarn com.google.common.base.**
-keep class com.google.common.base.** {*;}
-dontwarn com.google.errorprone.annotations.**
-keep class com.google.errorprone.annotations.** {*;}
-dontwarn com.google.j2objc.annotations.**
-keep class com.google.j2objc.annotations.** { *; }
-dontwarn java.lang.ClassValue
-keep class java.lang.ClassValue { *; }
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keep class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement { *; }