How to develop an app for Android in 2027: tools, steps and Play rules

Install Android Studio, build in Kotlin with Compose, test on an emulator and a phone, target API 36 (37 from August 2027), then sign an AAB.

Read time
19 min
Word count
2.8K
Sections
14
FAQs
8
Share
Two developers review paper app wireframes and a phone mock-up beside a laptop, with Android, Kotlin and Android Studio logos
On this page · 14 sections
  1. What you need before you start
  2. Step 1: Install Android Studio and the SDK
  3. Step 2: Create a Kotlin and Jetpack Compose project
  4. Step 3: Learn the project structure
  5. Step 4: Build the UI with Jetpack Compose
  6. Step 5: Use Google's recommended architecture
  7. Step 6: Test on the emulator and on real devices
  8. Step 7: Set the target API level for Android 17 and Play
  9. Step 8: Sign the release and build an Android App Bundle
  10. Step 9: Publish on Google Play
  11. Common problems and fixes
  12. For IT teams and businesses
  13. How eCorpIT can help
  14. References

Summary. To develop an app for Android, install Android Studio, create a Kotlin project from the Empty Activity template, build the screens in Jetpack Compose, test on the Android Emulator and a real phone, then sign a release and upload an Android App Bundle (AAB) to Google Play. On 11 November 2026 the stable IDE is Android Studio Rabbit 2 (2026.2.2 Patch 1), a download of about 1.5 GB for Windows and Mac. Google lists 8 GB of RAM as the minimum for the IDE alone, 16 GB with the emulator, and 32 GB as recommended. Android 17 (API level 37) was released on 16 June 2026, and Google now calls Android development Compose-first: View-based widgets, Fragments and RecyclerView get critical fixes only. Since 31 August 2026, new apps and updates must target API 36, and Google's blog says API 37 becomes the requirement in August 2027, with no day published yet. New apps must publish as AABs, the upload key should be valid for at least 25 years, and versionCode cannot exceed 2,100,000,000. Publishing costs a one-time US$25, and new personal accounts must run a closed test with at least 12 testers for 14 days before production.

About this article. For developers building a first native Android app, and for IT teams planning one. We checked every step, menu path, limit and date against developer.android.com, the Android Developers Blog and Play Console Help on 11 November 2026, using Android Studio Rabbit 2 and the Android 17 (API level 37) documentation. Menu labels can differ between Studio versions and phone makers, and Play rules change every year. No vendor paid for inclusion. Researched with AI assistance and reviewed by our editorial team.

What you need before you start

Google's toolchain is free until you publish. Sizes come from Google's download page, hardware figures from its install page and the virtualisation rule from its emulator guide.

Item Requirement on 11 November 2026
IDE Android Studio Rabbit 2, 2026.2.2 Patch 1: about 1.5 GB for Windows and Mac, 1.6 GB for Linux, 1.3 GB for ChromeOS
Operating system 64-bit Windows 10 or later, macOS 12 or later, 64-bit Linux with glibc 2.31 or later, or ChromeOS; Windows and Linux on ARM processors are not supported
Memory and disk 8 GB RAM and 8 GB free disk for Studio; 16 GB RAM and 16 GB disk with the emulator; 32 GB RAM recommended
Emulator Intel VT-x or AMD-V enabled in BIOS, or Apple silicon
Language Kotlin, which Google recommends and which Jetpack Compose requires
UI toolkit Jetpack Compose
Test phone Any Android phone with Developer options; wireless debugging needs Android 11 or later
Publishing Play Console account, US$25 once; target API 36 now, API 37 from August 2027

Gemini in Android Studio, Firebase Crashlytics and other cloud integrations work only on the latest stable release and major versions from the previous 10 months. Google names Panda 2 as the oldest supported version, so update if you are older.

Step 1: Install Android Studio and the SDK

Download Android Studio from Google's Android Developers site and accept the SDK licence agreement. Then install it for your platform:

  1. Windows: run the recommended .exe installer. A .zip is also offered: unpack it and launch studio64.exe from the bin folder. For phone testing over USB you may need your manufacturer's USB driver.
  1. macOS: choose the ARM build for Apple silicon or the standard Mac build for Intel, open the .dmg and drag Android Studio into Applications. Google says it is phasing out support for Intel Macs.
  1. Linux: unpack the .tar.gz to a folder such as /usr/local or /opt, then run studio from android-studio/bin. On 64-bit Ubuntu, Google lists some 32-bit libraries to install first.
  1. ChromeOS: turn on Linux, move the .deb into Linux files and install it with apt. Studio on ChromeOS deploys only to a connected phone, not to the emulator.

