Skip to content
This repository was archived by the owner on Jan 26, 2023. It is now read-only.

Testing samples on real device (API21-Lollipop) fails #48

Closed
salihyalcin opened this issue Jun 3, 2015 · 18 comments
Closed

Testing samples on real device (API21-Lollipop) fails #48

salihyalcin opened this issue Jun 3, 2015 · 18 comments

Comments

@salihyalcin
Copy link
Contributor

Samples was working on Kitkat version of our test device, when migrate to lollipop on test device any sample wouldn't work properly. Even helloworld app didn't work.


06-03 09:47:27.526 20559-20559/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.arcgis.android.samples.maps.helloworld, PID: 20559
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arcgis.android.samples.maps.helloworld/com.arcgis.android.samples.maps.helloworld.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class com.esri.android.map.MapView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
at android.app.ActivityThread.access$800(ActivityThread.java:147)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5253)
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:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class com.esri.android.map.MapView
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
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:2186)
at com.arcgis.android.samples.maps.helloworld.MainActivity.onCreate(MainActivity.java:31)
at android.app.Activity.performCreate(Activity.java:5975)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
            at android.app.ActivityThread.access$800(ActivityThread.java:147)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5253)
            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:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
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:607)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            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:2186)
            at com.arcgis.android.samples.maps.helloworld.MainActivity.onCreate(MainActivity.java:31)
            at android.app.Activity.performCreate(Activity.java:5975)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
            at android.app.ActivityThread.access$800(ActivityThread.java:147)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5253)
            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:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.arcgis.android.samples.maps.helloworld-2/lib/x86/libruntimecore_java.so" has unexpected e_machine: 40
at java.lang.Runtime.loadLibrary(Runtime.java:371)
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.(SourceFile:68)
at com.esri.android.map.MapView.a(SourceFile:586)
at com.esri.android.map.MapView.(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:607)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            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:2186)
            at com.arcgis.android.samples.maps.helloworld.MainActivity.onCreate(MainActivity.java:31)
            at android.app.Activity.performCreate(Activity.java:5975)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
            at android.app.ActivityThread.access$800(ActivityThread.java:147)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5253)
            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:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)


@doneill
Copy link
Contributor

doneill commented Jun 3, 2015

@salihyalcin From your log it does not look like you have dependency libs installed correctly. Can you offer more information about how you are running the samples? Are you using 10.2.6? Are you using Gradle to install the SDK? Please provide as much information as you can so we can better help you and resolve your issues.

@salihyalcin
Copy link
Contributor Author

@doneill I am using 10.2.6 version samples that provided by you on Android Studio. I have two device one Kitkat 4.4.2, one Lollipop 5.0 when i try samples on kitkat device, works. But when i try on Lollipop device, samples fail. My lollipop device last week took lollipop update.

Here my gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
applicationId "com.companyname
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

packagingOptions {
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.esri.arcgis.android:arcgis-android:10.2.6'

}

PS: In order to understand issue, i created simple blank project. I've added Esri library. Only add simple mapview to layout. When run this project on lolipop device sample didnt work, at the kitkat device project works like a charm.

@doneill
Copy link
Contributor

doneill commented Jun 3, 2015

@salihyalcin I am unable to reproduce directly from the sample repo. I noticed your fork has not been synced back to current master release for 10.2.6. Please sync your fork to work with the Samples on Android 5.x devices.

@salihyalcin
Copy link
Contributor Author

@doneill May be right but when I create simple hello world app by myself. I am adding esri android 10.2.6 dependencies. Only create mapview and debug on my devices. At kitkat device it works, at the lolipop devices it throws error that i described above.

@doneill
Copy link
Contributor

doneill commented Jun 3, 2015

@salihyalcin Ok after deeper inspection of your log I notice your device is an x86 device. Is that correct? If so, we do not support x86 devices due to an issue with Google and AAR dependency on x86 devices. Please download the SDK and use the local libs to manually set up your project if you want to continue working with x86 devices and 10.2.6. Please see our Release Notes Known Limitations section for details.

@salihyalcin
Copy link
Contributor Author

@thanks for time consuming for me, I make you busy but my test device was kitkat when my device kitkat all samples and my esri android sdk başer apps works well, when i update my device to lollipop neither esri samples nor my esri android sdk based apps arent working.

@salihyalcin
Copy link
Contributor Author

I made mistake instead of write your name I write thanks.

@doneill
Copy link
Contributor

doneill commented Jun 3, 2015

@salihyalcin The log in your original description references x86 device:

Caused by: java.lang.UnsatisfiedLinkError: dlopen failed:
"/data/app/com.arcgis.android.samples.maps.helloworld-
2/lib/x86/libruntimecore_java.so" has unexpected e_machine: 40

Can you confirm whether your lollipop physical device, not emulator, is x86 or not?

@salihyalcin
Copy link
Contributor Author

My device is physical real device Asus Zenfone 5 after updating my phone to lollipop version, none of esri android sdk based app did not work. Thank you for interest and patient for my boring issues :)

@doneill
Copy link
Contributor

doneill commented Jun 3, 2015

@salihyalcin This is an important issue as it seems your specific device is not working with our x86 native libs from our AAR library module. Can you confirm whether you can use the local libs from our SDK download on your device? I will do some internal testing to see if we can track down the issue with Android 5.0 as it may be a known limitation of the SDK not the samples.

@salihyalcin
Copy link
Contributor Author

@doneill Tanks again. Let me celarly explain the issue again. First of all I have two test device one tablet and phone. Everything well with tablet because of its version is 4.4.2 (API-19)

Secondly my phone Asus Zenfone 5 was kitkat 4.4.2 (API-19) too. But last week my phone took lollipop update and my phone version become 5.0 (API-21)

When my telephone kitkat version, all esri android sdk based samples and my esri android sdk based app were working great. When i update my phone to lolipop version all samples and my apps which esri android sdk based arent working now.

Think about helloworld sample of esri android sdk when i use kitkat version tablet it works, but when i use lollipop version phone apps fail. Important point here before updating my phone to android 5.0 all esri android sdk based apps were working. I am not able to run any esri android sdk based app on my android 5.0 version phone

Hope I clearly explain this issue.

@salihyalcin
Copy link
Contributor Author

Missed some punctuation at my comment above sorry.

@salihyalcin
Copy link
Contributor Author

I am not able to download SDK now because here time is 1 am, as soon as I try your mentioned method for solving the issue, I will be write here for last situation

@doneill
Copy link
Contributor

doneill commented Jun 4, 2015

@salihyalcin For now the workaround is to use the local download. We understand the issue and are working on a fix.

@salihyalcin
Copy link
Contributor Author

Thank you for feedback. Please Let me know when this issue was solved. It is important for us because we developing esri android sdk based app. Have a nice day.

@salihyalcin
Copy link
Contributor Author

@doneill your solution that provided on GeoNet has worked, I've send message via GeoNet but I think you didn't see so i'm writing here because I don't know your mail.

Thanks for fast solution.

@doneill doneill self-assigned this Jun 9, 2015
@doneill
Copy link
Contributor

doneill commented Jun 9, 2015

Good to hear @salihyalcin, thanks for testing and providing feedback!

@doneill
Copy link
Contributor

doneill commented Jun 11, 2015

Verifed closed

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants