Flutter Fix Warning Mapping new ns to old ns
Tags: flutter
Published: 2022-03-24 16:17:34

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/axqxn3r00l1lkrqrqazs.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/meif97iabsjypjt7io6a.png)
## ปัญหา: รัน Flutter โปรเจ็ค Android แล้วขึ้น warning   
Flutter 2.10.3 | Dart 2.16.1 | DevTools 2.9.2

```
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
```

## สาเหตุ: โปรเจ็ค android ใช้ com.android.tools.build:gradle version 4.1.0 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ky5fcxuay8kxybqpfghn.png)

## วิธีแก้ปัญหา: อัพเกรดไปใช้ com.android.tools.build:gradle verion 7.0.0 ขึ้นไป
1) ตรวจสอบเวอร์ชั่น com.android.tools.build:gradle ได้ที่  https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n0uq2kzoom5t7i5as6i8.png)

2) แก้ไขได้ที่ไฟล์ android/build.gradle ผมเลือกใช้เป็น 7.1.2

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6p5due5ufgeaf64ia3si.png)

3) เมื่อสั่ง flutter run ปัญหาต่อมา คือ ไฟล์ gradle ต้องใช้เวอร์ชั่น 7.2 ขึ้นไป (ปัจจุบันเป็น 6.7)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i6tj1wuieu5c3yb57w1h.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r409g5rddzgvyqy0sk71.png)

4) ตรวจสอบเวอร์ชั่นไฟล์ gradle ได้ที่ (ไม่ต้องดาวน์โหลดนะ) https://services.gradle.org/distributions

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kxegby4lep6irla5z1vt.png)

5) แก้ไขได้ที่ไฟล์ android/gradle/wrapper/gradle-wrapper.properties ผมเลือกเวอร์ชั่น 7.4.1 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/423hfwv5gmqm8j4rbn47.png)

6) เมื่อสั่ง flutter run ปัญหาต่อมาก็คือ Environment Variable ที่ผมเคยใช้คือ ANDROID_SDK_HOME มัน deprecated ไม่สามารถใช้ได้แล้ว 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ixbthhw9vgzhueqsxerl.png)

7) ต้องไปเปลี่ยนให้ใช้ ANDROID_HOME แทนแค่ตัวเดียว (ตัวอย่างนี้ผมใช้ macOS) แก้ไขไฟล์ ~/.zshrc และต้องยกเลิกตัวอื่นที่ใช้ให้หมดด้วยนะ  
```
export ANDROID_HOME=$HOME/Library/Android/sdk
# export ANDROID_SDK_HOME=$HOME/Library/Android/sdk
```

8) ปิดแล้วเปิด vscode แล้วลองรัน flutter run อีกครั้งก็จะไม่มี warning แล้ว

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eff9stus3i74vaticavz.png)

####ติดตามผลงานได้ที่
* **Page:** [https://fb.com/CodeBangkok​](https://fb.com/CodeBangkok​)
* **Group:** [https://fb.com/groups/msdevth​](https://fb.com/groups/msdevth​)
* **Blog:** [https://dev.to/codebangkok](https://dev.to/codebangkok)
* **YouTube:** [https://youtube.com/CodeBangkok](https://youtube.com/CodeBangkok)