【问题标题】:Android Debugging Failing With "Couldn't connect to logcat, GetProcessId returned: 0" FFImageLoading.Platform.dll.so Not FoundAndroid 调试失败,出现“无法连接到 logcat,GetProcessId 返回:0”FFImageLoading.Platform.dll.so Not Found
【发布时间】:2019-03-08 18:55:46
【问题描述】:

我在调试 Android 项目时遇到问题。我可以部署到设备并运行它,一切正常,但如果我尝试调试,应用程序会部署到设备上并非常短暂地打开,启动画面出现但应用程序随后关闭。

我在 Visual Studio 2015 上使用 Xamarin 表单。

设备正在运行 Android Oreo (8.0.0)。另一台运行 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 项目参考如下图所示:

【问题讨论】:

    标签: xamarin.forms xamarin.android android-6.0-marshmallow android-8.0-oreo ffimageloading


    【解决方案1】:

    这对我有用:-

    在项目属性中取消选择“使用共享运行时”> Android 选项 > 包装属性

    【讨论】:

    • 这毫无意义。是为了让调试更快。这不是一个永久的解决方案
    【解决方案2】:

    我在使用 Android 8.1 和 Visual Studio 2017 15.7.4 时也遇到了这个问题。

    要让它再次工作,需要三个步骤。

    1. 在 Android 选项下,转到高级并添加您的设备架构,在我的例子中是 x86_64。
    2. 转到工具 -> 选项 -> Xamarin > Android 设置并启用:为共享运行时和基类库提供调试符号。
    3. 最后一步是从您的设备中删除以下应用程序:

      • 所有 Xamarin.Android API 支持库
      • 单声道共享运行时
      • 您的应用程序

    完成这些步骤后,您无需禁用“使用共享运行时”,并且可以更快地部署和调试。

    【讨论】:

      【解决方案3】:

      这是 known issue 在 Visual Studio for Windows 上使用 Oreo 和 Xamarin Android。它显然适用于 Visual Studio for Mac。它将在即将发布的版本中修复。同时,在上面的错误链接底部附近有一个解决方法(评论 20)。

      【讨论】:

      • 我不相信这是奥利奥的问题。即使使用 Android 4.0.3 也无法正常工作,行为正是他所描述的。
      【解决方案4】:
      1. 在项目属性 > Android 选项中取消选择“使用共享运行时”
      2. 从解决方案中删除 bin 和 obj 文件
      3. 清洁溶液
      4. 重建可行的解决方案

      【讨论】:

      • 我只是取消选中“项目属性”>“Android 选项”中的“使用共享运行时”;运行(调试)解决方案;在 Project Properties > Android Options 中选中“Use Shared Runtime”,然后再次运行解决方案,它就可以工作了。
      【解决方案5】:

      另一个原因是如果你没有在你的设备上启用 USB 调试,VS 2017 仍然会识别你的手机并在你的手机上安装应用程序。刚开始调试,就会抛出这个错误,不能继续调试。确保启用开发人员模式-> Usb 调试,如此处所述 https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/set-up-device-for-development

      【讨论】:

        猜你喜欢
        • 2020-10-05
        • 1970-01-01
        • 2023-01-11
        • 1970-01-01
        • 1970-01-01
        • 2015-08-11
        • 2023-01-09
        • 2016-01-02
        • 2011-07-07
        相关资源
        最近更新 更多