2

MonoDevelop を使用して構築された単純な Android MonoGame プロジェクトがあります。これは XNA サンプル ゲームのポートであり、エミュレーターの 1 つのデバイスでは正常に動作しますが、別のデバイスではデプロイ時に次のエラーが表示されます。

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 - それより高く、起動しません)。

他の誰かが以前に同様のエラーを報告したことを知っており、そこで推奨事項を試しました (「高速展開」をオフにして再展開し、デバイスで使用可能なスペースを増やします) が、同じエラーが発生します。320x480 では常に機能しますが、より大きな画面のデバイスでは機能しません。

最後の注意 - 私は MonoDroid の無料版を使用しています。

4

1 に答える 1

1

誰かが同じエラーを受け取った場合に備えて、Xamarin サイトに解決策の詳細があります。つまり、デバッグ ランタイムをアンインストールしてからゲームを再インストールすると、エラーは解消されます。

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

(または、IDE からゲームをインストールするだけ)

于 2013-03-05T21:50:34.873 に答える