1. Home
  2. Services
  3. Mobile Apps
  4. Android Apps
Android app development

Android app development for Google Play and rugged handhelds

ScalaCode is an Android app development company that writes native apps in Kotlin and Jetpack Compose. We ship consumer apps through Google Play and replace legacy handheld software on Zebra and SUNMI devices for retail and hospital teams.

Clutch top developers awardGoodFirms reviews badge

1,300+ clients in 45+ countries
Clutch 4.8/5 from 33 verified reviews

A hand holding an Android phone open on the Google Play Store
500+

projects shipped since 2012

Trusted by teams at

NikeVolkswagenSonyMcDonald'sDomino'sAirtelBudweiser
The short answer

What Android app development covers

Most of the effort on Android goes into the spread of devices and OS versions your users carry.

What is Android app development?
Android app development is the design, engineering and release of applications for phones, tablets and handheld devices running Google's Android OS, usually written natively in Kotlin with Jetpack Compose. It covers the app itself, testing across device makers and Android versions, the backend it calls, and publishing through Google Play or direct installation on company devices.

Related: mobile app development for iOS and cross-platform apps.

What we build

Kotlin app development: the Android apps we build

Some of our Android apps reach the public through Google Play. Others run on company handhelds inside stores and hospital storerooms.

Book an Android strategy call

Consumer apps on Google Play

Kotlin and Jetpack Compose apps with payments, push notifications and live updates. The TipStars Android client is one of them, running on the same Laravel API as its iOS app.

KotlinCompose
Read the TipStars case study

Rugged handheld and POS apps

Stock, order and storeroom apps for SUNMI and Zebra devices, with barcode scanning built into every workflow and screens designed to keep input errors low.

SUNMIZebra

Legacy handheld replacement

Software from DOS and Windows handhelds rebuilt as Android apps, delivered workflow by workflow so stores and wards keep running during the switch.

Read the SHG Group case study

Offline-first field and store apps

Apps that keep working without a signal. Data is held in SQLite on the device and syncs with your back-office system once the device reconnects.

Connected vehicle and device apps

Companion apps that read live data from vehicles or hardware and send commands back, such as the CarKenny app for tracking, remote locking and EV charging control.

Takeovers of existing Android apps

A technical audit of the code, build setup and open crashes comes first, then a stabilisation sprint before new features. Java modules can stay in place, since Kotlin calls Java code directly.

Still running stock or storeroom work on an old handheld?

Tell us the device, the workflows and the system it syncs with. We will outline a phased move to Android that keeps your teams working.

Book an Android strategy call
Choosing an approach

Android native development or cross-platform: when Kotlin is the right call

Pick native Kotlin when Android is your main platform or the app depends on device hardware. Pick Flutter or React Native when you need iOS and Android from one budget and the app is mostly screens, forms and API calls.

Native Android (Kotlin)Cross-platform (Flutter, React Native)
Best forAndroid-first products, company-issued handhelds, apps built around scanners, cameras or vehicle hardwareConsumer and business apps that need iOS and Android at launch
Device and vendor SDKsCalled directly from Kotlin, the language the device makers documentCalled through native modules or plugins that someone has to write and maintain
CodebasesOne Android codebase, plus a separate iOS app if you need oneOne shared codebase for both platforms
Where it falls shortA second platform means a second team and a second codebaseHardware-heavy and offline-heavy apps end up with a lot of native code anyway

For iOS, Flutter and React Native work, see our mobile app development services.

Rugged and enterprise devices

Building for rugged Android handhelds

Store and storeroom apps fail in different ways from consumer apps. These are the patterns we used on the RMEPOS and SHG Group builds.

Offline first, sync on connect

Every scan and count is written to SQLite on the device first. The app syncs with the EPOS or back-office system when the device connects, so a dead spot in the stockroom loses nothing.

Scan→Local SQLite→Queue→Sync

Large files without a frozen screen

