wrld3d / unity-api

Issue tracking for the WRLD Unity SDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exception: Unknown CPU architecture for library Assets/Wrld/Plugins/iOS/libeegeo-api when deploying ARCore Sample

dellams opened this issue · comments

Hi there,

I hope you can help me, we are getting the following error when trying to deploy the ARCore Sample for Android:

Exception: Unknown CPU architecture for library Assets/Wrld/Plugins/iOS/libeegeo-api.a
UnityEditor.Android.PostProcessor.Tasks.NativePlugins.ProcessPlugin (UnityEditor.Android.PostProcessor.PostProcessorContext context, System.String pluginPath, System.String pluginTargetCPU)
UnityEditor.Android.PostProcessor.Tasks.NativePlugins.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:287)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

This is very odd since this is for Android so why it is looking at the iOS plugin?

We have tried setting this to all 3 values of: ARMv7, ARM64 & x86 but all give the same error.

We are trying to deploy to a Galaxy S9 running Android 8.0. We have left the minimum API level on 24 and the target on 25.

Any ideas why this is happening? How do we fix it?

Many thanks,
David.

If I press play in the Editor it launches the InstantPreview App on my phone and then just shows a white screen, which is what I also get in the Editor on my PC.

Any ideas?

Many thanks,
David.

Hi David - we will try and investigate the ARCore deployment issue you're seeing.
Could you let us know which version of Unity (editor) and the WRLD SDK for Unity that you are using please?
Thanks - Jonty

Unity 2018.2.1.f1 (the latest)

The latest for everything, how do I check which version of your SDK I have installed?

How do I view which assets and packages have been imported into my project and which versions?

I managed to get it to deploy by removing the iOS plugin from the WRLD folder.

I am not sure why it is looking at the Android CPU Architecture setting in the iOS plugin? Android should have nothing to do with iOS right?

But the instant preview I still just get a white screen.

Any ideas?

Many thanks,
David.

Thank you for bringing it to our attention. We are working on fixing any issues with the latest Unity version. In the meanwhile, can you please try one of the supported version. As you can see from the documentation, we currently support Unity versions between 2017.3.0f2 and 2018.1.0f2 for the ARCore Sample project. I have just tested the ARCore Sample with Unity 2017.4.2f2 and it works alright.

For Wrld Sdk version, you can check it in assets at "Wrld/Version/". If you are on the latest asset store version then you should see a file named "v0.7.1019" there.

Yes I just checked and its "v0.7.1019".

I think I was getting the same issue with the Instant Preview on the previous Unity version too.

I am trying to add my own 3D object to the demo but it doesn't appear. I have copied the same settings from the 3D cubes, is there something I am missing?

Maybe I should send you the code?

Many thanks,
David.

Sure David, if you can send us a repro project with the problem that you are having then we can have a look and try to identify what's going wrong.

Best,
Ali

Repro'd this issue using Unity 2018.2.6f1 Same fix. Delete the Wrld/Plugins/iOS folder and builds apk with the following warning.

"A meta data file (.meta) exists but its asset 'Assets/Wrld/Plugins/iOS' can't be found. When moving or deleting files outside of Unity, please ensure that the corresponding .meta file is moved or deleted along with it."

Randomly stumbled upon this issue when checking similar one. Make sure that when you check libeegeo-api.a in your Unity IDE Inspector tab, that file has only iOS (or maybe tvOS as well if it should be used on that platform as well) selected in Include Platforms in Select platforms for plugin part. Maybe it will help you.

Simplest solution to resolve this:
If you trying to build for android.

Select all files in 'Assets/Wrld/Plugins/iOS' select iOS check box only from inspector window "Select platform for plugin" area.

Screenshot 2019-06-18 at 7 23 01 PM

Screenshot 2019-06-18 at 7 22 50 PM

Hope this will resolve the issue even in Unity 2018.2.1.f1 (the latest).