Flutter配置envied包隐藏API key遇类型错误求助
解决Envied包生成API Key时的InvalidType错误
问题根源
你定义的apiKey变量未指定明确类型,envied_generator无法正确推断其类型,因此抛出InvalidType错误。
修正步骤
- 修改
lib/env/env.dart文件,给apiKey添加明确的类型声明(你的API_KEY是字符串,所以用String):
import 'package:envied/envied.dart'; part 'env.g.dart'; @Envied(path: '.env') abstract class Env { @EnviedField(varName: 'API_KEY') static final String apiKey = _Env.apiKey; }
- 重新执行代码生成命令:
flutter pub run build_runner build
执行完成后,env.g.dart文件应该会正常生成,错误也会消失。
额外提示
- 类型声明要和
.env中对应值的类型匹配:如果是数字就用int/double,布尔值用bool。 .env中的值不需要加引号,envied会自动解析对应类型。
内容的提问来源于stack exchange,提问作者Kdon
相关产品推荐
相关产品推荐

