Play Billing Library Version Upgrade

作者 android42dc2270e960Complete terms in LICENSE.txt7.7K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库13天前更新

Use this skill when upgrading or migrating an Android project from any legacy Google Play Billing Library (PBL) version to the latest stable version of PBL.

AI 生成的概览

指导将 Android 项目从旧版 Google Play 结算库升级到最新稳定版本。

功能
从构建文件或已弃用 API 中检测项目实际使用的 Play 结算库版本,确定最新稳定目标版本,并规划直接或分步迁移路径。随后依次进行 SDK 与 Gradle 对齐、基于意图的 API 重构、分步迁移的顺序验证,以及最终检查清单和测试运行。产出包括迁移计划、代码改动和解释每项改动的报告。
适用场景
适用于 Android 项目依赖过时的 Google Play 结算库并需要升级到当前稳定版本的场景。既适合小幅版本升级,也适合需要中间升级步骤的较大规模迁移。
运行要求
需要带 Gradle 和 Android SDK 的 Android 项目,以及访问官方迁移指南和发行说明的网络连接。该技能不包含脚本,依赖随技能提供的参考文档。

Phase 0: Intent Message

Reporting Action: Before proceeding, immediately tell the user: "I will upgrade Play Billing Library to the latest version."

Phase 1: Discovery & Situational Awareness

  1. Primary Check (Build Version) : Locate the project's billing dependency (e.g., com.android.billingclient:billing) in build.gradle, build.gradle.kts, or libs.versions.toml.
  2. Initial Compilation Test: Attempt to sync and build the project immediately.
  3. Fallback Discovery (Effective Version) :
    • Trigger: Only if the build fails immediately, scan the source code for deprecated artifacts.
    • Logic : The presence of deprecated APIs indicates the "Effective Version" ---defined as the version where those specific APIs were last available, not when they were introduced.
    • Example : If SkuDetails is present, treat the baseline as PBL v7 or earlier (regardless of the version string in build.gradle).
  4. Identify Target & Path : Access the version tool or release notes to find the latest stable version and calculate a [Direct/Stepped] migration path based on the Effective Version baseline.
  • Calculate Migration Path :
    • If the Effective Version is within 2 major versions of the target: Plan a Direct Migration.
    • If it is more than 2 major versions behind: Plan a Stepped Migration. Migrate by two major versions at a time (e.g., v4 -> v6 -> v8) until you are within two versions of the target.
  • Reporting Action: Before proceeding, tell the user: "I've detected you are effectively on PBL [Current] and the latest is [Target]. I am planning a [direct/stepped] migration path."

Phase 2: Contextual Document Mapping & Planning

For every major version jump identified in your path, you MUST synthesize instructions from:

  • Migration Guide (where [X] is the target major version).
  • Release Highlights : The "Deprecations" and "Breaking Changes" sections of the relevant Release Notes [blocked].
  • Developer Documentation: Consult your knowledge of the Google Play Billing documentation regarding the relevant features used in this app (e.g., Subscriptions, One-Time Products).
  • Develop the Plan: Identify every specific code change required (API removals, class replacements, logic shifts) and print this out as a checklist.

Phase 3: Instructions for Execution

Reporting Action: For each of the following steps, give a brief explanation of what you will be doing prior to execution, and a brief summary of what you accomplished afterwards.

Step 1: SDK & Environment Alignment

  • Action : Update build.gradle to meet SDK requirements (e.g., "PBL 9 requires compileSdk 35").
  • Gradle Version: Verify if the new library requires a newer Android Gradle Plugin (AGP) or Kotlin version.

Step 2: Intent-based Refactoring

Analyze the intent of the existing code rather than performing purely textual string replacement.

  • Action : You MUST follow all deprecation instructions and refactor patterns from both the references/migration-logic.md [blocked] section, the official migration guides, and the general documentation pages identified in Phase 2.
  • Verification : Verify you are doing all steps from all documentation and then making sure you follow the specific directions from the checklist in the references.

Step 3: Sequential Verification (Only applicable for Stepped Migrations)

  1. Upgrade to the first major intermediate version in your path.
  2. Run ./gradlew assembleDebug to verify no intermediate breaking changes were missed.
  3. Repeat until you reach the final target version.

Step 4: Final Validation Checklist

  1. Smart Checklist Verification:
  2. Open references/version-checklist.md [blocked] and locate the Smart Version-Specific Checklist.
  3. Action: For every version between your [Detected Effective Version] and [Detected New Version], verify that every item has been addressed in the code using "Find in Files" or structural analysis.
  4. Tests : Run all unit and implementation tests (./gradlew test).
  5. Clean Build : Verify the project completes a full clean build: ./gradlew clean assembleDebug. Then, run ./gradlew sync and ./gradlew build so that the user can immediately test the new version manually.

Final Report

Explain the "Why" to the developer:

  • "I updated your SDK to [Version] because PBL [Version] requires it for [Reason from docs]."
  • "I removed your custom retryConnection() logic because it is now handled natively by the library using enableAutoServiceReconnection()."
  • "Successfully upgraded from PBL [Old] to PBL [New] and verified with unit tests. Based on an analysis of features in the latest library and this application's current feature set, I suggest exploring [New Feature] (e.g., Prepaid Plans or Installments) from the latest release because it is now available but not yet implemented."

来源与署名

来源:android/skills位于play/play-billing-library-version-upgrade提交42dc227

许可证: Complete terms in LICENSE.txt

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架

更多来自 android/skills 的技能

Wear Compose M3

android

指导构建、更新和迁移 Wear OS Compose Material3 应用,并提供规范组件示例与版本规则。

Software Development7.7K13天前更新

Display Glasses With Jetpack Compose Glimmer

android

Provides guidelines for developing projected Android XR apps for display glasses using the Jetpack Compose Glimmer UI toolkit. This skill covers foundational Glimmer design principles, workflows for implementing Jetpack Compose Glimmer, and interaction models for the glasses form factor. Use this skill to build an Android XR Augmented Experience app with Jetpack Compose Glimmer that adheres to the Glimmer design system for optimized glasses styling.

待分类7.7K13天前更新

Leanback To Compose Tv Migration

android

Provides instructions and architectural patterns for migrating Android TV applications from legacy Leanback UI Toolkit, Android Views, or Support Fragments to Jetpack Compose for TV (androidx.tv). Use this skill for Leanback to Compose migrations, including browse screen, settings screen, authentication screen, login screen, or video playback screen migrations, or when replacing BrowseSupportFragment, LeanbackSettingsFragment, PreferenceFragment, BaseLeanbackPreferenceFragmentCompat, VideoSupportFragment, GuidedStepSupportFragment, SearchSupportFragment, VerticalGridSupportFragment, Presenter, ArrayObjectAdapter, or CursorMapper with modern Compose equivalents, implementing immersive carousels with focus memory, Media3 video playback with PlayerSurface, or custom 10-foot hero layouts.

待分类7.7K13天前更新

Testing Setup

android

分析 Android 项目的测试配置,并安装测试框架、测试装置以及单元、UI、截图和端到端测试。

Software Development7.7K13天前更新

Android Profiler

android

指导 Android 性能分析:录制系统跟踪、堆转储和方法记录,并使用 Perfetto SQL 进行分析。

Software Development7.7K13天前更新

Styles

android

指导将 Android Jetpack Compose 自定义组件与主题迁移到实验性 Styles API。

Software Development7.7K13天前更新