On first launch the setup wizard downloads the SDK components it needs; accept the defaults and add SDK platforms later from the SDK Manager. Each extra virtual device can take up to 6 GB more disk.

Step 2: Create a Kotlin and Jetpack Compose project

Google's create-a-project guide names Empty Activity as the recommended starting point for all new Compose projects. It includes the Compose dependencies and Material Design setup; the other templates are for legacy codebases.

  1. On the Welcome screen click New Project (or File > New > New Project if a project is open).
  1. In the phone and tablet templates, choose Empty Activity and click Next.
  1. Enter the Name.
  1. Enter the Package name, for example com.yourcompany.notes. By default it becomes both the namespace and the application ID used to publish. Choose carefully: Play Console says package names are unique and permanent, and cannot be deleted or reused.
  1. Choose the Save location. On macOS, use the AndroidStudioProjects folder in your home directory: macOS privacy controls protect Desktop, Documents and Downloads, so project files may not show up correctly there.
  1. Keep Kotlin as the language. Google recommends it, Compose requires it, and Java is supported but not recommended for new projects.
  1. Pick the Minimum API level. Help me choose shows the cumulative share of devices each level reaches. A lower minimum reaches more phones but rules out newer APIs.
  1. Click Finish.

Google has called Android Kotlin-first since 2019. From a terminal or an AI coding agent, Google's Android CLI creates the same project with android create empty-activity --name=MyApp.

Step 3: Learn the project structure

Only a handful of files matter on day one. In Google's layout, main holds the app, test holds local tests that run on your computer, and androidTest holds tests that run on a device.

File or folder What it does When you touch it
app/src/main/AndroidManifest.xml Declares activities, permissions and app metadata Adding permissions, deep links, new entry points
app/src/main/java/(package)/MainActivity.kt Entry point that calls setContent to show Compose UI Every day
app/src/main/res/ Strings, icons, themes and other resources Text, translations, launcher icon
app/build.gradle.kts Module build file: application ID, minSdk, targetSdk, versionCode, dependencies Version bumps, libraries, signing
gradle/libs.versions.toml Version catalogue that pins library versions Upgrading libraries

Gradle looks for the version catalogue in gradle/libs.versions.toml by default. Play rules land in the module build file. The exact DSL differs between Android Gradle Plugin versions, and minSdk = 24 is only an example:


            android {
    namespace = "com.yourcompany.notes"
    compileSdk = 37

    defaultConfig {
        applicationId = "com.yourcompany.notes"
        minSdk = 24
        targetSdk = 36      // Play's floor since 31 August 2026; plan for 37 by August 2027
        versionCode = 1     // must rise with every upload; Play's maximum is 2100000000
        versionName = "1.0"
    }
}
          

Each release must use a higher versionCode than the last, and Play refuses an upload that reuses one.

Step 4: Build the UI with Jetpack Compose

Compose builds screens from Kotlin functions marked @Composable. When state changes, Compose calls the affected functions again with the new data, a process Google calls recomposition. A trimmed version of the template's MainActivity looks like this:


            class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MaterialTheme {
                Greeting(name = "Android")
            }
        }
    }
}

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Text(text = "Hello $name!", modifier = modifier)
}
          

Three changes from 2026 should shape a new app:

  • Compose first, Views frozen. Google's 16 June 2026 Android 17 post says all new Android APIs, libraries, tools and guidance will be built only for Compose, while android.widget Views and View-based libraries such as Fragments, RecyclerView and ViewPager get critical bug fixes only. New XML layouts mean migrating later.
  • No orientation lock on large screens once you target API 37. On large screens (smallest width above 600 dp), Android 17 ignores screenOrientation, setRequestedOrientation(), resizeableActivity=false and aspect-ratio limits for apps targeting API 37. Games, going by their Play category, are exempt.
  • Simple guards prevent the common breakages. Google's February 2026 guidance suggests Modifier.widthIn(max = ...) so buttons and fields do not stretch across a tablet, and verticalScroll so a Save button cannot end up off-screen on a foldable or tablet in landscape.

Step 5: Use Google's recommended architecture

Anything you intend to maintain should follow Google's guide to app architecture, which asks for at least two layers:

  • UI layer: composables plus state holders, usually a ViewModel, that expose screen state.
  • Data layer: repositories and data sources (network, Room database, DataStore) that hold the business logic and app data.
  • Domain layer (optional): use cases that simplify or reuse logic between the two. Google says to add it only when needed.

