Migrating to 100.4.0 - Error Inflating Class - UnsatisfiedLinkError

1753
1
Jump to solution
02-22-2019 12:28 PM
GSauers
Occasional Contributor

Hello, I am in the process of upgrading my project from ArcGIS 10.2.8-1 to 100.4.0, but I am having an issue inflating the layout. My project uses fragments and at the following line, my application is crashing:

View view = inflater.inflate(R.layout.arcgis_test, null);

I created a test application for my "first map" and it works fine on the same device I am trying to run my full application on. As i mentioned above, my app is using fragments and the test "first map" is not.

My app is built on API 19, which I cannot upgrade at this time, but the requirements for ArcGIS 100 are minimum 19, so I should be good there. The test map was built on API 27.

Other than that, my app is the same as the "first map".

The error I am receiving is below:

android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class com.esri.arcgisruntime.mapping.view.MapView

E/art: No implementation found for void com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.nativeSetTempDirectory(java.lang.String) (tried Java_com_esri_arcgisruntime_internal_jni_CoreArcGISRuntimeEnvironment_nativeSetTempDirectory and Java_com_esri_arcgisruntime_internal_jni_CoreArcGISRuntimeEnvironment_nativeSetTempDirectory__Ljava_lang_String_2)

Caused by: java.lang.UnsatisfiedLinkError: No implementation found for void com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.nativeSetTempDirectory(java.lang.String) (tried Java_com_esri_arcgisruntime_internal_jni_CoreArcGISRuntimeEnvironment_nativeSetTempDirectory and Java_com_esri_arcgisruntime_internal_jni_CoreArcGISRuntimeEnvironment_nativeSetTempDirectory__Ljava_lang_String_2)

Thanks for any help.

0 Kudos
1 Solution

Accepted Solutions
GSauers
Occasional Contributor

I solved my issue by removing an x86 Library from my project. From what I can tell, this x86 jniLib was added as part of my previous project that used ArcGIS 10.2.7, so that ArcGIS could run with 64 bit libraries. The older version of ArcGIS only supported 32 bit.

The exact directory location that I removed with the library is:

app > src > main > jniLibs > x86 > libruntimecore_java.so

I removed the entire x86 directory with the .so file.

View solution in original post

0 Kudos
1 Reply
GSauers
Occasional Contributor

I solved my issue by removing an x86 Library from my project. From what I can tell, this x86 jniLib was added as part of my previous project that used ArcGIS 10.2.7, so that ArcGIS could run with 64 bit libraries. The older version of ArcGIS only supported 32 bit.

The exact directory location that I removed with the library is:

app > src > main > jniLibs > x86 > libruntimecore_java.so

I removed the entire x86 directory with the .so file.

0 Kudos