首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布用于Android 9的Cordova应用程序(Android 28)获取互联网连接错误

发布用于Android 9的Cordova应用程序(Android 28)获取互联网连接错误
EN

Stack Overflow用户
提问于 2019-07-23 13:52:53
回答 3查看 3.1K关注 0票数 3

我使用HTML5 & Javascript开发了cordova跨平台应用程序。但是最近我在android上遇到了一些问题。

以前我使用Cordova 7,其中android版本为6.3,它支持android 16到26。但根据谷歌的新规定,从2019年8月起,所有应用程序都必须针对Android 28,即Android 8和Android 9。

Cordova的最新版本是Cordova 9,它支持Android 8,而Cordova没有发布任何支持Android 9的版本。

因此,要开发针对API 28的应用程序,我必须使用Android 8,但我在这个应用程序上面临一些问题。在此之前,我的应用程序运行良好。当我用Cordova 9用Android 8开发应用程序时,它可以很好地处理所有Android 8及以下的手机,但在Android 9中显示错误,特别是在AJAX请求中。

我用http (而不是https)向服务器发送AJAX请求。在一些博客中,我看到它可能会导致错误。但是我看不到任何修复方法,而且目前我没有使用https的选项。

另一种方法是设置<preference name="android-targetSdkVersion" value="26" />,它在所有安卓版本(6~9)中运行良好,但是当我在Google商店中使用这个配置上传时,它会显示警告,要更新到目标API到28。

所以现在我该怎么办?

提前谢谢。

注:我找到了一种使用http的方法,但一点也不明白。如果有人能解释的话我会很高兴的。提供以下链接:https://developer.android.com/training/articles/security-config

Cordova应用程序升级到Android 9 Pie API 28修订版后的Ajax错误

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-04 15:41:18

经过长时间的搜索,我发现"By Default",Android9不允许向http发送请求。它只允许向https urls发送请求。所以我所要做的就是把我的服务器从http升级到https。不用担心,没那么难。如果您使用plesk作为您的服务器管理,它就像2次点击安装“让加密”SSL证书永远免费与自动更新。它还在Mozilla中显示了Greenbar。但是,如果您使用的不是Plesk,那么请转到让我们加密网站并生成一个并将其安装到您的服务器上。仅此而已。

您仍然可以向Android 9中的http urls发出请求,但对我来说还是太复杂了,所以我说pass。另外,从http升级到https也为我提供了更多的安全性:)

票数 4
EN

Stack Overflow用户

发布于 2019-10-29 18:57:16

您所要做的就是在AndroidManifest.xml上在应用程序标记上包含以下键对值:

Android:usesCleartextTraffic=“真”

在API 28上,这个属性被设置为false (出于安全原因),在以前的Android中是正确的。

票数 6
EN

Stack Overflow用户

发布于 2020-03-05 04:37:10

拉津·阿比德斯特凡诺·博里提供的响应都是非常好的答案,但是对于那些正在研究如何在Android9中启用不安全的http共谋的人,请检查这个答案:如何允许Android (9) Pie中的所有网络连接类型HTTP和HTTPS?

请注意,如果您正在使用Cordova,那么直接修改AndroidManifest.xml (Android )文件不是一个好主意,而是编辑config.xml (项目配置文件)。

您将有两个工具来实现它:config-fileedit-config,详细描述在Cordova文档中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57165745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档