将Vuforia场景导入原生Android应用程序

问题描述 投票:3回答:2

我正在研究使用unity + vufoira制作的AR应用程序,我想将它嵌入到原生的Android应用程序中。我用这个程序来嵌入我的应用程序Embedding Unity In Android App。但我一直有以下错误。

03-04 07:22:24.160 12649-13939 / yenettaapp.beblocky E / Unity:AndroidJavaException:java.lang.ClassNotFoundException:com.vuforia.VuforiaUnityPlayer.VuforiaInitializer java.lang.ClassNotFoundException:com.vuforia.VuforiaUnityPlayer.VuforiaInitializer at java。 java.lang.Class.forName(Class.java:400)中的lang.Class.classForName(Native Method),位于com.unity3d.player.UnityPlayer.nativeRender的java.lang.Class.forName(Class.java:326)本地方法)在com.unity3d.player.UnityPlayer.c(未知来源)com.unity3d.player.UnityPlayer $ c $ 1.handleMessage(未知来源)在android.os.Handler.dispatchMessage(Handler.java:98)at android.os.Looper.loop(Looper.java:154)at com.unity3d.player.UnityPlayer $ c.run(Unknown Source)引起:java.lang.ClassNotFoundException:未找到类“com.vuforia.VuforiaUnityPlayer” .VuforiaInitializer“在路径上:DexPathList [[zip文件”/data/app/yenettaapp.beblocky-1/base.apk“,zip文件”/data/app/yenettaapp.beblocky-1/split_lib_dependencies_apk.apk“,zip文件” /数据/ app / yenettaapp.beblocky-1 / split_lib_slice_0_apk.apk“,zip file”/ data / app / 03-04 07:22:24.205 12649-13939 / yenettaapp.beblocky E / Unity:回调中的异常:System.Reflection.TargetInvocationException:调用的目标抛出了异常。 ---> UnityEngine.AndroidJavaException:java.lang.ClassNotFoundException:com.vuforia.VuforiaUnityPlayer.VuforiaInitializer java.lang.ClassNotFoundException:com.vuforia.VuforiaUnityPlayer.VuforiaInitializer at java.lang.Class.classForName(Native Method)at java.lang java.lang.Class.forName(Class.java:326)中的.Class.forName(Class.java:400)at com.unity3d.player.UnityPlayer.nativeRender(Native Method)at com.unity3d.player.UnityPlayer.c (未知来源)com.unity3d.player.UnityPlayer $ c $ 1.handleMessage(未知来源)android.os.Handler.dispatchMessage(Handler.java:98)在android.os.Looper.loop(Looper.java:154) )在com.unity3d.player.UnityPlayer $ c.run(未知来源)引起:java.lang.ClassNotFoundException:在路径上没有找到类“com.vuforia.VuforiaUnityPlayer.VuforiaInitializer”:DexPathList [[zip file“/ data / app / yenettaapp.beblocky-1 / base.apk“,zip file”/ data / app / ye 03-04 07:22:24.229 12649-14048 / yenettaapp.beblocky E / mono:Unhandled Exception:System.NullReferenceException:对象引用未设置为UnityEngine.AndroidJavaObject.Dispose(布局处理)[0x00000]中的对象实例:UnityEngine.AndroidJavaObject.Finalize()[0x00000]中的0:0 03-04 07:22:24.229 12649- 14048 / yenettaapp.beblocky E / mono:未处理的异常:System.NullReferenceException:对象引用未设置为UnityEngine.AndroidJavaObject.Dispose(布局处理)[0x00000]中的对象实例:0:UnityEngine.AndroidJavaObject.Finalize() [0x00000] in:0

我怎样才能解决这个错误?

java c# android unity3d vuforia
2个回答
4
投票

我有同样的问题。这就是我修复它的方法:

  • 在项目build.gradle中,我在allprojects存储库中添加了这个:
   flatDir {
            dirs 'libs'
        }
  • 在我的模块build.gradle中,我添加了依赖项:
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation(name: 'VuforiaWrapper', ext:'aar'

希望这可以帮到你


0
投票

我也试过从Medium中嵌入Unity In Android App教程,但它没有用。

试试这个Unity3d tutorial -Export Unity Project to Android Studio

  1. 首先在Unity Build Settings中,确保选择Gradle for Build System,Export Project,Development Build和Script Debugging。

Build Settings Unity3D

  1. 此外,请确保在Android Studio中更改Gradle依赖项版本。

Gradle Android Studio

这是来自Quora的a similar question

© www.soinside.com 2019 - 2024. All rights reserved.