Android 游戏

android 游戏库镜像了 Android 游戏 SDK,该 SDK 可作为二进制下载提供。您可以使用 androidx 库,而不是手动将 Android 游戏 SDK 下载并集成到您的构建中。

有关 Android 游戏 SDK 的更多信息,请参阅 SDK 文档SDK 版本说明

此表列出了 androidx.games 组中的所有工件。

工件 稳定版版本 候选版版本 Beta 版版本 Alpha 版版本
games-activity 3.0.5 - - -
games-controller 2.0.2 - - -
games-frame-pacing 2.1.2 - - -
games-memory-advice 2.0.1 - 2.1.0-beta01 -
games-text-input 3.0.4 - - -
games-performance-tuner 2.0.0 - - -
此库上次更新时间:2024 年 8 月 7 日

要求

games-memory-advice

MemoryAdvice API 要求您的应用程序使用以下 NDK 版本之一构建

  • r20.*
  • r21.*
  • r23.*

声明依赖项

要添加对游戏的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读 Google 的 Maven 存储库 了解详细信息。

在您的应用程序或模块的 build.gradle 文件中添加您需要的工件的依赖项;games-activity 库已集成与 game-text-input 库相同的版本,因此 GameActivity 应用程序不能再次包含 game-text-input 依赖项

Groovy

android {
    ...
    // To use the Android Frame Pacing or Android Performance Tuner libraries, enable
    // native dependencies to be imported. Libraries will be made available to your CMake build
    // as packages named "games-frame-pacing" and "games-performance-tuner".
    buildFeatures {
        prefab true
    }
}

dependencies {
    // To use the Android Frame Pacing library
    implementation "androidx.games:games-frame-pacing:2.1.2"

    // To use the Android Performance Tuner
    implementation "androidx.games:games-performance-tuner:2.0.0"

    // To use the Games Activity library
    implementation "androidx.games:games-activity:3.0.5"

    // To use the Games Controller Library
    implementation "androidx.games:games-controller:2.0.2"

    // To use the Games Text Input Library
    // Do not include this if games-activity has been included
    implementation "androidx.games:games-text-input:3.0.4"
}

Kotlin

android {
    ...
    // To use the Android Frame Pacing or Android Performance Tuner libraries, enable
    // native dependencies to be imported. Libraries will be made available to your CMake build
    // as packages named "games-frame-pacing" and "games-performance-tuner".
    buildFeatures {
        prefab = true
    }
}

dependencies {
    // To use the Android Frame Pacing library
    implementation("androidx.games:games-frame-pacing:2.1.2")

    // To use the Android Performance Tuner
    implementation("androidx.games:games-performance-tuner:2.0.0")

    // To use the Games Activity library
    implementation("androidx.games:games-activity:3.0.5")

    // To use the Games Controller Library
    implementation("androidx.games:games-controller:2.0.2")

    // To use the Games Text Input Library
    // Do not include this if games-activity has been included
    implementation("androidx.games:games-text-input:3.0.4")
}
}

有关依赖项的更多信息,请参阅 添加构建依赖项

添加 Gradle 属性

您可能需要在与应用程序(或模块)的 build.gradle 文件相同的目录中添加属性到 gradle.properties 文件。如果 gradle.properties 文件不存在,则创建此文件。

如果您使用的是 Android Studio 4.0,请确保 gradle.properties 包含以下行

# Enables experimental Prefab
android.enablePrefab=true
# Tell Android Studio we are using AndroidX
android.useAndroidX=true

如果您使用的是 Android Studio 4.1 或更高版本,请确保 gradle.properties 包含以下行

# Tell Android Studio we are using AndroidX
android.useAndroidX=true

使用 CMake 添加包

要使导入的游戏 SDK 包可用,请将以下内容添加到您的主应用程序的 CMakeLists.txt 文件中

# Add the packages from the Android Game SDK
find_package(games-frame-pacing REQUIRED CONFIG)
find_package(games-performance-tuner REQUIRED CONFIG)

这将允许您在游戏代码中包含来自 Android 游戏 SDK 的头文件

#include "swappy/swappyGL.h"
#include "tuningfork/tuningfork.h"

在主应用程序的 CMakeLists.txt 文件中,找到用于主共享库的 target_link_libraries。添加对 Android 游戏 SDK 静态库的引用,以将它们包含在您的共享库中

target_link_libraries(...
  games-frame-pacing::swappy_static
  games-performance-tuner::tuningfork_static
  ...)

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为现有问题投票。

创建新问题

有关详细信息,请参阅问题跟踪器文档

Games-Memory-Advice 版本 2.1

版本 2.1.0-beta01

2023 年 11 月 29 日

androidx.games:games-memory-advice:2.1.0-beta01 已发布。版本 2.1.0-beta01 包含这些提交。

版本 2.1.0-alpha01

2023 年 11 月 15 日

androidx.games:games-memory-advice:2.1.0-alpha01 已发布。版本 2.1.0-alpha01 包含这些提交。

新功能

  • 更新了库的内存模型,以实现更好的预测。

API 更改

  • 添加了新的 API getAvailableMemory(),它返回可以安全分配的内存量的估计值(以字节为单位)。

版本 2.1.0-alpha01

2023 年 7 月 26 日

androidx.games:games-memory-advice:2.1.0-alpha01 已发布。版本 2.1.0-alpha01 包含这些提交。

API 更改

  • 添加 GetAvailableMemory 函数

错误修复

  • 更新内存建议模型
  • 修复共享的 memory_advice 构建目标

Games-Memory-Advice 版本 2.0

版本 2.0.1

2023 年 9 月 20 日

androidx.games:games-memory-advice:2.0.1 已发布。版本 2.0.1 包含这些提交。

错误修复

  • 修复了在状态观察器线程中发生的崩溃,原因是线程未附加到 JVM。

