1. Mô tả lỗi
Khi tôi thực hiện build release ứng dụng bằng lệnh ionic cordova build android –prod –release thì bị dính lỗi Executeion faild for task ‘app:mergeReleaseResources’ như hình 1.
FAILURE: Build failed with an exception.
Còn đây, là mã chi tiết của lỗi này:
* What went wrong: Execution failed for task ':app:mergeReleaseResources'. > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.3.0-5013011-windows Daemon #0: Unexpected error during compile 'D:\DUC\dothicaolanh\dothi\platforms\android\app\src\main\res\drawable-port-xxxhdpi\screen.png', attempting to stop daemon. This should not happen under normal circumstances, please file an issue if it does. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org * Get more help at https://help.gradle.org BUILD FAILED in 8s [ERROR] An error occurred while running subprocess cordova.
2. Cách giải quyết
Sau một thời gian tìm hiểu, tôi được biết lỗi ngày do thư viện build gradle gây ra. Đối với các file ảnh resources như: icon, flashcreen,… có dung lượng hơn 2MB thì thư viện gradle không merge được do đó phát sinh lỗi này. Để giải quyết lỗi này chúng ta tìm đến file build.gradle (có đường dẫn là platforms\android\app\build.gradle). Sau đó, chỉnh phiên bản classpath thành ‘com.android.tools.build:gradle:3.5.0‘ như hình 2.
Lưu ý:
Nếu giải quyết theo cách trên vẫn không được thì vấn đề có thể nằm ở 2 file là:
- resources\icon.png
- resources\splash.png
Để test có thực sự do 2 file ảnh này gây ra hay không các bạn thử thay thế 2 file trên bằng 2 file mặc định của ionic và build lại. Nếu build không xuất hiện lỗi này nữa thành chính xác do file 2 file icon.png và splash.png gây ra.
Hy vọng hữu ích với bạn!
Nosomovo