The guide also recommends unidirectional data flow, Kotlin coroutines and flows, dependency injection (Google documents Hilt), and R8 plus Baseline Profiles, measured with Macrobenchmark. R8 matters more on Android 17, which enforces app memory limits based on a device's total RAM and terminates processes that exceed them; Google points to R8 as one way to cut the memory footprint.

Step 6: Test on the emulator and on real devices

Test on both: the emulator covers many Android versions and screen sizes, while a real phone shows true performance, camera behaviour and manufacturer quirks.

Emulator. Open Device Manager (More Actions > Virtual Device Manager on the Welcome screen, or View > Tool Windows > Device Manager in a project), click +, then Create Virtual Device, and pick a phone or tablet profile and a system image. Use an Android 17 (API 37) image to test the new behaviour, then click Run. If it will not start on a PC, check that VT-x or AMD-V is enabled in BIOS, where Google notes it may be off by default.

Physical phone over USB.

  1. Enable Developer options: find Build number (Settings > About phone on a Pixel; the path differs by manufacturer) and tap it seven times.
  1. In Settings > Developer options, turn on USB debugging.
  1. Set up the computer. macOS and ChromeOS need nothing extra. Windows may need the OEM USB driver. On Ubuntu, add yourself to the plugdev group with sudo usermod -aG plugdev $LOGNAME, log out and back in, and install udev rules with apt-get install android-sdk-platform-tools-common.
  1. Plug in, accept the RSA key prompt on the phone, and click Run in Android Studio.

Wireless debugging. Android 11 and later can deploy over Wi-Fi. Put the computer and phone on the same network, update SDK Platform Tools, turn on Wireless debugging on the phone, choose Pair Devices Using Wi-Fi from the run configurations menu, then pair with a QR code or a six-digit code. Google says Android 17 with adb 37.0.0 brings adb Wi-Fi 2.0, which reconnects automatically on a trusted network. Device mirroring then shows the phone in Studio's Running Devices window. Apps installed through ADB do not need developer verification.

Automated tests. Put logic tests in src/test and UI or integration tests in src/androidTest. Compose has its own test rules, created with createComposeRule, for checking UI state. For wider coverage, Google points to Firebase Test Lab for cloud-hosted real devices, although Firebase has deprecated Test Lab and plans to shut it down fully on 30 September 2027.

Step 7: Set the target API level for Android 17 and Play

Your targetSdk tells Android which behaviour rules your app was tested against, and Google Play sets a floor. The current rule is from Play Console Help; the 2027 month is from Google's February 2026 blog post.

Date New apps and updates must target Existing apps stay visible to new users on newer Android only if they target Notes
31 August 2026 API 36 (Android 16); Wear OS and Automotive 35; TV and XR 34 API 35 Extension requests ran to 1 November 2026
August 2027 API 37 (Android 17) Not yet published Month only; day, extensions and other form-factor floors not yet on Play Help

Our guide to the Android 17 (API 37) behaviour changes covers each targeted change, and our August 2027 API 37 checklist the calendar.

Changes that apply at targetSdk = 37, per Google's Android 17 post:

  • No opt-out from resizing and orientation on large screens (games exempt).
  • A lock-free MessageQueue, which breaks code that reflects on its private fields.
  • static final fields can no longer be changed through reflection or JNI.
  • Access to standard SMS one-time passwords is delayed by three hours; Google recommends the SMS Retriever or SMS User Consent APIs.
  • Local network access needs the new ACCESS_LOCAL_NETWORK permission or a system picker.
  • Native libraries loaded with System.load must be read-only.
  • Direct NPU access needs a FEATURE_NEURAL_PROCESSING_UNIT manifest declaration.

The same post says Certificate Transparency is on by default in Android 17, so test any custom certificate pinning or private certificate authorities. If you use CameraX, Google says to move to version 1.5.2 or 1.6.0 and later to avoid a crash on Android 17 devices.

Step 8: Sign the release and build an Android App Bundle

Android installs only signed apps, and Play has required AABs for new apps since August 2021.

  1. In Android Studio choose Build > Generate Signed Bundle/APK.
  1. Select Android App Bundle and click Next.
  1. Below Key store path, click Create new. Set the keystore location and password, a key alias and key password, and Validity (years) of at least 25, as Google recommends. Because of a known issue, Google asks you to use the keystore password for the key too.
  1. Pick the release build variant and finish.

From the command line, ./gradlew bundleRelease builds the release bundle; Gradle signs it only if the release build type has a signing configuration.