版本 2.0.0

2023 年 9 月 6 日

androidx.games:games-memory-advice:2.0.0 已发布。版本 2.0.0 包含这些提交。

2.0.0 的主要功能

  • 在此版本中,已经训练并发布了一个新的 ML 模型。
  • 实施了一个 API 来预测可用内存量。

版本 2.0.0-rc01

2023 年 7 月 26 日

androidx.games:games-memory-advice:2.0.0-rc01 已发布。版本 2.0.0-rc01 包含这些提交。

新功能

  • 包含了一个新模型以更好地预测剩余内存。

错误修复

  • 修复了内存建议无法与共享 STL 一起使用的错误。

版本 2.0.0-beta04

2023 年 5 月 24 日

androidx.games:games-memory-advice:2.0.0-beta04 已发布。版本 2.0.0-beta04 包含这些提交。

新功能

  • 更新了为库提供支持的机器学习模型,这将为更新的手机带来更好的结果

版本 2.0.0-beta03

2023 年 4 月 5 日

androidx.games:games-memory-advice:2.0.0-beta03 已发布。版本 2.0.0-beta03 包含这些提交。

错误修复

  • 修复了库无法正确加载所需的 tensorflow lite 资源的错误

版本 2.0.0-beta02

2023 年 3 月 22 日

androidx.games:games-memory-advice:2.0.0-beta02 已发布。版本 2.0.0-beta02 包含这些提交。

错误修复

  • 修复了阻止库的静态版本正确链接的错误

版本 2.0.0-beta01

2023 年 2 月 22 日

androidx.games:games-memory-advice:2.0.0-beta01 已发布。版本 2.0.0-beta01 包含这些提交。

新功能

  • 没有新的更改

版本 2.0.0-alpha01

2023 年 2 月 8 日

androidx.games:games-memory-advice:2.0.0-alpha01 已发布。版本 2.0.0-alpha01 包含这些提交。

API 更改

  • 由于构建文件重构,主要版本增加。

错误修复

  • 库资源配置不正确现在会给出错误而不是崩溃。

Games-Memory-Advice 版本 1.0.0

版本 1.0.0-beta03

2022 年 11 月 9 日

androidx.games:games-memory-advice:1.0.0-beta03 已发布。版本 1.0.0-beta03 包含这些提交。

新功能

  • 没有新的更改

版本 1.0.0-beta01

2022 年 3 月 9 日

androidx.games:games-memory-advice:1.0.0-beta01 已发布。版本 1.0.0-beta01 包含这些提交。

  • 自 1.0.0-alpha01 以来没有更改。

版本 1.0.0-alpha01

2022 年 2 月 23 日

androidx.games:games-memory-advice:1.0.0-alpha01 已发布。版本 1.0.0-alpha01 包含这些提交。

新功能

  • 此 C 库提供了查询和接收运行游戏的设备的内存状态更改回调的功能。

API 更改

  • 这是内存建议库的初始版本。有关完整 API,请参阅 include/memory_advice/memory_advice.h 中的头文件。

外部贡献

Games-Text-Input 版本 3.0

版本 3.0.4

2024 年 8 月 7 日

androidx.games:games-text-input:3.0.4 已发布。版本 3.0.4 包含 这些提交

错误修复

  • 修复了带有和不带有文本选择的删除功能。

Games-Activity 版本 3.0

版本 3.0.5

2024 年 8 月 7 日

androidx.games:games-activity:3.0.5 已发布。版本 3.0.5 包含 这些提交

错误修复

  • GameActivity 的新版本,与 GameTextInput 的 3.0.4 版本匹配(修复了输入中文本删除的功能)。

版本 3.0.4

2024 年 7 月 10 日

androidx.games:games-activity:3.0.4 已发布。版本 3.0.4 包含 这些提交

错误修复

  • 修复了对空指针的处理。
  • 修复了 onConfiguration() 回调中某些状态的缺失状态更新。

版本 3.0.3

2024 年 4 月 17 日

androidx.games:games-activity:3.0.3androidx.games:games-text-input:3.0.3 已发布。版本 3.0.3 包含 这些提交

错误修复

  • 修复了与某些软件键盘的兼容性问题。

版本 3.0.2

2024 年 4 月 3 日

androidx.games:games-activity:3.0.2androidx.games:games-text-input:3.0.2 已发布。版本 3.0.2 包含 这些提交

错误修复

  • 我们对 GamesTextInput 进行了若干修复,旨在改进软件和硬件键盘支持。此外,还修复了阻止 GameTextInput 在没有 GameActivity 的情况下使用的一个错误。

版本 3.0.1

2024 年 3 月 20 日

androidx.games:games-activity:3.0.1androidx.games:games-text-input:3.0.1 已发布。版本 3.0.1 包含 这些提交

错误修复

  • 修复了特殊字符键入和显示的问题。

版本 3.0.0

2024 年 3 月 6 日

androidx.games:games-activity:3.0.0androidx.games:games-text-input:3.0.0 已发布。版本 3.0.0 包含 这些提交

3.0.0 的主要功能

  • GameTextInput 已重新设计,可立即用于游戏。
  • 这两个库中的一些接口相对于版本 2.0.0 发生了更改。

错误修复

  • 修复了与旧 NDK 的兼容性问题
  • 修复了 Windows 构建问题

版本 3.0.0-rc01

2024 年 2 月 21 日

androidx.games:games-activity:3.0.0-rc01androidx.games:games-text-input:3.0.0-rc01 已发布。 版本 3.0.0-rc01 包含这些提交。

错误修复

  • 修复了键盘事件未被循环正确处理导致的冻结。

版本 3.0.0-beta01

2023 年 11 月 29 日

androidx.games:games-activity:3.0.0-beta01androidx.games:games-text-input:3.0.0-beta01 已发布。版本 3.0.0-beta01 包含这些提交。

