গুগল প্লেস্টোরে আমার অ্যাপ্লিকেশন বান্ডিল ডাউনলোডের আকার প্রায় 23 এমবি :
তবে কেন ইনস্টল হওয়ার পরে, ডিস্কে অ্যাপের আকারটি উল্লেখযোগ্যভাবে 83 এমবিতে উন্নীত হয় :
কেন এমন কোনও ধারণা, কারণ:
1) প্রায় 11 মেগাবাইটের প্রোজেক্টগুলিতে ঝাঁকুনির সম্পদ ফাইল (চিত্র, শব্দ এবং ফন্ট)
2) ডিস্কে ফ্লটার সোর্স কোড (.ডার্ট) এর আকার মাত্র 1.4 মেগাবাইট
3) অ্যান্ড্রয়েড নেটিভ রিসোর্স / আইকন (পুনরায়) প্রায় 800 কেবি প্রায়
আমি নীচে flutter এর প্লাগইন সম্পর্কিত:
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
কোনও আইডিয়া কীভাবে অ্যাপ্লিকেশন আকারে হ্রাস করবেন ?
তুমাকে অগ্রিম ধন্যবাদ...
হালনাগাদ
আমি যদি সেট করে রাখি minifyEnabled = true
এবং shrinkResources = true
( রবীন্দ্রকুমার পরামর্শ অনুসারে ) build.gradle
তবে এটি একটি দীর্ঘ ত্রুটি তৈরি করবে, এখানে লগইন করুন:
== অ্যান্ড্রয়েডের জন্য বিল্ডিং ==
... (আমি খুব দীর্ঘ কারণে ত্রুটি লগটি কেটেছি, তবে এখানে সম্পূর্ণ লগ দেখতে পাওয়া যেতে পারে: https://www.rodbox.com/s/jy92d1lmj9pgb6d/full_flutter_error_log.txt?dl=0 )
দ্রষ্টব্য: কনফিগারেশন এন্ট্রি পয়েন্ট 'io.flutter.plugins.googlesignin.GoogleSignInPlugin $ ডেলিগেট $ 3 {অকার্যকর কমপ্লিট (com.google.android.gms.tasks.Task) রাখে; com ', তবে বর্ণনাকারী শ্রেণি নয়' com.google.android.gms.tasks.Task '
দ্রষ্টব্য: কনফিগারেশন এন্ট্রি পয়েন্ট 'io.flutter.plugins.inapppurchase.Translator {java.util.HashMap থেকে স্কুডেটেল (com.android.billingclient.api.SkuDetails) রাখে; com ', তবে বিবরণকারী শ্রেণি নয়' com.android.billingclient.api.SkuDetails '
দ্রষ্টব্য: কনফিগারেশন এন্ট্রি পয়েন্ট রাখে 'io.flutter.plugins.inapppurchase.Translator ava java.util.HashMap fromPurchase (com.android.billingclient.api.Purchase); com ', তবে বর্ণনাকারী শ্রেণি নয়' com.android.billingclient.api.Pchachase '
দ্রষ্টব্য: কনফিগারেশন এন্ট্রি পয়েন্ট রাখে 'io.flutter.plugins.inapppurchase.Translator ava java.util.HashMap from PurchasesResult (com.android.billingclient.api.Pchachase $ PurchasesResult); com ', তবে বর্ণনাকারী শ্রেণি নয়'
দ্রষ্টব্য: অজানা ক্লাসের জন্য 7 টি রেফারেন্স ছিল।
You should check your configuration for typos. (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
দ্রষ্টব্য: অজানা শ্রেণির সদস্যদের জন্য 3 টি উল্লেখ রয়েছে।
You should check your configuration for typos.
দ্রষ্টব্য: রক্ষিত শ্রেণীর সদস্যদের মধ্যে 242 আনকিপ্টেড বর্ণনাকারী ক্লাস ছিল।
You should consider explicitly keeping the mentioned classes (using '-keep'). (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
দ্রষ্টব্য: ক্লাস বা ইন্টারফেসের জন্য 68 টি অমীমাংসিত গতিশীল উল্লেখ রয়েছে।
You should check if you need to specify additional program jars. (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
সতর্কতা: ক্লাস বা ইন্টারফেসের 25 টি অমীমাংসিত উল্লেখ রয়েছে।
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)
সতর্কতা: পাঠাগার শ্রেণীর সদস্যদের জন্য 2 টি অমীমাংসিত উল্লেখ রয়েছে।
You probably need to update the library versions. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)
সতর্কতা: কার্য java.io.IOException প্রক্রিয়া করার সময় ব্যতিক্রম: দয়া করে প্রথমে উপরের সতর্কতাগুলি সংশোধন করুন।
থ্রেড (টাস্ক সীমাবদ্ধ_1): ধ্বংস চলমান গ্রেডল টাস্ক 'বান্ডেলরিলিজ' ... 690.7 এস (!)
************************************************** **********************> ******************* গ্রেডল ব্যর্থতা এর কারণ হতে পারে অ্যান্ড্রয়েডএক্স> এই ফ্লটার অ্যাপটিতে অসম্পূর্ণতা। সমস্যা এবং আরও কীভাবে এটি ঠিক করবেন সে সম্পর্কে আরও তথ্যের জন্য "https: //goo.gl / CP92wY" দেখুন। ************************************************** **********************> ******************* গ্রেডল টাস্ক বান্ডেল রিলিজ প্রস্থান কোড 1 দিয়ে ব্যর্থ হয়েছে
বিল্ড ব্যর্থ: | অ্যান্ড্রয়েডের জন্য তৈরি করতে ব্যর্থ হয়েছে
বিটিডব্লিউ, নীচে আমার 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 { *; }