Release Android: Fix lỗi Crash với bản release – Ứng dụng dừng đột ngột khi khởi động
Khi release ứng dụng android, bạn sẽ gặp một trường hợp : Bản debug thì hoạt động OK nhưng bản release thì gặp lỗi hoặc chạy không đúng mong muốn.
* Các Fix bug
– Dùng Android Studio, cắm test device hoặc dùng máy ảo. Trên thanh Bar của Android Studio, chọn Run > Flutter Run ‘main.dart’ in Release Mode
Khi đó apk cài sẽ là bản release và bạn có thể debug tất cả các lỗi của release, thông qua cửa sổ log của android studio.
* Lỗi Crash khi mới khởi động ứng dụng
Quan sát trên LogCat bạn có thể thấy lỗi :
1 |
[ERROR:flutter/shell/platform/android/platform_view_android_jni_impl.cc(43)] java.lang.AssertionError: AssertionError (GSON 2.8.5): java.lang.NoSuchFieldException: DrawableResource |
Thì lúc này bạn có thể dùng solution như dưới đây :
Trong mục : app > build.gradle, từ phần bên dưới:
1 2 3 4 5 6 7 8 9 10 |
buildTypes { release { signingConfig signingConfigs.release minifyEnabled false shrinkResources false } } |
Nếu thêm pro_guard thì đầy đủ là :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig signingConfigs.release minifyEnabled false shrinkResources false useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } |
Sau đó build release lại và test thử , bạn có thể fix được lỗi crash này.
Chúc các bạn có được nhiều kiến thức từ blog của tôi.