发布版本和调试版本的应用程序操作有什么区别吗?

Is there any difference in the app operation between release and debug versions?

我的应用程序遇到了一个奇怪的问题。我制作了一个非常简单的应用程序来请求车库的汽车零件。用户(车库的汽车修理工)将他需要的零件放入应用程序中,计算机(位于车库的另一部分)接收订单并直接打印到热敏打印机上。我通过 HTTP post 发送数据,非常简单,我只是将 JSON 发送到 HTTP 地址。

问题是:当我 运行 调试版本时(通过 vscode 上的 "flutter run" 命令)它 运行 完美,但是当我生成 apk (通过 "flutter build apk") 应用程序 运行s 但它不发送 HTTP post (没有错误消息,应用程序只是不发送并永远停留在同一个屏幕中) .我测试了不同的设备,它们都可以正常使用调试版本,直接从 vscode 创建和安装,并且不能使用发布应用程序。

为什么会这样?由于调试和发布 apk 具有相同的代码不应该以相同的方式工作?有什么方法可以查看日志(某种调试,我不知道)运行发布版本?

这个问题很可能与权限有关。请检查 Android > app > src > main 目录中的 AndroidManifest.xml 文件是否具有以下权限:

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

如果权限不存在,请将其添加到以 <application:

开头的行上方
<uses-permission android:name="android.permission.INTERNET"/> // Add here
<application
    android:name="io.flutter.app.FlutterApplication"

Joao Soares 发布的解决方案有效,但我仍然有一个问题:为什么? 这是应用程序的标准行为吗?使用互联网的权限真的默认关闭了吗?我看不出这是什么原因...