tl; dr - 我似乎无法在WP8.1上成功运行PhoneGap应用。我在诊断问题的过程中存在许多问题。
设置:我创建了一个PhoneGap 3.4 Windows Phone应用程序,使用Visual Studio 2012 for WP在Windows Phone 8上进行了测试,并提交了它。我从Windows Phone 8.1的人那里得到了很多崩溃报告。
诊断问题:我继续尝试使用Visual Studio 2013 for Windows在WP8.1模拟器上运行应用程序。我收到以下错误:
Deployment of application to device failed.
Exception from HRESULT: 0x89721500
然后我尝试选择“重新定位到Windows Phone 8.1”。应用程序启动并显示启动画面,但它随后崩溃,我收到以下错误:
An exception of type 'System.SystemException' occurred in Microsoft.Phone.Interop.ni.dll but was not handled in user code
Additional information: An unknown error has occurred. Error: 80020006.
If there is a handler for this exception, the program may be safely continued.
尝试侧载现有的XAP:认为通过VS2013运行此应用程序可能会有一些问题,我想我可能会尝试侧载它。问题是,8.1模拟器没有XapDeploy.exe,我似乎无法在模拟器中从互联网上下载/打开应用程序。
试图弄清楚它是什么:这一点都不是非常有用,特别是考虑到新的WP8.1以及相对较少的人如何应对PhoneGap;遇到这种问题的人并不多,所以网上的人数不多。我用PhoneGap创建的新应用尝试了以上所有内容,没有区别。
这里的任何帮助,指向我任何方向,都会非常有帮助。
解决方法:如果我无法解决此问题,解决方法就是排除对8.1的支持;让人们不要下载app / app版本8.1。我有什么方法可以做到这一点吗?我无法在任何地方找到办法。
答案 0 :(得分:6)
我的项目遇到了同样的问题。如果您的项目异步加载多个外部文件(.html,.js,...),我找到了解决方案。
我调试了这个问题的根源,并且看起来运行得更简单的cordova种子示例,并且慢慢地进入我的项目状态,当我加载多个时,我看到它在cordova文件XHRHelper.cs中崩溃了立即归档。
最后,我在https://issues.apache.org/jira/browse/CB-4873找到了解决方案。 cordova和Windows Phone 8.1似乎存在某种错误,当他试图异步加载多个文件时,它会崩溃。
来自 Maris Seimanovs 的评论通过提供修改后的XHRHelper文件解决了这个问题:https://gist.github.com/anonymous/5bf4d9ba9cdb5d0f3f3e
请记住,您可以在platforms / wp8 / cordovalib / XHRHelper.cs中找到XHRHelper文件
我希望它也能帮到你。
答案 1 :(得分:0)
我遇到了这个问题,并且遵循了我能找到的所有其他解决方案,但它没有工作,抛出了 Exception:' System.SystemException'在Microsoft.Phone.Interop.ni.dll 消息中。
我花了几个小时才发现我有一个格式不正确的Content-Security-Policy元标记 - 我错过了内容属性的结束语。
在结束报价中修正错误。很难相信简单的标记语法错误可能会让它崩溃得非常糟糕。
我以为我会在这个SO帖子中分享这个,因为这似乎是Google在此错误中遇到的最高点,毫无疑问其他人会遇到与我相同的问题。