LoopBack/Angular/Cordova在Android上超时

Ove*_*vis 5 javascript angularjs cordova phonegap-build strongloop

我们有一个Web应用程序,它使用Strongloop的LoopBack作为API和后端,以及前端的Angular,Cordova用于打包移动.来自Cordova的Web应用程序和iOS目标运行良好,但是当我们尝试为Android设备构建时,应用程序服务器无法从设备访问.更具体地说,在加载客户端应用程序并尝试登录后,设备向我的API发出POST但从未收到响应(据我所知,请求从未真正命中过服务器).

这是我到目前为止所尝试的:

  • 确保在config.xml中access设置为origin="*"
  • 确保Content-Security-Policy在我的(单页)应用程序的index.html中设置了元标记,允许远程网络
  • 确保INTERNET在Android Manifest中正确设置了权限
  • 确保可以从浏览器中的设备访问应用服务器
  • 确保生成的lb-services.jsAngular服务具有正确的API地址
  • 尝试生成一个Ionic Framework应用程序并将我的应用程序代码放入其中以防万一它生成我需要的东西

由于我能够在没有任何问题的情况下使用Cordova在iOS上运行我的应用程序,我认为我的Android配置必须有特定的东西.我确实遇到了一个单独的问题,即安装的插件与最新的Cordova不兼容,但删除该插件似乎已经解决了这个问题.为Android构建有什么不同可以防止这种情况发生?

编辑:

我已经转而使用Phonegap Build,希望这将是一个更简单的工作流程,但我仍然看到相同的问题..这是我正在做的白名单/ CORS配置:

index.html中的元标记: <meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'self' 'unsafe-inline'; script-src * 'self' 'unsafe-inline' 'unsafe-eval'">

config.xml(Phonegap Build,可识别信息已删除):

<?xml version="1.0" encoding="UTF-8" ?> <widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="..." version="1.0.0"> <name ... /> <description ... /> <author ... /> <icon src="icon.png" /> <gap:splash src="splash.png" /> <preference name='phonegap-version' value='cli-5.1.1' /> <gap:plugin name="com.indigoway.cordova.whitelist.whitelistplugin" version="1.1.1" /> </widget>

aor*_*vre 6

安装https://github.com/apache/cordova-plugin-whitelist,因为Cordova 5.0.0对于CORS查询是强制性的.

你安装好了吗?如果没有,这肯定是你的问题;)