Android NDK - 无法在 Visual Studio 2017 中调试
Android NDK - Can not debug in Visual Studio 2017
我今天安装了Visual Studio 2017(并重新安装...(并尝试在C++中调试Android应用程序。 当我在Microsoft Android模拟器中以调试模式启动应用程序时,我收到一个错误消息框:
找不到 Android 调试桥 (adb.exe(
模拟器无论如何都在启动..现在我尝试再次启动该应用程序,并在输出中收到以下错误消息:
1>安装软件包时出错。设备"无效与否 运行。 请切换到其他设备,或使用安卓虚拟 设备 (AVD( 管理器,用于启动兼容的模拟器,或连接 兼容的安卓设备。
1>设备无效或未运行。
请注意空设备名称。
当我在真正的Android设备中启动该应用程序时,我收到以下错误消息框:
无法启动调试。Android 命令 'run-as' 失败。可收纳 "com.******"是未知的。
故障排除步骤: - 尝试从应用程序列表中启动应用程序。如果应用不在应用列表中,或者无法启动,这可能表示 应用部署。 - 确保您已安装适用于您的设备的所有更新。 - 安装最新固件或使用最新的可用映像刷新设备。即使您已经在 最新版本的Android作为无线Android升级过程 可能会损坏本机调试所需的文件权限。对于许多人 三星设备,这可以使用Kies完成。 - 向制造商报告问题。Android 兼容性测试套件"testRunAsHasCorrectCapabilities"针对此条件进行测试 并且很可能失败。
但是我的应用程序正在Android设备中安装并且可以启动。
我觉得在Visual Studio中开发Android是有缺陷的。我使用Xamarin Android和C#,它通常运行良好。
有什么想法吗?有人怎么得到同样的错误?
出现此问题的原因是,在应用中调试本机代码需要运行 gdbserver,这是一种在 Android 设备上运行的特殊工具,可将应用的内部公开给调试器。如果您的 Android 设备对/data/system/packages.list 文件的权限过于严格,则运行方式工具将无法读取该文件并使用正确的权限启动 gdbserver。VisualGDB 提供了一种解决方法,允许直接从您的应用程序启动 gdbserver 并自动连接到它。打开 VisualGDB 项目属性,转到调试设置页面并选择"启动 gdbserver – 从应用程序手动">
有关更多信息,您可以参考此处
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- Visual Studio 2017 不允许我创建 C++ 专用模板
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 在Visual Studio 2017中使用recursive_directory_iterator
- 使用 CMake,Microsoft MPI 和 Visual Studio 2017 找不到 mpi.h
- Visual Studio 2017 中的 QtMetaObject 未解决的外部错误
- 智能感知不适用于Visual Studio 2017中的cmake项目
- 在Visual Studio 2017中创建的简单DLL不会在XP中加载
- Android NDK - 无法在 Visual Studio 2017 中调试
- Visual Studio 2017 - 调试和 Relese 配置,设置运行时库
- Visual Studio 2017 C++,不能使用 typeid() 获取信息对象,缺少指针?;
- 代码在Visual Studio 2017中不起作用,但在VS代码中工作
- 默认/样板代码在Visual Studio 2017中给我错误.E1574.虚幻.但构建成功了
- std::filesystem::create_directories Visual Studio 2017
- OpenCV 3 Visual Studio 2017 调试,调用堆栈没有.pdb文件
- Visual Studio 2017 15.5 Breaks C++ TypeDefs
- 在Visual Studio 2017中使用c ++组件构建python解决方案时出现问题
- 如何在Visual Studio 2017上将类方法设置为参数并将它们与lambda一起使用?