Dear all,
I am testing the demo posted here: Build an augmented reality (AR) app | ArcGIS for Developers
Virtual device is based on Pixel 3a template with Android 10 and 4GB RAM.
The build seems fine, but every time and Welcome to AR Toolkit appears. But when click to Start AR button I get an error: Java.Lang.IllegalStateException, Message=Couldn't create Engine
AR CORE was installed to virtual device via ADB - adb install -r G oogle_Play_Services_for_AR_1.18.0_x86_for_emulator.apk
Does anybody has solved this error, or could advise a way where to look?
Thank you,
Vladimir
Solved! Go to Solution.
To be honest, we never even tried using the emulator (I think that is support that was recently added after we developed the AR control). So I can't say if there's a way to make it work, but googling this specific error, lots of people report this, unrelated to our AR toolkit. I can't imagine testing with the emulator would be a good experience though, as it's the movement of the device that gives you the best sense of how it's working.
You can just plug your device into your PC, and Visual Studio should detect it and you can choose to deploy to it right from clicking the Run button, and it'll take care of building, deploying and launching the package, so you can debug your code.
If you do get it working with the emulator, I'd love to hear about it, but again the error doesn't seem specific to our SDK, albeit it might be the version we rely on doesn't support x86 architecture.
When you say virtual device, do you mean an emulator? We have working on supporting this on real hardware.
Dear Morten Nielsen,
yes - I am using the Android emulator in Visual studio. Thank you for clarification. I miss that in the demo in the documentation.
So the only way how to test the Esri Runtime AR demo is, build APK in Visual Studio - copy it do real device and then test it here?
Thank you.
Vladimir
To be honest, we never even tried using the emulator (I think that is support that was recently added after we developed the AR control). So I can't say if there's a way to make it work, but googling this specific error, lots of people report this, unrelated to our AR toolkit. I can't imagine testing with the emulator would be a good experience though, as it's the movement of the device that gives you the best sense of how it's working.
You can just plug your device into your PC, and Visual Studio should detect it and you can choose to deploy to it right from clicking the Run button, and it'll take care of building, deploying and launching the package, so you can debug your code.
If you do get it working with the emulator, I'd love to hear about it, but again the error doesn't seem specific to our SDK, albeit it might be the version we rely on doesn't support x86 architecture.
Morten Nielsen, thank you so much for help and you are right. I will test it in physical device, where, as you wrote, I can move with the device and I hope it will work. I just want to test it at first with emulator.
Regarding the emulator if the ARCore is the required lib, the architecture is the problem since the emulator support only x86 based architecture (Run AR Apps in Android Emulator | ARCore | Google Developers )
Select an
x86
orx86_64
system image running API Level 27 or later and select Next.
While physical ARCore devices are supported on API Level 24 or later, Android Emulator support requires API Level 27 or later.
Only x86-based Android Emulator architectures are supported. Other architectures such as
arm64-v8a
,armeabi-v7
, are not currently supported.
But it seems that 64bit emulator could be supported too (at least I hope) due the message here: August 2020 64-bit requirement | ARCore | Google Developers. If I found out more, I will let you know.
And once again, thank you for Sunday help
Vladimir
> But it seems that 64bit emulator could be supported too
No that would be called x86_64. arm64-v8a is what your pixel device uses. Is also pretty clearly states 'Only x86-based Android Emulator architectures are supported'. The statement you're referring to are for deployments in the store, and refers to ARM devices, or x86_64 devices (which effectively means you would never be able to ship an ARCore based app on x86, and thus only arm64 would really be supported)
Dear Morten Nielsen, thank you for clarification!