Android 6 0 System Requirements

broken image


Android AutoAndroid Auto now comes built-in, so you can simply plug in your phone and start using Android on your car's display. No app download needed. No app download needed. Dynamic System Updates This feature allows developers to load a different system image on their device for testing without affecting their original system image. The absolute minimum requirements for Android were originally a 200 MHz processor, 32 MB of RAM, and 32 MB of storage. Out of the box, Android is incompatible with ARMv4 or lower; ARMv5 or higher is needed to run native code without modifications. Android 4.4+ requires an ARMv7 processor. Custom versions have been made for ARMv6, however.

Fxfactory pro 6 0 4 5372 download free. When you upload an APK, it needs to meet Google Play's target API levelrequirements.New apps and app updates (except Wear OS) must target Android 10 (APIlevel 29) or higher.

Starting in August 2021, new apps will need to:

  • Publish with the Android App Bundle format.
  • Use Play Asset Delivery or Play FeatureDelivery to deliver assets orfeatures that exceed download size of 150MB. Expansion files (OBBs) will nolonger be supported for new apps.
  • Target API level 30 (Android 11) or above and adjust for behavioralchanges.

Starting in November 2021, app updates will be required to target API level 30or above and adjust for behavioral changes in Android 11. Existing apps that arenot receiving updates are unaffected and can continue to be downloaded from thePlay Store.

The switch to Android App Bundle delivery will also impact instant experiencesusing the legacy Instant app ZIP format. From August 2021, new instantexperiences and updates to existing instant experiences will be required topublish instant-enabled appbundles.

Why target newer SDKs?

System

Every new Android version introduces changes that bring significant security andperformance improvements as well as enhance the user experience of Androidoverall. Some of these changes only apply to apps that explicitly declaresupport through their targetSdkVersion manifest attribute (also known as thetarget API level).

Configuring your app to target a recent API level ensures that users canbenefit from these improvements, while still allowing it to run on olderAndroid versions. Www image line com fl studio. Mac studio foundation. Targeting a recent API level also allowsyour app to take advantage of the platform'slatest features to delight your users. Furthermore, as ofAndroid 10 (API level 29), users see awarning whenstarting an app for the first time if the app targets Android 5.1 (API level 22)or lower.

This document highlights important points you need to know in updating yourtarget API level to meet the Google Play requirement.

Note: If your Gradle file containsmanifest entries, you can confirm or change the current value oftargetSdkVersion in your app's Gradle file, as described inConfigure your build.Alternatively, you can use the android:targetSdkVersionattribute in the manifest file, as described in the documentation for themanifest element.

Migrate from Android 10 (API level 29) to Android 11 (API level 30)

  • Privacy
    • Scoped storage enforcement:Apps should adopt the scoped storage model where app-specific, media, andother file types are saved and accessed using dedicated locations.
    • Permissionsauto-reset: If usershaven't interacted with an app for a few months, the system auto-resets theapp's sensitive permissions. This shouldn't affect most apps. If your appprimarily works in the background without user interactions, you mayconsider requesting users to disable autoreset.
    • Background locationaccess: Appsmust request foreground and background location permission separately.Granting access to background location permission can only be done in appsettingsinstead of runtime permission dialogs.
    • Packagevisibility: Whenan app queries for the list of installed apps and services on the device,the returned list is filtered.
      • If you useText-To-Speech orSpeechRecognitionservices, you will need to add elements for services to themanifest file.
  • Security
    • Compressed resource.arsc files are no longersupported.
    • APK Signature Scheme v2 nowrequired.For backward compatibility reasons, developers should also continue to signwith APK Signature Scheme v1.
    • Non-SDK interface restriction. Using non-SDK interfaces is notrecommended for apps targeting API level 30, as some of these non-SDKinterfaces are now blocked. See Non-SDK interfaces that are now blocked inAndroid 11 for a comprehensivelist of blocked non-SDK interfaces.

For an exhaustive list of changes introduced in Android 11 (API level 30), seethe Behavior Changes page.

