发布适用于Android 9的Cordova应用程序(Android API 28)获取互联网连接错误
我使用HTML5和Javascript开发cordova跨平台应用程序。但最近我在安卓系统上遇到了一些问题 以前我用的是Cordova7,android版本是6.3 它支持android API 16到26。但根据谷歌的新规定,从2019年8月起,所有应用程序必须以安卓API 28为目标,即安卓8和安卓9 Cordova的最新版本是Cordova 9,它支持Android 8。Cordova没有发布任何支持Android 9的版本 所以要开发针对API 28的应用程序,我必须使用安卓8。但我在应用程序方面遇到了一些问题。以前我的应用程序运行良好。当我用Cordova 9和安卓8开发应用程序时,所有安卓8及以下版本的手机都可以正常工作,但安卓9中显示错误。特别是AJAX请求 我使用http(而不是https)向服务器发送AJAX请求。在一些博客中,我看到它可能会导致错误。但我看不到任何修复方法,目前我没有选择使用https 另一种方法是设置发布适用于Android 9的Cordova应用程序(Android API 28)获取互联网连接错误,android,cordova,Android,Cordova,我使用HTML5和Javascript开发cordova跨平台应用程序。但最近我在安卓系统上遇到了一些问题 以前我用的是Cordova7,android版本是6.3 它支持android API 16到26。但根据谷歌的新规定,从2019年8月起,所有应用程序必须以安卓API 28为目标,即安卓8和安卓9 Cordova的最新版本是Cordova 9,它支持Android 8。Cordova没有发布任何支持Android 9的版本 所以要开发针对API 28的应用程序,我必须使用安卓8。但我在应
,它在所有android版本(6~9)中都可以正常工作,但当我在Google Play store中使用此配置上传时,它会显示警告,将目标API更新为28
那么现在我该怎么办
提前谢谢
注:
我找到了一种使用http的方法,但一点也不懂。如果有人能解释我会很高兴的。链接如下:
经过长时间的搜索,我发现
“默认情况下”
,Android 9不允许向http发送请求。它只允许向https URL发送请求。所以我所要做的就是将我的服务器从http升级到https。不用担心,没那么难。如果您使用plesk进行服务器管理,只需点击两次即可免费安装“Lets Encrypt”SSL证书并自动续订。它还显示了Mozilla Firefox中的绿条。不过,若您使用的不是Plesk,那个么请转到该网站并生成一个,然后将其安装到您的服务器上。就这些
你仍然可以在Android9中请求http URL,但对我来说还是有点太复杂了,所以我说通过。另外,从http升级到https也给了我更多的安全性:)您所要做的就是在AndroidManifest.xml应用程序标记上包含以下密钥对值: android:UseClearTextTraffic=“true” 在API 28上,此属性默认设置为false(出于安全原因),在以前的Android API中为true。和提供的响应都是很好的答案,但是对于了解如何在Android 9中启用不安全http连接的人,请检查此答案: 请注意,如果您正在使用Cordova,直接修改
AndroidManifest.xml
(Android平台)文件不是一个好主意,而是编辑config.xml
(项目配置文件)
您将有两个工具来实现它:以及,在Cordova文档中有详细描述。您有在android 9中使用http URL的替代解决方案吗?我还没有尝试过。