Easy AR 3.0 Unity Doesn't work on Android nor on Windows

+6 votes
asked Jul 9 by juvelez (390 points)
edited Jul 9 by juvelez
It doesn't work on Motorola G6/G6Plus/One with last Android, nor on ASUS 7" Tablet with 4.4 Kitkat, EasyAR 2.3 used to work fine on all of these devices, the only thing it needed was x64 Android Support, pretty sad... because we must move to an alternative, pretty sad, because 2.3 worked really fine, but it is unusable right now.

It is also not working on Windows, web cams are not recognized, they even doesn't turn on, and black screens is the only view.

PD: the message at the beginning with the EasyAR version is mandatory?, it breaks all the UX design

2 Answers

+4 votes
answered Jul 9 by danidiazr (280 points)
Same problem here!

SDK 2.3 was amazing, I needed too x64 android support too. Now the camera can't focus, troubles with webcam, UI is hiding, it takes a long time to recognize targets... and of course that message of EasyAR version.
commented Jul 10 by ag3OlbMfIwtXAlq (180 points)
you can find 'GUIPopup.AddShowMessage' in EasyARBehaviour.cs , and remove it. mabay the ui will not work
commented Jul 10 by zhnagjian (8,020 points)
Which UI is hidde and what is your phone model? Can you tell me what sample did you run?  ImageTracker is created using ImageTracker.create, ImageTracker.createWithMode(ImageTrackerMode.PreferQuality) or ImageTracker.createWithMode(ImageTrackerMode.PreferPerformance)?
commented Jul 10 by ag3OlbMfIwtXAlq (180 points)
edited Jul 10 by ag3OlbMfIwtXAlq
it all can work, If your phone performs well,use ImageTrackerMode.PreferQuality. if not use ImageTrackerMode.PreferPerformance
commented Jul 10 by danidiazr (280 points)
I've tried simple ImageTarget sample. I built it for Galaxy Note 8 and iPhone 6S. I had some UI for the camera in 3 different scenes, that UI was "extended", it's like the canvas expands about to 200%, border images are hidden and central images are visible. And now the camera can't focus, I've tried whole 4 options of focus and it still cannot focus... is there an exact way to make the camera focus?
commented Jul 10 by ag3OlbMfIwtXAlq (180 points)
it is a bug ,You should set focus affter you turn on camera, you can find the code in ARsession.cs on line 94
+1 vote
answered Jul 11 by juvelez (390 points)

UPDATE!

Webcams on Windows still doesn't work

I was able to create a project from ground, with 13 image targets, duplicating the sample scene for multi_target, I wasn't able to start from the ground yet, some comments:

  • For image tracking you must ensure that Easyar Camera Prefer is set to "Prefer Object Sensing", if you use other setting here and you are trying to track images, you are going to view a black screen
  • Each image marker is 512x512x72dpi
  • None of the Camera Focus Mode Options worked, editing ARsession.cs, moving the line easyarCamera.setFocusMode(CameraFocusMode); from line 96 after easyarCamera.start(); on line 106 worked, I think that the camera must be started before can be focused, on some old devices doesn't work this solution despite their cameras has autofocus functionality
  • The markers are not well detected if are projected on a screen, if are printed work much better
For now its work now on Moto G6 Plus latest Android, and on Asus HD7 Android 4.2.2
I'm going to test on Apple iPad Mini 2/4, iPad AIR, iPhone SE, iPhone 6s, when finish this testing I am going to feedback here
commented Jul 15 by zhangpengar (1,780 points)
We don't check any bundle name on Windows.
That error message means either the key is invalid, or there is something wrong with the unity activity, which is very unlikely.
Do you get any error log from logcat?
commented Jul 15 by sergiu (130 points)
edited Jul 15 by sergiu
Just checked.

1) Unable to find libEasyAR.
2) AndroidJavaException: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/app/org.buzauland.testarapp-[redacted]/lib/arm64/libEasyAR.so" not found
 java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/app/org.buzauland.testarapp-[redacted]/lib/arm64/libEasyAR.so" not found

Inside Unity, I can confirm the folders are correct and that all plugins have the correct settings applied.
commented Jul 15 by sergiu (130 points)
Looks like the gradle project created by Unity only includes the .jar, but not the .so.
Not sure how to fix this.
commented 22 hours ago by zhangpengar (1,780 points)
Please follow Android's official guide at https://developer.android.com/distribute/best-practices/develop/64-bit
In the "Unity developers" section, check your Unity version, change your scripting backend to IL2CPP, select ARM64 target architecture.
And select Assets\Plugins\Android\libs\arm64-v8a\libEasyAR.so, in the inspector, make sure that the platform is set to Android and CPU is set to ARM64.
commented 21 hours ago by sergiu (130 points)
Thanks for the reply.
I can confirm that everything is in order in regards to the project settings/setup.
If I didn't specify it earlier, I am using the official HelloAR_ImageTarget scene with Unity 2019.1.10f1. Nothing has been modified.
Welcome to EasyAR SDK Q&A, where you can ask questions and receive answers from other members of the community.
...