我使用 React Native 制作了一个应用程序。该应用程序连接到我制作的 api。我按照以下步骤操作:https://facebook.github.io/react-native/docs/signed-apk-android,现在如果我执行react-native run-android --variant=,应用程序将无法工作发布。应用程序已安装,但我无法登录该应用程序。有什么方法可以查看我是否遇到任何错误或其他问题吗?
我尝试寻找一种方法来显示调试控制台,即使变体已发布,但我找不到任何
我希望该应用程序能够像未发布版本的应用程序一样工作。
也许您需要在 AndroidManifest.xml 的
android:usesCleartextTraffic="true"
标签内添加 application
。
类似这样的:
<application
...
android:usesCleartextTraffic="true"
...
>
...
</application>
请尽量准确,否则很难理解问题。
为了捕获发布模式下的问题,我们有几个库,即使真实用户正在使用该应用程序,它们也可以帮助我们进行调试。检查以下两个库,它们可能会帮助您找到问题。
对我来说,我看到了相同的行为,但原因与接受的解决方案非常不同。我会在这里留下我的答案,以防对其他人有帮助。
TL;DR:确保您的模拟器/设备有正确的时间!
问题
如果您使用 HTTPS,设备和服务器时间需要同步,否则将不允许连接。
通常这不是问题,但我的模拟器由于某种原因一直在重置时间。结果是,当我在调试模式下连接时,时间正确并且连接得很好。然而,当我切换到释放模式时,时间错误并且没有连接。
问题很微妙,因为我的构建变体使用不同的服务器,因此我在调试中的安全连接被缓存,即使在时间更改且发布模式不起作用之后仍然有效,这使得这看起来像是构建配置的问题。
解决方案
您可以通过
轻松找出这是否是您的同一问题如果是,只需进入您的设备设置,更新时间,就可以了!
只需在 AndroidManifest.xml 文件中添加 ----- android:usesCleartextTraffic="true"--- 如下
<application ... android:usesCleartextTraffic="true" .... > </application> </manifest>
在 apk 版本中,3 个用户中只有一个用户登录,另一个用户给出无效请求,反应本机版本是 0.67.0