Android 调试失败 "Couldn't connect to logcat, GetProcessId returned: 0" FFImageLoading.Platform.dll.so 未找到
Android Debugging Failing With "Couldn't connect to logcat, GetProcessId returned: 0" FFImageLoading.Platform.dll.so Not Found
我在调试 Android 项目时遇到问题。我可以部署到设备并 运行 它,一切正常,但如果我尝试调试,应用程序会部署到设备并非常短暂地打开,启动画面出现,但应用程序随后关闭。
我在 Visual Studio 2015 上使用 Xamarin Forms。
设备是 运行ning Android Oreo (8.0.0)。另一台设备 运行ning Android 6.0.1 调试正常。
输出如下:
InspectorDebugSession(11): StateChange: Start -> EntryPointBreakpointRegistered
InspectorDebugSession(11): Constructed
Android application is debugging.
InspectorDebugSession(11): HandleTargetEvent: TargetExited
InspectorDebugSession(11): Disposed
Couldn't connect to logcat, GetProcessId returned: 0
我检查了 Logcat,发现 FFImageLoading 库似乎有问题:
Time Device Name Type PID Tag Message
09-18 14:35:52.361 Huawei Nexus 6P Debug 1560 Mono AOT:
image '/usr/local/lib/mono/aot-cache/arm/FFImageLoading.Platform.dll.so'
not found: dlopen failed: library "/data/app/myapp.android.dev-
WEb1bz8edgF7vwx6uCoZ-A==/lib/arm/libaot-FFImageLoading.Platform.dll.so" not found
我已将 FFImageLoading 的 Nuget 包添加到我的项目中,Droid 项目参考如下图所示:
这是 known issue 奥利奥和 Xamarin Android 在 Visual Studio 上 Windows。它显然适用于 Visual Studio for Mac。它将在即将发布的版本中修复。同时,在上面的错误 link 底部附近有一个解决方法(评论 20)。
这对我有用:-
Deselecting the 'Use Shared Runtime' in Project Properties > Android
Options > Packaging properties
我在 Android 8.1 和 Visual Studio 2017 15.7.4 中也遇到了这个问题。
需要三个步骤才能让它重新工作。
- 在 Android 选项下,转到高级并添加您的设备架构,在我的例子中是 x86_64。
- 转到工具 -> 选项 -> Xamarin > Android 设置并启用:为共享运行时和基础 class 库提供调试符号。
最后一步是从您的设备中删除以下应用程序:
- 所有 Xamarin.Android API 支持库
- Mono 共享运行时
- 您的应用程序
完成这些步骤后,您无需禁用 "Use Shared Runtime" 并且可以更快地部署和调试。
另一个原因是,如果您没有在您的设备上启用 USB 调试,VS 2017 仍会识别您的 phone 并在您的 phone 上安装该应用程序。刚开始调试,会抛出这个错误,不继续调试。确保启用开发者模式 -> Usb 调试,如此处所述
https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/set-up-device-for-development
- 在项目属性 > Android 选项中取消选择 'Use Shared Runtime'
- 从解决方案中删除 bin 和 obj 文件
- 清洁解决方案
- 重建有效的解决方案
我在调试 Android 项目时遇到问题。我可以部署到设备并 运行 它,一切正常,但如果我尝试调试,应用程序会部署到设备并非常短暂地打开,启动画面出现,但应用程序随后关闭。
我在 Visual Studio 2015 上使用 Xamarin Forms。
设备是 运行ning Android Oreo (8.0.0)。另一台设备 运行ning Android 6.0.1 调试正常。
输出如下:
InspectorDebugSession(11): StateChange: Start -> EntryPointBreakpointRegistered
InspectorDebugSession(11): Constructed
Android application is debugging.
InspectorDebugSession(11): HandleTargetEvent: TargetExited
InspectorDebugSession(11): Disposed
Couldn't connect to logcat, GetProcessId returned: 0
我检查了 Logcat,发现 FFImageLoading 库似乎有问题:
Time Device Name Type PID Tag Message
09-18 14:35:52.361 Huawei Nexus 6P Debug 1560 Mono AOT:
image '/usr/local/lib/mono/aot-cache/arm/FFImageLoading.Platform.dll.so'
not found: dlopen failed: library "/data/app/myapp.android.dev-
WEb1bz8edgF7vwx6uCoZ-A==/lib/arm/libaot-FFImageLoading.Platform.dll.so" not found
我已将 FFImageLoading 的 Nuget 包添加到我的项目中,Droid 项目参考如下图所示:
这是 known issue 奥利奥和 Xamarin Android 在 Visual Studio 上 Windows。它显然适用于 Visual Studio for Mac。它将在即将发布的版本中修复。同时,在上面的错误 link 底部附近有一个解决方法(评论 20)。
这对我有用:-
Deselecting the 'Use Shared Runtime' in Project Properties > Android Options > Packaging properties
我在 Android 8.1 和 Visual Studio 2017 15.7.4 中也遇到了这个问题。
需要三个步骤才能让它重新工作。
- 在 Android 选项下,转到高级并添加您的设备架构,在我的例子中是 x86_64。
- 转到工具 -> 选项 -> Xamarin > Android 设置并启用:为共享运行时和基础 class 库提供调试符号。
最后一步是从您的设备中删除以下应用程序:
- 所有 Xamarin.Android API 支持库
- Mono 共享运行时
- 您的应用程序
完成这些步骤后,您无需禁用 "Use Shared Runtime" 并且可以更快地部署和调试。
另一个原因是,如果您没有在您的设备上启用 USB 调试,VS 2017 仍会识别您的 phone 并在您的 phone 上安装该应用程序。刚开始调试,会抛出这个错误,不继续调试。确保启用开发者模式 -> Usb 调试,如此处所述 https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/set-up-device-for-development
- 在项目属性 > Android 选项中取消选择 'Use Shared Runtime'
- 从解决方案中删除 bin 和 obj 文件
- 清洁解决方案
- 重建有效的解决方案