使用jenkins构建Android+Flutter项目依赖自动升级兼容性问题及Jenkins构建速度慢问题解决
问题1 flutter下载依赖自动升级导致兼容性问题
有个Android项目使用了flutter技术,按照常规执行flutter clean && flutter pub get以后,开发在pubsepec.yaml文件定义了shared_preferences版本为^2.1.1, 并且开发上传的pubspec.lock中shared_preferences为2.1.1,shared_preferences_android版本为2.1.4, 但是jenkins下载完代码,编译后,发现pubspec.lock中shared_preferences的版本为2.5.2,并且shared_preferences_android变成了2.4.5,其结果导致编译后报错,引入了一个兼容性的错误: “A problem occurred configuring project ‘:shared_preferences_android’. > Failed to notify project evaluation listener. ”
通过查找资料,发现是flutter clean后导致了pubspec.lock文件发生了变化,flutter根据pubsepec.yaml文件定义了shared_preferences版本为^2.1.1,自动将shared_preferences依赖更新到2.5.2,shared_preferences_android更新到了2.4.5.
具体原理:
在Flutter项目中,pubspec.yaml中定义的依赖版本使用^符号表示允许在兼容范围内自动升级,而pubspec.lock会记录实际下载的具体版本。当执行flutter clean和flutter pub get时,依赖版本可能发生变化,具体原因如下:

最低0.47元/天 解锁文章
3845

被折叠的 条评论
为什么被折叠?



