2

我的情况:

我创建了一个使用 Vuforia 7.0.47 的 Android 应用程序和一个 AR Unity 应用程序。Android 应用程序有很多功能,其中一个功能是使用 Unity 和 Vuforia 制作的增强现实。

为了在 Android 项目中轻松包含和替换 Unity 项目,我将 Unity 应用程序导出到 Android Studio 项目并使其成为一个库。之后,我在我的 Android 项目中添加了 .aar 文件。

所有这一切似乎都在工作,因为我的 Android 项目能够检测到 UnityPlayerActivity 并能够启动 Intent。

我现在使用以下代码(普通 Intent)在我的 Android 应用程序中启动 Unity 应用程序:

Intent intent = new Intent(this, UnityPlayerActivity.class);
startActivity(intent);

我遇到的问题:

每当 UnityPlayerActivity 启动时,您都会看到 Unity 初始屏幕,然后是黑屏,而不是 AR 的摄像头打开。

但是,当我在手机上构建 Unity 项目时,一切正常,就像将其导出到 Android 工作室项目并从那里运行一样。

仅当将其作为库包含在我现有的 Android 项目中时,似乎才会出现此问题。

我使用/尝试过的教程和链接

为了从导出的项目创建一个库,我遵循以下教程:https ://medium.com/@davidbeloosesky/embedded-unity-within-android-app-7061f4f473a

日志猫

这是我在启动 Intent 时得到的 Logcat

在此处输入图像描述

4

2 回答 2

3

你需要VuforiaWrapper.aar

导出AndroidStudioProject/libs/VuforiaWrapper.aar

并将其添加到您添加 UnityGame.aar 文件的同一目录中的应用程序中,并将其作为依赖项添加到 gradle

 dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation(name: 'UnityGame', ext:'aar')
implementation(name: 'VuforiaWrapper', ext:'aar')}   

希望这对您有所帮助。祝你好运

于 2018-10-31T21:07:05.640 回答
0

如前所述,您必须添加 VuforiaWrapper.aar

但有时您必须将依赖项添加为

implementation project(':VuforiaWrapper')
implementation fileTree(dir: 'libs', include: ['*.jar'])
于 2018-11-14T09:05:37.813 回答