From f3851c1670f3d16258d0f50e27a3ededdfa96d20 Mon Sep 17 00:00:00 2001
From: David Friedman
+ Android 6.0 gives you an opportunity to ensure your apps work with the next
+ version of the platform. This preview includes a number of APIs and behavior changes that can
+ impact your app, as described in the API
+ Overview and Behavior Changes. In testing
+ your app with the preview, there are some specific system changes that you should focus on to
+ ensure that users have a good experience.
+
+ This guide describes the what and how to test preview features with your app. You should
+ prioritize testing of these specific preview features, due to their high potential impact on your
+ app's behavior:
+
+ The new Permissions model
+ changes the way that permissions are allocated to your app by the user. Instead of granting all
+ permissions during the install procedure, your app must ask the user for individual permissions
+ at runtime. For users this behavior provides more granular control over each app’s activities, as
+ well as better context for understanding why the app is requesting a specific permission. Users
+ can grant or revoke the permissions granted to an app individually at any time. This feature of
+ the preview is most likely to have an impact on your app's behavior and may prevent some of your
+ app features from working, or they may work in a degraded state.
+
+ This change affects all apps running on the new platform, even those not targeting the new
+ platform version. The platform provides a limited compatibility behavior for legacy apps, but you
+ should begin planning your app’s migration to the new permissions model now, with a goal of
+ publishing an updated version of your app at the official platform launch.
+
+ Use the following test tips to help you plan and execute testing of your app with the new
+ permissions behavior.
+
+ The permissions change affects the structure and design of your app, as well as
+ the user experience and flows you provide to users. You should assess your app’s current
+ permissions use and start planning for the new flows you want to offer. The official release of
+ the platform provides compatibility behavior, but you should plan on updating your app and not
+ rely on these behaviors.
+
+ Identify the permissions that your app actually needs and uses, and then find the various code
+ paths that use the permission-protected services. You can do this through a combination of
+ testing on the new platform and code analysis. In testing, you should focus on opting in to
+ runtime permissions by changing the app’s {@code targetSdkVersion} to the preview version. For
+ more information, see Set up
+the Android N SDK.
+
+ Test with various combinations of permissions revoked and added, to highlight the user flows that
+ depend on permissions. Where a dependency is not obvious or logical you should consider
+ refactoring or compartmentalizing that flow to eliminate the dependency or make it clear why the
+ permission is needed.
+
+ For more information on the behavior of runtime permissions, testing, and best practices, see the
+ Permissions developer
+ preview page.
+
+ The power saving features of Doze and App Standby limit the amount of background processing that
+ your app can perform when a device is in an idle state or while your app is not in focus. The
+ restrictions the system may impose on apps include limited or no network access,
+ suspended background tasks, suspended Notifications, ignored wake requests, and alarms. To ensure
+ that your app behaves properly with these power saving optimizations, you should test your app by
+ simulating these low power states.
+ To test Doze with your app: To test the App Standby mode with your app: If your app is persisting any device-specific identifiers, such as Google
+Cloud Messaging registration ID, in internal storage,
+make sure to follow best practices to exclude the storage
+location from auto-backup, as described in Auto
+Backup for Apps.
- Along with new features and capabilities, Android N
+ Along with new features and capabilities, Android 7.0
includes a variety of system and API behavior changes. This document
highlights some of the key changes that you should understand and account for
in your apps.
@@ -67,7 +67,7 @@ page.image=images/cards/card-n-changes_2x.png
-Android N includes system behavior changes aimed at improving the battery life
+Android 7.0 includes system behavior changes aimed at improving the battery life
of devices and reducing RAM usage. These changes can affect your app’s access to
system resources, along with the way your app interacts with other apps via
certain implicit intents.
@@ -78,14 +78,14 @@ certain implicit intents.
Introduced in Android 6.0 (API level 23), Doze improves battery life by
deferring CPU and network activities when a user leaves a device unplugged,
- stationary, and with the screen turned off. Android N brings further
+ stationary, and with the screen turned off. Android 7.0 brings further
enhancements to Doze by applying a subset of CPU and network restrictions
while the device is unplugged with the screen turned off, but not necessarily
stationary, for example, when a handset is traveling in a user’s pocket.
Figure 1. Illustration of how Doze applies a first level of
@@ -105,7 +105,7 @@ certain implicit intents.
Figure 2. Illustration of how Doze applies a second level of
@@ -128,7 +128,7 @@ certain implicit intents.
- Android N removes three implicit broadcasts in order to help optimize both
+ Android 7.0 removes three implicit broadcasts in order to help optimize both
memory use and power consumption. This change is necessary because implicit
broadcasts frequently start apps that have registered to listen for them in
the background. Removing these broadcasts can substantially benefit device
@@ -154,12 +154,12 @@ certain implicit intents.
- To alleviate these issues, Android N applies the following
+ To alleviate these issues, Android 7.0 applies the following
optimizations:
If your app uses any of these intents, you should remove dependencies
- on them as soon as possible so that you can target Android N devices properly.
+ on them as soon as possible so that you can target Android 7.0 devices properly.
The Android framework provides several solutions to mitigate the need for
these implicit broadcasts. For example, the {@link
android.app.job.JobScheduler} API provides a robust mechanism to schedule
@@ -193,14 +193,14 @@ certain implicit intents.
- Android N includes changes to permissions that may affect your app.
+ Android 7.0 includes changes to permissions that may affect your app.
In order to improve the security of private files, the private directory of
- apps targeting Android N or higher has restricted access (
-For apps targeting Android N, the Android framework enforces
+For apps targeting Android 7.0, the Android framework enforces
the {@link android.os.StrictMode} API policy that prohibits exposing {@code file://} URIs
outside your app. If an intent containing a file URI leaves your app, the app fails
with a {@code FileUriExposedException} exception.
@@ -272,7 +272,7 @@ see Sharing FilesAccessibility Improvements
- Android N includes changes intended to improve the usability of the
+ Android 7.0 includes changes intended to improve the usability of the
platform for users with low or impaired vision. These changes should
generally not require code changes in your app, however you should review
these feature and test them with your app to assess potential impacts to user
@@ -283,7 +283,7 @@ see Sharing FilesScreen Zoom
- Android N enables users to set Display sizewhich magnifies
+ Android 7.0 enables users to set Display sizewhich magnifies
or shrinks all elements on the screen, thereby improving device accessibility
for users with low vision. Users cannot zoom the screen past a minimum screen
width of Sharing Files
Figure 3. The screen on the right shows the effect of
- increasing the Display size of a device running an Android N system image.
+ increasing the Display size of a device running an Android 7.0 system image.
- Android N includes Vision Settings on the Welcome screen, where users can
+ Android 7.0 includes Vision Settings on the Welcome screen, where users can
set up the following accessibility settings on a new device:
Magnification gesture, Font size,
Display size and TalkBack. This change
@@ -378,13 +378,13 @@ see Sharing FilesNDK Apps Linking to Platform Libraries
- Starting in Android N, the system prevents apps from dynamically linking
+ Starting in Android 7.0, the system prevents apps from dynamically linking
against non-NDK libraries, which may cause your app to crash. This change in
behavior aims to create a consistent app experience across platform updates
and different devices. Even though your code might not be linking against
private libraries, it's possible that a third-party static library in your
app could be doing so. Therefore, all developers should check to make sure
- that their apps do not crash on devices running Android N. If your app uses
+ that their apps do not crash on devices running Android 7.0. If your app uses
native code, you should only be using public NDK APIs.
In this document
+
+ Testing Permissions
+
+Test tips
+
+
+
+
+
+
+ adb shell pm list permissions -d -g
+
+ adb shell pm [grant|revoke] <permission.name> ...
+ Test strategy
+
+Testing Doze and App Standby
+
+Testing your app with Doze
+
+
+
+
+
+
+$ adb shell dumpsys battery unplug
+$ adb shell dumpsys deviceidle step
+$ adb shell dumpsys deviceidle -h
+
+
+ Testing apps with App Standby
+
+
+
+
+
+$ adb shell am broadcast -a android.os.action.DISCHARGING
+$ adb shell am set-idle <packageName> true
+
+
+ $ adb shell am set-idle <packageName> false
+ Auto Backup for Apps and Device-Specific Identifiers
+
+See Also
@@ -52,7 +52,7 @@ page.image=images/cards/card-n-changes_2x.png
Battery and Memory
Project Svelte: Background Optimizations
-
Permissions Changes
File system permission changes
0700).
+ apps targeting Android 7.0 or higher has restricted access (0700).
This setting prevents leakage of metadata of private files, such as their size
or existence. This permission change has multiple side effects:
Sharing Files Between Apps
+
+
You may also see these logcat outputs if your app uses third-party libraries
that dynamically link to private platform APIs. The readelf tool in the
- Android NDK allows you to generate a list of all dynamically linked shared
+ Android 7.0DK allows you to generate a list of all dynamically linked shared
libraries of a given .so file by running the following command:
- Android N contains changes for apps that target Android for Work, including + Android 7.0 contains changes for apps that target Android for Work, including changes to certificate installation, password resetting, secondary user management, and access to device identifiers. If you are building apps for Android for Work environments, you should review these changes and modify @@ -749,7 +749,7 @@ JavaVM::AttachCurrentThread from <jni.h>. DER-encoded format under a .crt or .cer file extension. -
- For more information about changes to Android for Work in Android N, see + For more information about changes to Android for Work in Android 7.0, see Android for Work Updates.
-Android N fixes a bug where the visibility of annotations was being ignored. +Android 7.0 fixes a bug where the visibility of annotations was being ignored. This issue enabled the runtime to access annotations that it should not have been able to. These annotations included:
@@ -811,7 +811,7 @@ be available at runtime. You do so by using {@code @Retention(RetentionPolicy.RU- The following code samples are provided for Android N. To + The following code samples are provided for Android 7.0. To download the samples in Android Studio, select the File > Import Samples menu option.
@@ -16,7 +16,7 @@ page.image=images/cards/card-n-samples_2x.png
+
This sample demonstrates how to take advantage of multiple window user interfaces with your app. @@ -28,7 +28,7 @@ page.image=images/cards/card-n-samples_2x.png
+
This is a pre-existing sample which shows a simple service that sends notifications using NotificationCompat. Each unread conversation from a user @@ -45,7 +45,7 @@ page.image=images/cards/card-n-samples_2x.png
+
This is a pre-existing sample which demonstrates how to use NotificationManager to tell how many notifications an application is currently @@ -62,7 +62,7 @@ page.image=images/cards/card-n-samples_2x.png
+
This sample demonstrates how to store and access data in a device encrypted storage which is always available while the device is booted. @@ -74,7 +74,7 @@ page.image=images/cards/card-n-samples_2x.png
+
This sample demonstrates how to read and write data from specific directories, while requiring fewer permissions. @@ -82,4 +82,4 @@ page.image=images/cards/card-n-samples_2x.png
\ No newline at end of file + diff --git a/docs/html/preview/guide.jd b/docs/html/about/versions/nougat/android-7.0-testing.jd similarity index 98% rename from docs/html/preview/guide.jd rename to docs/html/about/versions/nougat/android-7.0-testing.jd index 28c0fe9f7fd98..f30382e0decc6 100644 --- a/docs/html/preview/guide.jd +++ b/docs/html/about/versions/nougat/android-7.0-testing.jd @@ -1,4 +1,4 @@ -page.title=Testing Guide +page.title=Android 7.0 Testing Guide page.image=images/cards/card-n-guide_2x.png meta.tags="preview", "testing" page.tags="preview", "developer preview" @@ -17,7 +17,7 @@ page.tags="preview", "developer preview"- Android N gives you an opportunity to ensure your apps work with the next + Android 7.0 gives you an opportunity to ensure your apps work with the next version of the platform. This preview includes a number of APIs and behavior changes that can impact your app, as described in the API Overview and Behavior Changes. In testing diff --git a/docs/html/preview/api-overview.jd b/docs/html/about/versions/nougat/android-7.0.jd similarity index 89% rename from docs/html/preview/api-overview.jd rename to docs/html/about/versions/nougat/android-7.0.jd index c7ffb7a06b760..87c8d936c9ab1 100644 --- a/docs/html/preview/api-overview.jd +++ b/docs/html/about/versions/nougat/android-7.0.jd @@ -1,6 +1,6 @@ -page.title=Android N for Developers -meta.tags="preview", "androidn" -page.tags="preview", "developer preview" +page.title=Android 7.0 APIs +meta.tags="Android 7.0", "android n", "Nougat" +page.tags="Android 7.0", "Nougat", "android n", "developer preview" page.image=images/cards/card-n-apis_2x.png @jd:body @@ -51,29 +51,27 @@ page.image=images/cards/card-n-apis_2x.png -
Android N is still in active development, but you can try it -now as part of the N Developer Preview. The sections below highlight some of -the new features for developers.
-
- Make sure to check out the Behavior Changes to learn about
- areas where platform changes may affect your apps, take a look at the
- developer guides to learn more about key features, and download the API Reference for details on
- new APIs.
+Android 7.0
+(N)
+offers new features for users and app developers. This document provides
+an introduction to the most notable APIs. Make sure, also,
+to check out the
In Android N, we're introducing a new and much-requested multitasking feature -into the platform — multi-window support.
+In Android 7.0, we're introducing a new and much-requested +multitasking feature into the platform — multi-window support.
Users can now pop open two apps on the screen at once.
Figure 1. Apps running in split-screen mode. @@ -111,8 +109,8 @@ that size. You can also disable multi-window display for your app, which
In Android N we've redesigned notifications to make them easier and faster to -use. Some of the changes include:
+In Android 7.0 we've redesigned notifications to make them easier and +faster to use. Some of the changes include:
In Android N, we've added a Just in Time (JIT) compiler with code profiling to -ART, which lets it constantly improve the performance of Android apps as they -run. The JIT compiler complements ART's current Ahead of Time (AOT) compiler -and helps improve runtime performance, save storage space, and speed up app -updates and system updates.
+In Android 7.0, we've added a Just in Time (JIT) compiler with code +profiling to ART, which lets it constantly improve the performance of +Android apps as they run. The JIT compiler complements ART's current +Ahead of Time (AOT) compiler and helps improve runtime performance, save +storage space, and speed up app updates and system updates.
-Profile-guided compilation lets ART manage the AOT/JIT compilation for each app -according to its actual usage, as well as conditions on the device. For -example, ART maintains a profile of each app's hot methods and can precompile -and cache those methods for best performance. It leaves other parts of the app -uncompiled until they are actually used.
+Profile-guided compilation lets ART manage the AOT/JIT compilation for +each app according to its actual usage, as well as conditions on the device. +For example, ART maintains a profile of each app's hot methods and can +precompile and cache those methods for best performance. It leaves other parts +of the app uncompiled until they are actually used.
Besides improving performance for key parts of the app, profile-guided compilation helps reduce an app's overall RAM footprint, including associated @@ -210,14 +208,14 @@ seconds. System updates are also faster, since there's no more optimizing step. apps' CPU and network activities when the device is idle, such as when it's sitting on a table or in a drawer.
-Now in Android N, Doze takes a step further and saves battery while on the go. +
Now in Android 7.0, Doze takes a step further and saves battery while on the go. Any time the screen is off for a period of time and the device is unplugged, Doze applies a subset of the familiar CPU and network restrictions to apps. This means users can save battery even when carrying their devices in their pockets.
-
Figure 3. Doze now applies @@ -245,7 +243,7 @@ your app to Doze now.
Project Svelte is an ongoing effort to minimize RAM use by system and apps -across the range of Android devices in the ecosystem. In Android N, Project +across the range of Android devices in the ecosystem. In Android 7.0, Project Svelte is focused on optimizing the way apps run in the background.
Background processing is an essential part of most apps. When handled right, it @@ -269,17 +267,17 @@ simplicity, and we want all apps to use it.
We're continuing to extend JobScheduler and
GCMNetworkManager to meet more of
-your use cases — for example, in Android N you can now schedule background
+your use cases — for example, in Android 7.0 you can now schedule background
work based on changes in Content Providers. At the same time we're starting to
deprecate some of the older patterns that can reduce system performance,
especially on low-memory devices.
In Android N we're removing three commonly-used implicit broadcasts — +
In Android 7.0 we're removing three commonly-used implicit broadcasts —
{@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
android.hardware.Camera#ACTION_NEW_PICTURE}, and {@link
android.hardware.Camera#ACTION_NEW_VIDEO} — since those can wake the
background processes of multiple apps at once and strain memory and battery. If
-your app is receiving these, take advantage of the N Developer Preview to
+your app is receiving these, take advantage of the Android 7.0 to
migrate to JobScheduler and related APIs instead.
@@ -290,7 +288,7 @@ your app is receiving these, take advantage of the N Developer Preview to
-Android N brings synchronous movement to the {@link android.view.SurfaceView} +Android 7.0 brings synchronous movement to the {@link android.view.SurfaceView} class, which provides better battery performance than {@link android.view.TextureView} in certain cases: When rendering video or 3D content, apps with scrolling and animated video position use less power with @@ -311,14 +309,14 @@ no longer produce black bars alongside the view as it moves.
-Starting with Android N, we strongly recommend that you save power by using +Starting with Android 7.0, we strongly recommend that you save power by using {@link android.view.SurfaceView} instead of {@link android.view.TextureView}.
+
Figure 4. Data Saver in Settings. @@ -329,7 +327,7 @@ Starting with Android N, we strongly recommend that you save power by using exceeds the cost of the device itself. For many users, cellular data is an expensive resource that they want to conserve.
-Android N introduces Data Saver mode, a new system service that helps reduce +
Android 7.0 introduces Data Saver mode, a new system service that helps reduce cellular data use by apps, whether roaming, near the end of the billing cycle, or on a small prepaid data pack. Data Saver gives users control over how apps use cellular data and lets developers provide more efficient service when Data @@ -342,7 +340,7 @@ bit rate for streaming, reducing image quality, deferring optimistic precaching, and so on. Users can whitelist specific apps to allow background metered data usage even when Data Saver is turned on.
-Android N extends the {@link android.net.ConnectivityManager} to provide apps a +
Android 7.0 extends the {@link android.net.ConnectivityManager} to provide apps a way to retrieve the user's Data Saver preferences and monitor @@ -353,7 +351,7 @@ Saver and make an effort to limit foreground and background data usage.
- Android N integrates Vulkan™, a new 3D rendering API, into the platform. Like OpenGL™ ES, Vulkan is an open standard for 3D graphics and rendering maintained @@ -368,7 +366,7 @@ Saver and make an effort to limit foreground and background data usage.
- Vulkan development tools and libraries are rolled into the Android NDK. They + Vulkan development tools and libraries are rolled into the Android 7.0DK. They include:
@@ -401,7 +399,7 @@ Saver and make an effort to limit foreground and background data usage.
+
Figure 5. Quick Settings tiles in the notification shade. @@ -409,7 +407,7 @@ Saver and make an effort to limit foreground and background data usage.
Quick Settings is a popular and simple way to expose key settings and actions, -directly from the notification shade. In Android N, we've expanded the scope of +directly from the notification shade. In Android 7.0, we've expanded the scope of Quick Settings to make it even more useful and convenient.
We've added more room for additional Quick Settings tiles, which users can @@ -417,7 +415,7 @@ access across a paginated display area by swiping left or right. We've also given users control over what Quick Settings tiles appear and where they are displayed — users can add or move tiles just by dragging and dropping them.
-For developers, Android N also adds a new API that lets you define your own +
For developers, Android 7.0 also adds a new API that lets you define your own Quick Settings tiles to give users easy access to key controls and actions in your app.
@@ -441,7 +439,7 @@ displayed — users can add or move tiles just by dragging and dropping them
Android N now supports number blocking in the platform and provides a +
Android 7.0 now supports number blocking in the platform and provides a framework API to let service providers maintain a blocked-number list. The default SMS app, the default phone app, and carrier apps can read from and write to the blocked-number list. The list is not accessible to other apps.
@@ -471,7 +469,7 @@ through any medium, such as a VOIP endpoint or forwarding phones.
- Android N allows the default phone app to screen incoming calls. The phone
+ Android 7.0 allows the default phone app to screen incoming calls. The phone
app does this by implementing the new CallScreeningService,
which allows the phone app to perform a number of actions based on an
incoming call's {@link android.telecom.Call.Details Call.Details}, such as:
@@ -493,20 +491,20 @@ through any medium, such as a VOIP endpoint or forwarding phones.
Android N now lets users select multiple locales in Settings, +
Android 7.0 now lets users select multiple locales in Settings, to better support bilingual use-cases. Apps can use a new API to get the user's selected locales and then offer more sophisticated user experiences for multi-locale users — such as showing search results in multiple languages and not offering to translate webpages in a language the user already knows.
-Along with multi-locale support, Android N also expands the range of languages +
Along with multi-locale support, Android 7.0 also expands the range of languages available to users. It offers more than 25 variants each for commonly used languages such as English, Spanish, French, and Arabic. It also adds partial support for more than 100 new languages.
Apps can get the list of locales set by the user by calling
-LocaleList.GetDefault(). To support the expanded number of locales, Android N is
+LocaleList.GetDefault(). To support the expanded number of locales, Android 7.0 is
changing the way that it resolves resources. Make sure that you test and verify that your apps
working as expected with the new resource resolution logic.
- Android N introduces additional emojis and emoji-related features including
+ Android 7.0 introduces additional emojis and emoji-related features including
skin tone emojis and support for variation
selectors. If your app supports emojis,
follow the guidelines below to take advantage of these emoji-related features.
@@ -544,7 +542,7 @@ should follow, see ICU4J APIs in Android
- Android N now offers a subset of ICU4J APIs in the Android framework under
the
- Starting with Chrome version 51 in Android N, WebView will run web content in a
+ Starting with Chrome version 51 in Android 7.0, WebView will run web content in a
separate sandboxed process when the developer option "Multiprocess WebView"
is enabled.
- Starting with apps targeting Android N, the geolocation API will only be
+ Starting with apps targeting Android 7.0, the geolocation API will only be
allowed on secure origins (over HTTPS.) This policy is designed to protect
users’ private information when they’re using an insecure connection.
Android N adds framework interfaces and platform support for OpenGL ES 3.2, including: Android 7.0 adds framework interfaces and platform support for OpenGL ES 3.2, including: The framework API for OpenGL ES 3.2 on Android N is provided with the
+ The framework API for OpenGL ES 3.2 on Android 7.0 is provided with the
Android N adds the ability to record and playback content from Android TV input
+ Android 7.0 adds the ability to record and playback content from Android TV input
services via new recording APIs. Building on top of existing time-shifting
APIs, TV input services can control what channel data can be recorded, how
recorded sessions are saved, and manage user interaction with recorded content. Android for Work adds many new features and APIs for devices running Android N.
+ Android for Work adds many new features and APIs for devices running Android 7.0.
Some highlights are below — for a complete list of changes, see
Android for Work Updates.android.icu package. Migration is easy, and mostly entails
simply changing from the com.java.icu namespace to
@@ -579,7 +577,7 @@ should follow, see Multiprocess
-EXT_texture_sRGB_decode Robust buffer access control to reduce WebGL overhead.
GLES32 class. When using OpenGL ES 3.2, be sure to declare the
requirement in your manifest file, using the <uses-feature> tag and
the android:glEsVersion attribute. Android TV Recording
-Android for Work
-android.net.VpnService.
Android N now offers Vision Settings directly on the Welcome screen for new +
Android 7.0 now offers Vision Settings directly on the Welcome screen for new device setup. This makes it much easier for users to discover and configure accessibility features on their devices, including magnification gesture, font size, display size, and TalkBack.
@@ -773,7 +771,7 @@ are more likely to try your app with them enabled. Make sure you test your apps early with these settings enabled. You can enable them from Settings > Accessibility. -Also in Android N, accessibility services can now help users with motor +
Also in Android 7.0, accessibility services can now help users with motor impairments to touch the screen. The new API allows building services with features such as face-tracking, eye-tracking, point scanning, and so on, to meet the needs of those users.
@@ -791,7 +789,7 @@ registered alarms, messages and incoming calls can now continue to notify the user as normal. This also means accessibility services can also be available immediately after a restart. -Direct boot takes advantage of file based encryption in Android N +
Direct boot takes advantage of file based encryption in Android 7.0
to enable fine grained encryption policies for both system and app data.
The system uses a device-encrypted store for select system data and explicitly
registered app data. By default a credential-encrypted store is used for all
@@ -812,7 +810,7 @@ For more information, see
- Android N introduces key attestation, a new security tool that helps
+ Android 7.0 introduces key attestation, a new security tool that helps
you make sure that the key pairs stored within a device's hardware-backed
@@ -836,8 +834,8 @@ For more information, see
- Note: Only a small number of devices running Android N
- support hardware-level key attestation; all other devices running Android N
+ Note: Only a small number of devices running Android 7.0
+ support hardware-level key attestation; all other devices running Android 7.0
use software-level key attestation instead. Before you verify the properties
of a device's hardware-backed keys in a production-level environment, you
should make sure that the device supports hardware-level key attestation. To
@@ -857,7 +855,7 @@ For more information, see
In Android N, apps can customize the behavior of their secure (HTTPS, TLS)
+ In Android 7.0, apps can customize the behavior of their secure (HTTPS, TLS)
connections safely, without any code modification, by using the declarative
Network Security Config instead of using the conventional
error-prone programmatic APIs (e.g. X509TrustManager). By default, apps that target Android N only trust system-provided certificates
+ By default, apps that target Android 7.0 only trust system-provided certificates
and no longer trust user-added Certificate Authorities (CA). Apps targeting Android
N that wish to trust user-added CAs should use the
Network Security Config to
@@ -893,7 +891,7 @@ specify how user CAs should be trusted.
- Android N introduces APK Signature Scheme v2, a new app-signing scheme that
+ Android 7.0 introduces APK Signature Scheme v2, a new app-signing scheme that
offers faster app install times and more protection against unauthorized
alterations to APK files. By default, Android Studio 2.2 and the Android
Plugin for Gradle 2.2 sign your app using both APK Signature Scheme v2 and
@@ -943,7 +941,7 @@ specify how user CAs should be trusted. In Android N, apps can use new APIs to request access to specific In Android 7.0, apps can use new APIs to request access to specific external
storage directories, including directories on removable media such as SD
cards. The new APIs greatly simplify how your application accesses standard
@@ -965,7 +963,7 @@ Directory AccessKey Attestation
Network Security Config
-Default Trusted Certificate Authority
-APK Signature Scheme v2
Scoped Directory Access
-
- In Android N, the user can press Meta + / to trigger a + In Android 7.0, the user can press Meta + / to trigger a Keyboard Shortcuts screen that displays all shortcuts available both from the system and from the app in focus. The system retrieves these shortcuts automatically from the app’s menu if the shortcuts exist. You can @@ -992,7 +990,7 @@ Directory Access
developer documentation.- Android N introduces the Custom Pointer API, which lets you customize the + Android 7.0 introduces the Custom Pointer API, which lets you customize the appearance, visibility, and behavior of the pointer. This capability is especially useful when a user is using a mouse or touchpad to interact with UI objects. The default pointer uses a standard icon. This API also includes @@ -1017,7 +1015,7 @@ developers creating high-performance, long-running apps.
-To address these limitations, Android N includes support for +To address these limitations, Android 7.0 includes support for sustained performance mode, enabling OEMs to provide hints about device-performance capabilities for long-running apps. App developers can use these hints to tune apps for a predictable, @@ -1025,7 +1023,7 @@ consistent level of device performance over long periods of time.
-App developers can try out this new API in the N Developer Preview on +App developers can try out this new API in Android 7.0 on Nexus 6P devices only. To use this feature, set the sustained performance window flag for the window you want to run in sustained performance mode. Set this flag using the @@ -1036,12 +1034,12 @@ disables this mode when the window is no longer in focus.
-Android N adds platform support and optimizations for a new VR Mode to let developers +Android 7.0 adds platform support and optimizations for a new VR Mode to let developers build high-quality mobile VR experiences for users. There are a number of performance enhancements, including access to an exclusive CPU core for VR apps. Within your apps, you can take advantage of intelligent head-tracking, -and stereo notifications that work for VR. Most importantly, Android N provides for -very low latency graphics. For complete information about building VR apps for Android N, +and stereo notifications that work for VR. Most importantly, Android 7.0 provides for +very low latency graphics. For complete information about building VR apps for Android 7.0, see the Google VR SDK for Android.
@@ -1049,7 +1047,7 @@ see the Google VR SDK for An- In Android N, print service developers can now surface additional information + In Android 7.0, print service developers can now surface additional information about individual printers and print jobs.
@@ -1138,11 +1136,11 @@ The supported metrics are: {@code UNKNOWN_DELAY_DURATION},- Android N adds the concept of virtual files to the Storage Access + Android 7.0 adds the concept of virtual files to the Storage Access Framework. The virtual files feature allows your {@link android.provider.DocumentsProvider} to return document URIs that can be used with an {@link android.content.Intent#ACTION_VIEW} intent even if they - don't have a direct bytecode representation. Android N also allows you to + don't have a direct bytecode representation. Android 7.0 also allows you to provide alternate formats for user files, virtual or otherwise.
diff --git a/docs/html/preview/index.jd b/docs/html/about/versions/nougat/index.jd similarity index 94% rename from docs/html/preview/index.jd rename to docs/html/about/versions/nougat/index.jd index 241a98e737a0d..aaf7e92d55ab9 100644 --- a/docs/html/preview/index.jd +++ b/docs/html/about/versions/nougat/index.jd @@ -22,10 +22,9 @@ footer.hide=1- Android N final SDK is now available! - Get ready for Android N! + Android 7.0 Nougat brings a new crop of sweet features to your Android device. Test your apps on Nexus and other devices. Support new system behaviors to save power and memory. Extend your apps with multi-window UI, @@ -49,9 +48,9 @@ footer.hide=1
!C+S)*UavL1r?uFuuiv$H;I4Bx^gXt`XV=a1bXRf(c7Jf=BZd#|IsE_f
zf4Bm_8Sazt-!{%!c#NMl`qbfrx6a^i6fduPtNx!{W-C=%9Ic* W=eL9K`f=`w8W8+O<-bOTP1&_tO$c*Qf+C!Q|hEeaUOeL(KS$I4=n
zX!J?jGP!6#X=Hn&!#D0U0i^G68m@0;`|N}VaYak4LvIAsB6cjSQ2S&T4fm{Ty29!4
zQ9f|M+IBDT-)$@H3G<(AMV7RX(%O$r0#0jbloRgDWn!n0Ct?ROI8jXbi&tgaJeU
zheK(yIf^lsQq<^D-nou`+9GPs6;>cAu@*<^G0$E%Z^73mBOq#tP%#gXyw8mM3Jg<>
zL4{E}1v8UnDCfIu{Ns?-VoXEF;p!8?>6taKB~GEv6R}J!9JGX<&R~X(M e5a65uiiGgmfK
zogDY$d<_IbIsV)(eRz1=W=ng}0rsm}NJqZ?fczp*Z24m
z6BFxdou9pT3pO^nBh
3qBo&$npJG-lyDzfQ{lTpWbfd7)yqAN;W*3
zW0}Kko{p|!ZQj>GnJ5%ppa2xjNxygXB1iL;1+|`)TKUl?M;Bdx%Cf-A2G-0UxaD0^
zQO2WVX;Ps}XAuXg+=VN-QIXOurk0k)qP(x_P4~9qOFIma4%`3x5mt$`@COTW@qDQ*
z_*V$Jp$?;O3AVhArUiBf6NZVmp)iZDtV#YUJuP%dsz2
z8dt)TbprDdewPC2>bKZZIQ!gMX<&-32N*QxPVrkumw_>HmU`ar(I6d6?4Rgw2gezt
z)ne~N?8c<-E?=*Py4#bTOW^tcP7Z+zx1EZ>JuLRI|F;d9CC*$}w$(R;x4C9>EUqMp
z?j&8}UK%`uY<1HP7SN{}VFW5gH53U)>HR`HjETE<%th-4dSRo}^oD+30f?bp@ykt(W*cXnuFk95Wj`!PG>mJ60U${Z`p@8%xxq*$@o>{LqD9qSDwP6D
f4v}o#gdC}G4QRz@~{BCY#Eye4NGE0SGZEd4#7yOsxsn(
zNYhvY+vgbneS-*eJ