08-24 17:06:42.049 3783-3783/com.simi.intelligentmetro E/libEGL﹕ call to OpenGL ES API with no current context (logged once per thread)
08-24 17:06:43.619 3783-3783/com.simi.intelligentmetro E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.simi.intelligentmetro, PID: 3783
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.simi.intelligentmetro/com.simi.intelligentmetro.mainactivity.TabGoActivity}: android.view.InflateException: Binary XML file line #126: Error inflating class com.esri.android.map.MapView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2301)
at android.app.ActivityThread.startActivityNow(ActivityThread.java:2125)
at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:756)
at android.widget.TabHost.setCurrentTab(TabHost.java:420)
at android.widget.TabHost.setCurrentTabByTag(TabHost.java:294)
at com.simi.intelligentmetro.mainactivity.MainActivity$2.onCheckedChanged(MainActivity.java:110)
at android.widget.RadioGroup.setCheckedId(RadioGroup.java:174)
at android.widget.RadioGroup.access$600(RadioGroup.java:54)
at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:358)
at android.widget.CompoundButton.setChecked(CompoundButton.java:155)
at android.widget.CompoundButton.toggle(CompoundButton.java:112)
at android.widget.RadioButton.toggle(RadioButton.java:78)
at android.widget.CompoundButton.performClick(CompoundButton.java:124)
at android.view.View$PerformClick.run(View.java:19770)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5232)
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:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by: android.view.InflateException: Binary XML file line #126: Error inflating class com.esri.android.map.MapView
at android.view.LayoutInflater.createView(LayoutInflater.java:637)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:747)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:508)
at android.view.LayoutInflater.inflate(LayoutInflater.java:418)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
at android.app.Activity.setContentView(Activity.java:2174)
at com.simi.intelligentmetro.mainactivity.TabGoActivity.onCreate(TabGoActivity.java:133)
at android.app.Activity.performCreate(Activity.java:5985)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2254)
at android.app.ActivityThread.startActivityNow(ActivityThread.java:2125)
at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:756)
at android.widget.TabHost.setCurrentTab(TabHost.java:420)
at android.widget.TabHost.setCurrentTabByTag(TabHost.java:294)
at com.simi.intelligentmetro.mainactivity.MainActivity$2.onCheckedChanged(MainActivity.java:110)
at android.widget.RadioGroup.setCheckedId(RadioGroup.java:174)
at android.widget.RadioGroup.access$600(RadioGroup.java:54)
at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:358)
at android.widget.CompoundButton.setChecked(CompoundButton.java:155)
at android.widget.CompoundButton.toggle(CompoundButton.java:112)
at android.widget.RadioButton.toggle(RadioButton.java:78)
at android.widget.CompoundButton.performClick(CompoundButton.java:124)
at android.view.View$PerformClick.run(View.java:19770)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5232)
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:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:611)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:747)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:508)
at android.view.LayoutInflater.inflate(LayoutInflater.java:418)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
at android.app.Activity.setContentView(Activity.java:2174)
at com.simi.intelligentmetro.mainactivity.TabGoActivity.onCreate(TabGoActivity.java:133)
at android.app.Activity.performCreate(Activity.java:5985)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2254)
at android.app.ActivityThread.startActivityNow(ActivityThread.java:2125)
at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:756)
at android.widget.TabHost.setCurrentTab(TabHost.java:420)
at android.widget.TabHost.setCurrentTabByTag(TabHost.java:294)
at com.simi.intelligentmetro.mainactivity.MainActivity$2.onCheckedChanged(MainActivity.java:110)
at android.widget.RadioGroup.setCheckedId(RadioGroup.java:174)
at android.widget.RadioGroup.access$600(RadioGroup.java:54)
at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:358)
at android.widget.CompoundButton.setChecked(CompoundButton.java:155)
at android.widget.CompoundButton.toggle(CompoundButton.java:112)
at android.widget.RadioButton.toggle(RadioButton.java:78)
at android.widget.CompoundButton.performClick(CompoundButton.java:124)
at android.view.View$PerformClick.run(View.java:19770)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5232)
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:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.simi.intelligentmetro-1/base.apk"],nativeLibraryDirectories=[/data/app/com.simi.intelligentmetro-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libruntimecore_java.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:989)
at com.esri.core.internal.RuntimeHelper.a(SourceFile:85)
at com.esri.core.internal.RuntimeHelper.initialize(SourceFile:47)
at com.esri.android.map.MapSurface.<clinit>(SourceFile:68)
at com.esri.android.map.MapView.a(SourceFile:586)
at com.esri.android.map.MapView.<init>(SourceFile:621)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:611)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:747)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:810)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:508)
at android.view.LayoutInflater.inflate(LayoutInflater.java:418)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
at android.app.Activity.setContentView(Activity.java:2174)
at com.simi.intelligentmetro.mainactivity.TabGoActivity.onCreate(TabGoActivity.java:133)
at android.app.Activity.performCreate(Activity.java:5985)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2254)
at android.app.ActivityThread.startActivityNow(ActivityThread.java:2125)
at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:756)
at android.widget.TabHost.setCurrentTab(TabHost.java:420)
at android.widget.TabHost.setCurrentTabByTag(TabHost.java:294)
at com.simi.intelligentmetro.mainactivity.MainActivity$2.onCheckedChanged(MainActivity.java:110)
at android.widget.RadioGroup.setCheckedId(RadioGroup.java:174)
at android.widget.RadioGroup.access$600(RadioGroup.java:54)
at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:358)
at android.widget.CompoundButton.setChecked(CompoundButton.java:155)
at android.widget.CompoundButton.toggle(CompoundButton.java:112)
at android.widget.RadioButton.toggle(RadioButton.java:78)
at android.widget.CompoundButton.performClick(CompoundButton.java:124)
at android.view.View$PerformClick.run(View.java:19770)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5232)
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:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
You may need to make sure you've included the native .so files in your deployment. I sometimes see these errors in situations like this.
I guess I am a bit late to the party here but I just had the same issue on ArcGIS Runtime SDK for Android 100.0.0 and thought I’d share my solution.
In my case the problem was having 64 bit native library dependencies alongside the ArcGIS Runtime SDK native library which I believe only has 32 bit support. Mixing 32 bit only libs with 64 bit libraries causes issues like these since Android cannot load mixed native libs. Filtering out 64 bit ABI's should solve the issue.
In build.gradle, defaultConfig:
ndk {
// Filtering out arm64-v8a, x86_64 and mips64
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}