The first time you publish an app on Google Play, you must set up Play App Signing. Google then keeps the app signing key, and you sign uploads with a separate upload key, which must be an RSA key of at least 2048 bits. If the upload key is lost or compromised, you can request a reset in Play Console. Apps created before August 2021 may still self-sign; for them, a lost signing key means no more updates.

Play measures compressed download size: 500 MB for the base module, 4 GB for all modules and install-time asset packs together, and 34 GB in total including on-demand assets. Apps still publishing APKs are held to the legacy 100 MB limit, and users on mobile data see a non-blocking size warning for apps above 200 MB. Turn on R8 shrinking for the release build to cut size and memory.

Step 9: Publish on Google Play

Register a Play Console account (you must be 18 or older; US$25 once, by credit or debit card, as prepaid cards are not accepted), verify your identity, create the app, upload the AAB to a testing track, complete the store listing and App content declarations such as the privacy policy, Data safety form and content rating, then roll out. At the European Central Bank's 10 November 2026 reference rates, a dollar was worth about ₹93.93 (105.3315 rupees per euro divided by 1.1214 dollars per euro), so the fee is about ₹2,348 (25 x 93.93) before any bank markup. Two rules catch first-time developers:

  • Personal accounts created after 13 November 2023 must run a closed test with at least 12 testers who stay opted in for 14 days in a row, then apply for production access. Google says that review usually takes seven days or less but can take longer.
  • Device verification: new personal account owners must confirm access to a real, non-rooted phone running Android 10 or later through the Play Console mobile app.

Organisation accounts need a D-U-N-S number, which Dun & Bradstreet issues free. Our companion guide on how to upload an app on the Play Store walks through each screen.

Common problems and fixes

These fixes come from Google's pages cited in the steps above.

Problem Likely cause Fix
Emulator will not start or is very slow Virtualisation off, too little RAM Enable VT-x or AMD-V in BIOS; Google lists 16 GB RAM for Studio plus emulator
Phone not listed in Studio USB debugging off, missing Windows driver, Linux plugdev group, RSA prompt not accepted Run Tools > Troubleshoot Device Connections, which can also restart the ADB server
Project files missing on macOS Project saved in Desktop, Documents or Downloads Move it to the AndroidStudioProjects folder in your home directory
Play Console rejects the bundle targetSdk below API 36 Raise targetSdk and retest
Layout breaks on tablets after targeting 37 Orientation lock now ignored on large screens Build adaptive layouts; test on tablet and foldable emulator profiles
Gemini features missing in Studio Studio older than Panda 2 Update through Help > Check for Updates (Android Studio > Check for Updates on macOS)

For IT teams and businesses

  • Choose the account type early. Company apps belong in an organisation account, not an employee's personal one. Google requires an organisation account for financial, health, government and approved VPN apps.
  • Treat signing keys as production secrets. Keep the upload keystore and passwords in a secrets manager and sign in CI; with Play App Signing, a lost upload key can be reset.
  • Plan for developer verification on staff phones. Google says verification will extend to all apps on certified Android devices in 2027. Its FAQ exempts only apps delivered through your organisation's store to managed devices, and still recommends registering them in case they are installed from another source or on an unmanaged phone. Our developer verification plan for apps outside Play covers registration.
  • Know the target API exemption. Play's target API rules do not apply to permanently private apps restricted to one organisation for internal use.
  • Plan the Data safety answers early. Google says you alone are responsible for accurate declarations, including data collected by third-party SDKs, so build a data inventory before launch.
  • Budget for the annual target API bump. Play raised the floor in August 2025 and August 2026 and has named August 2027 next. Put a target SDK upgrade, a regression run and library updates into every year's roadmap.

How eCorpIT can help

eCorpIT is a Gurugram-based technology organisation, founded in 2021, assessed at CMMI Level 5 and MSME certified, with senior-led engineering teams working across AWS, Microsoft and Google platforms. Our Android engineers build native apps in Kotlin and Jetpack Compose, set up release signing and CI, and plan the yearly target API upgrade; see our page to hire Android developers. Talk to us at /contact-us/.

Last updated: 11 November 2026.

