Android 发布版本和调试版本之间的应用程序操作是否有任何差异?

Android 发布版本和调试版本之间的应用程序操作是否有任何差异?,android,debugging,flutter,apk,Android,Debugging,Flutter,Apk,我的申请有一个奇怪的问题。我制作了一个非常简单的应用程序来请求车库的汽车零件。用户(车库的汽车修理工)将他需要的零件放入应用程序中,计算机(位于车库的另一部分)接收订单并直接打印到热敏打印机。我通过HTTP post发送数据,非常简单,我只是将JSON发送到HTTP地址 问题是:当我运行调试版本(通过vscode上的“flatter run”命令)时,它运行得很好,但当我生成apk(通过“flatter build apk”)时,应用程序运行,但它不发送HTTP post(没有错误消息,应用程序

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

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


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

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

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


如果权限不存在,请将其添加到以
开头的行上方。此问题很可能与权限有关。请检查Android>app>src>main目录中的AndroidManifest.xml文件是否具有以下权限:

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


如果权限不存在,请将其添加到以
开头的行上方Joao Soares发布的解决方案有效,但我仍然有一个问题:为什么?

这是应用程序的标准行为吗?默认情况下,使用互联网的权限真的关闭了吗?我看不出有什么原因…

乔·索雷斯发布的解决方案奏效了,但我仍然有一个问题:为什么?
这是应用程序的标准行为吗?默认情况下,使用互联网的权限真的关闭了吗?我看不出这样做的原因…

您在发送请求的站点上是否有有效的证书?在我的例子中,它不是一个站点,而是一个来自服务器的内部ip。我对它不太了解,但我想证书问题不适用于这种情况……您是否在android调试和主文件夹中的清单中授予了internet权限。@Renatobreu是我的答案?您的问题的解决方案?@Renatobreu我已在文件中添加了有关在何处添加权限的信息。您有有效的证书吗您将请求发送到的站点上的证书?在我的例子中,它不是一个站点,而是一个来自服务器的内部ip。我对它不太了解,但我想证书问题不适用于这种情况……您是否在android调试和主文件夹中的清单中授予了internet权限。@Renatobreu是我的答案?您的问题的解决方案?@Renatobreu我在文件中添加了有关在何处添加权限的信息。这是典型的问题Android开发。您只要求获得所需的权限。有些应用程序不使用互联网。顺便说一句,请在评论部分发表这样的评论。这是Android开发的典型特征。您只要求获得所需的权限。有些应用程序不使用互联网。顺便说一下,像这样的评论请访问评论部分。