gpt4 book ai didi

android - 如何在 Unity android 版本上修复 "activityStartTrigger: not whiteListed"?

转载 作者:行者123 更新时间:2023-12-03 16:03:45 32 4
gpt4 key购买 nike

我正在尝试使用 IL2CPP 背景和 Android App Bundle 格式使用 Unity 2019.2 构建 android 游戏。

每当我尝试启动游戏时,它都会在 Unity 启动画面之后立即崩溃。

它实际上在异步加载场景时崩溃,我有一个用于加载目的的第一个场景,所以当游戏开始时,第一个场景打开并在后台加载实际的游戏场景。
我不知道这是否与我的问题有关,但我正在使用 Google Play Services 0.9.64(这是目前最新的)。

我真的可以列出我尝试过的所有内容,因为我有这个问题很长一段时间了。

  • 现在我正在使用 Unity 2019.2.0f1,但我第一次遇到这个问题是 2019.1.10f1 并且我尝试了很多版本,那里似乎没有任何效果。
  • 我检查了 AndroidManifest 文件是否有任何问题,但我没有发现任何问题。
  • 我试图从 Player Settings > Other > Graphics APIs 中删除 OpenGLES3 选项(这对某些人来说似乎是个问题)。
  • [编辑] 我尝试在 Android list 文件中添加权限行以进行 Internet 访问(并在 Unity 的播放器设置中对这个选项做了同样的事情)。

  • 如果这可能有帮助,这就是我的 Android list 的样子:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- This file was automatically generated by the Google Play Games plugin for Unity
    Do not edit. -->
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.example.games.mainlibproj"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="14" />

    <application>
    <!-- The space in these forces it to be interpreted as a string vs. int -->
    <meta-data android:name="com.google.android.gms.games.APP_ID"
    android:value="\u003████████████" />

    <!-- Keep track of which plugin is being used -->
    <meta-data android:name="com.google.android.gms.games.unityVersion"
    android:value="\u0030.9.64" />

    <activity android:name="com.google.games.bridge.NativeBridgeActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
    </application>
    </manifest>

    (我更喜欢隐藏 APP_ID 值,以防可能导致安全问题)

    这是 LogCat 错误:
    E/ActivityTrigger(2337): activityStartTrigger: not whiteListed  com.████████████.████████████/com.unity3d.player.UnityPlayerActivity/41
    E/ActivityTrigger(2337): activityResumeTrigger: not whiteListed com.████████████.████████████/com.unity3d.player.UnityPlayerActivity/41
    E/ActivityTrigger(2337): activityResumeTrigger: not whiteListed com.████████████.████████████/com.unity3d.player.UnityPlayerActivity/41
    E/InputDispatcher(2337): channel '3ea1bfc com.████████████.████████████/com.unity3d.player.UnityPlayerActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

    我不知道这意味着什么,我对“activityStartTrigger:not whiteListed”这件事做了很多研究,但似乎在网上找不到任何东西。
    我也没有在我的代码中使用 UnityPlayerActivity 做任何事情。

    如果有人可以帮助我,那就太棒了,我被这个问题困住了,它阻止了我发布我的游戏。
    非常感谢您的关注。

    最佳答案

    好的,所以...

    经过大量的故障排除,我终于找到了这些崩溃的原因,以及如何解决它们。

    我附加到主要消息的日志实际上是不完整的。
    我从 Android Device Monitor 的 logcat 中获得了这些,带有过滤器“Unity”,但是还有更多与 Unity 相关的日志没有显示。

    activityStartTrigger 实际上在我的大多数构建中都存在,并且不对任何崩溃负责。
    有趣的是关于内存泄漏:

    Could not allocate memory: System out of memory!

    所以现在,为了知道事情发生在哪里,我回到了以前的 git 提交,寻找构建崩溃的地方。

    长话短说:
    我有几个仅在编辑器中使用的序列化变量(我编写了很多编辑器脚本),因为我在构建中不需要这些变量,所以我将它们包装在 #if UNITY_EDITOR #endif 中。指示。
    但是它们仍然是序列化的,所以我的对象的序列化模型与我构建中的实际对象不同。
    我想这让内存变得一团糟,最终让我的游戏崩溃了。

    所以最后,我必须序列化所有这些变量,即使我没有使用它们。这不是我的游戏会变慢或其他什么的数据,但它有点烦人,所以我可能会为这些未使用的变量找到一些解决方法。

    我希望这个反馈可以帮助任何人。

    关于android - 如何在 Unity android 版本上修复 "activityStartTrigger: not whiteListed"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57281334/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com