Android Oreo has been out out for a while, and the question that arises among the owners of Android products and in the Android developers community is: “should I update my mobile application?” The answer is not straightforward, as there are both good reasons to do it, and good reasons to wait. In this article, I will help you make the right decision on when and how to update your application to deal with a new version of Android.
There are two main reasons to update your application:
Android users tend to care whether applications use the newer features of the OS. New features are perceived as an attempt to innovate and improve the app. It shows that you care about the user experience. As an example from personal experience, I remember when Android Nougat came out, and I was fascinated with those apps that had already included the App shortcuts. My interpretation of that was that the apps’ creators were really trying to give me the best experience possible.
The other important factor is that we don’t want to lose the market share by making the app work well only on older versions of Android. We don’t want to let users experience inferior quality (e.g. the app slowing down) because of the changes introduced in Oreo. For example, Android Nougat introduced background execution limitations, which can cause our application to crash while running some services or background tasks. It’s very likely that similar issues will arise because of Oreo.
A lot depends on the nature of your application. For some applications, it would not be necessary to update anything, simply because they would not benefit from using the new features in any way. But it’s still important to test your app on the new Android version to make sure it works as it should.
The truth is that it can take a while for Oreo to become available on devices other than Google’s phones (Pixel or Nexus). In other words, you don’t need to panic or hurry, but it might be a good idea to get ready.
Don’t just jump into it, though. Plan out what new features you can add to your app. Be flexible enough with your development schedule to include them. Try to think (even overthink) how you can make them fit in your application to show to the users that you really care about shipping the best app possible.
The migration of your app to Android 8.0 should happen in two phases:
The objective is to make sure that the app works as it should on the new Android Oreo. You don’t need to use the new API or change the targetSdkVersion (which informs the system that your app is working well against it), but there are still several steps you need to take:
This is the exciting part: enable full support for the new version by updating the targetSdkVersion to 26 and adding new features introduced in Android Oreo. To do this, you need to:
You can find some extra information on how to deal with this process here.
Once you’ve applied the changes, test your future release on older versions of Android to make double sure that it runs correctly. You should make sure your code handles deprecated API methods. I recommend you check the changelog to be sure that your application is not using any deprecated methods. You can also check with lint, a tool for static analysis (it will scan the code, looking for existing or potential problems), to be sure that the new version is fully supported.
As a rule of thumb, always start testing and working on the updates with the Beta versions of the new Android releases, some months before the effective release. It’s important to check changelogs to search for potential new features or improvements for the application, but if it’s already too late, use the four or six months since the version is released until it is adopted.
Don’t be afraid of updating your application to a new SDK. In general, nothing should change dramatically, and old versions are still supported. But take the time to check exactly what changes you should make and to test the app’s new version on the latest Android. Don’t rush, you have time until the market starts using Oreo – or the next Android versions to come.
Also, if you'd like to find out more about developing successful Android projects, check out this article.