版本:Unity 6 (6000.0)
语言:英语
GameActivity 应用入口点
修改 GameActivity 桥接代码

GameActivity 要求和兼容性

GameActivity 具有以下依赖项

  • CMake 构建系统。
  • AndroidX

CMake

GameActivity 使用 CMake 在构建过程中生成桥接代码 (libgame.so)。

注意:如果您提供自定义 Android SDK,请确保 SDK 包含 CMake 3.22.1。

AndroidX

GameActivity 需要以下 AndroidX GradleAndroid 构建系统,自动执行多个构建过程。这种自动化意味着许多常见的构建错误不太可能发生。 更多信息
参见 词汇表
依赖项

  • androidx.appcompat:appcompat
  • androidx.games:games-activity
  • androidx.core:core
  • Androidx.constraintlayout

Gradle 会自动安装 AndroidX 和这些依赖项。

插件兼容性

如果您使用 GameActivity,您的应用程序播放器循环将在本地线程而不是 Java 线程上运行。这意味着从 插件在 Unity 之外创建的一组代码,在 Unity 中创建功能。在 Unity 中可以使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。 更多信息
参见 词汇表
调用 Java API(如 myLooper)将会失败。在 myLooper 的情况下,这是因为本地线程上不存在 Java 循环。这也意味着任何使用 myLooper 等 API 的 API 也会失败。例如,registerInputDeviceListener 如果处理程序为 null,则会失败。在创建 Android 插件 时,了解此限制很重要。

Choreographer

如果您使用 GameActivity,Unity 会尝试使用 NDK Choreographer 来同步帧时间。如果 设备 API 级别 低于 24,或者您的应用程序使用 32 位播放器并且设备 API 级别低于 29,Unity 将使用 Java Choreographer

其他资源

GameActivity 应用入口点
修改 GameActivity 桥接代码