【问题标题】:Importing Vufoira Scene into native android app将 Vufoira 场景导入原生 android 应用程序
【发布时间】:2018-03-05 09:18:23
【问题描述】:

我正在开发使用 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 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在 com.unity3d.player.UnityPlayer.nativeRender(本机方法) 在 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 文件“/data/app/yenettaapp.beblocky-1/base.apk”,zip 文件“/data/app/yenettaapp.beblocky-1/split_lib_dependencies_apk.apk”,压缩文件“/data/app/yenettaapp.beblocky-1/split_lib_slice_0_apk.apk”,压缩文件“/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 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在 com.unity3d.player.UnityPlayer.nativeRender(本机方法) 在 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 文件“/data/app/yenettaapp.beblocky-1/base.apk”,zip 文件"/数据/app/ye 03-04 07:22:24.229 12649-14048/yenettaapp.beblocky E/mono:未处理的异常:System.NullReferenceException:对象引用未设置为对象的实例 在 UnityEngine.AndroidJavaObject.Dispose (Boolean disposing) [0x00000] in :0 在 UnityEngine.AndroidJavaObject.Finalize () [0x00000] 中:0 03-04 07:22:24.229 12649-14048/yenettaapp.beblocky E/mono:未处理的异常:System.NullReferenceException:对象引用未设置为对象的实例 在 UnityEngine.AndroidJavaObject.Dispose (Boolean disposing) [0x00000] in :0 在 UnityEngine.AndroidJavaObject.Finalize () [0x00000] in :0

我怎样才能绕过这个错误?

【问题讨论】:

  • 我认为与此相同的问题developer.vuforia.com/forum/android/…
  • 它还没有解决。 . .
  • 您在程序的哪个步骤收到了该错误?从 Unity 导出时还是导入 Android Studio 后?
  • 统一导入后。应用程序将在即将运行嵌入 Unity Scene + Vuforia 的活动时崩溃。@SawThinkarNayHtoo
  • 我不明白。在 Unity 或 Android Studio 中导入后?

标签: java c# android unity3d vuforia


【解决方案1】:

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

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

希望对你有帮助

【讨论】:

  • 与' implementation fileTree(dir: 'libs', include: ['.jar']) '和' compile fileTree(dir: 'libs', include: [ '.jar']) '
  • “编译”已替换为“实现”。 'compile' 将在 2018 年底被删除
【解决方案2】:

我也尝试过 Medium 的 Embedding Unity In Android App 教程,但没有成功。

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

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

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

这是来自 Quora 的a similar question

【讨论】:

  • 它与您建议的问题完全不同。我认为这与 gradle 文件无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 2011-04-01
  • 2022-01-03
  • 2013-06-25
  • 2016-02-10
  • 2011-01-09
相关资源
最近更新 更多