版本 3.0.0-alpha01

2023 年 11 月 15 日

androidx.games:games-activity:3.0.0-alpha01androidx.games:games-text-input:3.0.0-alpha01 已发布。版本 3.0.0-alpha01 包含这些提交。

API 更改

  • GameActivityMotionEventGameActivityCallbacks 结构更改了它们的大小。
  • onEditorAction 将其返回值类型从布尔值更改为 void。
  • setImeEditorInfo 现在需要枚举参数,而不是整数。
  • GameActivityEvents 的内部函数已移至 GameActivityEvents_internal.h
  • GameTextInput 的输入类型也是枚举,而不是整数。

Games-Activity 版本 2.1

版本 2.1.0-alpha02

2023 年 9 月 6 日

androidx.games:games-activity:2.1.0-alpha02androidx.games:games-text-input:2.1.0-alpha02 已发布。版本 2.1.0-alpha02 包含这些提交。

错误修复

  • 改进了 32 位设备的兼容性。

版本 2.1.0-alpha01

2023 年 7 月 26 日

androidx.games:games-activity:2.1.0-alpha01 已发布。版本 2.1.0-alpha01 包含这些提交。

新功能

  • 提供覆盖 SurfaceView 实例创建的功能
  • 添加 SDK 版本报告

API 更改

  • 使用 int64_t 代替 long 作为 historicalEventTimes 的类型,以避免在 32 位系统上发生溢出。
  • 添加 GameActivity_restartInput 方法。
  • 添加一个原生回调函数来处理软件键盘可见性变化。

错误修复

  • 优化触摸事件处理。
  • 修正 GameActivityMotionEven 的销毁操作。
  • 修正 GameActivityMotionEvent_getHistoricalAxisValue 的索引计算。
  • 修正运动过滤器位掩码。

Games-Activity 版本 2.0

版本 2.0.2

2023 年 5 月 24 日

androidx.games:games-activity:2.0.2 已发布。 版本 2.0.2 包含以下提交。

错误修复

  • GameActivityEvents 中的稳定性修复 (b/278017467)

版本 2.0.1

2023 年 4 月 5 日

androidx.games:games-activity:2.0.1 已发布。 版本 2.0.1 包含以下提交。

错误修复

  • 修复了 historicalEventTimes 导致的过早释放内存问题。
  • 修复了 32 位系统上 historicalEventTimesNanos 溢出问题。

版本 2.0.0

2023 年 3 月 8 日

androidx.games:games-activity:2.0.0 已发布。 版本 2.0.0 包含以下提交。

2.0.0 的主要功能

  • 更改了历史事件时间的接口,以克服 32 位限制。
  • 提供用户访问配置更改的功能,如方向更改。
  • 提供 contentRect 结构中的最新信息。
  • 提供了一种更轻松的方式来定制默认的 SurfaceView
  • 修复了操作系统对触摸事件的默认处理,如处理系统按钮。
  • 优化了触摸事件处理中的大部分 JNI 调用;这曾经影响性能。

版本 2.0.0-rc01

2023 年 2 月 22 日

androidx.games:games-activity:2.0.0-rc01 已发布。 版本 2.0.0-rc01 包含以下提交。

版本 2.0.0-beta01

2023 年 2 月 8 日

androidx.games:games-activity:2.0.0-beta01 已发布。 版本 2.0.0-beta01 包含以下提交。

错误修复

  • 修复了系统按钮处理问题。 (2a103e)

版本 2.0.0-alpha01

2023 年 1 月 11 日

androidx.games:games-activity:2.0.0-alpha01 已发布,没有更改。 版本 2.0.0-alpha01 包含以下提交。

Games-Activity 版本 1.2

版本 1.2.2

2022 年 12 月 7 日

androidx.games:games-activity:1.2.2 已发布。 版本 1.2.2 包含以下提交。

错误修复

  • 现在可以在运行时设置运动事件的最大数量。

版本 1.2.2-alpha01

2022 年 11 月 9 日

androidx.games:games-activity:1.2.2-alpha01 已发布。 版本 1.2.2-alpha01 包含以下提交。

API 更改

  • API 现在还包含 GAMEACTIVITY_PACKED_VERSION 格式的版本信息。 (I287e6)
  • 添加了 onContentRectChanged 回调函数,当窗口中放置内容的矩形发生变化时调用。 (I81396)

错误修复

  • 修复了事件缓冲区溢出问题。现在 inputBuffer->keyEventsmotionEvents 都是动态分配的缓冲区。 (Ic00f6)
  • 如果内存不足,则优雅地失败。在缓冲区调整大小期间添加了对 realloc() 错误的处理。

版本 1.2.1

2022 年 7 月 13 日

androidx.games:games-activity:1.2.1 已发布。 版本 1.2.1 包含以下提交。

错误修复

  • 修复了之前版本中缺少 .aar 文件的问题。

版本 1.2.0

2022 年 6 月 15 日

androidx.games:games-activity:1.2.0 已发布。 版本 1.2.0 包含以下提交。

自 1.1.0 以来的重要更改

  • 允许 GameActivity 的派生类处理原生库加载。
  • 始终在 GameActivity.onCreate 中加载原生库。
  • 如果未找到其他库,则回退到加载名为“main”的库。

Games-Activity 版本 1.1

版本 1.1.0

2022 年 2 月 23 日

androidx.games:games-activity:1.1.0androidx.games:games-controller:1.1.0 已发布。 版本 1.1.0 包含以下提交。

自 1.0.0 以来的重要更改

Games Activity

  • 监听 WindowInsets 并查询凹口和 IME 响应
  • 添加键和运动事件过滤器
  • 错误修复
    • 添加缺少的消息以与 NativeActivity 兼容
    • 修复 onNativeWindowResized 的签名
    • 修复输入事件丢失问题

