我有一个使用Cordova 8.1.2开发并在Android 8.1 Oreo API Level 27 Revision 3下编译的应用程序,可以在Play商店和注册用户中成功使用。
在过去的几周中,一些用户已将手机升级到Android 9.0 Pie,当他们打开应用程序并进行注册或登录操作时,他们会收到Ajax通信,并显示服务器错误。
我已经在Android Studio的开发人员模式下以及在Android 9.0 Pie的Emulator中进行了尝试,并且得到了相同的结果。我使用不同的ajax URL进行了一些测试,而ajax调用从未到达服务器。
有人遇到同样的问题吗?
这是android studio中的错误日志:
2019-01-30 20:29:19.701 1921-1921/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument 2019-01-30 20:29:22.351 1754-1900/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0 2019-01-30 20:29:38.714 1925-2029/system_process E/memtrack: Couldn't load memtrack module
控制台中的Ajax错误视图:
{"readyState":0,"status":0,"statusText":"error"}
答案 0 :(得分:2)
最后,我解决了这个问题。问题在于,在Android 9 Pie API 28中,默认情况下允许ajax调用https服务。有选项:
答案 1 :(得分:0)
您需要从我相信的SDK管理器中下载API 28并更新平台工具,然后重新编译您的应用。