NativeLibraryUtils: java.lang.UnsatisfiedLinkError: dlopen failed: 32-bit instead of 64-bit

Viewed 751

I got this error when I deploy my Android APK onto a device. The same error is reported by the Google Play Pre-launch report:

11-03 16:50:34.845: W/NativeLibraryUtils(14918): Unable to load native code from existing library /data/app/com.google.android.gms-1/lib/arm/libgmscore.so

11-03 16:50:34.845: W/NativeLibraryUtils(14918): java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.gms-1/lib/arm/libgmscore.so" is 32-bit instead of 64-bit

11-03 16:50:34.845: W/NativeLibraryUtils(14918): at java.lang.Runtime.load0(Runtime.java:908)

11-03 16:50:34.845: W/NativeLibraryUtils(14918): at java.lang.System.load(System.java:1505)

11-03 16:50:34.845: W/NativeLibraryUtils(14918): at mpy.b(:com.google.android.gms@11509430:9)

11-03 16:50:34.845: W/NativeLibraryUtils(14918): at com.google.android.gms.common.security.ProviderInstallerImpl.a(:com.google.android.gms@11509430:1)

...

There are some others with the same problem, but they are often related to Swift Android development. For instance, a similar (the same?) issue has been reported here: “dlopen failed: is 32-bit instead of 64-bit” in tests only. I am on Xamarin. The error makes no sense to me nor does anything related to what I am reading.

I tried all sorts of solutions such as, but not limited to:

  • different linker options (None, SDK only etc.)
  • recompile of all custom assemblies
  • clean builds, forced NuGet package download etc.
  • different supported ABI settings

If I run the code in debug mode on my emulator, everything is fine. The version built in release mode via VSTS and deployed onto Google Play doesn't work.

Any tip, hint and wild guess will be appreciated.

0 Answers
Related