How your Android app developers should prepare for Android O

How your Android app development company should prepare for Android O So what is this Android O? Android O is the latest Android mobile OS scheduled to be released in Q3 of 2017. It is the new and powerful version of Android which is highly optimized performance. Android O is the best way to make futuristic Android apps. Though there is still some time before it is finally released there are some initial developer previews that might help in Android app development.


It’s first Alpha quality Android O developer preview was released on March 21st 2017. The second developer preview followed shortly after and was released on May 17th, considered as beta quality. The finalization of the API was done in the Android O 3rd developer preview and it was released on June 8th. The Android O 4th developer preview was released on July 24th and included the final system behaviors along with some bug fixes and optimizations. The Final release is scheduled to be within the 3rd Quarter of 2017.


If you are an Android app development company you must be wondering what strategies to implement to shift your Android app development towards Android O. Well, Android O introduced some brand new features and several APIs. These inclusions can very well change the behavior of your app even without you changing anything. First, let’s talk about devices and their compatibility with Android O.

Devices supported by Android O

Currently Android O supports Pixel XL, Pixel C, Pixel, Nexus 6P, Nexus 5X and

Nexus Player. If you have bought a mobile phone in 2017, the chances are that your device might be compatible with Android O.

How to prepare any compatible device for Android O

If you have got a device compatible for Android O and don’t know how to start Android app development in it, here are the steps:

  1. Download the Android O system image file for your device.
  2. Flash your device (use proper instructions to perform this step).
  3. Then review system behavior changes to identify affected areas of your app.
  4. After reviewing install your app on any device of Android emulator to run tests.
  5. Ensure that your app is working correctly with the new features.
  6. Make changes to code if you find any issues and then recompile with the same API level.
  7. Publish the updated APK.

Here are the 2 most important strategies your Android app development company should incorporate if it wants to seamlessly transition to Android O.

1. Start migrating your apps to Android O

To migrate your apps to Android O you will first need to check the compatibility with it. Ensure that your app is fully functional with the latest version of the Android platform. You don’t have to switch your app’s API to a newer version and your app’s target sdk version but a few changes here and there are required.

When you are prepared to test the new features of the platform update your target sdk version to 26. Check and ensure that the app still works and then, start using new APIs.

2. Understand the Android O behavior changes

Android O consists of various behavior and functioning changes to the system as well as the API. Most of these changes affect the functioning of apps, regardless of the targeted Android version. Some changes only affect those apps, who have targeted the Android O version.

Here is the list of changes (with brief description) targeting all API levels:

  1. Background execution limits: to improve battery life and device performance. Also to limit certain behavior of apps not running in the foregrougnd.
  2. Android background location limits: to maintain the battery life, user engagement and system health, apps running in background now receive updates based on your location less frequently.
  3. App shortcuts: to create an app shortcut now, you have to use requestPinShortcut method from theShortcutManager class.
  4. Locales and Internationalization: locale methods now use Locale.getDefault(Category.DISPLAY) instead of Locale.getDefault(): ICU has been upgraded to version 58.
  5. Alert Windows: behavior changes related to SYSTEM_ALERT_WINDOW.
  6. Input and Navigation: Android O re-addresses keyboard as a navigation device for a more predictable arrow and tab based navigation model.
  7. Web Form Autofill: Android Autofill Framework now offers in-built support for the autofill function.
  8. Accessibility: now all double-tap gestures are converted into ACTION_CLICK actions.
  9. Networking and HTTP(S) connectivity: URLs cannot contain empty labels now and the handling of tunneling HTTP(S) connection has also changed.
  10. Bluetooth: changes are made to the data length that the ScanRecord.getBytes() can retrieve.
  11. Seamless connectivity: a variety of improvements to the Wi-Fi Settings have been made to make it easier and lot more stable.
  12. Security: Android O doesn’t support SSLv3 and applies a Secure Computing (SECCOMP) filter to all the apps. It also introduces changes to the installation of unknown apps from unknown resources.
  13. Privacy: Android O handles identifiers differently and the value of ANDROID_ID doesn’t change.
  14. Logging of uncaught exceptions: apps that follow custom Thread.UncaughtExceptionHandler implementations are unaffected by the changes in Android O.
  15. Contacts provider usage stats change: queries for data usage return approximate values rather than exact values. Android O calculates and maintains the specific values internally thus unaffecting the auto-complete API.
  16. Collection handling: behavior changes for NullPointerException introduced as previously it was not thrown when the collection was empty.
  17. Android enterprise: Android O introduces behavior changes for some features and APIs concerning enterprise apps which also includes device policy controllers (DPCs).

Here is the list of changes (with brief description) targeting Android O:

  1. Alert Windows: apps must use a new type window termed as TYPE_APPLICATION_OVERLAY.
  2. Content Change Notification: a valid ContentProvider is now required for authority in all Uris.
  3. View focus: clickable View objects are also focusable now, by default.
  4. Security: the Allow unknown sources setting has been replaced by the Install unknown apps permission.
  5. Account access and discoverability: apps can not access their user accounts unless the authenticator is owning the accounts or the user grants them access.
  6. Privacy: the LauncherApps API now doesn’t allow work profile apps to fetch information about the primary user.
  7. Permissions: apps are now granted only those permissions which they have requested instead of all subsequent permissions also being granted along with requested one.
  8. Media: when the user receives a phone call , ongoing active media mutes for rest of the call duration.
  9. Native Libraries: native libraries are not loaded up if the app contains any load segment which is writable and executable both.
  10. Collection Handling: this behavior changes allows for optimized implementations with minor constraints.
  11. Class-loading behavior: Android O ensures that the class loaders don’t break any assumptions of runtime while loading new classes.

If your Android app development company keeps these few but important things sorted while pacing towards Android O development, tremendous results will soon follow.

Find more top mobile app development companies worldwide on AppFutura.

About the author
Endive SoftwareDelivering Different ExperienceMobile app development company in United States
ContactVisit website

Endive Software is a full-stack digital agency with technology experts on every digital field: IoT, mobile app development, web development, open source technologies, CRMs, ERPs, Front-end, Back-end, Android, iOS, iPad and Internet marketing. The Indian development team are experts in IT outsourcing and regularly solve all kinds of challenges successfully.

You might also like