Cordova发布构建阻止了ajax请求

时间:2017-04-12 00:10:55

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

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,但结果相同。

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

1 个答案:

答案 0 :(得分:1)

问题在于WebView版本53和Symantec证书的使用。

它是Chrome版本53中的错误

  

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

从Playstore更新您的Chrome版本,您将不会遇到此问题,它与白名单插件无关。