“如何修复”;activityStartTrigger:未列入“白名单”;关于统一android构建?

“如何修复”;activityStartTrigger:未列入“白名单”;关于统一android构建?,android,unity3d,crash,startup,Android,Unity3d,Crash,Startup,我正在尝试用Unity 2019.2构建一个android游戏,使用IL2CPP后台和android应用程序包格式 每当我尝试启动游戏时,它都会在Unity启动屏幕后崩溃 它实际上在异步加载场景时崩溃,我有第一个场景用于加载,所以当游戏开始时,第一个场景打开并在后台加载实际的游戏场景。 我不知道这是否与我的问题有关,但我使用的是Google Play Services 0.9.64(目前最新版本) 我真的可以列出我试过的所有东西,因为我有这个问题已经有很长一段时间了 现在我使用的是Unity

我正在尝试用Unity 2019.2构建一个android游戏,使用IL2CPP后台和android应用程序包格式

每当我尝试启动游戏时,它都会在Unity启动屏幕后崩溃

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

我真的可以列出我试过的所有东西,因为我有这个问题已经有很长一段时间了

  • 现在我使用的是Unity 2019.2.0f1,但我第一次遇到这个问题是2019.1.10f1,我尝试了许多版本,但似乎没有任何效果

  • 我检查了AndroidManifest文件是否有任何问题,但没有发现任何问题

  • 我试图从
    Player Settings>Other>图形api中删除OpenGLES3选项(对某些人来说这似乎是个问题)

  • [编辑]我尝试在Android清单文件中添加访问互联网的权限行(并在Unity的播放器设置中对该选项做了相同的操作)

如果这有帮助的话,下面是我的Android清单:


(我宁愿隐藏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:非白名单”的研究,但似乎在网上找不到任何东西。 此外,我的代码中没有使用UnityPlayerPractivity执行任何操作

如果有人能帮助我,那将是令人惊讶的,我被困在这个问题上,它阻止我发布我的游戏。 非常感谢您的关注。

好的,那么

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

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

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

Could not allocate memory: System out of memory!
所以现在,为了知道这些事情发生在哪里,我回到了以前的git提交,以找到构建崩溃的地方

长话短说: 我只在编辑器中使用了几个序列化变量(我编写了很多编辑器脚本),由于我的构建中不需要这些变量,所以我将它们包装在
\if UNITY\u Editor\endif
指令中。 但它们仍然是序列化的,因此我的对象的序列化模型与构建中的实际对象不同。 我猜这让我的记忆变得一团糟,最终我的游戏崩溃了

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

我希望这些反馈能帮助任何人。

好的,所以

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

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

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

Could not allocate memory: System out of memory!
所以现在,为了知道这些事情发生在哪里,我回到了以前的git提交,以找到构建崩溃的地方

长话短说: 我只在编辑器中使用了几个序列化变量(我编写了很多编辑器脚本),由于我的构建中不需要这些变量,所以我将它们包装在
\if UNITY\u Editor\endif
指令中。 但它们仍然是序列化的,因此我的对象的序列化模型与构建中的实际对象不同。 我猜这让我的记忆变得一团糟,最终我的游戏崩溃了

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


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

活动开始触发:未列入白名单
不是错误。它只表示您的活动没有获得某些系统(或供应商)应用程序保留的一些非常特殊的特权。
activityStartTrigger:not whiteListed
不是错误。它只表示您的活动没有获得某些系统(或供应商)应用程序保留的一些非常特殊的特权。