Migrating from lower than Android 10 (API level 29)

Select the version of Android you will be migrating from:

Migrate to Android 5 (API level 21)

See the respective Behavior Changes page for each of the following releases to ensure your that your app has accounted for changes introduced in these releases:

  • Android 4.4 (API level 19).
  • Android 4.1.x (API level 16).

Continue by following the instructions in the next section.

Migrate to Android 6 (API level 23)

The following considerations apply to apps targeting Android 6.0 and higher versions of the platform:

    • Manual excel 2016 romana pdf. Dangerous permissions are only granted at runtime. Your UI flows must provide affordances for granting these permissions.

    • Wherever possible, ensure your app is prepared to handle rejection of permission requests. For example, if a user declines a request to access the device's GPS, ensure your app has another way to proceed.

For an exhaustive list of changes introduced in Android 6.0 (API level 23), see the Behavior Changes page for that version of the platform.

Clover bootloader windows. Continue by following the instructions in the next section.

Migrate to Android 7 (API level 24)

The following considerations apply to apps targeting Android 7.0 and higher versions of the platform:

  • Doze and App Standby

    Design for behaviors described in Optimizing for Doze and App Standby, which encompasses incremental changes introduced across several platform releases.

    When a device is in Doze and App Standby Mode, the system behaves as follows:

    • Restricts network access
    • Defers alarms, syncs, and jobs
    • Restricts GPS and Wi-Fi scans
    • Restricts normal-priority Firebase Cloud Messaging messages.
  • Permission Changes Bausch lomb serial numbers microscope.

    • The system restricts access to app private directories.
    • Exposing a file:// URI outside of your app triggers a FileUriExposedException. If you need to share files outside of your app, implement FileProvider
  • The system forbids linking to non-NDK libraries.

For an exhaustive list of changes introduced in Android 7.0 (API level 24), see the Behavior Changes page for that version of the platform.

Continue by following the instructions in the next section.

Migrate to Android 8 (API level 26)

The following considerations apply to apps targeting Android 8.0 and higher versions of the platform:

  • Background Execution Limits
    • The system restricts services for apps not running in the foreground.
      • startService() now throws an exception when an app tries to invoke it while startService() is prohibited.
      • To start foreground services, an app must use startForeground() and startForegroundService().
      • Carefully review the changes made to the JobScheduler API, as documented on the Android 8.0 (API level 26) Behavior Changes page.
      • Firebase Cloud Messaging requires version 10.2.1 of the Google Play services SDK, or higher.
      • When using Firebase Cloud Messaging, message delivery is subject to background execution limits. When background work is necessary upon message receipt, such as to perform background data sync, your app should schedule jobs via Firebase Job Dispatcher or JobIntentService instead. For more information, see the Firebase Cloud Messaging documentation.
    • Implicit broadcasts
      • Implicit broadcasts are restricted. For information about handling background events, see the documentation for the JobScheduler API.
    • Background Location Limits
      • Apps running in the background have limited access to location data.
        • On devices with Google Play services, use the fused location provider to get periodic location updates.
  • Notification Channels
    • You should define notification interruption properties on a per-channel basis.
    • You must assign notifications to a channel for the notifications to appear.
    • This version of the platform supports NotificationCompat.Builder.
  • Privacy
    • ANDROID_ID is scoped per app signing key.

For an exhaustive list of changes introduced in Android 8.0 (API level 26), see the Behavior Changes page for that version of the platform.

Migrating from Android 8 (API 26) to Android 9 (API 28)

  • Power Management
    • App Standby buckets bring new background restrictions based on app engagement, such as deferred jobs, alarms and quotas on high-priority messages
    • Battery saver improvements increase the limitations on app standby apps
  • Foreground service permission
    • Need to request the normal permission FOREGROUND_SERVICE (not runtime permission)
  • Privacy changes
    • Restricted access to call logs, now in CALL_LOG permission group
    • Restricted access to phone numbers, requiring READ_CALL_LOG permission
    • Restricted access to Wi-Fi information

