Flutter 项目升级报错处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter 项目升级报错处理相关的知识,希望对你有一定的参考价值。

参考技术A 1、flutter Warning: Podfile is out of date
Warning: Podfile is out of date This can cause a mismatched version of Flutter to be embedded in your app, which may result in App Store submission rejection or crashes. If you have local Podfile edits you would like to keep, see https://github.com/flutter/flutter/issues/24641 for instructions. To regenerate the Podfile, run: rm ios/Podfile

2、Automatically assigning platform iOS with version 8.0 on target Runner 或者Automatically assigning platform iOS with version 12.0 on target Runner because no platform was specified. Please specify a platform for this target in your Podfile
解决:只要修改ios目录下podfile 第二行 去掉#号

原因是:没有指定iOS版本。

3、 'AMapFoundation' uses the unencrypted 'http' protocol to transfer the Pod. Please be sure you're in a safe network with only trusted hosts. Otherwise, please reach out to the library author to notify them of this security issue.
类似的问题
解决方法:

登录 https://pub.dev/packages 寻找相关最新版本更新一下。

4、[!] An error occurred while processing the post-install hook of the Podfile.
undefined method `each_child' for #<Dir:0x00007f8415636e38>
Did you mean? each_slice
解决办法:升级ruby

Flutter 报错:当前 Flutter SDK 版本为 2.1.0-dev.0.0.flutter-be6309690f

【中文标题】Flutter 报错:当前 Flutter SDK 版本为 2.1.0-dev.0.0.flutter-be6309690f【英文标题】:Flutter Error: The current Flutter SDK version is 2.1.0-dev.0.0.flutter-be6309690f 【发布时间】:2019-01-27 08:12:22 【问题描述】:

我刚刚升级了我的颤振,升级后我无法在我的 Android Studio 上运行任何颤振项目。我收到此错误消息。

The current Dart SDK version is 2.1.0-dev.0.0.flutter-be6309690f.

Because buddy depends on flutter_built_redux 0.4.5 which requires SDK 
version >=1.19.0 <2.0.0, version solving failed.                                                  
pub get failed (1)

如何降级 Dart 或如何解决此问题,我在 mac 上运行 android studio。

我尝试通过更改颤振通道 devmaster 来尝试,但这并没有什么不同。

扑医生 -v 结果:

[✓] Flutter (Channel dev, v0.6.0, on Mac OS X 10.13.4 17E202, locale en-IN)
• Flutter version 0.6.0 at /Users/pro/Downloads/flutter
• Framework revision 9299c02cf7 (5 days ago), 2018-08-16 00:35:12 +0200
• Engine revision e3687f70c7
• Dart version 2.1.0-dev.0.0.flutter-be6309690f

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
  • Android SDK at /Users/pro/Library/Android/sdk
  • Android NDK location not configured (optional; useful for native 
     profiling support)
  • Platform android-27, build-tools 27.0.3
  • Java binary at: /Applications/Android 
     Studio.app/Contents/jre/jdk/Contents/Home/bin/java
  • Java version OpenJDK Runtime Environment (build 1.8.0_152-release- 
     1024-b01)
• All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.4.1, Build version 9F2000
• ios-deploy 1.9.2
• CocoaPods version 1.5.0

[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 27.1.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[!] Connected devices
! No devices available

【问题讨论】:

你试过在 Dart@1 和 Dart@2 之间切换吗?运行brew info dart 如何在 Dart@1 和 Dart@2 之间切换? 可以用这个切换brew switch dart version_id 是的,我这样做了,但我认为我需要为此安装多个 dart sdk。 是的,我已经使用这个命令brew switch dart version_id改变了dart sdk版本,它改变了但是当我运行flutter doctor -v时,dart版本仍然是• Dart version 2.1.0-dev.0.0.flutter-be6309690f 【参考方案1】:

flutter_built_redux 包不满足颤振依赖。 该错误是由包引起的,而不是由flutter sdk引起​​的。

看这里 https://github.com/davidmarne/flutter_built_redux/blob/master/pubspec.yaml#L22

您可以使用此链接在 flutter_built_redux 包上发布问题 https://github.com/davidmarne/flutter_built_redux/issues/new?title=support%20for%20flutter%20sdk%202.1.0.dev&body=please%20upgrade%20the%20package%20for%20new%20flutter%20releases

【讨论】:

我已经使用全新安装的 android studio 并再次配置了颤振和飞镖插件,那么这对我来说很好。 flutter_built_redux 现在也可以正常工作了。【参考方案2】:

Flutter 包含一个捆绑的 Dart SDK(在其 bin/cache 目录下),该 SDK 与我们编译到您发布的 iOS/Android 应用程序中的引擎中使用的版本相同。因此,将 Flutter 与不同版本的 Dart 一起使用的唯一方法是使用旧版本的 Flutter。

为此,cd 到 Flutter SDK 目录。您可以通过运行git tag 列出可用的版本。要切换到某个版本,请使用git checkout。例如,要切换到v0.8.1,您需要运行git checkout v0.8.1。如果您想切换回测试版,请运行git checkout beta

也就是说,通常我建议您坚持使用 beta 并向尚未更新到 Dart 2 的任何软件包的维护者提交问题(或发送拉取请求)。您可能还想要检查pubspec.yaml 中列出的依赖项,看看pub.dartlang.org 上是否有更新的版本可用。这可能只是将您的依赖项更新到较新版本的问题。

【讨论】:

【参考方案3】:

我猜这是一个 quiver 包依赖问题。一次更新我遇到了同样的问题。那个时候我通过将此行添加到pubspec.yaml

来解决这个问题
dependency_overrides:
  quiver: ^2.0.0+1

【讨论】:

【参考方案4】:

Flutter 有以下通道,按稳定性递增顺序排列:

大师

开发

测试版

稳定

一般来说,我建议您坚持使用测试版,它适用于所有软件包。

【讨论】:

【参考方案5】:

这不是必需的,但我认为您应该使用最新版本再次安装 Android Studio。然后在其中添加 Flutter 和 dart 插件,然后在设置>插件>Flutter>Sdk-Path 中添加 Flutter SDK 路径,以便找到您的 Flutter sdk已安装在您的 PC 中可能位于 C,因此添加该路径。它可能会工作。

并且必须安装最新的 Flutter 和 Dart SDK。 您可以从这里下载 Flutter SDK: https://flutter.dev/docs/development/tools/sdk/releases

【讨论】:

以上是关于Flutter 项目升级报错处理的主要内容,如果未能解决你的问题,请参考以下文章

Flutter中Column嵌套ListView报错处理方案

Android Flutter AndroidX incompatibilities报错处理

Flutter运行&编译过程中的疑难杂症记录

Flutter运行&编译过程中的疑难杂症记录

Flutter运行&编译过程中的疑难杂症记录

升级php7后的报错处理