我在项目中使用了flutter_gemini
包。昨天它还能正常工作,我可以与Gemini AI聊天,但今天却不行。这很奇怪,因为我并没有修改代码。我收到了这个错误:
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] UnhandledException: GeminiException => 连接错误:主机查找失败:’generativelanguage.googleapis.com’ 这表明这是一个很可能无法通过库解决的错误。
Gemini 的初始化方式如下:
Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, ]); Gemini.init(apiKey: kGeminiApiKey); runApp(const MyApp());
我在我的 StatefulWidget 中这样使用它:
gemini.streamGenerateContent(question, images: images).listen((event) { // 这里是逻辑代码 });
为什么它对我不起作用?
回答:
这个错误是由于Flutter的发布模式没有在Android清单文件中添加INTERNET权限造成的。因此,你需要手动添加这个权限。
将此权限添加到你的android/app/src/main/AndroidManifest.xml
文件中
<uses-permission android:name="android.permission.INTERNET" />