GameActivity 具有以下依赖项
GameActivity 使用 CMake 在构建过程中生成桥接代码 (libgame.so
)。
注意:如果您提供自定义 Android SDK,请确保 SDK 包含 CMake 3.22.1。
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 插件 时,了解此限制很重要。
如果您使用 GameActivity,Unity 会尝试使用 NDK Choreographer 来同步帧时间。如果 设备 API 级别 低于 24,或者您的应用程序使用 32 位播放器并且设备 API 级别低于 29,Unity 将使用 Java Choreographer。