【问题标题】:Android: Didn't find class "com.google.unity.GoogleUnityActivity"Android:找不到类“com.google.unity.GoogleUnityActivity”
【发布时间】:2016-09-23 07:58:20
【问题描述】:

这个问题分为三个部分:

  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
  • SDK:24

【问题讨论】:

    标签: android unity3d daydream


    【解决方案1】:

    好吧,既然新的“Google VR SDK for Unity v1.0”版本标志着Unity原生Daydream集成的首次亮相,那么你就不需要手动添加“@987654321 @" 到 Android lib 用于构建统一插件。

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

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

    【讨论】:

      【解决方案2】:

      我找到了原因!

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 类似的问题,想知道如何实现这个解决方案。我可以很容易地删除文件夹,但是如何重新导入包?我正在使用带有 Cardboard 支持的 Unity beta 版本。
        猜你喜欢
        • 1970-01-01
        • 2013-05-14
        • 2015-04-13
        • 2014-04-21
        • 2014-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多