Android Games

Android Games 库是 Android Game SDK(能够以二进制文件的形式下载)的镜像。您可以使用 AndroidX 库,而无需手动下载 Android Game SDK 并将其集成到 build 中。

如需详细了解 Android Game SDK,请参阅 SDK 文档SDK 版本说明

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

制品 稳定版 候选版 Beta 版 Alpha 版
games-activity 3.0.5 - - 4.0.0-alpha01
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 - - 4.0.0-alpha01
games-performance-tuner 2.0.0 - - -
此库的最后更新时间:2024 年 10 月 16 日

要求

games-memory-advice

如要使用 MemoryAdvice API,您必须使用 NDK 版本 r23.* 或更高版本构建应用。

声明依赖项

如需添加 Game 的依赖项,您必须将 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")
}
}

如需详细了解依赖项,请参阅添加 build 依赖项

添加 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 添加软件包

要使导入的 Game 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 Game 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函数

bug 修复

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

Games-Memory-Advice 版本 2.0

版本 2.0.1

2023 年 9 月 20 日

发布了 androidx.games:games-memory-advice:2.0.1版本 2.0.1 中包含这些提交内容

bug 修复

  • 修复了因线程未附加到 JVM 而导致状态监视器线程中发生的崩溃问题。

版本 2.0.0

2023 年 9 月 6 日

发布了 androidx.games:games-memory-advice:2.0.0版本 2.0.0 中包含这些提交内容

2.0.0 的主要功能

  • 此版本中训练并发布了新的机器学习模型。
  • 实现了用于预测可用内存量的 API。

版本 2.0.0-rc01

2023 年 7 月 26 日

发布了 androidx.games:games-memory-advice:2.0.0-rc01版本 2.0.0-rc01 中包含这些提交内容

新功能

  • 添加了一种新模型,以更好地预测剩余内存。

bug 修复

  • 修复了内存建议不适用于共享 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 中包含这些提交内容

bug 修复

  • 修复了库无法正确加载所需的 TensorFlow Lite 资源的 bug

版本 2.0.0-beta02

2023 年 3 月 22 日

发布了 androidx.games:games-memory-advice:2.0.0-beta02版本 2.0.0-beta02 中包含这些提交内容

bug 修复

  • 修复了导致无法正确链接库静态版本的 bug

版本 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 变更

  • 因 build 文件重构而提升了主要版本。

bug 修复

  • 现在,错误的库资源配置会导致错误,而不是崩溃。

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 包含这些提交内容

bug 修复

  • 修复了在有和没有选择文本的情况下删除功能。

Games-Activity 版本 4.0

版本 4.0.0-alpha01

2024 年 10 月 16 日

发布了 androidx.games:games-activity:4.0.0-alpha01androidx.games:games-text-input:4.0.0-alpha01。版本 4.0.0-alpha01 中包含这些提交内容

新功能

  • GameTextInput 现在支持向左/向右键。

API 变更

  • 移除了 GameTextInput 的已废弃 Java 接口。
  • GameActivityGameTextInput 的预制件现在包含所有源文件。不再建议使用 #include <GameActivity.cpp>。请改为链接到适当的静态或动态库,例如 CMake 中的 game-activity::game-activity_static。这些库随 AAR 文件一起提供。

bug 修复

  • 修复了 GameTextInput 中的许多问题。修复了输入和移除功能。
  • 改进了与大多数热门软件键盘的兼容性。
  • 修复了在实体键盘上处理特殊字符的问题。
  • 修复了 GameActivity 中罕见的 null 指针访问问题。

Games-Activity 版本 3.0

版本 3.0.5

2024 年 8 月 7 日

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

bug 修复

  • GameActivity 的新版本与 GameTextInput 的 3.0.4 版本保持一致(修复了输入中文本删除功能)。

版本 3.0.4

2024 年 7 月 10 日

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

bug 修复

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

版本 3.0.3

2024 年 4 月 17 日

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

bug 修复

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

版本 3.0.2

2024 年 4 月 3 日

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

bug 修复

  • 我们对 GamesTextInput 进行了多项修复,旨在改进对软件和硬件键盘的支持。此外,还修复了一个 bug,该 bug 会导致在没有 GameActivity 的情况下无法使用 GameTextInput

