Ionic Android 已签名的产品应用程序确实 REST 请求失败/死了

Ionic Android signed prod app does REST request fails / dead

不确定发生了什么。 在为 android 构建我的应用程序时 ionic cordova run android

我手动将它部署到 phone 它运行良好, 我可以在设备和我的后端服务器之间跟踪 https

当我对应用程序进行代码签名时

ionic cordova build android --prod --release
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore appStoreKey.jks ./platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk MyApp

应用程序和后端之间没有流量。我无法登录该应用程序,它根本不会超出登录视图并且不允许任何外部流量。

这是我的 config.xml:

<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />

恕我直言,这应该允许应用程序查看所有内容(这不是默认选项,只是试图解决这个问题)。 我错过了什么吗?我什至无法使用 Chrome 进行调试,因为它不是在调试模式下构建的。我不知道可能出了什么问题以及如何解决这个问题。

iOS 在调试和生产模式下都很有魅力。

事实证明 Android Cordova 中有一个功能(或者可能是一个错误)。基于@AbdulAzeem 和 blogpost 的顶部,事实证明必须修改 CordovaWebViewClient.java 中的 onReceivedSslError 才能启用 iOS 仍接受的证书。我的理由是,由于 Apple 更加重视服务和应用程序质量,我可以接受 Apple 接受但 Cordova 失败的任何证书。无论如何,link 中显示的修复程序仍然适用于 Android 9.

编辑

platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java

将 237 添加评论和代码

// super.onReceivedSslError(view, handler, error);

// add code
handler.proceed();
return;