【问题标题】:MonoGame on MonoDroid - shared runtime initialization error cannot load library "libmonosgen-2.0.so"MonoDroid 上的 MonoGame - 共享运行时初始化错误无法加载库“libmonosgen-2.0.so”
【发布时间】:2013-02-26 22:31:56
【问题描述】:

我有一个简单的 Android MonoGame 项目,使用 MonoDevelop 构建。它是 XNA 示例游戏的一个端口,它在模拟器中的一台设备上运行良好,但在另一台设备上部署时出现此错误:

shared runtime initialization error: Cannot load library: load_library(linker.cpp:745):
library "/data/data/Mono.Android.DebugRuntime/lib/libmonosgen-2.0.so" not found

该错误发生在设备上刚出现启动画面之后。

代码不会改变,它可以在一台设备上运行,但不能在另一台设备上运行。设备之间的主要区别在于屏幕分辨率。 320x480 分辨率的设备很好,但 480x800 分辨率的设备会出现错误。这两种设备在 AVD 中都定义为面向 Android 4.2 API 级别 17,并使用 Intel Atom x86 CPU/ABI。我为 480x800 设备提供了 AVD 允许的尽可能多的内存(768 MB - 高于此值并且它无法启动)。

我之前认识其他人reported a similar error,我已经尝试过那里的建议(关闭“快速部署”并重新部署,增加设备上的可用空间)但得到了同样的错误。它始终可以在 320x480 上运行,但不能在更大屏幕的设备上运行。

最后一点 - 我使用的是免费版的 MonoDroid。

【问题讨论】:

    标签: android mono xamarin.android monodevelop monogame


    【解决方案1】:

    如果有人遇到同样的错误,解决方案on the Xamarin site 会提供更多详细信息。简而言之,当我卸载调试运行时然后重新安装我的游戏时,错误就会消失:

    $ adb uninstall Mono.Android.DebugRuntime
    $ MSBuild /t:Install YourProject.csproj
    

    (或者只是从 IDE 安装游戏)

    【讨论】:

    • 发生在我身上是因为我在安装我的应用程序(和共享运行时)后将 Android 模拟器从 x86 切换到了 ARM。卸载共享运行时成功了,谢谢:)
    猜你喜欢
    • 2021-05-10
    • 2018-10-19
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多