版本 3.0.1

2024 年 3 月 20 日

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

bug 修复

  • 修复了输入和显示特殊字符时出现的问题。

版本 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 版进行了更改。

bug 修复

  • 修复了与旧版 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 中包含这些提交内容。

bug 修复

  • 修复了 Looper 无法正确处理键盘事件的冻结问题。

版本 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 中包含这些提交内容

bug 修复

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

版本 2.1.0-alpha01

2023 年 7 月 26 日

发布了 androidx.games:games-activity:2.1.0-alpha01版本 2.1.0-alpha01 中包含这些提交内容

新功能

  • 提供用于替换 SurfaceView 实例创建的功能
  • 添加 SDK 版本报告

API 变更

  • historicalEventTimes 使用 int64_t(而非 long),以避免在 32 位系统上过载
  • 添加了 GameActivity_restartInput 方法
  • 添加原生回调以处理软件键盘可见性变更

bug 修复

  • 优化触摸事件处理
  • 更正了 GameActivityMotionEven 的销毁
  • 修复了 GameActivityMotionEvent_getHistoricalAxisValue 索引计算
  • 修复了运动滤镜的位掩码

Games-Activity 版本 2.0

版本 2.0.2

2023 年 5 月 24 日

发布了 androidx.games:games-activity:2.0.2版本 2.0.2 中包含这些提交内容

bug 修复

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

版本 2.0.1

2023 年 4 月 5 日

发布了 androidx.games:games-activity:2.0.1版本 2.0.1 中包含以下提交内容

bug 修复

  • 修复了使用 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 中包含这些提交内容

bug 修复

  • 修复了系统按钮处理问题。(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 中包含这些提交内容

bug 修复

  • 现在,可以在运行时设置动作事件数量上限。

版本 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)

bug 修复

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

版本 1.2.1

2022 年 7 月 13 日

发布了 androidx.games:games-activity:1.2.1版本 1.2.1 中包含这些提交内容

bug 修复

  • 修正了之前的版本缺少 .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:

  • 添加了监听和查询 notch 和 IME 响应的 WindowInsets
  • 添加了按键和动作事件过滤器
  • bug 修复:
    • 添加了缺少的消息,以与 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 中包含这些提交内容

bug 修复

  • 修复了 onNativeWindowResized 签名存在的问题
  • onSurfaceChanged 中保留了原生 window 的句柄

版本 1.1.0-beta02

2021 年 12 月 15 日

发布了 androidx.games:games-activity:1.1.0-beta02版本 1.1.0-beta02 中包含这些提交内容

bug 修复

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

版本 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);

bug 修复

  • 避免将键事件全部用尽:音量、摄像头等现在会传递到系统。

版本 1.1.0-alpha01

2021 年 9 月 29 日

发布了 androidx.games:games-activity:1.1.0-alpha01版本 1.1.0-alpha01 中包含这些提交内容

API 变更

  • GameActivityCallbacks 添加了 onContentRectChanged 回调

bug 修复

  • 向 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 中包含这些提交内容

bug 修复

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

版本 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。

bug 修复

  • 修复了指针悬垂的问题。

版本 2.0.0-alpha04

2023 年 4 月 19 日

发布了 androidx.games:games-performance-tuner:2.0.0-alpha04版本 2.0.0-alpha04 中包含这些提交内容

新功能

  • 更新了该库中的遥测数据收集功能,以便更精细地报告帧渲染时间。

bug 修复

  • 修复了以下 bug:如果最大插桩键数超过了直方图计数,则库会崩溃。

版本 2.0.0-alpha03

2023 年 2 月 22 日

发布了 androidx.games:games-performance-tuner:2.0.0-alpha03版本 2.0.0-alpha03 中包含这些提交内容

bug 修复

  • 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<=23 时 API 密钥存在的内存损坏问题

版本 1.5.0-rc01

2022 年 1 月 26 日

发布了 androidx.games:games-performance-tuner:1.5.0-rc01版本 1.5.0-rc01 中包含这些提交内容

bug 修复

  • 修复了 API 级别不高于 23 时 API 密钥存在的内存损坏问题

版本 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 中包含这些提交内容