版本 1.1.0-rc01

2022 年 2 月 9 日

androidx.games:games-activity:1.1.0-rc01androidx.games:games-controller:1.1.0-rc01 已发布。 版本 1.1.0-rc01 包含以下提交。

版本 1.1.0-beta03

2022 年 1 月 26 日

androidx.games:games-activity:1.1.0-beta03 已发布。 版本 1.1.0-beta03 包含以下提交。

错误修复

  • 修复 onNativeWindowResized 的签名
  • onSurfaceChanged 中维护对原生窗口的句柄

版本 1.1.0-beta02

2021 年 12 月 15 日

androidx.games:games-activity:1.1.0-beta02 已发布。 版本 1.1.0-beta02 包含以下提交。

错误修复

  • 修复了事件过滤器设置中的竞争条件。

版本 1.1.0-beta01

2021 年 11 月 17 日

androidx.games:games-activity:1.1.0-beta01 已发布。 版本 1.1.0-beta01 包含以下提交。

新功能

  • 添加了对查询窗口内嵌和监听内嵌更改的支持。这允许游戏对 IME 弹出做出反应,并处理瀑布和相机切口内嵌。

API 更改

  • void GameActivity_getWindowInsets(GameActivity* activity, enum GameCommonInsetsType type, GameCommonInsets* insets);

错误修复

  • 避免消耗所有键事件:音量、相机等现在会传递给系统。

版本 1.1.0-alpha01

2021 年 9 月 29 日

androidx.games:games-activity:1.1.0-alpha01 已发布。 版本 1.1.0-alpha01 包含以下提交。

API 更改

  • onContentRectChanged 回调函数已添加到 GameActivityCallbacks

错误修复

  • 在 android_native_app_glue.h 中添加了缺少的消息
    • APP_CMD_CONTENT_RECT_CHANGED
    • APP_CMD_WINDOW_REDRAW_NEEDED

Games Performance Tuner 2.0

版本 2.0.0

2024 年 8 月 7 日

androidx.games:games-performance-tuner:2.0.0 已发布。 版本 2.0.0 包含 以下提交.

2.0.0 的主要功能

  • 自 2.0.0beta01 以来没有重大更改,我们只是将此版本标记为稳定版本。

版本 2.0.0-beta01

2024 年 1 月 10 日

androidx.games:games-performance-tuner:2.0.0-beta01 已发布,与上一个 alpha 版本没有变化。 版本 2.0.0-beta01 包含以下提交。

版本 2.0.0-alpha07

2023 年 11 月 29 日

androidx.games:games-performance-tuner:2.0.0-alpha07 已发布。 版本 2.0.0-alpha07 包含以下提交。

错误修复

  • 修复了内存遥测报告有时报告错误值的问题。

版本 2.0.0-alpha06

2023 年 11 月 1 日

androidx.games:games-performance-tuner:2.0.0-alpha06 已发布。 版本 2.0.0-alpha06 包含以下提交。

版本 2.0.0-alpha05

2023 年 8 月 23 日

androidx.games:games-performance-tuner:2.0.0-alpha05 已发布。 版本 2.0.0-alpha05 包含以下提交。

新功能

  • 将 Protobuf 库迁移到 Protobuf lite。

错误修复

  • 修复了悬空指针问题。

版本 2.0.0-alpha04

2023 年 4 月 19 日

androidx.games:games-performance-tuner:2.0.0-alpha04 已发布。 版本 2.0.0-alpha04 包含以下提交。

新功能

  • 更新了库中的遥测收集功能,允许更细粒度地报告帧渲染时间。

错误修复

  • 修复了如果最大仪器键超过直方图计数,库就会崩溃的错误。

版本 2.0.0-alpha03

2023 年 2 月 22 日

androidx.games:games-performance-tuner:2.0.0-alpha03 已发布。 版本 2.0.0-alpha03 包含以下提交。

错误修复

  • Games-Performance-Tuner 已迁移到新的发布流程。不应存在行为更改。

版本 2.0.0-alpha02

2023 年 2 月 8 日

androidx.games:games-performance-tuner:2.0.0-alpha02 已发布。 版本 2.0.0-alpha02 包含以下提交。

API 更改

  • 添加了 TuningFork_predictQualityLevels API;这将有助于预测要使用的正确质量级别/保真度参数。

Games Performance Tuner 1.6

版本 1.6.1-alpha01

2022 年 11 月 9 日

androidx.games:games-performance-tuner:1.6.1-alpha01 已发布。 版本 1.6.1-alpha01 包含以下提交。

新功能

  • 没有新的更改

版本 1.6.0

2022 年 6 月 15 日

androidx.games:games-performance-tuner:1.6.0 已发布。 版本 1.6.0 包含以下提交。

自 1.5.0 以来的重要更改

  • 修复了在尝试获取内存遥测时 getpid 返回 0 的问题。
  • 阻止 StopLoadingGroup 在没有活动加载组的情况下执行。

Games Performance Tuner 1.5.0

版本 1.5.0

2022 年 2 月 9 日

androidx.games:games-performance-tuner:1.5.0 已发布。 版本 1.5.0 包含以下提交。

自 1.4.0 以来的重要更改

  • 以编程方式更改上传间隔,而不是在初始设置中硬编码。
    • 添加了函数:TuningFork_setAggregationStrategyInterval
  • 修复了 API 密钥在 API<=23 上的内存损坏问题

版本 1.5.0-rc01

2022 年 1 月 26 日

androidx.games:games-performance-tuner:1.5.0-rc01 已发布。 版本 1.5.0-rc01 包含这些提交。

错误修复

  • 修复了 API 密钥在 API<=23 上的内存损坏问题

版本 1.5.0-beta02

2021 年 12 月 15 日

