Flutter provider在发布版apk中无法工作,但在调试模式下运行正常。

5

提供者应该努力向消费者提供实时更新,但只在调试模式下工作,而不是发布模式。我是否需要再次使用有状态的小部件并使用set state来更新ui?有什么线索吗?


1
请提供更多关于您的问题的信息。提供一些代码片段将会更有帮助。 - Abdoljabbar
我们需要更多的信息才能帮助您。你一定做错了什么,因为“对我来说它是可以工作的”。所以尝试创建最小的测试用例来检测错误。你可能会很幸运地在这个过程中找到错误,如果没有,我们可以提供帮助。 - Brendon Whateley
2
你找到解决方法了吗?我也遇到了同样的问题,提供程序在调试模式下工作正常,但在发布模式下API调用完美,但提供程序仍未通知UI。我已经拥有Internet权限,并且API调用非常顺畅。 - Munish Thakur
2个回答

9

可能是因为您没有在 AndroidManifest.xml 中添加互联网权限。

<uses-permission android:name="android.permission.INTERNET" />

我们需要在AndroidManifest.xml文件中添加Internet权限以进行发布构建。在调试模式下,它可以正常工作。如果您一直在提供程序中调用api调用,则会出现相同的错误。我曾经犯过同样的错误并解决了这个问题。


1
最近遇到了这个问题。好的提示。 - dumazy
2
谢谢!我遇到了类似的问题,这篇文章帮了我很多。我正在学习Flutter,发现实际上有两个androidManifest.xml文件:一个在app/src/main目录下,另一个在app/src/profile目录下。在app/src/main目录下添加权限后,问题得到了解决。 - Alexis Brunet

3

如果您在两个AndroidManifest.xml文件中添加了Internet权限

<uses-permission android:name="android.permission.INTERNET" /> 

但它仍然无法工作,因此在应用程序标签中的这两个文件中添加此内容。

android:usesCleartextTraffic="true"

1
在应用程序标签中的第2个“文件”是什么意思?我只看到活动和元数据标签在应用程序标签中。 - Zhang Bruce
两个 AndroidManifest.xml 文件 - Ibra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接