【问题标题】:Cordova release build blocks ajax requestsCordova 发布构建块 ajax 请求
【发布时间】:2017-04-12 00:10:54
【问题描述】:

Android Cordova Debug Build 在 Nexus 5X, 7.1.1 上运行良好,但无法在 Release(Signed) Build 上发出任何 ajax 请求。

尝试使用插件从本机代码进行通信,连接成功

此问题仅在 Nexus 5X、7.1.1 中出现,在其他设备上不会出现。

权限

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

config.xml 中的白名单插件:

<feature name="Whitelist">
        <param name="android-package" value="org.apache.cordova.whitelist.WhitelistPlugin" />
        <param name="onload" value="true" />
    </feature>

甚至在 ChromeWebViewImpl.java 中使用日志进行了测试

在请求 shouldAllow 时返回 true

CSP:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src https://mysubdomain.mydomain.com">

请注意,CSP 适用于除 Nexus 5X 7.1.1 之外的所有 Android、iOS 设备,我什至尝试删除 connect-src,但结果相同。

有没有人遇到过类似的问题?

【问题讨论】:

  • 这通常发生在服务器具有不受信任的证书时
  • @jcesarmobile 谢谢,我确实检查了服务器证书,它看起来是绿色的,评级为 A
  • 可能不受 Android 7.1.1 信任,或者可能是 Cordova 中的错误。
  • 嗯,这简直要了我的命!一直在尝试所有选项,如果 Android 7.1.1 不信任从设备发出的呼叫是如何工作的?并且仅从网络视图失败

标签: cordova android-7.1-nougat nexus-5x


【解决方案1】:

问题在于 WebView 版本 53 和赛门铁克证书的使用。

这是 Chrome 版本 53 中的一个错误

https://knowledge.symantec.com/support/ssl-certificates-support/index?page=content&id=ALERT2160

从 playstore 更新你的 Chrome 版本你不会遇到这个问题,它与白名单插件无关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2019-11-15
    相关资源
    最近更新 更多