Short answer
Find the billing dependency in your Android build (com.android.billingclient:billing, or the version pulled in by a plugin such as in_app_purchase or RevenueCat), and move it to version 8 or later. Version 9 is the newest in Google’s table, and its migration guide is linked below. Build, upload, and check that the warning clears. If you already upgraded and the warning stays, check that the merged AndroidManifest.xml contains com.google.android.play.billingclient.version.
Why the update is blocked, and the fix
01
The billing library in the app is past its deadline
“Reminder: By Aug 31, 2026, all new apps and updates to existing apps must use Billing Library version 8 or later.” Google, Google Play Billing Library deprecation FAQ
Google retires each Billing Library version on a fixed schedule. As of November 2026, Google’s table lists version 7 with a new app and update deadline of August 31, 2026 and an extension deadline of November 1, 2026, so version 8 is now the minimum. Check the table on Google’s page for the current dates before you plan the work.
02
Upgrade the dependency, not just the number
“All versions of the Google Play Billing Library have a two-year deprecation cycle.” Google, Google Play Billing Library deprecation FAQ
Raising the version in build.gradle is the start. New major versions remove old methods, so the purchase flow, the query calls and the acknowledgement code may need changes. Follow Google’s migration guide for the version you move to, then test a real purchase with a license tester before you release.
// app/build.gradle: use version 8 or later; take the current release from Google’s release notes dependencies { implementation "com.android.billingclient:billing:$billing_version" } // see which billing version actually ships ./gradlew app:dependencies | grep billing03
A plugin or SDK brings its own old version
“Make sure your AndroidManifest.xml file contains com.google.android.play.billingclient.version.” Google, Google Play Billing Library deprecation FAQ
In Flutter, React Native and other cross-platform apps the billing library usually comes from a package: in_app_purchase, react-native-iap, RevenueCat and others. Update that package to a release built on a supported Billing Library version, then run ./gradlew app:dependencies | grep billing, or check the merged manifest, to see which version actually ships.
04
Old builds still work, new uploads do not
“Unmaintained APKs don't need updates; existing apps still work, but new apps and updates must use supported versions.” Google, Google Play Billing Library deprecation FAQ
The deadline only blocks new apps and updates. Users with the current version keep it, and their purchases keep working. The problem shows up the day you need to ship a fix, so plan the upgrade before the next release, not during it.
Checked against the vendor’s docs on : Android Developers: Google Play Billing Library deprecation FAQ (deadline table); Android Developers: Migrate to Google Play Billing Library 9.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
Related: Google Play target API level requirement · RevenueCat products could not be fetched · Google Play version code already used · App Bundle signed with the wrong key