使用 Visual Studio 2015 New Emulator 调试 Cordova App (android)



我不确定这是我在做傻事还是只是在流血。我正在开发一个简单的Cordova应用程序,但这是学术性的,因为我可以使用标准的"Wizzard生产"默认应用程序重复此问题。

我让该应用程序在VS2013上正常工作和调试,同时使用瑞波币,偶尔使用真实设备。我没有永久访问该设备的权限,所以我想尝试使用带有模拟器的新VS2015 CTP5。目前为止,一切都好。所有生成都正常,应用确实部署到模拟器,并启动。但是,VS停留在"部署"过程中,永远不会出来。在某种程度上,我必须"按 ctrl-Break" 摆脱它。并且调试器永远不会启动。生成输出的最后几行是:

2>  Built the following apk(s):
2>      C:UsersBrettDocumentsVisualStudioCordovaProjectsmblappmblappbldDebugplatformsandroidant-buildCordovaApp-debug.apk
2>  Using apk: `C:UsersBrettDocumentsVisualStudioCordovaProjectsmblappmblappbldDebugplatforms`androidant-buildCordovaApp-debug.apk
2>  Installing app on device...
2>  Launching application...
2>  LAUNCH SUCCESS
2>  Command finished with error code 0: `C:UsersBrettDocumentsVisualStudioCordovaProjectsmblappmblappbldDebugplatforms`androidcordovarun.bat --nobuild,--target=169.254.138.177:5555,--debug
2>  

所以那里有一个错误,但我真的不明白它是什么意思。

好的,所以我回到了VS2013,但现在2015年的安装已经改变了一些东西,使用Ripple,它现在在代码中意想不到的地方脱离了代码......而不是断点......并且javascript控制台在其下拉列表中显示"在断点处暂停"。我无法直接访问 2015 模拟器,但出于兴趣,我在 2015 年关闭后让模拟器运行,并且可以使用 VS 2013 进行连接和调试。伟大。。但它不是开始调试的好方法。

我真的很喜欢新模拟器的外观,它似乎在2013年工作得很好......那么有没有人知道如何使VS2013部署到新的模拟器?我尝试运行它并取得了一些成功。但是我找不到VS2015隐藏其VHD文件的位置。

或者,有谁知道为什么VS2015可能无法正确部署。我很高兴使用有效的解决方案..只是现在我坚持不前进,它是一个卸载 2015 和可能的重新安装 2013 回去......非常感谢。

好的。我将其作为答案发布,因为它确实处理了其中的一部分。我确实有点挣扎,所以它可能会帮助其他人。从VS2013运行模拟器。您需要转到该文件夹

C:\Program Files (x86)\Microsoft Visual Studio Emulator for Android\1.0

模拟器的安装位置。从VS2015至少运行过一次后,它创建了一个名为vsemu.vhd和vsemu.sdcard.vhd的文件。将这两个文件复制到我使用"myemu"的同一文件夹中的类似内容。然后为了启动模拟器,我创建了一个带有目标属性的简单快捷方式:

"C:\Program Files (x86)\Microsoft Visual Studio Emulator Android\1.0\XDE.exe"/vhd bretts.vhd/video 1080x1920

这也设置了分辨率。您可以使用以下命令找到所有启动标志等:

。XDE/?

我还不确定,但我认为它将各种应用程序快捷方式存储在 sdcard 文件中......尽管我不会发誓。如果那里有什么变化,请重新发布。

好的调试..我启动了VS2013并将调试目标设置为"设备"。这工作正常..迄今。

仍然想知道为什么 2015 没有正确部署,现在我只是假设它是出血边缘的"出血"部分。干杯

Visual Studio

2015 CTP5 中存在一个已知问题,将 Cordova 项目部署到 Visual Studio Emulator for Android。此问题将在下一版本中解决。

同时,可以尝试以下几种解决方法:

  1. 在您的机器中搜索Microsoft.VisualStudio.MultiDeviceHybridApps.dll。将有两个副本 - 一个在"Program Files\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Emulator for Android"(dll的VS模拟器版本)下,另一个在"Program Files\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\"下的另一个文件夹中(文件夹名称各不相同,但它总是一些随机哈希;这是dll的Cordova版本)。关闭VS2015,并将Emulator for Android文件夹中的Microsoft.VisualStudio.MultiDeviceHybridApps.dll替换为Cordova文件夹中的那个(删除模拟器,复制Cordova,然后将其粘贴到模拟器文件夹中)。然后转到"C:\Users\your username\AppData\Local\Microsoft\VisualStudio\14.0\Extensions"并删除此文件夹的内容。

  2. 在已安装\模板\Visual C++\Cross Platform\Native-Activity Application (Android))下创建一个新的Visual C++ Native-Activity Application (File> New> Project)并运行它,然后返回到您的Cordova项目。

  3. 重新安装 CTP5 和 Visual Studio Emulator for Android,然后重新安装。

希望这有帮助!

webkit开发人员(Android和iOS)的另一种解决方法是Chrome远程调试器,请查看此处。

有了这个,您可以像往常一样进行调试,这确实适用于 vs2015 ctp5 的模拟器!

最新更新