Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

For a new Android app, start with Kotlin: Google recommends it and describes Android development as Kotlin-first. Java remains supported, however, and Kotlin and Java can coexist in one project. The choice is not an irreversible either-or decision; existing code, team skills, and project requirements may make keeping Java—or introducing Kotlin gradually—the more practical path.

How Kotlin and Java compare for Android development

Consideration Kotlin Java
Google’s direction Recommended starting language for new Android apps; new resources are Kotlin-first. Android Developers Supported, though new training, samples, and some resources receive best-effort support. Android Developers
Android Studio and SDK Supported, including Kotlin source files and conversion tooling. Android Developers Supported; Java source can remain in existing projects and coexist with Kotlin. Android Developers
Working with the other language Can call Java code and libraries, which makes incremental adoption possible. Kotlin documentation Can call Kotlin code, although some Kotlin-specific features require interop considerations. Android Developers
Language-specific Android ecosystem Includes Kotlin-focused APIs and tools such as KTX and coroutines, plus Kotlin support for Jetpack Compose. Android Developers The Android platform SDK remains supported, but not every Kotlin-specific API or tool has a Java equivalent. Android Developers

When Kotlin is the better starting point

Choose Kotlin for a new Android app unless a concrete constraint points elsewhere. Google’s Kotlin-first approach means Android documentation, samples, libraries, tools, and training are designed with Kotlin users in mind. That makes Kotlin the most direct path for following current Android learning materials and using Kotlin-specific parts of the ecosystem.

These advantages do not mean every app must use every Kotlin API. The Android platform SDK supports both languages; Kotlin-specific tools such as KTX and coroutines are options, not requirements.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When Java still makes sense

Java remains a supported Android language. Keeping it can be sensible when an app already has substantial Java code, a team is more productive in Java, or a project constraint favors continuity. There is no need to rewrite a working Java app solely because Kotlin is Google’s recommended starting language.

For a new feature in a Java project, Kotlin can be added alongside the existing code. Interoperability lets Kotlin call Java APIs and libraries, so teams can migrate one part at a time rather than converting the entire app at once.

Keep build compatibility separate from language choice

Choosing Kotlin or Java does not by itself determine which Java APIs an Android app can use. Several distinct settings are involved: the JDK that runs Android Studio or Gradle, the Java toolchain used to compile source, Java language compatibility, and the Android API level available at runtime.

Android apps do not automatically get every API in a desktop JDK. API availability depends on the Android version, and desugaring can make some newer APIs usable on earlier Android versions. Android’s build guidance recommends explicitly specifying the Java toolchain for more consistent builds across machines. Check the project’s Android Gradle Plugin, Kotlin plugin, compile SDK, minimum SDK, toolchain, and desugaring requirements together rather than treating the JDK version as the whole compatibility answer. Android Developers: Java versions in Android builds

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose a learning path that fits your experience

If you are new to programming

Start with Google’s Android Basics in Kotlin. The course is designed for learners without prior programming experience, uses Android Studio, and teaches app-building fundamentals in Kotlin.

If you already know Java

Learn Kotlin syntax and nullability, then try it in a small part of an existing Android project. Android Studio can convert Java code to Kotlin, but conversion is a starting point rather than a guarantee of ideal code: review the result and make sure tests still pass. Android Developers

If you want a book

Google’s official resource list includes a book resource titled “Android development with Kotlin.” Check the title, edition, and current availability before choosing a copy. Android Developers: Kotlin resources

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.