RMEPOS import and export files run past 100,000 lines. Parsing runs on Kotlin coroutines through the Android File API, so the screen stays responsive while the file loads.

EPOS file→Coroutines→SQLite→Screen

Barcode scanning in every workflow

Price checks, stock counts, issues, returns and patient charges all start from a scan, which cuts manual typing on hardware used all day.

Scan→Look up→Confirm→Record

Phased rollout by workflow

Orders and deliveries go live first, then price checks, stock takes and transfers. Each phase ships to devices while the old terminal still covers the rest.

Phase 1→Phase 2→Phase 3→Retire old
RMEPOS Android app main menu with price maintenance, stock take, orders, deliveries and transfer options beside a new delivery form
Case study · Android POS modernisation

RMEPOS: an Android stock and order app for SUNMI L2S Pro terminals

ScalaCode replaced RMEPOS's DOS-based Unitech HT630 stock terminal with an Android app for rugged SUNMI L2S Pro devices. Store teams handle orders, deliveries, price checks, stock takes and transfers offline, and data syncs with the EPOS system when the device connects.

Offline-first

stock and order operations

KotlinAndroid SDKJetpack ComposeSQLite
Read the RMEPOS case study
A design system with interface components on a monitor
How we work

How we build and release an Android app

A test build on your devices every two weeks, through the Google Play internal testing track or direct install on company hardware.

  1. 01

    Discovery and device list

    Your users, workflows and constraints, plus the target device list taken from your analytics or the hardware you deploy. Legacy workflows and data formats are mapped here when we replace an old system.

    Week 1
  2. 02

    Compose design system and team

    Components, type and colour set up in Jetpack Compose before screens are built. You interview and approve each engineer.

    Week 1 to 2
  3. 03

    Sprint delivery

    Two-week sprints in your tracker, GitHub or GitLab, code review and CI. Automated tests run on every change, and every build goes through staging.

    Ongoing
  4. 04

    Pilot and Play release

    A pilot group of users or stores gets the release first through a Play testing track, then the wider rollout follows. We handle the Play Console listing and policy forms.

    Per release
  5. 05

    Maintenance and OS updates

    The team that built the app handles crash monitoring, new Android versions and Google Play target API updates.

    After launch
Tech stack

The Android stack we work in

Kotlin first, with Java where an existing codebase or vendor SDK needs it.

Languages
KotlinJava
UI
Jetpack ComposeXML layouts
Concurrency
Kotlin Coroutines
Data
SQLiteRoomAndroid File API
Architecture
HiltAndroid SDKAndroid Studio
Testing
EspressoJUnit
Devices
Zebra handheldsSUNMI L2S ProPhones and tablets
Release and monitoring
Google Play ConsoleFastlaneGitHub ActionsFirebase CrashlyticsSentry
Security

Device data, access and compliance

Handhelds get lost and phones get shared, so data protection on the device is part of the build spec. SOC 2, HIPAA or GDPR controls are written into the scope during discovery.

ISO 9001GDPR

Data on the device

Data held on the handset gets password protection and secure storage, as on the RMEPOS app.

Data in transit

Every sync and API call between the app and your systems runs over HTTPS.

Your repositories and pipeline

We work in your GitHub or GitLab, code review and CI, so every change is traceable.

Certified delivery process

Delivery follows an ISO 9001:2015 certified quality process.

ScalaCode team members at their desks on the Noida office floor
Since 2012

One team, 14 years of shipping

500+

projects shipped since 2012

1,300+

clients across 45+ countries

50+

AI systems running in production

4.8/5

on Clutch, from 33 verified reviews

Client reviews

Rated 4.8/5 by the clients we build for

Verified reviews from Clutch and GoodFirms, and clients on camera.

Clutch4.8
★★★★★

33 verified reviews on Clutch

