2

这个问题分为三个部分:

  1. 新的 Unity GoogleVR 包出现了,所以我决定更新它。删除旧包并导入新包后,我收到建议删除 4 个使用旧 api 的文件。

  2. 如果我删除它们,Android 应用程序会在手机上崩溃并出现错误 Didn't find class "com.google.unity.GoogleUnityActivity"。注意:它建议删除的文件之一是/Assets/Plugins/Android/unitygvractivity.aar我认为有一些重要意义的文件。

  3. 如果我不删除它,Unity 无法构建包:"unable to convert classes into dex format"

我的问题:如何包含 GoogleUnityActivity 类,以便 Unity 不会抱怨。为什么 Unity 会删除这个类?

我在用着:

  • Unity3D 5.4.1f1-GVR7
  • 最新的 GoogleVR 包(9 月 23 日)
  • JDK:jdk1.8.0_102
  • 开发工具包:24
4

3 回答 3

1

好吧,既然新的“Google VR SDK for Unity v1.0”的发布标志着Unity原生Daydream集成的首次亮相,那么您不再需要手动将“ unitygvractivity.aar”添加到Android lib来构建unity插件了。

  • 使用extends UnityPlayerActivityto 而不是您的原始脚本。
  • 然后回到 Unity,在“Virtual Reality SDKs”中选择添加“Cardboard”。
  • 检查您的 AndroidManifest.xml,查看“ android:name="CompanyName.ProductName.xxxActivity"”和“ user-permission”设置是否正确。

它应该可以解决您的问题。

于 2016-10-01T06:35:03.700 回答
1

我找到原因了!

在我更新了 GoogleVR 资产文件夹后,我忘记了还有一个名为 Plugins 的文件夹。该文件夹包含定义要使用的类的 manifest.xml 文件。完全重新导入资产后,问题自行解决!

于 2016-10-24T20:44:40.017 回答
0

我遇到了同样的问题:Android 应用程序在手机上启动后崩溃,出现错误Didn't find class "com.google.unity.GoogleUnityActivity"

我的解决方案是删除 Unity 中的“Assets/Plugins”文件夹,然后重新导入 Google VR 包。当重新导入选项屏幕出现时,请确保选中“插件”文件夹,以便可以重新导入已删除的“资产/插件”文件夹。

重新导入会在 Assets/Plugins/Android/ 中重新创建不正确的 AndroidManifest.xml 文件,并解决了我的问题。

于 2016-12-05T04:46:08.203 回答