androidx.games:games-performance-tuner:1.5.0-beta02 已发布。 版本 1.5.0-beta02 包含这些提交。

API 更改

  • TuningFork_Settings 中删除了破坏 ABI 的更改。

版本 1.5.0-beta01

2021 年 9 月 29 日

androidx.games:games-performance-tuner:1.5.0-beta01 已发布。 版本 1.5.0-beta01 包含这些提交。

新功能

  • 与 alpha 版本相比没有变化。该版本包含
    • 以编程方式更改上传间隔,而不是在初始设置中硬编码。

API 更改

  • 与 alpha 版本相比没有变化。该版本包含
    • 新函数:TuningFork_setAggregationStrategyInterval
    • 新字段在 TuningFork_Settings: aggregation_strategy_intervalms_or_count

版本 1.5.0-alpha01

2021 年 8 月 18 日

androidx.games:games-performance-tuner:1.5.0-alpha01 已发布。 版本 1.5.0-alpha01 包含这些提交。

新功能

  • 现在可以通过编程方式设置 APT 上传之间的间隔,而不是使用设置文件。

API 更改

  • 添加了函数:TuningFork_setAggregationStrategyInterval
  • 在 TuningFork_Settings 结构中添加了字段:aggregation_strategy_intervalms_or_count

Games-Activity 版本 1.0.0

版本 1.0.0

2021 年 8 月 4 日

androidx.games:games-activity:1.0.0androidx.games:games-controller:1.0.0androidx.games:games-text-input:1.0.0 已发布。 版本 1.0.0 包含这些提交。

1.0.0 的主要功能

这是 Games-Activity、Games-Controller 和 Games-Text-Input 的第一个稳定版。有关更多信息,请参见 AGDK 主页

版本 1.0.0-rc01

2021 年 7 月 12 日

androidx.games:games-activity:1.0.0-rc01 已发布。 版本 1.0.0-rc01 包含这些提交。

错误修复

  • 修复了 GameActivityCallbacks::onSaveInstanceState 的返回类型。

版本 1.0.0-beta01

2021 年 6 月 30 日

androidx.games:games-activity:1.0.0-beta01 已发布。 版本 1.0.0-beta01 包含这些提交。

API 更改

  • GameActivityInputInfo 重命名为 GameActivityPointerAxes
  • onNativeWindowResized 回调现在提供窗口的宽度和高度。
  • onContentRectChanged 回调已被删除。
  • onLowMemory 已重命名为 onTrimMemory
  • GameActivity_setWindowFormat 已删除。
  • 改进了 GameActivityMotionEventsGameActivityMotionEvent 指针的所有权模型。
  • 改进了 onSaveInstanceState 回调中用户状态的所有权模型。

版本 1.0.0-alpha01

2021 年 6 月 16 日

androidx.games:games-activity:1.0.0-alpha01 已发布。

新功能

  • Games-Activity 是一个新的库,它取代了 NativeActivity,成为将 C/C++ 游戏与 Android 集成的推荐方式。

Games-Controller 版本 2.0

版本 2.0.2

2024 年 6 月 12 日

androidx.games:games-controller:2.0.2 已发布。版本 2.0.2 包含 这些提交

错误修复

  • 修复了在 Paddleboat_init 之前已连接的控制器没有触发控制器连接回调的问题。
  • 修复了在 Paddleboat_processGameActivityMotionInputEvent 中,游戏控制器触控板在没有手动启用压力轴的情况下无法注册触控板按下事件的问题。
  • 修复了 Paddleboat_processGameActivityMotionInputEvent 没有将游戏控制器触控板事件标记为已消耗的问题。

版本 2.0.1

2023 年 9 月 20 日

