Visual Studio 2015/2017无法在Android 8.0设备上调试Android应用程序

时间:2018-07-17 08:24:35

标签: android visual-studio debugging adb

几年来,我一直在使用Visual Studio 2015/2017进行Android应用程序开发。我可以毫无问题地在Android 7.0设备上部署和调试android应用。但是,在我将手机升级到Android 8.0之后,部署/调试操作失败并显示以下错误消息:

无法在设备'CJL5T16107010699'上安装应用程序'com.omnigsoft.gameenginedemo'(我的apk文件路径...)。安装成功,但是在设备上找不到应用程序。

我的android应用实际上已成功安装在设备上(我可以在设备上手动启动它),但似乎Visual Studio无法列出并找到已安装的应用(通过ADB shell / pm list命令) ,我无法启动调试器来在Android 8.0设备上调试我的应用。

我注意到还有另一个开发人员报告了相同的问题,但是没有得到答案。我对此感到沮丧,非常感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

我终于解决了这个问题。

事实证明,这是VS 2015和VS 2017(版本15.5)中的一个明显错误。 幸运的是,VS团队已在最新版本中修复了该错误,因此简单的解决方案是从官方网站上以最新版本15.7更新2(aka 15.7.2)更新VS: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Professional&rel=15#

有趣的是,我发现的错误是,在VS 2017早期版本中,在构建并部署到Android 7 设备(该应用程序包)时,创建了一个名为“ Android1”的简单Android应用程序安装为:

程序包:/ data / app / com.Android1-1 /base.apk=com.Android1

部署到Android 8 设备时,该软件包的名称为:

package:/ data / app / com.Android1-GLGROUzYL85gF8mDWG9J6A == /base.apk=com.HelloAndroid1

以前,在已安装的文件夹使VS无法检测到已安装的应用程序包之后,附加了奇怪的后缀“ GLGROUzYL85gF8mDWG9J6A == ”。

我使用ADB命令“ adb shell pm列表软件包-f -3”列出设备上已安装的应用程序,我想VS会做同样的事情。 无论如何,它在VS 15.7.2中已修复。干杯!

更新: 在Android 8设备上,应用程序包的安装路径仍包含某种加密的字符串,现在购买VS仍可以检测到该应用程序包。