Reputation: 31
I have a simple Android MonoGame project, built using MonoDevelop. It is a port of an XNA sample game and it runs fine on one device in the emulator, but on another device it gives me this error when deploy it:
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
The error occurs just after the splash screen appears on the device.
The code does not change, it works on one device but not the other. The main difference between the devices is the screen resolution. The 320x480 resolution device is fine, but a 480x800 resolution device gives the error. Both devices are defined in the AVD as targeting Android 4.2 API Level 17 and use Intel Atom x86 CPU/ABI. I gave the 480x800 device as much memory as the AVD would let me (768 MB - higher than that and it does not start).
I know someone else reported a similar error before, and I've tried the recommendations there (turning off "fast deployment" and redeploying, increasing space available on the device) but get the same error. It always works on the 320x480 but never the larger screen device.
Final note - I am using the free version of MonoDroid.
Upvotes: 2
Views: 1099
Reputation: 31
In case anyone gets the same error, there are more details with solution on the Xamarin site. In short, the error want away when I uninstalled the debug runtime and then reinstalled my game:
$ adb uninstall Mono.Android.DebugRuntime
$ MSBuild /t:Install YourProject.csproj
(Or just install game from the IDE)
Upvotes: 1