Android Games

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

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

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

工件 当前稳定版 下一候选版 Beta 版 Alpha 版
games-activity 1.0.0 - - -
games-controller 1.0.0 - - -
games-frame-pacing 1.9.0 - - -
games-text-input 1.0.0 - - -
games-performance-tuner 1.4.3 - - -
此库的最后更新时间:2021 年 8 月 4 日

声明依赖项

如需添加 Game 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

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:1.9.0"

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

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

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

    // To use the Games Text Input Library
    implementation "androidx.games:games-text-input:1.0.0"
}

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:1.9.0")

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

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

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

    // To use the Games Text Input Library
    implementation("androidx.games:games-text-input:1.0.0")
}
}

如需详细了解依赖项,请参阅添加 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-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 版本 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 版本 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-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 1.9.0

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

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