// the find
RevenueCat/purchases-android
RevenueCat SDK for Android & Jetpack Compose, easy in-app purchases and subscriptions.
RevenueCat's official Android SDK wraps Google Play BillingClient and their backend API to handle subscription state, receipt validation, and entitlement management. It's the client half of the RevenueCat SaaS platform — you need their backend (free tier exists) to use it. Aimed at Android developers who want to ship subscriptions without building the billing infrastructure themselves.
The entitlement model is genuinely well-designed: you define what 'pro user' means once in the dashboard and the SDK abstracts away which product/platform granted it, which matters a lot for cross-platform apps. Server-side receipt validation is handled transparently — you don't have to touch the Google Play Developer API directly. The api-tester module is a good pattern: compilation-time checks that the public API surface hasn't silently broken, covering both Kotlin and Java callers. Active maintenance is real — releases are frequent and the changelog is detailed.
This is a client SDK for a SaaS backend, not a standalone library — if RevenueCat's servers are down or you need to migrate away, you're in a bad spot. The Paywall UI components require API 24+ while the core SDK supports API 23+, which is a fragmentation headache you'll discover mid-integration. The codegen module (generates typed entitlement accessors from your dashboard schema) is a clever idea but adds a Gradle plugin and network fetch to your build, which will surprise anyone who hits it for the first time on a CI machine with no credentials. No offline-first story: if the device can't reach RevenueCat to verify entitlements, you fall back to cached state with no documented freshness guarantees.