ArcGIS for Android run with 64-bit processer

3532
2
08-27-2015 11:45 PM
caiyun
by
New Contributor

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)

Tags (1)
0 Kudos
2 Replies
EricBader
Occasional Contributor III

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.

0 Kudos
HenrikPierrou
New Contributor II

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"
}