Cordova 应用签署 apk 后需要 CORS

Posted

技术标签:

【中文标题】Cordova 应用签署 apk 后需要 CORS【英文标题】:Cordova app after signing the apk need CORS 【发布时间】:2019-04-09 17:26:05 【问题描述】:

我正在开发一个 cordova 应用程序并使用一些 ajax 调用。 由于 CORS,在本地(浏览器)上不起作用。但是在 apk-debug 中是可以的,我可以调用 url。

当我签署 APK 时再次出现 CORS 错误。

url是CHI脚本,也加了Access-Control-Allow-Origin "*"

我在配置中使用带有此设置的白名单插件

<access origin="*" />
<allow-navigation href="*"/>

来自 index.html 的元数据

<meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: gap: content:">

当我签署 apk 时发生了什么变化?

使用不同的内容安全策略进行测试 - 没有任何效果

Ajax 在签名的应用程序、浏览器或调试 apk 中始终返回 readystate 0 100% 有效,即使使用 GET 或 POST。

【问题讨论】:

【参考方案1】:

已修复!

让我们加密不受 Android 信任的 SSL 证书

看起来 Google 不喜欢便宜的东西 :)

【讨论】:

【参考方案2】:

我遇到了这个问题,问题实际上出在您调用请求的 Web 服务器上。我通过在 .htaccess 文件中添加 Access-Control-Allow-Origin 标头来解决它。

尝试将以下内容添加到您的 .htaccess 文件中。

Header set Access-Control-Allow-Origin "*"

【讨论】:

我知道,但我不明白为什么调试应用程序可以工作,所以不要求 cors 和签名的 apk 不。有什么区别? 添加了这个,还是一样的。在已签名的 apk 中不起作用。在浏览器中工作 你使用的是HTTPS还是HTTP? https - 我认为它来自 Content-Security-Policy 但找不到正确的 请您编辑您的问题并添加确切的错误消息,也许还有您的 Cordova 配置文件中的相关代码?

以上是关于Cordova 应用签署 apk 后需要 CORS的主要内容,如果未能解决你的问题,请参考以下文章

安装“cordova-plugin-mfp-push”后无法在设备上运行

如何使用 Google 签名密钥签署 apk 以上传到其他应用商店

如何签署我已经制作的 android app/.apk 文件

GPG服务测试没有上传新的apk签署到谷歌播放

Cordova facebook 插件无效的密钥哈希

如何使用 apktool 在 Mac 上签署修改后的 apk