本文记录了在升级 Woo2025 项目到 Flutter SDK 3.32.8 过程中遇到的问题及解决方案,为开发者提供实用的经验分享。

记录一次 Flutter 项目升级 3.32.8 过程

记录一次 Flutter 项目升级 3.32.8 过程

视频

前言

本文记录了在升级 Woo2025 项目到 Flutter SDK 3.32.8 过程中遇到的问题及解决方案,为开发者提供实用的经验分享。

原文 Flutter SDK 3.32.8 升级中的常见问题及解决方案

项目代码是我的课程代码 电商woo2025

woo2025-android

woo2025-ios

正文

Android Studio 环境

https://developer.android.com/studio?hl=zh-cn

下载最新的 android studio

Android Studio Narwhal Feature Drop | 2025.1.2

最新的 SDK 36

Android 16

SDK Tools

NDK

XCode 环境

xcode16.4

ios 18.5

Flutter SDK 稳定版

https://docs.flutter.dev/install/archive

选择稳定版本

flutter sdk 3.32.8

可以用 fvm 进行管理

https://fvm.app/

升级依赖包

检查可升级包

flutter pub outdated

输出

 flutter pub outdated

Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name                           Current     Upgradable  Resolvable  Latest

direct dependencies:
adaptive_theme                         *3.7.0      -           3.7.1+2     3.7.1+2
carousel_slider                        *5.0.0      -           5.1.1       5.1.1
dio                                    *5.7.0      -           5.9.0       5.9.0
flutter_picker_plus                    *1.3.0      -           1.5.2       1.5.2
flutter_svg                            *2.0.17     -           2.2.0       2.2.0
get                                    *4.6.6      -           4.7.2       4.7.2
intl                                   *0.19.0     -           0.20.2      0.20.2
package_info_plus                      *8.1.3      -           8.3.1       8.3.1
permission_handler                     *11.3.1     -           12.0.1      12.0.1
shared_preferences                     *2.3.5      -           2.5.3       2.5.3
wechat_assets_picker                   *9.4.2      -           9.8.0       9.8.0
wechat_camera_picker                   *4.3.6      -           4.4.0       4.4.0

dev_dependencies:
flutter_lints                          *4.0.0      -           6.0.0       6.0.0
flutter_native_splash                  *2.4.2      -           2.4.6       2.4.6
icons_launcher                         *3.0.0      -           3.0.1       3.0.1

transitive dependencies:
args                                   *2.6.0      -           2.7.0       2.7.0
asn1lib                                *1.5.8      -           1.6.5       1.6.5
async                                  *2.11.0     -           2.13.0      2.13.0
camera                                 *0.10.6     -           *0.10.6     0.11.2
camera_android                         *0.10.9+17  -           0.10.10+5   0.10.10+5
camera_avfoundation                    *0.9.17+6   -           0.9.21+1    0.9.21+1
camera_platform_interface              *2.8.0      -           2.10.0      2.10.0
characters                             *1.3.0      -           *1.4.0      1.4.1
clock                                  *1.1.1      -           1.1.2       1.1.2
collection                             *1.19.0     -           1.19.1      1.19.1
dio_web_adapter                        *2.0.0      -           2.1.1       2.1.1
extended_image                         *8.3.1      -           10.0.1      10.0.1
extended_image_library                 *4.0.5      -           5.0.1       5.0.1
ffi                                    *2.1.3      -           2.1.4       2.1.4
flutter_plugin_android_lifecycle       *2.0.24     -           2.0.29      2.0.29
flutter_spinkit                        *5.2.1      -           5.2.2       5.2.2
html                                   *0.15.5     -           0.15.6      0.15.6
http                                   *1.2.2      -           1.5.0       1.5.0
http_parser                            *4.0.2      -           4.1.2       4.1.2
js                                     *0.7.1      -           0.7.2       0.7.2      (discontinued)
material_color_utilities               *0.11.1     -           *0.11.1     0.13.0
meta                                   *1.15.0     -           *1.16.0     1.17.0
mime                                   -           -           2.0.0       2.0.0
package_info_plus_platform_interface   *3.0.2      -           3.2.1       3.2.1
path                                   *1.9.0      -           1.9.1       1.9.1
path_provider_android                  *2.2.12     -           2.2.17      2.2.17
path_provider_foundation               *2.4.0      -           2.4.2       2.4.2
permission_handler_android             *12.0.13    -           13.0.1      13.0.1
permission_handler_apple               *9.4.5      -           9.4.7       9.4.7
permission_handler_platform_interface  *4.2.3      -           4.3.0       4.3.0
petitparser                            *6.0.2      -           *6.1.0      7.0.1
photo_manager                          *3.6.3      -           3.7.1       3.7.1
pointycastle                           *3.9.1      -           *3.9.1      4.0.0
provider                               *6.1.2      -           6.1.5+1     6.1.5+1
sensors_plus                           *5.0.1      -           6.1.2       6.1.2
sensors_plus_platform_interface        *1.2.0      -           2.0.1       2.0.1
shared_preferences_android             *2.4.2      -           2.4.11      2.4.11
shared_preferences_foundation          *2.5.3      -           2.5.4       2.5.4
shared_preferences_web                 *2.4.2      -           2.4.3       2.4.3
source_span                            *1.10.0     -           1.10.1      1.10.1
sqflite                                *2.4.1      -           2.4.2       2.4.2
sqflite_android                        *2.4.0      -           *2.4.1      2.4.2+2
sqflite_common                         *2.5.4+5    -           2.5.6       2.5.6
sqflite_darwin                         *2.4.1      -           2.4.2       2.4.2
string_scanner                         *1.3.0      -           1.4.1       1.4.1
synchronized                           *3.3.0+3    -           3.4.0       3.4.0
term_glyph                             *1.2.1      -           1.2.2       1.2.2
vector_graphics                        *1.1.14     -           1.1.19      1.1.19
vector_graphics_codec                  *1.1.12     -           1.1.13      1.1.13
vector_graphics_compiler               *1.1.15     -           1.1.18      1.1.18
vector_math                            *2.1.4      -           *2.1.4      2.2.0
video_player                           *2.9.2      -           2.10.0      2.10.0
video_player_android                   *2.7.16     -           2.8.12      2.8.12
video_player_avfoundation              *2.6.5      -           2.8.4       2.8.4
video_player_platform_interface        *6.2.3      -           6.4.0       6.4.0
video_player_web                       *2.3.3      -           2.4.0       2.4.0
web                                    *1.1.0      -           1.1.1       1.1.1
wechat_picker_library                  *1.0.5      -           1.0.7       1.0.7
win32                                  *5.8.0      -           5.14.0      5.14.0
xml                                    *6.5.0      -           *6.5.0      6.6.1

