Google I/O 2024 has come and gone, full of colorful graphics — that were derided by OpenAI CEO Sam Altman, who apparently likes to make all his presentations from an airport lounge — and flashy announcements backed up by substantive new updates to Jetpack Compose and Kotlin Multiplatform, as well as the second beta of Android 15.
But if there was anything Google really wanted to get across at I/O, it’s that AI is the future of both Google and Android, this future is right now, and you love this and are thrilled it’s happening.
Watch the full developer keynote here and count how many times they mention AI (it’s 120 times):
Read on for a rundown and some of our thoughts below, starting with Google’s Android-related Gemini announcements.
AI is now in your developer tools
Gemini-associated features were added to Android Studio last year, but Google announced several big updates:
An upgrade from Gemini 1.0 to 1.5, coming later in the year. The machines are getting smarter and you’ll soon be able to put their expanded speed and brainpower to use. The biggest difference between 1.0 and 1.5 is its support of up to 1,000,000 tokens in production, which is far more than any other popular LLM can currently handle and 31x more than the 32,000 token support of 1.0.
Gemini 1.5 can process up to 1 hour of video, 11 hours of audio, and codebases with over 30,000 lines of code or over 700,000 words. Imagine using the power of a small midwestern city to ask a robot to write 30,000 lines of code that you can then spend the next six months debugging, or to rewrite all of Pride and Prejudice with Mr. Darcy replaced by Yoda. Soon, you won’t need to imagine it.
What if GitHub Copilot, but by Google? Gemini Code Assist provides a code suggestions prompt, which can either write entirely new code or transform existing code to match your request. Any updates or changes are shown in a diff so you can give this new code a look before deciding if you’d like to use it or not.
Gemini crash reports analysis in App Quality Insights. Incorporating data from Firebase Crashlytics and Android Vitals into Android Studio, Gemini can analyze your crash reports, diagnose the problem, suggest a solution, and even recommend next steps with links to relevant documentation. If experience (and anecdote) is any indicator, those suggestions are as likely to be wrong as they are to be right, but it does give you a good place to start thinking through the potential causes and solutions of problems.
AI is now in your app (if you want that)
Why should you, a developer, be the only person getting to enjoy AI? You can also put Gemini in your app, delighting your users with an answer to the question: what if your phone could pass the Turing test? Or what if your phone could summarize a PDF or article you’re reading in-app so you could stop reading it and do something else?
Gemini API starter templates can get you started building features for your own apps. If you’re not sure what you might want to build, Google provides a number of ideas, like summarizing voice notes, magically editing photos, or composing better messages.
Android security upgrades (with a little AI thrown in)
Phones and tablets are small, making them easy to steal. I know from the experience of watching it happen to a friend (it could never happen to me, my phone is too loyal to let anyone steal it) but someone can just ride by on a bike and snatch your phone right out of your hand. This is very rude and also illegal, but it happens.
So Google is rolling out a number of security upgrades for Android 15:
- Gemini can “detect” when your phone is stolen (perhaps by someone riding by on a bike)
- Factory resets are harder to do.
- Sensitive apps can be hidden in a private space
- Additional verification steps are required to change sensitive device settings.
- Additional verification options can be required to change your PIN.
- Excessive failed login attempts will lock your screen.
- A remote lock feature lets you remotely lock your phone.
Some of these new security features are described in greater detail in the Android 15 section below.
AI is not in Jetpack Compose (but these other things are)
Jetpack Compose performance continues to be improved, with Google benchmarking showing a 17% improvement in the “time to first pixel” benchmark for the upcoming June release as compared to January.
On top of performance improvements, Google announced: Compose support across different form factors and sizes, providing a new set of Compose APIs that provide new layouts and components that change as users switch between different-sized windows. This includes three scaffolds that adapt to three different small, medium, and large window sizes: NavigationSuiteScaffold, ListDetailPaneScaffold, and SupportingPaneScaffold.
Shared element transitions. Create transitions between screens with finer control than was provided by the VIew system. These work smoothly with new predictive back animations in Android 15 to let you create screen transitions that are directly tied to the user’s navigation gestures. Magical.
Contextual flow layouts. Provide a lazy flow layout with a max number of lines and it will compose as many items that can fit and show a custom expand indicator with a count of the remaining items that cannot.
Compose compiler is moving to the Kotlin repository. No more waiting for the release of a matching Compose compiler in order to upgrade your version of Kotlin. They’ll live together in complete harmony.
Kotlin Multiplatform is now officially supported on Android
Google knows how much you love Kotlin, and they’ve enjoyed seeing the growth and energy in the community. To quote their developer keynote:
“We know how much you all love Kotlin! It’s been so fun to see the growth and energy in the community.”
That’s why they’ve worked with JetBrains and the Kotlin community to add Kotlin Multiplatform support to several Jetpack libraries, focusing on support for sharing business logic across platforms. These Jetpack libraries now support KMP:
Stable:
Alpha
They consider business logic the right place to start because it’s the most platform-agnostic across apps, and it’s time-consuming to maintain duplicate copies of this code.
Google has even been having so much fun seeing all the growth and energy with Kotlin and KMP that they’ve started dogfooding it, migrating the Google Docs app to use KMP instead of writing three native versions for Android, iOS, and Web.
Android 15 beta 2.0 and 2.1 have both arrived
In an alternate timeline where Google didn’t drop their confections-based naming conventions, Android Vanilla Ice Cream would be in beta 2.1 as we speak. Instead we have Android 15… wait, I’m being told they still use these names internally and so we have no need to travel to an alternate timeline to experience this. Android 15 is Android Vanilla Ice Cream in this reality.
So over the past few days of Android 15 Vanilla Ice Cream we’ve seen beta 2.0 which notably introduced:
Richer Widget Previews with Generated Previews. Your widget can now show personalized previews, providing RemoteViews to the Widget Picker that better represent what the user will actually see.
Set VibrationEffect for notification channels. Rich vibrations are now supported for incoming notifications for your app. Make your app notifications stand out by providing the sort of Good Vibrations the Beach Boys were singing about.
Theft Detection Lock. Presumably using some sort of Minority-Report-based technology, Google claims Gemini can detect when a phone has been snatched from a user’s hand and stolen. They can then lock it down so the thief can’t easily use or sell it.
Edge-to-edge is enabled by default. Any app targeting Android 15 will go all the way to the edges of whatever Android device it’s open on. If you haven’t already designed your app to do this, this could break it. Worth checking into.
Private space. Provides a kind of incognito mode for using apps, which are (when locked) hidden away in a private space that is not seen in recents view, notifications, settings, and in connection with other apps. You don’t need to do anything to allow your own app to be placed into a private space, but someone, somewhere is hiding their DoorDash addiction by putting the app in a private space. “Pizza boxes? In our trash? Absolutely not, I’ve had salad the last six nights in a row. Here, check my phone!”
Required support for 16 KB page sizes. Android 15 provides support for 16 KB page sizes (in addition to the standard 4 KB) which means you’ll need to also support them in case you have any users on a device that uses this larger page size. Developers of apps using NDK libraries will likely need to do nothing more than rebuild the app to support this change, which will probably be required for Play Store app uploads next year.
Increased minimum target SDK version from 23 to 24. The most recent Android SDK version is 35.01. If you’re still on 23, why are you reading this? Go upgrade your stuff or Google will be mad at you!
Security for your background activity launches. It is possible for a malicious app within the same task to launch one of your apps’ activities and then overlay itself on top, making it appear to be your app. This is bad, which is why there is now a flag that blocks apps that don’t match the top UID on a stack from launching activities.
Improvements to selected photo access. Apps can now highlight only the most recently selected media when `partial access` to media permissions is turned on, meaning apps that frequently request access to photos and videos will be less annoying for users who choose to grant that level of access.
And beta 2.1 which introduced:
Fixes to private space. Private space had some problems which have now been fixed.
Google is so casually ubiquitous and just naturally part of our lives (whether you have an Android phone or not) that it can be easy to forget exactly the kind of scale it takes to achieve this sort of ubiquity. There are 3 billion Android devices in active use as I type this (compared to 1 billion iOS devices, which is still a whole lot) and even as large as it is, that number is likely to grow.
Building and supporting an ecosystem of this size means that sometimes there are missteps and occasional over-enthusiasm for potentially half-baked trends that some guy at a mobile-focused startup can make his little jokes about, but it’s incredibly impressive what Google has built. That they continue to make massive improvements after this many years of Android means we can already look forward to what next year’s I/O 2025 will bring.