Play Billing Library Version Upgrade
Android (Google)OfficialCreated by Google LLCDistributed by Android (Google)
- Skill
- Workflow
- Software development
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured, multi-phase workflow to upgrade Android applications from legacy Google Play Billing Library (PBL) versions to the latest stable release. It identifies the current effective version of the library, determines whether a direct or stepped migration path is required, and provides a systematic plan for refactoring code, updating dependencies, and validating the implementation through build and test cycles.
What it does
- Detects the current effective version of the Play Billing Library in an Android project.
- Calculates a migration path based on the gap between the current and target versions.
- Provides a checklist for API removals, class replacements, and logic shifts.
- Guides the update of build configuration files and SDK requirements.
- Automates the verification process through sequential builds and testing.
- Recommends modern features to implement after a successful upgrade.
When to use it
- When an Android project needs to update its Google Play Billing Library dependency.
- When migrating from legacy versions that use deprecated APIs like SkuDetails.
- When moving to a version that requires higher compileSdk levels.
- When refactoring manual connection management to library-managed reconnection.
Advantages
- Reduces manual effort by identifying specific breaking changes and deprecations.
- Ensures a safe migration path for projects several versions behind.
- Standardizes the refactoring process for complex architectural shifts like ProductDetails.
- Validates the upgrade with automated build and test steps.
Usage examples
- “Help me upgrade my Play Billing Library implementation.”
- The agent will analyze your project's current billing dependency, determine the effective version, and generate a migration plan to the latest stable release.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/android/play-billing-library-version-upgrade/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip play-billing-library-version-upgrade.zip -d .agents/skills
Documentation by Google LLC
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
Primary Check (Build Version) : Locate the project's billing dependency (e.g.,
com.android.billingclient:billing) inbuild.gradle,build.gradle.kts, orlibs.versions.toml.Initial Compilation Test: Attempt to sync and build the project immediately.
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
SkuDetailsis present, treat the baseline as PBL v7 or earlier (regardless of the version string inbuild.gradle).
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.
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.gradleto meet SDK requirements (e.g., "PBL 9 requirescompileSdk35").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 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)
Upgrade to the first major intermediate version in your path.
Run
./gradlew assembleDebugto verify no intermediate breaking changes were missed.Repeat until you reach the final target version.
Step 4: Final Validation Checklist
Smart Checklist Verification:
Open references/version-checklist.md and locate the Smart Version-Specific Checklist.
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.
Tests : Run all unit and implementation tests (
./gradlew test).Clean Build : Verify the project completes a full clean build:
./gradlew clean assembleDebug. Then, run./gradlew syncand./gradlew buildso 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 usingenableAutoServiceReconnection().""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."
Files
- ATTRIBUTION.mdAdded by AutoGineer1015 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md5.5 KiB
- references/android/google/play/billing/release-notes.md78.5 KiB
- references/migration-logic.md4.3 KiB
- references/version-checklist.md3.3 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Google LLC
- Publisher
- Android (Google) (Official)
- Distributed by
- Android (Google)
- Source
- android/skills · play/play-billing-library-version-upgrade · commit bf68e2d
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE.txt)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Google LLC or Android (Google).
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download play-billing-library-version-upgrade.zip