Roddy of RM EPOS in a video review
YouTube video reviewRoddyFounder, RM EPOS
Trustpilot review★★★★★
“The application was basically built from scratch, and was complicated, as the software was to be integrated with a certain Medical EHR software.”
Stephen HolmesCEO, Steve Holmes Group (SHG)Healthcare Android app integrated with a medical EHR
Clutch review★★★★★
“The iOS and Android apps exceeded the expectations of the internal team.”
Carolyn DareDirector, Empowered AchieveriOS and Android apps
Clutch review★★★★★
“The team helped me developed an app for IOS and Android and were always on point to address my requests.”
Simon KelyanskiAEiOS and Android app
Trustpilot review★★★★★
“The team was easy to communicate with, kept us updated, and delivered an app that looks modern and works smoothly on both iOS and Android.”
Pascal YammineMobile app
YouTube video review★★★★★
“Their approach, dedication and project execution played a critical role in TipStars' success.”
James EllisFounder, TipStarsArtist tipping app
GoodFirms review★★★★★
“They built a high-performance, AI-powered platform that transformed video engagement for learning.”
Andrei LaperieFounder, Kwizie.aiAI video learning platform (web development)
Clutch review★★★★★
“They gave us clear timelines and met them.”
Robert L. TriefusCEO, Stone IslandMobile shopping app for a fashion company
Questions buyers ask

Android app development FAQs

Ask anything not covered here on the call.

How much does Android app development cost?

A first Android release built as an MVP starts from $9,999 for one platform and the core workflow. Larger apps and handheld replacements get a fixed quote after a free discovery sprint. Dedicated Android engineers start from $1,799 a month, full-time.

Should we build native Android or use Flutter or React Native?

Build native in Kotlin when Android is your main platform, when the app runs on company handhelds, or when it depends on scanners, cameras or vehicle hardware. Choose Flutter or React Native when you need iOS and Android at launch on one budget. Our mobile app development page compares the options in more detail.

How long does it take to build an Android app?

An Android MVP takes 6 to 8 weeks after a discovery sprint of 1 to 2 weeks. Replacing legacy handheld software runs in phases, one group of workflows at a time, so the timeline depends on how many workflows the old system covers.

Can you build apps for Zebra, SUNMI or other rugged Android devices?

Yes. We built the RMEPOS stock and order app for SUNMI L2S Pro terminals and the SHG Group materials management app for Zebra handhelds. Both use barcode scanning throughout and store data on the device for offline work.

Can you replace our Windows or DOS handheld software with an Android app?

Yes. RMEPOS moved from a DOS Unitech HT630 terminal and SHG Group from Windows handhelds. We study the legacy workflows and data formats first, then deliver the Android app in phases so teams keep working during the switch.

How do you test across Android devices and versions?

We agree a target device list in discovery, based on your analytics or the hardware you deploy, and test against it. Espresso and JUnit tests run automatically on every change, and every release goes through staging before it reaches users. Apps for automotive clients add Android Auto to that test matrix.

Do you handle Google Play submission and policy updates?

Yes. We prepare the Play Console listing, testing tracks and policy declarations, and respond to review feedback. After launch we keep the app current with new Android versions and Google Play target API requirements.

Can you take over our existing Android app?

Yes, after a technical audit of the code, build setup and crash history. Most takeovers start with a stabilisation sprint of about four weeks before new feature work.

Who owns the code and the Google Play account?

You do. You own the source code and IP under the agreement signed at discovery, and we recommend publishing under your own Google Play developer account so the listing stays yours.

Their approach, dedication and project execution played a critical role in TipStars' success.
James EllisFounder, TipStars
Free 30-minute strategy call

Get an Android plan for your app or device fleet

  • A free 30-minute call
  • Native Kotlin or cross-platform, with the reasons
  • What it costs and how long it takes
James Ellis

“Their approach, dedication and project execution played a critical role in TipStars' success.”
James Ellis, Founder, TipStars

Book your Android strategy call

Takes 20 seconds