§
§ · android app development

Android development, minimum SDK 26.

A Kotlin + Jetpack Compose-first Android practice covering 94 percent of the install base at min SDK 26, with Material 3 dynamic color, Baseline Profiles for launch speed, and Play Store 2026 policy compliance.

§ 01 · the fragmentation question

Android does not ship to one device. It ships to thousands.

The first decision in every Android build is minimum SDK. Too low and you write compatibility code for APIs nobody uses anymore. Too high and you lose the users you wanted to reach. Our default in 2026 is min SDK 26 (Android 8.0), which covers 94.1 percent of active devices while unlocking every modern API most apps actually need. Higher minimums are right for specific Material You requirements; lower minimums only for apps genuinely targeting legacy hardware.

min 24

Max reach.

97.3% coverage. Missing notification channels, adaptive icons, Material You. Compatibility work cost is real.

min 26 · our default

Sensible floor.

94.1% coverage. Notification channels, adaptive icons, autofill, background limits. The meaningful install base without legacy debt.

min 29

Scoped storage era.

84.2% coverage. Gesture nav system, dark theme API, scoped storage. Right for modern storage-heavy apps.

min 31

Material You.

72.8% coverage. Dynamic color, new splash API, stricter background. Right for brands leaning into Material You.

min 33+

Latest-only.

54.1% coverage. Predictive Back, per-app language, Photo Picker. Only when newest APIs are a hard requirement.

target SDK

2026 Play Store.

target SDK 34 or 35 required for new submissions and updates. Separate from min SDK. Non-negotiable.

§ 02 · kotlin + jetpack compose

Compose is the stated future. We ship it.

Jetpack Compose in 2026 has reached full production maturity and is Google's stated future for Android UI. Declarative, Kotlin-native, tightly integrated with Material 3 and the modern Android toolchain. We ship Compose-first on every new build. XML layouts remain acceptable for maintenance of existing codebases and for specific edge cases, but the default is Compose.

compose wins
  • Declarative state model with clear recomposition boundaries
  • Material 3 + dynamic color first-class
  • Animation API ergonomic for complex motion
  • Compose for Wear OS, Compose Multiplatform for sharing with iOS/desktop
  • Preview tooling in Android Studio excellent
where xml still fits
  • Maintaining existing XML-based codebases where conversion cost exceeds value
  • Complex custom ViewGroup needs not yet well-served in Compose
  • Third-party libraries still View-based with no Compose wrapper
  • AndroidView interop when a specific widget has no Compose equivalent
§ 03 · the fragmentation grid, in motion

Thirty-six devices. One minimum SDK.

Fig. 1 · fragmentation grid · 36 devices, one floor
§ 04 · play store 2026 policy

Play Store policy in 2026 is stricter. Be ready before submission.

Google Play has tightened policy requirements consistently since 2022. For 2026 submissions, we run a pre-check covering every item below before hitting Publish. First-rejection rate when the pre-check is clean is under 5 percent.

the 2026 pre-submission pass
  1. target SDK within 1 year of latest (target SDK 34 or 35 in 2026)
  2. Data Safety form completed with accurate data-type disclosures
  3. Privacy policy URL publicly accessible and app-specific
  4. Account deletion flow present for any app with sign-up
  5. Play Integrity API for apps handling payments or sensitive actions
  6. Per-app language settings supported (system-level locale override respected)
  7. Predictive Back gesture properly handled (animation, not just callback)
  8. Minimum 16KB page size support (required for apps targeting Android 15+)
  9. Accessibility minimums: content descriptions on interactive elements, 4.5:1 contrast
  10. App Bundle (AAB) delivery, not APK; signed via Play App Signing
§ 05 · material 3 + dynamic color

Material You is the Android design language in 2026.

Material 3 with dynamic color adapts your app's palette to the user's wallpaper. For min SDK 31+ apps, this is close to a default expectation for premium Android feel. We build a Material 3 theme scaffold with brand tokens that fall back to a fixed color scheme below API 31, and use dynamic color at 31+ with user opt-out. The result feels like a first-class Android citizen on Pixel, Samsung One UI, and most OEM skins.

Editorial Material 3 token map with a left column of five color-role palette swatches labeled primary secondary tertiary surface background with hex values, a middle column showing the type scale, and a right column showing the shape scale, with an amber orb beside the primary color.
Fig. 2 · the token scales · Material 3 palette, type, and shape
tier 01

Material tokens.

Brand color roles (primary, secondary, tertiary, surface) expressed as Material tokens. Typography scale, shape scale, elevation tokens.

tier 02

Dynamic color.

API 31+: dynamic color derives from wallpaper. Your brand color becomes the fallback. Users can opt back to brand-only in settings.

tier 03

Motion + haptics.

Material motion (easing, duration tokens). Haptic feedback on interactive events via HapticFeedbackConstants. Makes the app feel premium.

§ 06 · performance SLA

Baseline Profiles and sub-2-second cold start.

metrictargetnote
cold start< 1.8smid-tier Android, Baseline Profile
warm start< 500msprocess resume
frame rate60 fpssustained scroll + animations
APK split (per-device)< 15 MBABI split + resource qualifiers
ANR rate< 0.20%Play Console vitals
§ 07 · proof

Two archetypes. One consumer, one B2B.

archetype 01 · media + news

Compose-first news app, 300K DAU.

Subscription news app. Jetpack Compose, Material 3 dynamic color, Play Billing subscriptions, offline reading queue via WorkManager, dark theme. Baseline Profile shaved cold start from 2.6s to 1.5s.

