สำหรับพวกเราที่เริ่มเอา FireStore ของ Firebase มาใช้จัดการข้อมูลในแอพที่สร้างด้วย Flutter อาจจะเคย build แอพบนระบบ Android แล้วเจอข้อความคล้ายๆ แบบด้านล่างนี้
D8: Cannot fit requested classes in a single dex file (# methods: 71610 > 65536)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: C:\Users\DonBo\AndroidStudioProjects\don_flutter_projects\bakery\bakery\build\app\intermediates\transforms\dexBuilder\debug\2.jar
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
* 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
BUILD FAILED in 21s
Finished with error: Gradle task assembleDebug failed with exit code 1
สามารถแก้ปัญหาได้ 2 วิธี นั่นคือ
วิธีที่ 1: เปิดการใช้งาน Multidex
- เปิดไฟล์ android/app.build.gradle
- เพิ่ม
multiDexEnabled true
ลงไปในส่วน default config และบันทึกไฟล์
defaultConfig {
...
multiDexEnabled true
}
วิธีที่ 2 ปรับเวอร์ชั่น minSdkVersion
- เปิดไฟล์ android/app.build.gradle
- ในส่วน default config ให้แก้ค่า minSdkVersion เป็น 21 และบันทึกไฟล์
เริ่มต้นเรียนรู้สร้างแอพ iOS และ Android ด้วย Google Flutter ไปกับโค้ชพล
✅ เหมาะสำหรับผู้เริ่มต้น
✅ เขียนครั้งเดียว ใช้ได้ทั้งระบบ iOS และ Android ประหยัดเวลา
✅ เรียนได้ทุกเวลา ไม่มีวันหมดอายุ
✅ ได้รู้ตั้งแต่วิธีติดตั้งโปรแกรม จนเอาขึ้นApp Store และ Play Store
✅ ได้ทำแอพของจริง เริ่มต้นจาก 0 ทุกโปรเจค มีระบบถามตอบ กรณีติดปัญหา
อ้างอิง – StackOverflow