使用Visual Studio 2015预览版(下载 在这里 )我们介绍了开发人员用Visual C++创建跨平台移动应用程序的能力。特别是对于Android平台,这种支持包括开发人员创建本机活动应用程序、动态和静态本机二进制文件的能力,以及一系列功能,以提供快速、精简和平均的编辑->构建->调试周期。本博客特别介绍如何使用visualstudio使用visualstudio调试器调试预构建的本机android应用程序(本机活动和JNI),即使您不是在visualstudio中构建。
调试预构建的JNI代码
为了演示这一点,让我们从一个预构建的JNI应用程序包文件开始。为此,在这个博客中,我们将使用android原生音频应用程序作为android原生开发工具包(NDK)的一部分(下载到这里)。如果您愿意,可以将此应用程序包文件的预构建版本以及源代码作为博客的一部分附上。在本例中,APK是使用作为androidsdk包的一部分提供的eclipseandroid集成构建的。另外请注意,只要您正在为APK生成调试信息(NDKu debug=1和android:debuggable=舱单上的“真”)。说到这里,我们开始吧!
为了能够调试这个预构建的jniandroid应用程序,我们需要创建一个虚拟项目,它将允许我们使用VS的部署引擎来部署预构建的APK,这是成功启动调试器所必需的。对于这个虚拟项目,让我们使用动态共享库(Android)模板。
创建一个示例动态共享库(Android)项目后,在“配置属性”下打开调试属性页(如下所示)。
用户需要填写以下详细信息,
- 要发布的程序包: .apk文件的路径,包括.apk文件名(例如C:DebugAPKNativeAudio.apk)
- 程序包名称: android应用程序的Java包名称,此信息可在“androidmanifest.xml”中找到。 (例如com.example.nativeaudio)。如需有关示例的更多详细信息,请参见下图。
- 启动活动: 启动活动的名称,此信息可在“androidmanifest.xml”中找到(例如,NativeAudio)。
启动活动(例如NativeAudio)和包名(com.example.NativeAudio)都是从AndroidManifest.xml(下图)中提取的,作为NativeAudio NDK示例的一部分。
如果您没有访问AndroidManifest.xml的权限,另一种提取此详细信息的方法是在prebuild.apk文件上使用aapt工具。aapt可以在androidsdk的buildtools目录中找到,执行以下命令将导致aapt打印一个xml树,其中包含包和活动名称的值。
aapt dump–值xmltree NativeAudio.apk AndroidManifest.xml
在调试属性页中填写了清单详细信息之后,我们现在就可以开始调试本机应用程序代码了。对于将来的版本,我们计划自动化这个过程,用户不需要在调试器属性页中填写这些细节。另外请注意,我们目前只支持调试源代码的本机部分。为了开始调试,我们需要在配置管理器中设置一些属性。
在此配置的配置管理器中,请取消选中要生成的项目属性,然后选择“部署”。一旦设置了deploy属性,在按F5时,prebuild.apk安装程序将部署到设备/仿真器和 调试器将被模仿。
我们最不需要做的就是在VS中引入一些源代码,并设置一个断点来开始调试。只需使用“add->existing item”对话框将一些代码导入到项目中,然后按F5开始调试。
总结
这个博客应该让你了解如何使用visualstudio调试预构建的android应用程序包文件(.apk)。今后根据您的反馈,我们 将 请用以下内容跟进此博客文章 额外的 帖子 深陷 关键功能。 如果你想让我们在我们的博客上谈论一个特定的话题,请告诉我们。 作为提醒,本预览版的目标是让我们收集反馈并向您学习。我们也在考虑未来对其他平台的支持,您的反馈对我们产品的发展方向至关重要。 分享反馈很容易!提供功能建议 用户语音 ,记录你在我们的 连接 现场和 向我们微笑或皱眉 从IDE内部。你也可以在下面留言。除此之外如果你是 看 到 有 一 与我们的产品团队直接对话 关于这个话题,请通过电子邮件联系我们( aasthan@microsoft.com ). 我们很想知道更多,并与您联系。