Powerdirector for chromebook. For an exhaustive list of changes introduced in Android 9.0 (API level 28), see behavior changes.

Migrating from Android 9 (API level 28) to Android 10 (API level 29)

  • Notifications with a full-screen intent
    • Need to request the normal permission USE_FULL_SCREEN_INTENT (not runtime permission).
  • Support for foldables and large screen devices
    • Multiple activities can now be in the 'resumed' state at the same time, but only one actually has focus.
      • This change affects onResume() and onPause() behavior.
      • New lifecycle concept of 'topmost resumed' which can be detected by subscribing to onTopResumedActivityChanged().
        • Only one activity can be 'topmost resumed.'
    • When resizeableActivity is set to false, apps can additionally specify a minAspectRatio which automatically letterboxes the app on narrower aspect ratios.
  • Privacy changes
    • Scoped storage
      • External storage access is limited only to an app-specific directory and to specific types of media that the app has created.
    • Restricted access to location while the app is in the background, requiring ACCESS_BACKGROUND_LOCATION permission.
    • Restricted access to non-resettable identifiers such as IMEI and serial number.
    • Restricted access to physical activity information such as the user's step count, requiring ACTIVITY_RECOGNITION permission.
    • Restricted access to some telephony, Bluetooth, and Wi-Fi APIs, requiring ACCESS_FINE_LOCATION permission.
    • Restricted access to Wi-Fi settings
      • Apps can no longer directly enable or disable Wi-Fi and need to do it using settings panels.
      • Restrictions on initiating a connection to a Wi-Fi network, requiring the use of either WifiNetworkSpecifier or WifiNetworkSuggestion.

Continue to update to API 30 by following the instructions in the previous section.

Modernizing your apps

As you update the target API level for your apps, consider adopting recentplatform features to modernize your apps and delight your users.

  • Consider using CameraX, which is in Beta, to make the most ofusing the camera.
  • Use Jetpack components to help you follow best practices, free youfrom writing boilerplate code, and simplify complex tasks so that you canfocus on the code you care about.
  • Use Kotlin to write better apps faster, and with less code.
  • Ensure you are following privacy requirements and best practices.
  • Add dark theme support to yourapps.
  • Add gesture navigation support to your apps.
  • Migrate your appfrom Google Cloud Messaging (GCM) to the latest version of Firebase Cloud Messaging.
  • Take advantage of advanced window management.
    • Support larger aspect ratios (more than 16:9) to take advantage of recentadvances in hardware. Ensure that your app resizes to fill the availablescreen space. Only declare a maximum aspect ratio as a last resort. For moreinformation about maximum aspect ratios, see Declare Restricted ScreenSupport.
    • Add multi-window support to help your appincrease productivity, and to manage multipledisplays.
    • If a great minimized app experience would improve the user experience, addsupport for Picture-in-Picturefunctionality.
    • Optimize for devices with display cutout.
    • Do not assume status bar height. Instead, useWindowInsets andView.OnApplyWindowInsetsListener.Watch this video for anexplanation.
    • Do not assume that the app has the entire window. Instead, confirm itslocation by usingView.getLocationInWindow(),notView.getLocationOnScreen().
    • When handling MotionEvent, useMotionEvent.getX() andMotionEvent.getY(), notMotionEvent.getRawX(),MotionEvent.getRawY().

Check and update your SDKs and libraries

Make sure that your third-party SDK dependencies support API 29:Some SDK providers publish it in their manifest; others will requireadditional investigation. If you use an SDK that doesn't support API 29,make it a priority to work with the SDK provider to resolve the issue.

Additionally, note that your app or game's targetSdkVersion may restrictaccess to private Android platform libraries; see NDK Apps Linkingto Platform Libraries for details.

You should also verify any restrictionsthat may exist in the version of the Android Support Library that you're using.As always, you must ensure compatibility between the major versionof Android Support Library and your app's compileSdkVersion.

Android 6 0 System Requirements