transitive dev_dependencies:
archive                                *3.6.1      -           4.0.7       4.0.7
boolean_selector                       *2.1.1      -           2.1.2       2.1.2
fake_async                             *1.3.1      -           1.3.3       1.3.3
image                                  *4.3.0      -           4.5.4       4.5.4
leak_tracker                           *10.0.7     -           *10.0.9     11.0.1
leak_tracker_flutter_testing           *3.0.8      -           *3.0.9      3.0.10
leak_tracker_testing                   *3.0.1      -           *3.0.1      3.0.2
lints                                  *4.0.0      -           6.0.0       6.0.0
matcher                                *0.12.16+1  -           0.12.17     0.12.17
posix                                  -           -           6.0.3       6.0.3
stack_trace                            *1.12.0     -           1.12.1      1.12.1
stream_channel                         *2.1.2      -           2.1.4       2.1.4
test_api                               *0.7.3      -           *0.7.4      0.7.7
vm_service                             *14.3.0     -           *15.0.0     15.0.2
yaml                                   *3.1.2      -           3.1.3       3.1.3
No resolution was found. Try running `flutter pub upgrade --dry-run` to explore why.

js
    Package js has been discontinued. See https://dart.dev/go/package-discontinue

更新依赖包

flutter pub upgrade

推荐手动更新

清理重构

flutter clean
flutter pub get
flutter run

处理包冲突,一般都是 sdk dart 版本不适配造成的。

intl 0.20.2 升级

[flutter_woo_course_2025_release_3_27] flutter pub get --no-example
Resolving dependencies...
Note: intl is pinned to version 0.20.2 by flutter_localizations from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.


Because flutter_woo_course_2025 depends on flutter_localizations from sdk which depends on intl 0.20.2, intl 0.20.2 is required.
So, because flutter_woo_course_2025 depends on intl ^0.19.0, version solving failed.


You can try the following suggestion to make the pubspec resolve:
* Try upgrading your constraint on intl: flutter pub add intl:^0.20.2
Failed to update packages.
exit code 1

提高 android 兼容性

编辑 android/app/build.gradle

android {
    compileSdk = 36
    ndkVersion = "27.0.12077973"
  
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "com.ducafecat.woo2025"
        minSdk = 26 //flutter.minSdkVersion
        targetSdk = 34 //flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

compileSdk 编译版本,我们设置到最新的 36

ndkVersion 是我们 sdk tools 中安装的版本

minSdk 最小版本 26

targetSdk 最大版本,我们不要太大也不要小小,主流版本就行,否则可能会造成安装在客户机上,表现出来各种奇怪的问题(图片裂开、错位、文字不换行等等)。

小结

希望我这次升级时候遇到的几个点对大家有帮助。

感谢阅读本文

如果有什么建议,请在评论中让我知道。我很乐意改进。


猫哥 APP

flutter 学习路径


© 猫哥 ducafecat.com

end