无法从cordova android app

时间:2015-05-23 15:51:38

标签: android angularjs cordova asp.net-web-api visual-studio-cordova

我目前正在Visual Studio 2015 RC中开发一个cordova 4.3 android应用程序。它是一个AngularJS应用程序,我使用$ resource将请求发送到在同一台计算机上的不同端口上运行的ASP.NET Web Api应用程序。如果我禁用跨域代理,调试Ripple中的应用程序工作正常但是当我尝试在Visual Studio Android模拟器或我的Android设备上调试时,我得到一个不太有用的“无法加载资源”,一旦尝试到达web api。网址看起来是正确的,我怀疑问题与CORS或我的HTTPS证书或两者都有关系?到目前为止我尝试的是:

  1. 在清单文件中设置<uses-permission android:name="android.permission.INTERNET" />android:debuggable="true"
  2. 尝试使用chrome:// inspect /#devices获取有关该问题的更多信息,但收到错误消息“无法从不受信任的来源加载DevTools前端”。
  3. 我可以使用非常有用的工具sharpproxy [https://www.codefromjames.com/wordpress/?p=97]将我的Android手机Chrome网页浏览器连接到localhost网页api,但遗憾的是这种方法无法与应用程序的webview一起使用。
  4. 当我将应用程序指向我的azure托管的实时web api端点时,ajax请求确实有效,我在这里获得了有效的https证书,但在开发应用程序时使用起来不太方便。
  5. 确保config.xml文件包含<access origin="*" />
  6. 我的网络API配置了app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll)
  7. 我对cordova /混合应用开发完全陌生,我肯定错过了一些明显的东西?任何帮助或建议将非常感谢!!

1 个答案:

答案 0 :(得分:0)

在Visual Studio 2015遇到各种问题之后我将其重新安装回到Visual Studio 2013 Update 4,现在我可以使用我提到并链接到上面的尖锐代理将我的Android设备连接到本地运行的web api。

所以要明确:

  1. 使用Visual Studio 2013 Update 4运行您的网络API,例如网址https://localhost:44358/
  2. 使用外部端口5000和内部44358启动尖锐代理。
  3. 确保您的Android设备已连接到同一个wifi并指示您的应用使用https://your-ip-address:5000进行所有服务呼叫。