未定义名称“AppLocalizations”。(文档)创建新项目后

iDe*_*ode 6 flutter

我创建了一个新的 Flutter 项目并做了一个

\n
flutter pub get\n
Run Code Online (Sandbox Code Playgroud)\n

除了类中的错误外,框架中没有任何错误AppLocalizations

\n
\n

URI 目标不存在:\'package:flutter_gen/gen_l10n/app_localizations.dart\'。

\n
\n

在此输入图像描述

\n

另一个错误(显然是因为同一个包)

\n

在此输入图像描述

\n
\n

笔记:

\n

我已经尝试过:

\n
    \n
  • 重新启动 IDE + 使缓存无效并重新启动
  • \n
  • flutter pub add flutter_gen
  • \n
  • 重新启动 Dart 分析服务器
  • \n
  • 更新包
  • \n
\n

我在用着:Flutter 2.6.0-11.0.pre \xe2\x80\xa2 channel dev

\n

Max*_*lin 7

在通道之间切换时(特别是使用 Dev 或 Master 通道时),您可以期待各种惊喜。

如果由于某些原因无法切换到stablebeta通道(flutter channel stableflutter upgrade),我建议升级 flutter(较新版本可能有修复)清理 proj 或重新创建平台项目:

   flutter upgrade 
   flutter clean
   flutter create .
Run Code Online (Sandbox Code Playgroud)

此外,我会坚持使用 beta 通道而不是dev/master - 它通常经过更好的测试并且问题更少。

请注意,到 2022 年,开发通道将不再可用,让master成为最新且测试最少的分支。


Nir*_*ode 6

flutter_gen/gen_l10ndir 由 flutter 自动生成,位于.dart_tool. flutter_gen(它与中命名的包无关pub.dev)。

尝试这个,

flutter clean
Run Code Online (Sandbox Code Playgroud)

然后,

flutter pub get
Run Code Online (Sandbox Code Playgroud)

如果该flutter_gen/gen_l10n目录尚不可用,请按照以下步骤操作。

第 0 步:确保您有这些pubspec.yaml

flutter clean
Run Code Online (Sandbox Code Playgroud)

flutter pub get
Run Code Online (Sandbox Code Playgroud)

第 1 步:评论AppLocalization与您无法使用它们运行应用程序相关的所有内容。(进口和使用)

第 2 步:现在运行该应用程序。

现在flutter_gen/gen_l10n将生成该文件夹。

最后:取消注释所有与AppLocalization.

每次对.arb文件进行更改时,您都需要 flutter get / run / hot reload / hot restart 应用程序来更新生成的本地化文件。