How to resolve app crash?

2432
3
03-07-2018 02:33 PM
mohamedyousuf
New Contributor II

Hi guys, I have following errors on my logcat, when I run the app

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.tan089.sos, PID: 5746
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)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.nativeSetTempDirectory(Native Method)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.b(SourceFile:103)
at com.esri.arcgisruntime.internal.m.o.c(SourceFile:352)
at com.esri.arcgisruntime.ArcGISRuntimeEnvironment.initialize(SourceFile:188)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.<clinit>(SourceFile:40)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.b(SourceFile:103)
at com.esri.arcgisruntime.internal.m.o.c(SourceFile:352)
at com.esri.arcgisruntime.ArcGISRuntimeEnvironment.initialize(SourceFile:188)
at com.esri.arcgisruntime.internal.jni.CoreDevice.<clinit>(SourceFile:35)
at com.esri.arcgisruntime.internal.jni.CoreDevice.b(SourceFile:81)
at com.esri.arcgisruntime.mapping.view.MapView.<init>(SourceFile:350)
at com.esri.arcgisruntime.mapping.view.MapView.<init>(SourceFile:380)
at com.example.tan089.sos.confirmEmergencyPage.onCreate(confirmEmergencyPage.java:37)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Application terminated.

If you guys knows how to resolve, please help me.. Thanks..

0 Kudos
3 Replies
EricBader
Occasional Contributor III

Usually, this means that you don't have the native libraries associated with your project. It sounds like it got packaged and deployed without the native libs included. Are you using Android Studio? 

0 Kudos
by Anonymous User
Not applicable

I am seeing this same errror in 100.6 of the Runtime SDK for Android.  In my situation I am only seeing it on Android 5.0 (Lollipop) devices.  All Android 6.0 and newer are working.  What gives?

10-22 08:40:59.663 5420-5420/gov.s1.s1mobile 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)
10-22 08:40:59.663 5420-5420/gov.s1.s1mobile D/AndroidRuntime: Shutting down VM
10-22 08:41:03.677 5420-5420/gov.s1.s1mobile E/CrashlyticsCore: Failed to execute task.
java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:176)
at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(CrashlyticsBackgroundWorker.java:41)
at com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:321)
at com.crashlytics.android.core.CrashlyticsController$6.onUncaughtException(CrashlyticsController.java:301)
at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:42)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
10-22 08:41:03.677 5420-5420/gov.s1.s1mobile E/AndroidRuntime: FATAL EXCEPTION: main
Process: gov.s1.s1mobile, PID: 5420
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)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.nativeSetTempDirectory(Native Method)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.d(SourceFile:154)
at com.esri.arcgisruntime.internal.p.o.c(SourceFile:378)
at com.esri.arcgisruntime.ArcGISRuntimeEnvironment.initialize(SourceFile:190)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.<clinit>(SourceFile:42)
at com.esri.arcgisruntime.internal.jni.CoreArcGISRuntimeEnvironment.d(SourceFile:154)
at com.esri.arcgisruntime.internal.p.o.c(SourceFile:378)
at com.esri.arcgisruntime.ArcGISRuntimeEnvironment.initialize(SourceFile:190)
at com.esri.arcgisruntime.internal.jni.CoreSymbol.<clinit>(SourceFile:55)
at com.esri.arcgisruntime.symbology.SimpleMarkerSymbol.a(SourceFile:124)
at com.esri.arcgisruntime.symbology.SimpleMarkerSymbol.<init>(SourceFile:113)
at gov.s1.s1mobile.map.S1ViewerActivity.<clinit>(S1ViewerActivity.java:242)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1690)
at android.app.Instrumentation.newActivity(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2980)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261)
at android.app.ActivityThread.access$1000(ActivityThread.java:219)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6939)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

0 Kudos
by Anonymous User
Not applicable

OK figured out what the problem was here..Was related to this thread...

https://community.esri.com/thread/229352-migrating-to-10040-error-inflating-class-unsatisfiedlinkerr... 

It appears that there are hanging Library references in the JNILib directory.  I ended up deleting all the directories under JNILib and cannot see any negative impact in building APK as the Lib directories are set correctly in output.  Deleting just x86 in JNILib was not enough in this situation to get the job done.

0 Kudos