Android App Development Services

Android apps that work on the phones people actually own

Not just the flagship on a developer's desk. Android runs on a huge spread of screen sizes, chip speeds, and OS versions, and an app that only feels right on new hardware feels broken to most of your users.

Published under your Play Console account Tested on low-end devices, not only new ones Released in stages, not all at once

The defining constraint

Android isn't one device. It's a spread.

This is the single biggest difference from building for iOS, and it's where Android budgets get underestimated. The work isn't harder, there's just more surface to cover.

What has to be covered Illustrative
Device class
Current OS
One back
Older
Recent flagship
Mid range
Budget device
Large screen
Filled marks are combinations worth testing. Which ones matter is decided from your own users, not from a general chart.
  • Your analytics decide the matrix. Every app has a different device profile depending on market and audience. We set the support range from your own numbers rather than a default.
  • Budget hardware is the real test. Anything that feels fine on a fast phone can be unusable on a cheap one. Performance work targets the slow end, because that's where users are lost.
  • Older OS versions stay in use for years. Android updates reach devices slowly and many never get them at all. How far back to support is a cost decision made openly.
  • Screen sizes are continuous, not fixed. Layouts have to flex rather than target set dimensions, including tablets and foldables where relevant.
  • Manufacturers change things. Some vendors modify behaviour around notifications and background tasks, which is why anything depending on those gets tested on real hardware.

Google Play

Easier to get in. Easier to get removed.

Play review is generally lighter than the App Store, but enforcement continues after you're live and can pull an app with little warning. The requirements matter more than the initial approval.

Requirement 01

A Play Console account in your name

Registered to your business, with your identity verified. It owns your app permanently, so it should never sit under an agency, including ours.

Requirement 02

The data safety declaration

You declare what the app collects and shares, and it has to match reality and your privacy policy. Mismatches are a common cause of enforcement action.

Requirement 03

Target level keeps moving

Google requires apps to target a recent Android version and raises that bar annually. Miss it and your app stops being visible to new users, without anything having broken.

Requirement 04

Permissions get justified

Sensitive permissions like location or storage need a stated reason, and some need a declaration form. Asking for more than you need creates problems at review.

The consequence worth planning for is not rejection at launch. It's an app that has been live for two years quietly falling out of compliance because nobody was maintaining it, and getting delisted. That's why the annual maintenance conversation happens before the build starts rather than after.

How we test

Four audiences before the public one

Play gives you release tracks that most projects never use properly. Used well, they mean problems are found by five people rather than five thousand.

Track 01

Internal

Us and you, on real devices

Builds go out continuously to a small named list. This is where the obvious things get caught, and where you see progress rather than hearing about it.

Track 02

Closed

Your team and a few friendly users

People who weren't in the room while it was designed. They use it wrongly, which is exactly the point, and their devices are the ones you didn't think to test.

Track 03

Open

Anyone who opts in

Optional, and useful when device variety matters more than control. It gets you crash data from hardware combinations nobody could have anticipated.

Track 04

Production

The public, gradually

Even here the release doesn't go to everyone at once. That's the next section, and it's the single most useful habit in Android releasing.

Releasing

Every release goes out in stages

Play lets you release to a percentage of users and increase it as crash and rating data comes in. If something is wrong, it reached a fraction of your base instead of all of it.

A typical rollout

Start
Watch
Widen
Everyone

A small slice first, held for a day while crash rates settle

Increase only if the numbers look the same as the previous version

Halt and fix if anything moves, before most users ever see it

Full release once it's boring

This is also why Android is more forgiving than iOS to ship on. A bad release can be stopped partway rather than waiting on a review queue to push the fix, which changes how much risk a launch actually carries.

Which build

Android only, both, or one codebase?

Worth pricing all three before committing, because the right answer depends on your users and how device dependent the app is, not on a general rule.

This page

Native Android

  • Your users are overwhelmingly on Android
  • The app leans hard on device features or background work
  • Performance on low-end hardware is critical
  • You want the deepest access the platform allows

Both, separately

Native on each platform

  • Both audiences are large and equally important
  • The app is demanding enough that shared code would compromise it
  • You can fund two builds and two ongoing maintenance streams

One codebase

Cross-platform

  • You need both platforms and the app is mostly screens and data
  • Budget matters more than squeezing out the last of the performance
  • You'd rather maintain one codebase than two

Common questions

Questions we get about Android apps

From your own data, not a general recommendation. If you already have a website or an existing app, the device and OS breakdown is usually available and it answers this properly.

Each additional older version adds testing and sometimes workarounds. We'll tell you what each step back costs so it's a decision rather than an assumption.

Not meaningfully. The coding effort is comparable, and Android usually needs more testing time because of the device spread, which offsets any savings elsewhere.

Where the cost genuinely differs is releasing. Android has no review queue in the same sense, so shipping updates is faster and less disruptive to plan around.

Most removals come from policy issues rather than anything technical, usually permissions, data declarations, or an outdated target level. Nearly all are preventable with maintenance.

If it happens, there's an appeal process and a fix path. The bigger risk is nobody noticing, which is why someone should be watching the console even on a stable app.

Both, with real devices deciding anything that matters. Emulators are fine for layout work and useless for judging performance, battery behaviour, or manufacturer quirks.

The important devices to test on are the slow ones your users own, not the fast one in the office.

Yours. We're added as users on your console and that can be revoked at any time without affecting the app or its listing.

The signing key matters just as much. If it's lost or held by someone else, updating your app becomes a serious problem, so key handling is agreed in writing at the start.

Usually, and the first things to establish are whether you have the source code and the signing key. Without the key, updates to the existing listing aren't possible.

After that it's a review of how current the code is. An app untouched for a couple of years often needs upgrading before any new feature can be added.

Android development is part of our app development service

If you need both platforms, compare two native builds against one cross-platform build before committing to either. Pricing sits on the main app development page.

App development

Other app services

Tell us who's using it and on what

Thirty minutes on the app, your users' devices, and whether native Android is the right build for it.

Or email hello@culmen.digital
Book a free strategy call