bug 修复

  • 修复了 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 包含这些提交内容

bug 修复

  • 修复了以下问题:对于在 Paddleboat_init 之前已连接的控制器,控制器连接回调不会触发。
  • 修复了以下问题:如果没有手动启用压力轴,游戏控制器触控板无法在 Paddleboat_processGameActivityMotionInputEvent 中记录触控板按下操作。
  • 修复了游戏控制器触控板事件未被标记为由 Paddleboat_processGameActivityMotionInputEvent 消耗的问题。

版本 2.0.1

2023 年 9 月 20 日

发布了 `androidx.games:games-controller:2.0.1'。版本 2.0.1 中包含以下提交内容

游戏控制器 bug 修复:

  • 修复了 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

bug 修复

  • 修复了与 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:

  • 添加了监听和查询 notch 和 IME 响应的 WindowInsets
  • 添加了按键和动作事件过滤器
  • bug 修复:
    • 添加了缺少的消息,以与 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

bug 修复

  • 添加了适用于 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 中包含这些提交内容

bug 修复

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

版本 1.0.0-rc01

2021 年 7 月 12 日

发布了 androidx.games:games-controller:1.0.0-rc01版本 1.0.0-rc01 中包含这些提交内容

bug 修复

  • 修复了最新 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
  • Paddleship_processGameActivityEvent 拆分为两个函数:Paddleboat_processGameActivityKeyInputEventPaddleboat_processGameActivityMotionInputEvent
  • 移除了需要针对预览版 Android S SDK 进行构建的扩展控制器功能
  • 添加了 Paddleboat_getBackButtonConsumed 函数
  • 控制器和鼠标状态回调现在包含一个指向用户定义数据的指针的可选参数
  • 将控制器名称字符串移出了设备信息结构,现在通过 Paddleboat_getControllerName 函数访问

bug 修复

  • 修复了以下问题:当控制器一开始不将自己报告为控制器,但后来通过 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 回调

bug 修复

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

游戏文本输入 2.0

版本 2.0.0

2023 年 3 月 8 日

发布了 androidx.games:games-text-input:2.0.0版本 2.0.0 中包含这些提交内容

自 1.1.1 以来的重要变更

  • 主要版本更新(由于 build 系统发生变化),库/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 中包含这些提交内容

bug 修复

  • 修正了之前的版本缺少 .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 中包含这些提交内容

bug 修复

  • 修复了瀑布流和 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 包含这些提交内容

bug 修复

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

版本 2.1.1

2024 年 7 月 10 日

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

bug 修复

  • 从 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 中包含这些提交内容。

bug 修复

  • 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。
  • 新 API 可停用 swappy 的帧速率影响,同时仍可观察 CPU 和 GPU 时间。

API 变更

  • SwappyGL_resetFramePacing/SwappyVk_resetFramePacing 现在可用于重置内部帧同步状态。帧同步现在仅会考虑从调用重置 API 时刻开始的数据。
  • SwappyGL_enableFramePacing/SwappyVk_enableFramePacing 现在可以用于启用/停用 swappy 的帧同步。停用后,
  • SwappyGL_enableBlockingWait/SwappyVk_enableBlockingWait 可用于控制在停用帧同步时,是否会导致最后一帧的 GPU 工作的阻塞等待。

bug 修复

  • 针对使用 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 中包含这些提交内容

新功能

  • 日志记录现在隐藏在编译标志后面。默认情况下,库的发布 build 不会进行日志记录,而库的调试版本会启用所有日志记录。

版本 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 变更

  • 因 build 文件重构而提升了主要版本
  • 新增了 3 个 API:SwappyVk_enableStatsSwappyVk_recordFrameStartSwappyVk_getStats

bug 修复

  • 仅在自动交换模式下应用阈值 (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 中包含这些提交内容

bug 修复

  • 修复了 swappy 无法使用级别低于 23 且高于 17 的 NDK 进行构建的问题。
  • 公开了 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 中包含这些提交内容

bug 修复

版本 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 Gaming 库重命名为 Android Games 库。

androidx.gaming -> androidx.games

版本 1.0.0-alpha01

2020 年 6 月 10 日

发布了 androidx.games:1.0.0-alpha01。