一、简介
-
执行
flutter run
的时候,提示警告:Warning: SDK processing. This version only understands SDK XML versions up to 3 but an SDK XML file of version 4 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times.
原因:是因为
Flutter
项目使用的Android SDK
工具版本和Android Studio
的版本不匹配导致的。
二、查看 flutter
使用的 Android SDK
版本
-
指令
$ flutter doctor -v
-
在输出的信息中,重点查看
Android SDK version
和Platform
字段信息:[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /Users/dengzemiao/Library/Android/sdk • Platform android-34, build-tools 34.0.0 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314) ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
从
Flutter
输出信息看,当前安装的Android SDK
是34.0.0
,且build-tools
也是34.0.0
。
三、查看 Android Studio
的 Android SDK
信息
-
先打开配置,搜索找到
Android SDK
上面图片中这些
Android 13.0 ("Tiramisu")
与Android 14.0 ("UpsideDownCake")
等等是什么版本意思呢,以及下面的子选项有什么区别:-
平台 API 版本:
- Android 13:对应 API 级别 33(
android-33
)。 - Android 14:对应 API 级别 34(
android-34
)。
- Android 13:对应 API 级别 33(
-
功能更新:
扫描二维码关注公众号,回复: 17584853 查看本文章- Android 13 提供了隐私保护的增强(如通知权限、照片选择器)、优化的多设备连接,以及对大屏设备(平板、折叠屏)的更好支持。
- Android 14 提供了更多的隐私保护、性能优化、更高效的后台任务管理,以及改进的应用兼容性和内存管理。
-
扩展版本(如
ext10
,ext11
,ext12
) :- Android 14 的
ext10
,ext11
,ext12
表示 SDK 的增量更新,通常包含额外的修复或增强功能(例如新的 API 或错误修复)。它们是 Google 针对开发者的更新迭代,开发者可以根据需求选择最新的扩展版本。
- Android 14 的
-
系统映像:
- ARM64 和 x86_64 System Images 提供模拟器支持,允许开发者针对不同的架构进行应用调试。
- 带有 Google Play 的映像支持测试应用的 Play 商店功能(如内购、广告等)。
-
过时的版本:
- 图片中提到的
Android UpsideDownCake Preview
显示为 Obsolete,表示它是 Android 14 的早期预览版本,不建议继续使用。
- 图片中提到的
-
四、解决方法
-
知道版本区别后,直接找个最新的版本安装即可
-
Google Play ARM 64 v8a System Image:
- 包含 Google Play 服务,适用于测试需要 Google APIs 或 Google Play 功能的应用。
-
Google APIs ARM 64 v8a System Image:
- 包含 Google APIs,适用于测试带 Google 服务的应用(但不包含 Google Play 商店)。
-
AOSP ARM 64 v8a System Image:
- 纯净的 Android 开源项目(AOSP)镜像,适用于测试不依赖 Google 服务的应用。
-
-
然后重新
flutter run
运行即可消除警告。