Android Games
下表列出了 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 | - | - | - |
要求
games-memory-advice
如要使用 MemoryAdvice API,您必须使用以下任一 NDK 版本构建应用:
- r20.*
- r21.*
- 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 中的标头。
外部贡献
- 该库依赖于 TensorFlow,可在 https://github.com/tensorflow/tensorflow 中找到其许可和传递依赖项。
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 版本 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.3
和 androidx.games:games-text-input:3.0.3
。版本 3.0.3 中包含这些提交内容。
bug 修复
- 修复了与某些软件键盘的兼容性问题。
版本 3.0.2
2024 年 4 月 3 日
发布了 androidx.games:games-activity:3.0.2
和 androidx.games:games-text-input:3.0.2
。版本 3.0.2 中包含这些提交内容。
bug 修复
- 我们对
GamesTextInput
进行了多项修复,旨在改进软件和硬件键盘支持。此外,还修复了阻止在没有GameActivity
的情况下使用GameTextInput
的 bug。
版本 3.0.1
2024 年 3 月 20 日
发布了 androidx.games:games-activity:3.0.1
和 androidx.games:games-text-input:3.0.1
。版本 3.0.1 中包含这些提交内容。
bug 修复
- 修复了与输入和显示特殊字符相关的问题。
版本 3.0.0
2024 年 3 月 6 日
发布了 androidx.games:games-activity:3.0.0
和 androidx.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-rc01
和 androidx.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-beta01
和 androidx.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-alpha01
和 androidx.games:games-text-input:3.0.0-alpha01
。版本 3.0.0-alpha01 中包含这些提交内容。
API 变更
- “
GameActivityMotionEvent
”和“GameActivityCallbacks
”结构更改了大小。 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-alpha02
和 androidx.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
提前释放内存的问题。 - 修复了
historicalEventTimesNanos
在 32 位系统上溢出的问题
版本 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
->keyEvents
和motionEvents
现在都是动态分配的缓冲区。(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.0
和 androidx.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-rc01
和 androidx.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.0
、androidx.games:games-controller:1.0.0
和 androidx.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
。 - 改进了
GameActivityMotionEvents
和GameActivityMotionEvent
指针的所有权模型。 - 改进了
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_getPhysicalKeyboardStatus
和Paddleboat_setPhysicalKeyboardStatusCallback
- 对集成式传感器动作数据报告的新 API 调用:
Paddleboat_getIntegratedMotionSensorFlags
和Paddleboat_setMotionDataCallbackWithIntegratedFlags
- 对修改后控制器映射数据格式的新 API 调用:
Paddleboat_addControllerRemapDataFromFd
、Paddleboat_addControllerRemapDataFromFileBuffer
- 废弃了旧的映射 API 调用:
Paddleboat_addControllerRemapData
和Paddleboat_getControllerRemapTableData
bug 修复
- 修复了与 GameActivity 1.2.2 及更高版本中的动作事件的兼容性问题
Games-Controller 版本 1.1.0
版本 1.1.0
2022 年 2 月 23 日
发布了 androidx.games:games-activity:1.1.0
和 androidx.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
- 新枚举:
<ph type="x-smartling-placeholder">
- </ph>
Paddleboat_BatteryStatus
Paddleboat_LightType
Paddleboat_Motion_Type
- 新控制器标记:
<ph type="x-smartling-placeholder">
- </ph>
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.0
、androidx.games:games-controller:1.0.0
和 androidx.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_processGameActivityKeyInputEvent
和Paddleboat_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,可用于检测游戏手柄设备、读取游戏手柄设备中的输入以及与游戏手柄设备互动。
游戏文本输入 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 以来的重要变更
- 由于构建系统变更,需要进行重大版本更新,没有对库/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.0
、androidx.games:games-controller:1.0.0
和 androidx.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 修复
版本 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
现在可以用于重置内部帧同步状态。帧同步现在将仅考虑调用 reset 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_clearStats
和SwappyGL_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_enableStats
、SwappyVk_recordFrameStart
和SwappyVk_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 修复
- 修复了 b/199487756
版本 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。