Chapters

Hide chapters

Android Apprentice

Fourth Edition · Android 11 · Kotlin 1.4 · Android Studio 4.1

Section II: Building a List App

Section 2: 7 chapters
Show chapters Hide chapters

Section III: Creating Map-Based Apps

Section 3: 7 chapters
Show chapters Hide chapters

29. Keeping Your App Up to Date
Written by Darryl Bayliss

Building a great app requires hard work and determination. Continually updating your app requires not just a firm belief in the original vision, but the discipline to evolve your app as time passes.

Overnight success is a rare thing. Instead, it’s more likely that a trickle of users will download your app, some will uninstall it a few minutes later and a small few will genuinely find your app useful and use it regularly, perhaps even leaving reviews.

This last group contains the users to which you owe your attention and commitment.

The more you commit to your app, the more value your users will see in the product over time. Keeping your app up-to-date is an incentive for growing that important group of users. Publishing an app is an achievement, but supporting an app over the years to come is a labor of love.

This chapter covers what you need to know when it’s time to update your app, including:

  • How to leverage data from Google to target what you should update.
  • How to target the latest version of Android, including preview releases.
  • How to decide when to drop support for older versions of Android.

Following Android trends

Data that can help you make an informed decision is invaluable in helping you make the most of your development time.

There are two sources you can draw on for high-quality data. The first option is the Google Play Console (https://developer.android.com/distribute/console).

Apart from being a portal for app distribution, the console provides metrics about devices that have downloaded your app. Down to the device type and version of Android your users are running.

You’ll dive deeper into the Google Play Console in the following chapters when you deploy your app to Google Play. What you need to know now is it’s a great source of information to decide how to keep your app up-to-date.

If you require less targeted data and prefer a snapshot of the whole distribution of Android devices in the world, Google offers a few dashboards at (https://developer.android.com/about/dashboards/index.html) that detail key metrics:

  • Screen size and density.
  • Vulkan versions.
  • OpenGL versions.

Google generates the information from devices that visit the Google Play Store within the last seven days. You can rely on the dashboards to provide an accurate portrait of Android within the Google ecosystem.

Screen size and density

The screen size and density data show the distribution of devices with a particular screen size. This is useful to know to help decide what devices to focus on. By making decisions on screen sizes, you can shed unneeded assets and keep your APK size slim.

Vulkan Versions

The Vulkan version data shows the distribution of devices supporting different versions of Vulkan. Vulkan is an API designed for creating 3D apps like games and interactive media. It’s considered to be the next-generation version of OpenGL. If you wanted to build an app using Vulkan, this data will help you decide what versions are supported by devices.

OpenGL versions

OpenGL is a library used in games or graphically intensive apps to render 2D or 3D graphics. It’s incredibly popular due to its portability across platforms.

Different Android devices support different versions of the OpenGL library. The more recent versions of OpenGL contain more efficient and newer ways of rendering graphics, although OpenGL is also backward compatible.

This data is useful to know if you’re a developer trying to port a PC game to mobile, for instance. It gives you an indication as to whether your OpenGL code will be compatible or not.

How you use the data, provided by Google, to focus your development efforts depends entirely on your personal goals for your app.

Once you’ve decided what versions of Android to support, you’ll have to decide whether to support newer versions of Android and whether it makes sense to drop support for older versions. In the next section, you’ll see what it means to keep up with the latest version of Android.

Managing Android updates

As a good developer, you want your app to run on the latest and greatest version of Android. Major updates to the Android OS occur on a yearly cycle and are announced at Google IO (https://events.google.com/io/), Google’s developer conference, where a range of new products and services across the company are showcased.

Google also regularly releases minor updates to Android, containing under-the-hood bug fixes, as well as entire new Android libraries for you to use.

The best way to be notified of upcoming Android updates is to check the Android Developers Blog (https://android-developers.googleblog.com). It’s updated regularly and has lots of information about the current and future direction of Android.

Google also allows developers to download preview releases of upcoming Android versions. This gives developers a chance to fix issues their apps might have, before being released to the general public.

Nothing is more disheartening for a user than updating their device to the latest Android release, only to find out their favorite app doesn’t work.

Developers are notified of opportunities to install and test a preview release of Android through the developer blog, or the developer documentation provided on the Android Developer Website (https://developer.android.com/).

Android Developer Previews are available a few months before release, giving you plenty of time to test your app. You also have the opportunity to provide Google engineers with feedback on issues you find as you work with the preview version of Android.

Although you should make an effort to update your app to support the latest release of Android, it might not be the end of the world if you don’t. The engineers at Google have done excellent work in making various libraries on Android backward-compatible, which might cover you for a few releases.

The main idea to have in mind is to keep on top of new Android releases and how the update may affect your app. Knowing what’s coming in the future lets you adjust your development ahead of time.

Working with older versions of Android

Although there is a lot of support in Android for backward compatibility, sometimes it makes sense to stop supporting old versions of Android and only develop for newer versions. This is a good strategy in some cases, but it comes at a cost.

Using newer APIs means you expect a minimum version of Android for your app to run. If the API you’re targeting doesn’t exist on an older version of Android, then your app won’t appear in the Google Play Store for devices with older versions of Android.

This is where you, as the developer, need to decide how to support older versions of Android. Fortunately, you have options.

The bleeding edge approach

The first option is to be ruthless and only support the versions of Android your app needs. This means your app is guaranteed to work, and you don’t need to consider backward compatibility for Android versions that don’t support your target API.

You free yourself from having to develop and test workarounds for devices that don’t have the APIs you want. It sounds like a developer’s dream, doesn’t it?

The downside is that you’ll shut out users with older devices — users who might want to download your app and spread the word about it! That’s one of the realities of dealing with fragmentation in the Android world.

The soft decline approach

The second option is to engineer your app to degrade gracefully for older versions of Android. Newer Android users get the benefit of all your app’s features, while older Android users can still use your app with some functional limitations. This means you keep the market open for your app, and you don’t penalize users on older devices.

The downside is this approach takes more development effort on your part. You need to consider how the app reacts on older devices, and whether the app functions as intended on older versions of Android.

The backport approach

The third option is to rely on backported features. This involves leveraging third-party libraries or code you write yourself to support features that older devices wouldn’t normally have. This is the argument Google uses for persuading developers to use the AndroidX Libraries. Many third-party libraries backport their features for the very same reason. The benefits of supporting as many Android users as possible can’t be overstated.

The downside, in this case, is you need to take the time to learn how to use these libraries in your app. In some cases, you may need to write your own code when there’s no clear way to backport your app with Google’s or other third-party libraries.

Key Points

Keeping your app up to date is a natural part of building a great app. Your users will expect this of you, and failing to do so could lose that vital userbase an app needs. In this chapter, you learnt:

  • How to leverage data from the Android dashboards to target what you should update.

  • What options are available to target the latest version of Android, including preview releases.

  • What strategies are available to support multiple versions of Android, and how to decide when to drop support for older versions of Android.

Where to go from here?

The decision to drop older versions of Android, or to invest the time to support them, depends entirely on the kind of app you make. What your user base looks like and the amount of effort you want to put into app development.

Think about the future direction of Android. Think about what your users want from your app. Think about your personal and business goals for your app, and let that drive your choice on which approach to use.

Supporting apps as new versions of Android roll out of Google is the ultimate test of a developer’s commitment. Whether to stay up-to-date with new Android versions or to drop support for older ones is an important and difficult choice for any developer.

Regular updates show users your app is being actively developed and supported, which bodes well for the adoption rate of your app. Leaving your app to stagnate sends a signal that you’ve abandoned the development of the app. In that case, users won’t hesitate to look for another solution in the Play Store.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.
© 2026 Kodeco Inc.