In their recent blog post, Google announced few updates about their Mobile operating system – Android, which is undoubtedly leading the global Mobile OS market with whooping ~81.7% market share, Apple’s iOS is second. Since the inception, Android has achieved many sweet releases starting from Donut to Lollipop, Marshmallow, Nougat and now Oreo, sweetest out of Android. Android is known to constrain least on existing apps which arguably makes it more developer friendly over Apple’s iOS. But this latest release is carrying something different for Android app developers, businesses, device manufacturers and of course users.
Although, this release of Android is as sweet as before, but as every good thing comes with a price, so is sweetness. Recently, Google gave following 3 heads-up to the Android developers:
In the second half of 2018, Play will require that new apps and app updates target a recent Android API level. This will be required for new apps in August 2018, and for updates to existing apps in November 2018. This is to ensure apps are built on the latest APIs optimized for security and performance.
In August 2019, Play will require that new apps and app updates with native libraries provide 64-bit versions in addition to their 32-bit versions.
Additionally, in early 2018, Play will start adding a small amount of security metadata on top of each APK to further verify app authenticity. You do not need to take any action for this change.
Out of above mentioned 3 changes, most important change says that starting August 2018, all the new apps will have to be targeting latest Android API. i.e. Android Oreo (API level 26)
Well, that might sound usual and something easy to you, but it is not. For the first time, Google is rolling out such a news for Android.
What does ‘targeting latest Android API’ means:
While developing an Android app, a developer has to set an attribute (targetSdkVersion
) in manifest file/build file in the app, which specifies that which Android version is being targeted by this app. This is a mandatory step for a developer. As per official Android documentation,
“It is a variable designating the API Level that the application targets. This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app’s forward-compatibility with the target version. The application is still able to run on older versions (down to minSdkVersion).”
Targeting a specific API level means that you will have to cater all API changes and practices in your Android app, which were introduced in that API level by Google. You can still enable users to install your app on devices with older API versions by providing backward compatibility to your apps.
Why Google announced this change:
Till date, Google has never announced this kind of news or mandatory step with a timeline. Developers were always free to target their apps to any API level regardless of latest API level released. Now, this was causing a big issue to Android OS ecosystem. Since developers were not forced to implement latest practices released in OS. Hence, there was no way to make all apps as safe and secure as the core OS. For instance, in Android API level 23, runtime permissions
were introduced in the OS which enabled users to grant or deny permissions at runtime instead of at install time. Earlier, users had to accept all permissions demanded by the app during installation time only. With the release of runtime permissions, the user was free to install the app and accept or deny permissions as per wish while operating the app.
In order for runtime permissions to work, the developer needed to implement the code in the app if the app is targeting API level 23 or higher. If target API level is lower than 23, the app would behave as per earlier behavior without runtime permissions. So, if a developer didn’t want to implement runtime permission due to any reason (save cost/time), she/he was free to just set targetSdkVersion lower than 23 and runtime permissions could be bypassed very easily in the flick of the eye. So, in this manner, the developer was free to bypass the new security practices offered by the OS. So, Google felt that several apps which are not targeting latest APIs (but receiving updates) are adversely impacting performance and behavior of Android OS from the user standpoint. Affected factors include safety, security, performance, battery optimizations, memory optimizations, design, architecture, privacy etc.
Will any app remain unaffected by this announcement? Yes, as per Google announcement, existing apps which are not receiving any updates remain unaffected. Also, developers remain free to use a minSdkVersion of their choice, so there is no change to your ability to build apps for older Android versions. Future Android versions will also restrict apps that don’t target a recent API level and adversely impact performance or security. Google mentioned that they want to proactively reduce fragmentation in the app ecosystem and ensure apps are secure and performant while providing developers with a long window and plenty of notice in order to plan ahead.
Other changes: Apart from target latest API change, Google announced one more change which includes that starting August 2019, Play Store will require that new apps and app updates with native libraries provide 64-bit versions in addition to their 32-bit versions. However, 32-bit support is not going away. Apps that include a 32-bit library just need to have a 64-bit version too. Apps that do not include native code (NDK) are unaffected.
With this little sweet announcement, there multiple business lines which are going to be affected in late 2018, which will primarily include:
Mobile first businesses: All the businesses, which are mobile first or heavily dependent on traffic from their respective mobile apps are going to be seriously affected if they don’t start preparing for it right now. These businesses might include some big businesses and a very big number of startups across the world. Few names would be Uber, Flipkart, Paytm, BigBasket, Myntra, Ola, Snapchat, Like app and list can go and go on.
Device manufacturers: As Google is making it mandatory for developers to target and build their apps for the latest version always (Oreo as of now), it will become an obvious reason for all the device manufacturing companies to build and ship their Android devices with latest Android version. Google has announced that developers will have to target latest Android versions only if they wish to push updates to their apps. Till date, there are a lot of manufacturers who keep shipping and selling their Android devices with older versions of Android due to several reasons. Some do it because it takes some time to build their own custom ROM(OS) on top of newly released Android version. Some just do it because it is acceptable in the market. But with this announcement, this behavior will surely get affected. To help these vendors/device manufacturing companies, Google launched a dedicated project called Project Treble.
Mobile apps development service providers: Well, it’s a good news for all the mobile app service providers. It is an opportunity to them to pitch and grab some business from their existing and new clients to upgrade their apps and make their apps compliant with this new announcement. It will be a win-win situation for both, service providers and clients. It will help service providers to grow their business and it will help clients to continue their mobile apps without any problems.
Everyone associated with Android in any manner has something to take out of it, be it developers, app owners, manufacturers or anyone. It is important for all of us to stay updated about this kind of heads-up to avoid last minute hustles and grow ourselves in every manner.
provides high-class Mobility solutions and has in-house expertise for implementing best and latest technology practices in the Mobile domain.