`androidx.games:games-controller:2.0.1 ' 已发布。 版本 2.0.1 包含这些提交。

游戏控制器错误修复

  • 修复了 onInputDeviceChanged 处理程序中罕见的 NullReferenceException 条件。
  • 修复了阻止某些 USB 键盘错误地注册为游戏控制器的错误。

版本 2.0.0

2023 年 3 月 8 日

androidx.games:games-controller:2.0.0 已发布。 版本 2.0.0 包含这些提交。

2.0.0 的主要功能

  • 添加了检测硬件键盘连接状态的功能。
  • 添加了报告主设备(即手机)以及控制器上的运动数据(加速度计/陀螺仪)的功能。
  • 更改了控制器定义数据库的 API 和格式,以减少内存占用并支持其他功能。

版本 2.0.0-alpha01

2023 年 1 月 11 日

androidx.games:games-controller:2.0.0-alpha01 已发布。 版本 2.0.0-alpha01 包含这些提交。

新功能

  • 硬件键盘检测
  • 集成了传感器运动数据报告支持(即接收来自手机本身的陀螺仪和加速度计数据)
  • 新的优化控制器映射数据格式

API 更改

  • 硬件键盘的新 API 调用:Paddleboat_getPhysicalKeyboardStatusPaddleboat_setPhysicalKeyboardStatusCallback
  • 集成传感器运动数据报告的新 API 调用:Paddleboat_getIntegratedMotionSensorFlagsPaddleboat_setMotionDataCallbackWithIntegratedFlags
  • 修改后的控制器映射数据格式的新 API 调用:Paddleboat_addControllerRemapDataFromFdPaddleboat_addControllerRemapDataFromFileBuffer
  • 弃用了旧的映射 API 调用:Paddleboat_addControllerRemapDataPaddleboat_getControllerRemapTableData

错误修复

  • 修复了与 GameActivity 1.2.2 及更高版本中的运动事件的兼容性问题。

Games-Controller 版本 1.1.0

版本 1.1.0

2022 年 2 月 23 日

androidx.games:games-activity:1.1.0androidx.games:games-controller:1.1.0 已发布。 版本 1.1.0 包含以下提交。

自 1.0.0 以来的重要更改

Games Activity

  • 监听 WindowInsets 并查询凹口和 IME 响应
  • 添加键和运动事件过滤器
  • 错误修复
    • 添加缺少的消息以与 NativeActivity 兼容
    • 修复 onNativeWindowResized 的签名
    • 修复输入事件丢失问题

版本 1.1.0-rc01

2022 年 2 月 9 日

androidx.games:games-controller:1.1.0-rc01 已发布。 版本 1.1.0-rc01 包含这些提交。

版本 1.1.0-beta01

2022 年 1 月 26 日

androidx.games:games-controller:1.1.0-beta01 已发布,自 1.1.0-alpha01 以来没有变化。 版本 1.1.0-beta01 包含这些提交。

版本 1.1.0-alpha01

2021 年 12 月 15 日

androidx.games:games-controller:1.1.0-alpha01 已发布。 版本 1.1.0-alpha01 包含这些提交。

新功能

在 Android S 或更高版本上运行时,添加了对支持的控制器上的电池状态、双电机振动、灯光控制和运动轴报告的支持。

API 更改

  • 添加了 Paddleboat_setMotionDataCallback 函数,用于注册控制器运动数据回调
  • 添加了 Paddleboat_setControllerLight 函数,用于更改控制器灯光设置。
  • Paddleboat_Controller_Data 中添加了 Paddleboat_Controller_Battery 结构
  • 新结构
    • Paddleboat_Controller_Battery
    • Paddleboat_Motion_Data
  • 新枚举
    • Paddleboat_BatteryStatus
    • Paddleboat_LightType
    • Paddleboat_Motion_Type
  • 新的控制器标志
    • PADDLEBOAT_CONTROLLER_FLAG_ACCELEROMETER
    • PADDLEBOAT_CONTROLLER_FLAG_GYROSCOPE
    • PADDLEBOAT_CONTROLLER_FLAG_LIGHT_PLAYER
    • PADDLEBOAT_CONTROLLER_FLAG_LIGHT_RGB
    • PADDLEBOAT_CONTROLLER_FLAG_BATTERY

错误修复

  • 为 PS4 控制器添加了备用 deviceId 数据库条目
  • 为 PS5 控制器添加了 API >=31 数据库条目

Games-Controller 版本 1.0.0

版本 1.0.0

2021 年 8 月 4 日

androidx.games:games-activity:1.0.0androidx.games:games-controller:1.0.0androidx.games:games-text-input:1.0.0 已发布。 版本 1.0.0 包含这些提交。

1.0.0 的主要功能

这是 Games-Activity、Games-Controller 和 Games-Text-Input 的第一个稳定版。有关更多信息,请参见 AGDK 主页

版本 1.0.0-rc02

2021 年 7 月 21 日

androidx.games:games-controller:1.0.0-rc02 已发布。 版本 1.0.0-rc02 包含这些提交。

错误修复

  • 修复了导致 Prefab 导入在空闲的、未使用的架构/版本排列上失败的打包错误。

版本 1.0.0-rc01

2021 年 7 月 12 日

androidx.games:games-controller:1.0.0-rc01 已发布。 版本 1.0.0-rc01 包含这些提交。

错误修复

  • 修复了与最新 GameActivity 的不兼容问题。

版本 1.0.0-beta01

2021 年 6 月 30 日

androidx.games:games-controller:1.0.0-beta01 已发布。 版本 1.0.0-beta01 包含这些提交。

API 更改

  • 返回布尔值以表示成功或失败的函数现在返回 Paddleboat_Error_Code 枚举。
  • Paddleboat_onPause 已重命名为 Paddleboat_onStop
  • Paddleboat_onResume 已重命名为 Paddleboat_onStart
  • Paddleboat_processGameActivityEvent 分为两个函数:Paddleboat_processGameActivityKeyInputEventPaddleboat_processGameActivityMotionInputEvent
  • 删除了需要针对预览版 Android S SDK 构建的扩展控制器功能。
  • 添加了 Paddleboat_getBackButtonConsumed 函数。
  • 控制器和鼠标状态回调现在有一个指向用户定义数据的可选参数。
  • 将控制器名称字符串移出设备信息结构,现在可以通过 Paddleboat_getControllerName 函数访问。

错误修复

  • 修复了控制器最初没有报告自身为控制器,但后来通过 onInputDeviceChanged 消息报告为控制器时,没有被正确检测为控制器连接的问题。

版本 1.0.0-alpha01

2021 年 6 月 16 日

androidx.games:games-controller:1.0.0-alpha01 已发布。

新功能

  • Games-Controller 是一个新的库,它提供了一个 C API,用于检测、读取输入并与游戏控制器设备进行交互。

Games-Text-Input 2.1

版本 2.1.0-alpha01

2023 年 7 月 26 日

androidx.games:games-text-input:2.1.0-alpha01 已发布。 版本 2.1.0-alpha01 包含这些提交。

新功能

  • 添加了对多行和单行模式的支持

API 更改

  • 添加了 isSoftwareKeyboardVisible 函数
  • GameActivity_setImeEditorInfo 添加了位字段定义
  • 添加了 onEditorAction 回调

错误修复

  • 修复了硬件键盘和软件键盘不同步的问题
  • 隐藏软件键盘时清除焦点

Games-Text-Input 2.0

版本 2.0.0

2023 年 3 月 8 日

androidx.games:games-text-input:2.0.0 已发布。 版本 2.0.0 包含这些提交。

自 1.1.1 以来重要的更改

  • 由于构建系统发生了更改,因此进行了主要版本更新,库/API 本身没有更新。

Games-Text-Input 版本 1.1

版本 1.1.2-alpha01

2022 年 11 月 9 日

androidx.games:games-text-input:1.1.2-alpha01 已发布。 版本 1.1.2-alpha01 包含这些提交。

新功能

  • 没有新的更改

版本 1.1.1

2022 年 7 月 13 日

androidx.games:games-text-input:1.1.1 已发布。 版本 1.1.1 包含这些提交。

错误修复

  • 修复了之前版本中缺少 .aar 文件的问题。

版本 1.1.0

2022 年 2 月 9 日

androidx.games:games-text-input:1.1.0 已发布。 版本 1.1.0 包含这些提交。

自 1.0.0 以来重要更改 - 为 GameTextInput 添加了 WindowInsets 侦听和查询功能 - 添加缺失的 gamecommon.h 头文件

版本 1.1.0-rc01

2022 年 1 月 26 日

androidx.games:games-text-input:1.1.0-rc01 已发布。 版本 1.1.0-rc01 包含这些提交。

版本 1.1.0-beta01

2021 年 12 月 15 日

androidx.games:games-text-input:1.1.0-beta01 已发布。 版本 1.1.0-beta01 包含这些提交。

错误修复

  • 修复瀑布式和 IME 嵌入
  • 添加缺失的 gamecommon.h 头文件

版本 1.1.0-alpha01

2021 年 10 月 13 日

androidx.games:games-text-input:1.1.0-alpha01 已发布。 版本 1.1.0-alpha01 包含这些提交。

API 更改

  • 为 GameTextInput 添加了 IME 嵌入功能

Games-Text-Input 版本 1.0

版本 1.0.0

2021 年 8 月 4 日

androidx.games:games-activity:1.0.0androidx.games:games-controller:1.0.0androidx.games:games-text-input:1.0.0 已发布。 版本 1.0.0 包含这些提交。

1.0.0 的主要功能

这是 Games-Activity、Games-Controller 和 Games-Text-Input 的第一个稳定版。有关更多信息,请参见 AGDK 主页

版本 1.0.0-rc01

2021 年 7 月 12 日

androidx.games:games-text-input:1.0.0-rc01 已发布,无更改。 版本 1.0.0-rc01 包含这些提交。

版本 1.0.0-beta01

2021 年 6 月 30 日

androidx.games:games-text-input:1.0.0-beta01 已发布。 版本 1.0.0-beta01 包含这些提交。

API 更改

  • 改进了 GameTextInputState 对象的所有权模型。
  • 整理类型以与 NDK 保持一致。

版本 1.0.0-alpha01

2021 年 6 月 16 日

androidx.games:games-text-input:1.0.0-alpha01 已发布。

新功能

  • Games-Text-Input 是一个新的库,可帮助游戏开发者从 C/C++ 中使用 Android 软键盘输入。

Games Frame Pacing 版本 2.1

版本 2.1.2

2024 年 7 月 24 日

androidx.games:games-frame-pacing:2.1.2 已发布。 版本 2.1.2 包含 这些提交.

错误修复

  • Swappy 现在使用 API 33 中的 AChoreographer_postVsyncCallback 更准确地计算呈现时间。这修复了 120hz 设备上帧丢失的错误。

版本 2.1.1

2024 年 7 月 10 日

androidx.games:games-frame-pacing:2.1.1 已发布。 版本 2.1.1 包含 这些提交.

错误修复

  • 从 swappy 正确注销显示侦听器以避免挂起。
  • 修复 ChoreographerFilter::onSettingsChanged 中使用已销毁互斥锁的崩溃。

版本 2.1.0

2023 年 11 月 15 日

androidx.games:games-frame-pacing:2.1.0 已发布。 版本 2.1.0 包含这些提交。

版本 2.1.0-rc01

2023 年 9 月 20 日

androidx.games:games-frame-pacing:2.1.0-rc01 已发布。 版本 2.1.0-rc01 包含这些提交。

版本 2.1.0-beta01

2023 年 5 月 24 日

androidx.games:games-frame-pacing:2.1.0-beta01 已发布。 版本 2.1.0-beta01 包含这些提交。

错误修复

  • 如果 NDKChoreographer 初始化失败,则会超时 (ef466d)
  • 在使用 SwappyGL_getSupportedRefreshPeriodsNS 时,从系统显式查询刷新率 (c85235)

版本 2.1.0-alpha01

2023 年 4 月 5 日

androidx.games:games-frame-pacing:2.1.0-alpha01 已发布。 版本 2.1.0-alpha01 包含这些提交。

新功能

  • 用于重置帧速率状态的新 API。
  • 用于在仍然观察 CPU 和 GPU 时间的同时禁用 swappy 的帧速率影响的新 API。

API 更改

  • SwappyGL_resetFramePacing/SwappyVk_resetFramePacing 现在可用于重置内部帧速率状态。帧速率现在将仅考虑从调用重置 API 的时间点开始的数据。
  • SwappyGL_enableFramePacing/SwappyVk_enableFramePacing 现在可用于启用/禁用 swappy 的帧速率。禁用时,
  • SwappyGL_enableBlockingWait/SwappyVk_enableBlockingWait 可用于控制在禁用帧速率时是否会发生对上一帧的 GPU 工作的阻塞等待。

错误修复

  • 使用 Swappy GL API 时,对 GPU 绑定情况进行了性能改进。

Games Frame Pacing 版本 2.0

版本 2.0.0

2023 年 3 月 8 日

androidx.games:games-frame-pacing:2.0.0 已发布。 版本 2.0.0 包含这些提交。

自 1.10.1 以来重要更改

  • 构建系统经历了重大更改,导致仅生成一个库,而不是每个 SDK/NDK 版本生成多个库。
  • 添加了 Vulkan 帧统计信息。
  • 添加了用于清除帧统计信息的新 API。
  • 所有日志在发布模式下均处于静默状态,可以在调试模式下启用它们。

版本 2.0.0-rc01

2023 年 2 月 22 日

androidx.games:games-frame-pacing:2.0.0-rc01 已发布。 版本 2.0.0-rc01 包含这些提交。

新功能

  • 日志现在隐藏在编译标志后面。默认情况下,库的发布版本没有日志,库的调试版本启用了所有日志。

版本 2.0.0-beta01

2023 年 2 月 8 日

androidx.games:games-frame-pacing:2.0.0-beta01 已发布。 版本 2.0.0-beta01 包含这些提交。

新功能

  • 引入了用于清除帧统计信息的新 API。

API 更改

  • 添加了 SwappyGL_clearStatsSwappyGL_clearStats API。

版本 2.0.0-alpha01

2023 年 1 月 11 日

androidx.games:games-frame-pacing:2.0.0-alpha01 已发布。 版本 2.0.0-alpha01 包含这些提交。

新功能

  • 添加了 vulkan 帧统计信息

API 更改

  • 由于构建文件重构,主版本增加
  • 添加了 3 个新 API:SwappyVk_enableStatsSwappyVk_recordFrameStartSwappyVk_getStats

错误修复

  • 仅在自动交换模式下应用阈值 (Ic0786)

Games Frame Pacing 1.10

版本 1.10.2-alpha01

2022 年 11 月 9 日

androidx.games:games-frame-pacing:1.10.2-alpha01 已发布。 版本 1.10.2-alpha01 包含这些提交。

新功能

  • 没有新的更改

版本 1.10.1

2022 年 6 月 15 日

androidx.games:games-frame-pacing:1.10.1 已发布。 版本 1.10.1 包含这些提交。

错误修复

  • 修复了 swappy 无法使用 ndk <23 和 >17 构建的问题。
  • 公开了用于检索显示器支持的刷新率的 API。

版本 1.10.0

2022 年 2 月 23 日

androidx.games:games-frame-pacing:1.10.0 已发布。 版本 1.10.0 包含这些提交。

自 1.9.0 以来重要更改

  • 忽略污染的 choreographer 过滤器输入,并进行更多平滑以防止模拟器冻结
  • 添加 *_uninjectTracer 函数。

版本 1.10.0-rc01

2022 年 2 月 9 日

androidx.games:games-frame-pacing:1.10.0-rc01 已发布。 版本 1.10.0-rc01 包含这些提交。

版本 1.10.0-beta01

2022 年 1 月 26 日

androidx.games:games-frame-pacing:1.10.0-beta01 已发布。 版本 1.10.0-beta01 包含这些提交。

版本 1.10.0-alpha01

2021 年 12 月 15 日

androidx.games:games-frame-pacing:1.10.0-alpha01 已发布。 版本 1.10.0-alpha01 包含这些提交。

新功能

  • 添加了 SwappyGL_uninjectTracer 函数。

API 更改

  • 通过使用 SwappyGL_uninjectTracer(const SwappyTracer *t) API,删除先前使用 SwappyGL_injectTracer 添加的回调。

Games Frame Pacing 1.9

版本 1.9.1

2021 年 10 月 13 日

androidx.games:games-frame-pacing:1.9.1 已发布。 版本 1.9.1 包含这些提交。

错误修复

版本 1.9.0

2021 年 7 月 12 日

androidx.games:games-frame-pacing:1.9.0 已发布。 版本 1.9.0 包含这些提交。

自 1.7.0 以来重要更改

  • 更新以匹配内部版本控制方案。

Games Frame Pacing 1.7.0

版本 1.7.0

2021 年 6 月 30 日

androidx.games:games-frame-pacing:1.7.0 已发布。 版本 1.7.0 包含这些提交。

版本 1.7.0-rc01

2021 年 6 月 2 日

androidx.games:games-frame-pacing:1.7.0-rc01 已发布。 版本 1.7.0-rc01 包含这些提交。

版本 1.7.0-beta02

2021 年 2 月 24 日

androidx.games:games-frame-pacing:1.7.0-beta02 已发布。

版本 1.7.0-beta01

2020 年 12 月 16 日

androidx.games:games-frame-pacing:1.7.0-beta01 已发布。

Games Performance Tuner 1.4.3

版本 2.0.0-rc01

2024 年 7 月 24 日

androidx.games:games-performance-tuner:2.0.0-rc01 已发布。 版本 2.0.0-rc01 包含 这些提交.

版本 1.4.3

2021 年 7 月 12 日

androidx.games:games-performance-tuner:1.4.3 已发布。 版本 1.4.3 包含这些提交。

自 1.1.0 以来的重要更改

  • 更新以匹配内部版本控制方案。

Games Performance Tuner 1.1.0

版本 1.1.0

2021 年 6 月 30 日

androidx.games:games-performance-tuner:1.1.0 已发布。 版本 1.1.0 包含这些提交。

版本 1.1.0-rc01

2021 年 6 月 2 日

androidx.games:games-performance-tuner:1.1.0-rc01 已发布。 版本 1.1.0-rc01 包含这些提交。

版本 1.1.0-beta03

2021 年 4 月 21 日

androidx.games:games-performance-tuner:1.1.0-beta03 已发布。

版本 1.1.0-beta02

2021 年 2 月 24 日

androidx.games:games-performance-tuner:1.1.0-beta02 已发布。

版本 1.1.0-beta01

2020 年 12 月 16 日

androidx.games:games-performance-tuner:1.1.0-beta01 已发布。

版本 1.1.0-alpha01

androidx.games:games-performance-tuner:1.1.0-alpha01 已发布。

版本 1.0.0

版本 1.0.0-alpha02

2020 年 8 月 12 日

Android 游戏库更名为 Android Games 库。

androidx.gaming -> androidx.games

版本 1.0.0-alpha01

2020 年 6 月 10 日

androidx.games:1.0.0-alpha01 已发布。