Unity-Technologies / arfoundation-samples

Example content for Unity projects based on AR Foundation
Other
3.03k stars 1.13k forks source link

"ARCore-InstallService: The device is not supported" but ARFoundation Session Initializes #569

Closed davidvjc closed 4 years ago

davidvjc commented 4 years ago

When running an ARFoundation ARCore app on my android device, the screen stays black and I get a system popup saying "This application requires the latest version of Google Play Services for AR". However, the google play store says "Your device isn't compatible with the version.".

As far as I can tell the device is compatible? I'm using ARSession.state to check for compatibility when the scene starts, resulting in a state of "SessionInitializing". However, right after that I get a log saying: "E/ARCore-InstallService: The device is not supported." in the Android Studio console. I assume when the ARSession state is initialized, ARCore is supported?

Android version 10 Unity 2019.4.4f1 ARFoundation 2.1.8 ARCore XR Plugin 2.1.11

tdmowrer commented 4 years ago

What device do you have?

davidvjc commented 4 years ago

Moto z4

tdmowrer commented 4 years ago

Hi - was just about to ask for more info and noticed you closed this issue. Did you resolve the issue?

tdmowrer commented 4 years ago

I'll comment anyway, as this may be useful for others who hit the same issue:

This behavior is expected if your device is not supported. When ARCore is "Required", the ARCore SDK assumes the device it is running on must be supported, because the Play Store would not have allowed an unsupported app to be installed in the first place. If you Build and Run from Unity, you bypass this step, so ARCore "thinks" it is supported and just out of date. When you then try to update "Play Services for AR" from the Play Store, you of course get the real answer.

Although the Moto Z4 is listed as a supported device, there may be specific variants that are not. Things you can try:

  1. I can find out if your specific device is really supported or not if you provide a bit more details. Run the following commands and paste the output here:
    • Provide the installed version of ARCore (if any): On Windows, use: adb shell pm dump com.google.ar.core | findstr /i "packages: versionName" On macOS, use: adb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
    • Provide your device fingerprint: adb shell getprop ro.build.fingerprint
  2. Try a different device, if you have one.
  3. See if you can reproduce the same issue with Google's standalone plugin for Unity
davidvjc commented 4 years ago

I ended up switching to another target device. Thanks for the detailed description though, that explains it.

tdmowrer commented 4 years ago

Well, it only explains it if your Z4 isn't supported, but it should be, according to Google. If you wanted to dig into it more, I'd need your device fingerprint and other info mentioned above.