Every new Android version introduces changes that bring significant security andperformance improvements as well as enhance the user experience of Androidoverall. Some of these changes only apply to apps that explicitly declaresupport through their targetSdkVersion manifest attribute (also known as thetarget API level).

Configuring your app to target a recent API level ensures that users canbenefit from these improvements, while still allowing it to run on olderAndroid versions. Www image line com fl studio. Mac studio foundation. Targeting a recent API level also allowsyour app to take advantage of the platform'slatest features to delight your users. Furthermore, as ofAndroid 10 (API level 29), users see awarning whenstarting an app for the first time if the app targets Android 5.1 (API level 22)or lower.

This document highlights important points you need to know in updating yourtarget API level to meet the Google Play requirement.

Note: If your Gradle file containsmanifest entries, you can confirm or change the current value oftargetSdkVersion in your app's Gradle file, as described inConfigure your build.Alternatively, you can use the android:targetSdkVersionattribute in the manifest file, as described in the documentation for themanifest element.

Migrate from Android 10 (API level 29) to Android 11 (API level 30)

  • Privacy
    • Scoped storage enforcement:Apps should adopt the scoped storage model where app-specific, media, andother file types are saved and accessed using dedicated locations.
    • Permissionsauto-reset: If usershaven't interacted with an app for a few months, the system auto-resets theapp's sensitive permissions. This shouldn't affect most apps. If your appprimarily works in the background without user interactions, you mayconsider requesting users to disable autoreset.
    • Background locationaccess: Appsmust request foreground and background location permission separately.Granting access to background location permission can only be done in appsettingsinstead of runtime permission dialogs.
    • Packagevisibility: Whenan app queries for the list of installed apps and services on the device,the returned list is filtered.
      • If you useText-To-Speech orSpeechRecognitionservices, you will need to add elements for services to themanifest file.
  • Security
    • Compressed resource.arsc files are no longersupported.
    • APK Signature Scheme v2 nowrequired.For backward compatibility reasons, developers should also continue to signwith APK Signature Scheme v1.
    • Non-SDK interface restriction. Using non-SDK interfaces is notrecommended for apps targeting API level 30, as some of these non-SDKinterfaces are now blocked. See Non-SDK interfaces that are now blocked inAndroid 11 for a comprehensivelist of blocked non-SDK interfaces.

For an exhaustive list of changes introduced in Android 11 (API level 30), seethe Behavior Changes page.

Migrating from lower than Android 10 (API level 29)

Select the version of Android you will be migrating from:

Migrate to Android 5 (API level 21)

See the respective Behavior Changes page for each of the following releases to ensure your that your app has accounted for changes introduced in these releases:

  • Android 4.4 (API level 19).
  • Android 4.1.x (API level 16).

Continue by following the instructions in the next section.

Migrate to Android 6 (API level 23)

The following considerations apply to apps targeting Android 6.0 and higher versions of the platform:

    • Manual excel 2016 romana pdf. Dangerous permissions are only granted at runtime. Your UI flows must provide affordances for granting these permissions.

    • Wherever possible, ensure your app is prepared to handle rejection of permission requests. For example, if a user declines a request to access the device's GPS, ensure your app has another way to proceed.

For an exhaustive list of changes introduced in Android 6.0 (API level 23), see the Behavior Changes page for that version of the platform.

Clover bootloader windows. Continue by following the instructions in the next section.

Migrate to Android 7 (API level 24)

The following considerations apply to apps targeting Android 7.0 and higher versions of the platform:

  • Doze and App Standby

    Design for behaviors described in Optimizing for Doze and App Standby, which encompasses incremental changes introduced across several platform releases.

    When a device is in Doze and App Standby Mode, the system behaves as follows:

    • Restricts network access
    • Defers alarms, syncs, and jobs
    • Restricts GPS and Wi-Fi scans
    • Restricts normal-priority Firebase Cloud Messaging messages.
  • Permission Changes Bausch lomb serial numbers microscope.

    • The system restricts access to app private directories.
    • Exposing a file:// URI outside of your app triggers a FileUriExposedException. If you need to share files outside of your app, implement FileProvider
  • The system forbids linking to non-NDK libraries.

