flutter 未定义的名称'AppLocalizations',(文档)创建新项目后

jxct1oxe  于 2023-05-08  发布在  Flutter
关注(0)|答案(4)|浏览(202)

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

flutter pub get

除了AppLocalizations类的错误之外,框架没有错误。
URI的目标不存在:'package:flutter_gen/gen_l10n/app_localizations.dart'.

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

注:

我已经试过了:

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

我正在使用:Flutter 2.6.0-11.0.pre • channel dev

p5cysglq

p5cysglq1#

在通道之间切换时(特别是使用Dev或Master通道时),您可以期待各种惊喜。
如果由于某些原因切换到stablebeta通道(flutter channel stableflutter upgrade)不是一个选项,我建议升级flutter(较新的版本可能有修复)清理项目或重新创建平台项目:

flutter upgrade 
   flutter clean
   flutter create .

此外,我会坚持使用beta通道,而不是dev/master-它通常测试得更好,问题也更少。
请注意,在2022年,dev通道不再可用,留下master作为最新和最少测试的分支。

llew8vvj

llew8vvj2#

flutter_gen/gen_l10n目录由flutter自动生成,位于.dart_tool中。(它与pub.dev中名为flutter_gen的包无关)。
试试这个

flutter clean

那么,

flutter pub get

如果flutter_gen/gen_l10n目录不可用,请执行以下步骤。
步骤0:确保您在pubspec.yaml中有这些,

flutter:
  generate: true

和/或

dependencies:
  flutter_localizations:
      sdk: flutter

第1步:如果您无法使用AppLocalization运行应用程序,请注解与AppLocalization相关的所有内容。(进口和使用)
步骤2:现在运行应用程序。
现在将生成flutter_gen/gen_l10n文件夹。
最后:取消与AppLocalization相关的所有注解。
每次更改.arb文件时,您都需要flutter get / run / hot reload / hot restart应用程序来更新生成的本地化文件。

oxalkeyp

oxalkeyp3#

pubspec.yaml文件中更改这些行

flutter:
  uses-material-design: true

为了

flutter:
  uses-material-design: true

  # Enable generation of localized Strings from arb files.
  generate: true

然后运行:

flutter clean
flutter pub get
flutter run
u1ehiz5o

u1ehiz5o4#

在我的情况下,这里的任何东西都不起作用。我已经采取了以下措施来解决这个问题:
我先跑:

flutter clean && flutter pub get && flutter gen-l10n

然后我跑:

flutter packages pub run build_runner build --delete-conflicting-outputs

然后我检查了AppLocalizations类是否真的在.dart_tool/flutter_gen/gen_l10n下生成,我看到它正在生成,但问题仍然存在,然后我手动导入了这个类:

import 'package:flutter_gen/gen_l10n/app_localizations.dart';

在此之后,问题才得以解决。我希望它能帮助其他人。

相关问题