我的情况:
我创建了一个Android应用程序和一个使用Vuforia 7.0.47的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
Logcat
这是我在启动Intent时得到的Logcat
答案 0 :(得分:2)
您需要从
提取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')}
希望这对您有所帮助。 祝你好运
答案 1 :(得分:0)
如上所述,您必须添加VuforiaWrapper.aar
但是有时您必须将依赖项添加为
implementation project(':VuforiaWrapper')
implementation fileTree(dir: 'libs', include: ['*.jar'])