For an exhaustive list of changes introduced in Android 7.0 (API level 24), see the Behavior Changes page for that version of the platform.

Continue by following the instructions in the next section.

Migrate to Android 8 (API level 26)

The following considerations apply to apps targeting Android 8.0 and higher versions of the platform:

  • Background Execution Limits
    • The system restricts services for apps not running in the foreground.
      • startService() now throws an exception when an app tries to invoke it while startService() is prohibited.
      • To start foreground services, an app must use startForeground() and startForegroundService().
      • Carefully review the changes made to the JobScheduler API, as documented on the Android 8.0 (API level 26) Behavior Changes page.
      • Firebase Cloud Messaging requires version 10.2.1 of the Google Play services SDK, or higher.
      • When using Firebase Cloud Messaging, message delivery is subject to background execution limits. When background work is necessary upon message receipt, such as to perform background data sync, your app should schedule jobs via Firebase Job Dispatcher or JobIntentService instead. For more information, see the Firebase Cloud Messaging documentation.
    • Implicit broadcasts
      • Implicit broadcasts are restricted. For information about handling background events, see the documentation for the JobScheduler API.
    • Background Location Limits
      • Apps running in the background have limited access to location data.
        • On devices with Google Play services, use the fused location provider to get periodic location updates.
  • Notification Channels
    • You should define notification interruption properties on a per-channel basis.
    • You must assign notifications to a channel for the notifications to appear.
    • This version of the platform supports NotificationCompat.Builder.
  • Privacy
    • ANDROID_ID is scoped per app signing key.

For an exhaustive list of changes introduced in Android 8.0 (API level 26), see the Behavior Changes page for that version of the platform.

Migrating from Android 8 (API 26) to Android 9 (API 28)

  • Power Management
    • App Standby buckets bring new background restrictions based on app engagement, such as deferred jobs, alarms and quotas on high-priority messages
    • Battery saver improvements increase the limitations on app standby apps
  • Foreground service permission
    • Need to request the normal permission FOREGROUND_SERVICE (not runtime permission)
  • Privacy changes
    • Restricted access to call logs, now in CALL_LOG permission group
    • Restricted access to phone numbers, requiring READ_CALL_LOG permission
    • Restricted access to Wi-Fi information

Powerdirector for chromebook. For an exhaustive list of changes introduced in Android 9.0 (API level 28), see behavior changes.

Migrating from Android 9 (API level 28) to Android 10 (API level 29)

  • Notifications with a full-screen intent
    • Need to request the normal permission USE_FULL_SCREEN_INTENT (not runtime permission).
  • Support for foldables and large screen devices
    • Multiple activities can now be in the 'resumed' state at the same time, but only one actually has focus.
      • This change affects onResume() and onPause() behavior.
      • New lifecycle concept of 'topmost resumed' which can be detected by subscribing to onTopResumedActivityChanged().
        • Only one activity can be 'topmost resumed.'
    • When resizeableActivity is set to false, apps can additionally specify a minAspectRatio which automatically letterboxes the app on narrower aspect ratios.
  • Privacy changes
    • Scoped storage
      • External storage access is limited only to an app-specific directory and to specific types of media that the app has created.
    • Restricted access to location while the app is in the background, requiring ACCESS_BACKGROUND_LOCATION permission.
    • Restricted access to non-resettable identifiers such as IMEI and serial number.
    • Restricted access to physical activity information such as the user's step count, requiring ACTIVITY_RECOGNITION permission.
    • Restricted access to some telephony, Bluetooth, and Wi-Fi APIs, requiring ACCESS_FINE_LOCATION permission.
    • Restricted access to Wi-Fi settings
      • Apps can no longer directly enable or disable Wi-Fi and need to do it using settings panels.
      • Restrictions on initiating a connection to a Wi-Fi network, requiring the use of either WifiNetworkSpecifier or WifiNetworkSuggestion.