DAU
300K
12mo post
cold start
1.5s
Pixel 6 p75
ANR
0.09%
30d
archetype 02 · field service

Rugged-tablet enterprise app.

Enterprise field service app for rugged tablets (Zebra, Panasonic). Min SDK 26 (older device support required). Offline-first with WorkManager sync, barcode scanner integration, signature capture. 18 weeks.

devices
2,400
deployed
offline hrs
12
before sync
crash-free
99.78%
Play Vitals
§ 08 · engagement + fit

Four shapes. Audit names the right one.

shape 01

Readiness audit.

2 weeks. Min SDK decision, policy review, Compose readiness. Refundable.

shape 02

Android MVP.

10-16 weeks. Kotlin + Compose + Play Store submit.

shape 03

Full build.

14-22 weeks. Play Billing, WorkManager, Baseline Profiles, ABI split.

shape 04

Phone + Wear OS.

16-26 weeks. Phone + tablet + Wear OS one codebase.

right fit
  • Android is primary or Android-first for your market
  • Material You + dynamic color matters for premium feel
  • You need Jetpack Compose and Kotlin-native maturity, not a wrapper
  • Play Store policy compliance requires specialist attention
wrong fit
§ 09 · questions

Eight answers.

What minimum SDK should we target in 2026?

min SDK 26 (Android 8.0) is our default for 2026 builds. It covers 94.1 percent of the active install base according to recent Play Store dashboards and unlocks the APIs that most modern Android apps need: notification channels, adaptive icons, background execution limits, autofill, and a clean Kotlin runtime. Going lower to 24 adds only 3 percentage points of coverage at the cost of legacy compatibility work. Going higher to 31 gains Material You dynamic color but loses 22 percent of users. For brands with a specific Material You visual identity requirement, min SDK 31 is worth the trade-off; for everyone else, 26 is the sensible floor.

How much does a native Android app cost in 2026?

US and UK senior Android engineers are $145 to $200 per hour; Indian senior Android engineers are $90 to $135 per hour. A Kotlin + Jetpack Compose MVP with 15 to 25 screens, auth, push, and Play Store submission runs 10 to 16 weeks. A full production build with Material 3 dynamic color, Play Billing, WorkManager background work, Baseline Profiles, and ABI split runs 14 to 22 weeks. A shared Kotlin Multiplatform build targeting Android phone + tablet + foldable + Wear OS runs 16 to 26 weeks. A 2-week audit is refundable. Scoped quote in 48 hours.

Jetpack Compose or XML layouts in 2026?

Jetpack Compose for new builds, always. Compose has reached full production maturity in 2026 and is the stated future of Android UI. The declarative model, Kotlin-native code, preview tooling, and tight Material 3 integration outweigh the small migration cost for teams new to Compose. XML layouts remain acceptable for ongoing maintenance of existing XML-based codebases and for specific edge cases (complex custom ViewGroups, some third-party libraries). For a new Android app in 2026, starting in Compose is the default.

What are the Play Store 2026 policy requirements?

Key requirements for 2026 submissions: target API level must be no more than 1 year behind latest (target SDK 34 or 35 in 2026), Data Safety form completed and accurate, privacy policy URL provided, account deletion flow required for any app with account creation, Play Integrity API for apps handling sensitive actions, per-app language settings supported, Predictive Back gesture respected. Medical, financial, and children's apps have additional specific policies we pre-check. We run a policy pre-check before every submission.

How do you handle Google Play Billing and in-app purchases?

Play Billing Library version 7+ for all new builds. We implement subscriptions, non-consumable and consumable purchases, introductory pricing, promo codes, and family-shared subscription entitlements. Backend verification uses Real-Time Developer Notifications (RTDN) via Google Cloud Pub/Sub for subscription lifecycle events. For brands shipping Apple + Google Play + web, we abstract the purchase layer so the subscription logic stays platform-agnostic. Refund handling and grace period logic are implemented to Play policy requirements.

Do you support Wear OS, tablets, and foldables?

Yes. For tablets and foldables, we use WindowSizeClass to drive adaptive layouts (compact, medium, expanded) from the same Compose code. Foldable-specific features like hinge-aware layouts and outer-inner screen continuation are supported via Jetpack WindowManager. For Wear OS, we build companion apps with Compose for Wear OS, Tiles, Complications, and Watch Face Studio integrations where relevant. We scope Wear OS as an add-on to a phone build when the brand's use case benefits from wrist-first interactions.

How do you optimize app launch time and performance?

Baseline Profiles are the biggest win. They precompile hot paths ahead of first launch, reducing cold-start time by 20 to 40 percent on mid-tier Android. We generate Baseline Profiles from Macrobenchmark tests, ship them as part of the release, and verify their impact in Play Console vitals. Beyond that: R8 full mode for minification, APK split by ABI to reduce per-device download size, App Bundle delivery through Play Asset Delivery for large assets, and WorkManager for deferrable background work that respects Doze and App Standby.

Who owns the Google Play account, signing, and codebase?

You do. Google Play Developer Console account ($25 one-time) under your legal entity. App signing key enrolled in Play App Signing (Google manages the upload key with a backup in your keystore). GitHub repository under your organization from day one. Play Console access under your control with DH engineers as named collaborators, removable any time. On exit: credentials rotated, repository transferred, CI configuration documented, 30-day support tail. No lock-in through signing, tooling, or vendor choice.

Start with a readiness audit.

Two weeks. Min SDK decision, Play Store policy pre-check, Compose readiness, Baseline Profile plan. Refundable. Scoped quote in 48 hours.