References

  1. Download Android Studio and App Tools — Android Developers
  1. Install Android Studio (last updated 5 November 2026) — Android Developers
  1. Android 17 is here, 16 June 2026 — Android Developers Blog
  1. Target API level requirements for Google Play apps — Play Console Help
  1. Prepare your app for the resizability and orientation changes in Android 17, 13 February 2026 — Android Developers Blog
  1. About Android App Bundles — Android Developers
  1. Sign your app — Android Developers
  1. Version your app — Android Developers
  1. Get started with Play Console — Play Console Help
  1. App testing requirements for new personal developer accounts — Play Console Help
  1. Configure hardware acceleration for the Android Emulator — Android Developers
  1. Android Studio Rabbit 2 release notes and Cloud services compatibility — Android Developers
  1. Create a project (last updated 25 September 2026) — Android Developers
  1. Create and set up your app — Play Console Help
  1. Android's Kotlin-first approach — Android Developers
  1. Projects overview — Android Developers
  1. Migrate your build to version catalogs — Android Developers
  1. Thinking in Compose — Android Developers
  1. Guide to app architecture — Android Developers
  1. Create and manage virtual devices — Android Developers
  1. Configure on-device developer options — Android Developers
  1. Run apps on a hardware device — Android Developers
  1. Android developer verification: frequently asked questions — Android Developers
  1. Test your Compose layout — Android Developers
  1. Firebase Test Lab (deprecation notice) — Firebase (Google)
  1. Build your app from the command line — Android Developers
  1. Use Play App Signing — Play Console Help
  1. Optimize your app's size and stay within Google Play app size limits — Play Console Help
  1. Prepare your app for review — Play Console Help
  1. Euro foreign exchange reference rates, 10 November 2026 — European Central Bank
  1. Device verification requirements for new developer accounts — Play Console Help
  1. Choose a developer account type — Play Console Help
  1. Android developer verification — Android Developers
  1. Provide information for Google Play's Data safety section — Play Console Help

Frequently asked

Quick answers.

01 How long does it take to develop an Android app?
A template app can run on the emulator soon after Android Studio and its SDK finish installing. A store-ready release depends on scope, design and backend work, so there is no honest single figure. A new personal Play account also needs a 14-day closed test, then a production access review that Google says usually takes up to seven days.
02 Should I use Kotlin or Java for Android development?
Use Kotlin. Google's create-a-project guide calls Kotlin the recommended language and says Java is supported but not recommended for new projects. Jetpack Compose requires Kotlin, and since June 2026 Google builds new Android APIs, libraries and guidance only for Compose, so a Java-first app will fall behind quickly.
03 Do I need a Mac to develop Android apps?
No. Android Studio runs on 64-bit Windows 10 or later, macOS 12 or later, 64-bit Linux with glibc 2.31 or later, and ChromeOS, though not on Windows or Linux machines with ARM processors. Google lists 8 GB of RAM for the IDE and 16 GB with the emulator. You need a Mac only to build an iOS version.
04 Can I develop an Android app for free?
Yes. Android Studio, the SDK, the emulator, Kotlin and Jetpack Compose cost nothing. You pay only to publish: a one-time US$25 Play Console fee. At the European Central Bank reference rates for 10 November 2026, about ₹93.9 per dollar, that is roughly ₹2,350 before any bank markup. Prepaid cards are not accepted.
05 What target API level does Google Play require in 2027?
Since 31 August 2026, new apps and updates must target API 36 (Android 16), with lower floors for Wear OS, Automotive, TV and XR. Google's 13 February 2026 blog says API 37 (Android 17) becomes the requirement for new apps and updates in August 2027. Play Help had not published the exact day by 11 November 2026.
06 What is the difference between an APK and an AAB?
An APK is an installable package. An Android App Bundle is a publishing format that Google Play turns into optimised APKs for each device. Play has required bundles for new apps since August 2021. A bundle's base module can be 500 MB compressed, while apps still publishing APKs keep the legacy 100 MB limit.
07 Do I need a real Android phone, or is the emulator enough?
The emulator covers most development and lets you test many API levels and screen sizes. You still need a physical phone for two reasons: real-world performance and camera testing, and Play Console device verification, which asks new personal account owners to confirm access to a non-rooted phone running Android 10 or later.
08 Should I build native Android or use Flutter or React Native?
Native Kotlin and Compose get new Android features first, because Google now builds new Android APIs and libraries for Compose. Cross-platform frameworks suit teams shipping iOS and Android from one codebase, though support for new platform features can lag. If iOS matters from launch, compare both approaches on your own feature list before you start.

About the author

Manu Shukla

Founder & Director

Founder of eCorpIT. Hands-on engineer leading senior-only delivery for AI apps, custom software, and cloud systems for global clients.

Subscribe

One engineering note a week. No fluff, no spam.

Senior-architect playbooks on AI agents, mobile apps, cloud, security, data, and marketing — delivered every Wednesday.

Past the reading

Read enough. Let's build something.

A senior architect responds in 24 working hours with scope, indicative cost, and a timeline. NDA before any technical conversation.

Loading search…

Browse all guides