Continue to update to API 30 by following the instructions in the previous section.

Modernizing your apps

As you update the target API level for your apps, consider adopting recentplatform features to modernize your apps and delight your users.

  • Consider using CameraX, which is in Beta, to make the most ofusing the camera.
  • Use Jetpack components to help you follow best practices, free youfrom writing boilerplate code, and simplify complex tasks so that you canfocus on the code you care about.
  • Use Kotlin to write better apps faster, and with less code.
  • Ensure you are following privacy requirements and best practices.
  • Add dark theme support to yourapps.
  • Add gesture navigation support to your apps.
  • Migrate your appfrom Google Cloud Messaging (GCM) to the latest version of Firebase Cloud Messaging.
  • Take advantage of advanced window management.
    • Support larger aspect ratios (more than 16:9) to take advantage of recentadvances in hardware. Ensure that your app resizes to fill the availablescreen space. Only declare a maximum aspect ratio as a last resort. For moreinformation about maximum aspect ratios, see Declare Restricted ScreenSupport.
    • Add multi-window support to help your appincrease productivity, and to manage multipledisplays.
    • If a great minimized app experience would improve the user experience, addsupport for Picture-in-Picturefunctionality.
    • Optimize for devices with display cutout.
    • Do not assume status bar height. Instead, useWindowInsets andView.OnApplyWindowInsetsListener.Watch this video for anexplanation.
    • Do not assume that the app has the entire window. Instead, confirm itslocation by usingView.getLocationInWindow(),notView.getLocationOnScreen().
    • When handling MotionEvent, useMotionEvent.getX() andMotionEvent.getY(), notMotionEvent.getRawX(),MotionEvent.getRawY().

Check and update your SDKs and libraries

Make sure that your third-party SDK dependencies support API 29:Some SDK providers publish it in their manifest; others will requireadditional investigation. If you use an SDK that doesn't support API 29,make it a priority to work with the SDK provider to resolve the issue.

Additionally, note that your app or game's targetSdkVersion may restrictaccess to private Android platform libraries; see NDK Apps Linkingto Platform Libraries for details.

You should also verify any restrictionsthat may exist in the version of the Android Support Library that you're using.As always, you must ensure compatibility between the major versionof Android Support Library and your app's compileSdkVersion.

Android 10 System Requirements

We recommend that you choose a targetSdkVersion smaller than or equal to theSupport Library's major version. We encourage you to update to a recentcompatible Support Library in order to take advantage of the latestcompatibility features and bug fixes.

Android 10 Minimum Requirements

Test your app

After you update your app's API level and features as appropriate,you should test some core use cases. The following suggestions are notexhaustive, but aim to guide your testing process. We suggest testing:

  • That your app compiles to API 29 without errors or warnings.
  • That your app has a strategy for cases where the user rejects permission requests, and prompts the user for permissions. To do so:
    • Go to your app's App Info screen, and disable each permission.
    • Open the app and ensure no crashes.
    • Perform core use case tests and ensure required permissions are re-prompted.
  • Handles Doze with expected results and no errors.
    • Using adb, place your test device into Doze while your app is running.
      • Test any use cases that trigger Firebase Cloud Messaging messages.
      • Test any use cases that use Alarms or Jobs.
      • Eliminate any dependencies on background services.
    • Set your app into App Standby
      • Test any use cases that trigger Firebase Cloud Messaging messages.
      • Test any use cases that use Alarms.
  • Handles new photos / video being taken
    • Check that your app handles the restricted ACTION_NEW_PICTURE and ACTION_NEW_VIDEO broadcasts correctly (that is, moved to JobScheduler jobs).
    • Ensure that any critical use cases that depend on these events still work.
  • Handles sharing files to other apps
    • Test any use case that shares file data with any other app (even another app by the same developer)
    • Test the content is visible in the other app and doesn't trigger crashes.

Further information

Android 6.0

Opt in to emails in the Google PlayConsole so that we can send you important updates and announcements fromAndroid and Google Play, including our monthly partner newsletter.





broken image