旧版 Java 支持(JDK 11)
虽然我们的主 Unity Billing SDK 针对现代环境(JDK 17 及更高版本)进行了优化,但我们认识到,由于特定的构建流水线或引擎约束,某些项目仍依赖于 JDK 11。
自 3.3.0 版本起,JDK 11 已通过 MavenCentral 直接获得支持,因此不再需要手动导入 AAR 文件。我们建议迁移到最新版本并使用标准的 MavenCentral 集成。
仅当您停留在较旧的版本时,才需要下文所述的手动基于 AAR 的流程。如果您继续使用手动集成,请确保 Assets/Plugins/Android 下没有残留的旧文件,并且从 JDK 11 分支导入了正确的 AAR 文件。
为支持仍使用手动流程的项目,我们维护了一个专用分支,将分发流程从 MavenCentral 还原为手动基于 AAR 的集成。
前提条件与兼容性
要求 | 值 |
|---|---|
Java 版本 | JDK 11 |
分发方式 | 手动 AAR 导入 + UPM 分支 |
Unity 版本 | Unity 2022.3 LTS |
分支 URL |
|
集成步骤
按照以下步骤集成支持 JDK 11 的 Aptoide Unity Billing SDK。
1. 通过 UPM 导入 SDK
您必须在 Unity Package Manager 中定位特定的 #support-jdk-11 标签,而不是主分支。
- 打开您的 Unity 项目。
- 导航至 Window > Package Manager。
- 点击 + 图标并选择 Add package from git URL...
- 粘贴以下 URL:
https://github.com/Aptoide/aptoide-unity-billing-sdk.git#support-jdk-11
2. 手动部署 AAR
由于此版本不从 MavenCentral 拉取 Native SDK(以保持 JDK 11 兼容性),因此您必须手动移动 Android 二进制文件。
- 在您的 Unity 项目窗口中,导航至 Aptoide 包文件夹:
Packages/Aptoide Unity Billing SDK/Runtime/Plugins/Android - 复制在该目录中找到的所有
.aar文件。 - 将它们粘贴到您项目的本地文件夹中:
Assets/Plugins/Android
注意: 如果
Assets/Plugins/Android文件夹不存在,请手动创建它。
3. 修改 mainTemplate.gradle
为避免版本冲突并确保所有逻辑都由本地 AAR 处理,您必须调整 Gradle 配置。
- 打开您的
mainTemplate.gradle(通常位于Assets/Plugins/Android)。 - 移除针对 Aptoide Native Billing SDK 的所有现有
implementation导入。 - 添加 Native SDK 所需的手动依赖项。这些是必需的,因为手动 AAR 不会像 MavenCentral 那样"自行解析"传递依赖项。请确保包含 SDK 正常运行所需的标准 AndroidX 和 Material 库。
4. 配置
设置好 AAR 和 Gradle 后,请遵循标准的 Unity SDK 配置指南来初始化计费客户端并定义您的商品。
JDK 11 问题排查
- 重复类错误: 如果您在构建期间看到"Duplicate Class"错误,请确保已从 Gradle 文件中移除了 Aptoide SDK 的
implementation行,因为 SDK 现在由您Plugins文件夹中的 AAR 在本地提供。此外,请确保您已从 Aptoide Unity Billing SDK 文件夹中移除了Plugin文件夹及其.meta文件。 - 缺少依赖项: 如果构建因"Symbol not found"错误而失败,请仔细检查您是否已手动将必要的 AndroidX 和 Material 依赖项添加到您的
mainTemplate.gradle中。