我正在使用 flutter_config 从 .env 文件读取我的 api 密钥(我知道这不是最安全的方法,但我只是对应用程序进行原型设计)。
这是我的 main.dart 代码的一部分
import 'package:flutter_config/flutter_config.dart';
void main() async
{
WidgetsFlutterBinding.ensureInitialized();
print("loading variables");
await FlutterConfig.loadEnvVariables();
print("variables loaded");
print(FlutterConfig.variables);
print(FlutterConfig.get("GOOGLE_MAPS_UNRESTRICTED_API_KEY"));
...
}
这就是输出
Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...
main.dart:1
Reading env from: .env
√ Built build\app\outputs\flutter-apk\app-debug.apk.
I/flutter (13946): loading variables
E/narq.foodNearb(13946): Invalid ID 0x00000000.
D/FlutterConfig(13946): Could not access BuildConfig
I/flutter (13946): variables loaded
I/flutter (13946): {}
I/flutter (13946): FlutterConfig Variables are Empty
I/flutter (13946): Ensure you have a .env file and you
I/flutter (13946): have loaded the variables
I/flutter (13946): null
D/EGL_emulation(13946): app_time_stats: avg=18.39ms min=2.57ms max=84.79ms count=57
有谁知道为什么会发生这种情况以及如何解决它?
我猜当我按照本教程添加应用程序图标时,它就停止工作了。
更新
我回滚到以前的版本,发现了这个命令:
flutter pub global run rename --bundleId com.new.app_id
导致这种情况发生,但仍然不知道为什么以及如何解决它。
更新2
即使不运行 flutter rename,构建版本也会引发相同的错误。
我知道这不是解决问题的办法。但我遇到了同样的问题,原因是,我按照flutter指南将项目从
Deprecated imperative apply of Flutter's Gradle plugins
。
迁移后,
await FlutterConfig.loadEnvVariables();
停止工作。在花了一些时间尝试解决此问题后,我决定恢复更改并返回到Deprecated imperative apply of Flutter's Gradle plugins
。
换句话说,该包不适用于新创建的 flutter 项目。 因为该插件的文档已经过时,并且没有说明如何为最新的 flutter 项目配置它。
我的意思是,所有使用
Flutter 3.16
创建的项目