Docs: Migration of N docs to about/versions/

With the transition from N Preview to actual Nougat Release, this CL moves
the high-level overview files from the preview directory into the
about/versions/ directory, under which an archive of current and previous
Android versions' changes resides.

Change-Id: I42373b0302e953f8166c62e7c8422f2481322240
This commit is contained in:
David Friedman
2016-07-20 13:44:10 -07:00
parent 340a59c77b
commit f3851c1670
44 changed files with 394 additions and 3781 deletions

View File

@@ -1231,3 +1231,20 @@ redirects:
to: /guide/topics/resources/multilingual-support.html
- from: /preview/j8-jack.html
to: /guide/platform/j8-jack.html
- from: /about/versions/marshmallow/samples.html
to: /about/versions/marshmallow/android-6.0-samples.html
- from: /preview/behavior-changes.html
to: /about/versions/nougat/android-7.0-changes.html
- from: /preview/samples.html
to: /about/versions/nougat/android-7.0-samples.html
- from: /preview/guide.html
to: /about/versions/nougat/android-7.0-testing.html
- from: /preview/api-overview.html
to: /about/versions/nougat/android-7.0.html
- from: /preview/index.html
to: /about/versions/nougat/index.html
- from: /preview/features/background-optimization.html
to: /topic/performance/background-optimization.html
- from: /preview/features/data-saver.html
to: /training/basics/network-ops/data-saver.html

View File

@@ -1,4 +1,16 @@
toc:
- title: Nougat
path: /about/versions/nougat/index.html
section:
- title: Android 7.0 APIs
path: /about/versions/nougat/android-7.0.html
- title: Android 7.0 Changes
path: /about/versions/nougat/android-7.0-changes.html
- title: Android 7.0 Samples
path: /about/versions/nougat/android-7.0-samples.html
- title: Android 7.0 Testing
path: /about/versions/nougat/android-7.0-testing.html
- title: Marshmallow
path: /about/versions/marshmallow/index.html
section:
@@ -7,7 +19,9 @@ toc:
- title: Android 6.0 Changes
path: /about/versions/marshmallow/android-6.0-changes.html
- title: Android 6.0 Samples
path: /about/versions/marshmallow/samples.html
path: /about/versions/marshmallow/android-6.0-samples.html
- title: Android 6.0 Testing
path: /about/versions/marshmallow/android-6.0-testing.html
- title: Lollipop
path: /about/versions/lollipop.html

View File

@@ -0,0 +1,183 @@
page.title=Android 6.0 Testing Guide
page.image=images/cards/card-n-guide_2x.png
meta.tags="preview", "testing"
page.tags="preview", "developer preview"
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
<li><a href="#runtime-permissions">Testing Permissions</a></li>
<li><a href="#doze-standby">Testing Doze and App Standby</a></li>
<li><a href="#ids">Auto Backup and Device Identifiers</a></li>
</ol>
</div>
</div>
<p>
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 <a href="{@docRoot}preview/api-overview.html">API
Overview</a> and <a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a>. 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.
</p>
<p>
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:
</p>
<ul>
<li><a href="#runtime-permissions">Permissions</a>
</li>
<li><a href="#doze-standby">Doze and App Standby</a>
</li>
<li><a href="#ids">Auto Backup and Device Identifiers</a></li>
</ul>
<h2 id="runtime-permissions">Testing Permissions</h2>
<p>
The new <a href="{@docRoot}preview/features/runtime-permissions.html">Permissions</a> 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 apps 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.
</p>
<p class="caution">
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 apps migration to the new permissions model now, with a goal of
publishing an updated version of your app at the official platform launch.
</p>
<h3 id="permission-test-tips">Test tips</h3>
<p>
Use the following test tips to help you plan and execute testing of your app with the new
permissions behavior.
</p>
<ul>
<li>Identify your apps current permissions and the related code paths.</li>
<li>Test user flows across permission-protected services and data.</li>
<li>Test with various combinations of granted/revoked permission.</li>
<li>Use the {@code adb} tool to manage permssions from the command line:
<ul>
<li>List permissions and status by group:
<pre>adb shell pm list permissions -d -g</pre>
</li>
<li>Grant or revoke one or more permissions using the following syntax:<br>
<pre>adb shell pm [grant|revoke] &lt;permission.name&gt; ...</pre>
</li>
</ul>
</li>
<li>Analyze your app for services that use permissions.</li>
</ul>
<h3 id="permission-test-strategy">Test strategy</h3>
<p>
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 apps 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.
</p>
<p>
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 apps {@code targetSdkVersion} to the preview version. For
more information, see <a href="{@docRoot}preview/setup-sdk.html#">Set up
the Android N SDK</a>.
</p>
<p>
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.
</p>
<p>
For more information on the behavior of runtime permissions, testing, and best practices, see the
<a href="{@docRoot}preview/features/runtime-permissions.html">Permissions</a> developer
preview page.
</p>
<h2 id="doze-standby">Testing Doze and App Standby</h2>
<p>
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.
</p>
<h4 id="doze">Testing your app with Doze</h4>
<p>To test Doze with your app:</p>
<ol>
<li>Configure a hardware device or virtual device with an Android N system image.</li>
<li>Connect the device to your development machine and install your app.</li>
<li>Run your app and leave it active.</li>
<li>Simulate the device going into Doze mode by running the following commands:
<pre>
$ adb shell dumpsys battery unplug
$ adb shell dumpsys deviceidle step
$ adb shell dumpsys deviceidle -h
</pre>
</li>
<li>Observe the behavior of your app when the device is re-activated. Make sure it
recovers gracefully when the device exits Doze.</li>
</ol>
<h4 id="standby">Testing apps with App Standby</h4>
<p>To test the App Standby mode with your app:</p>
<ol>
<li>Configure a hardware device or virtual device with an Android N system image.</li>
<li>Connect the device to your development machine and install your app.</li>
<li>Run your app and leave it active.</li>
<li>Simulate the app going into standby mode by running the following commands:
<pre>
$ adb shell am broadcast -a android.os.action.DISCHARGING
$ adb shell am set-idle &lt;packageName&gt; true
</pre>
</li>
<li>Simulate waking your app using the following command:
<pre>$ adb shell am set-idle &lt;packageName&gt; false</pre>
</li>
<li>Observe the behavior of your app when it is woken. Make sure it recovers gracefully
from standby mode. In particular, you should check if your app's Notifications and background
jobs continue to function as expected.</li>
</ol>
<h2 id="ids">Auto Backup for Apps and Device-Specific Identifiers</h2>
<p>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 <a href="{@docRoot}preview/backup/index.html">Auto
Backup for Apps</a>. </p>

View File

@@ -1,7 +1,7 @@
page.title=Behavior Changes
page.title=Android 7.0 Changes
page.keywords=preview,sdk,compatibility
meta.tags="preview", "compatibility"
page.tags="preview", "developer preview"
meta.tags="Android 7.0", "Nougat", "android n", "compatibility"
page.tags="Android 7.0", "Nougat", "android n", "developer preview"
page.image=images/cards/card-n-changes_2x.png
@jd:body
@@ -44,7 +44,7 @@ page.image=images/cards/card-n-changes_2x.png
<h2>See Also</h2>
<ol>
<li><a href="{@docRoot}preview/api-overview.html">
Android N for Developers</a></li>
Android 7.0 APIs</a></li>
</ol>
</div>
@@ -52,7 +52,7 @@ page.image=images/cards/card-n-changes_2x.png
<p>
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
<h2 id="perf">Battery and Memory</h2>
<p>
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 apps 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.
<p>
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 users pocket.
</p>
<img src="{@docRoot}preview/images/doze-diagram-1.png"
<img src="{@docRoot}images/android-7.0/doze-diagram-1.png"
alt="" height="251px" id="figure1" />
<p class="img-caption">
<strong>Figure 1.</strong> Illustration of how Doze applies a first level of
@@ -105,7 +105,7 @@ certain implicit intents.
</p>
<img src="{@docRoot}preview/images/doze-diagram-2.png"
<img src="{@docRoot}images/android-7.0/doze-diagram-2.png"
alt="" id="figure2" />
<p class="img-caption">
<strong>Figure 2.</strong> Illustration of how Doze applies a second level of
@@ -128,7 +128,7 @@ certain implicit intents.
<h3 id="bg-opt">Project Svelte: Background Optimizations</h3>
<p>
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.
</p>
<p>
To alleviate these issues, Android N applies the following
To alleviate these issues, Android 7.0 applies the following
optimizations:
</p>
<ul>
<li>Apps targeting Android N do not receive {@link
<li>Apps targeting Android 7.0 do not receive {@link
android.net.ConnectivityManager#CONNECTIVITY_ACTION} broadcasts, even if they
have manifest entries to request notification of these events. Apps that are
running can still listen for {@code CONNECTIVITY_CHANGE} on their main thread
@@ -169,12 +169,12 @@ certain implicit intents.
<li>Apps cannot send or receive {@link
android.hardware.Camera#ACTION_NEW_PICTURE} or {@link
android.hardware.Camera#ACTION_NEW_VIDEO} broadcasts. This optimization
affects all apps, not only those targeting Android N.
affects all apps, not only those targeting Android 7.0.
</li>
</ul>
<p>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.
<h2 id="perm">Permissions Changes</h2>
<p>
Android N includes changes to permissions that may affect your app.
Android 7.0 includes changes to permissions that may affect your app.
</p>
<h3 id="permfilesys">File system permission changes</h3>
<p>
In order to improve the security of private files, the private directory of
apps targeting Android N or higher has restricted access (<code>0700</code>).
apps targeting Android 7.0 or higher has restricted access (<code>0700</code>).
This setting prevents leakage of metadata of private files, such as their size
or existence. This permission change has multiple side effects:
</p>
@@ -232,7 +232,7 @@ certain implicit intents.
stored files by filename. Legacy applications may end up with an
unaccessible path when accessing {@link
android.app.DownloadManager#COLUMN_LOCAL_FILENAME}. Apps targeting
Android N or higher trigger a {@link java.lang.SecurityException} when
Android 7.0 or higher trigger a {@link java.lang.SecurityException} when
attempting to access
{@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME}.
Legacy applications that set the download location to a public location by
@@ -255,7 +255,7 @@ certain implicit intents.
<h2 id="sharing-files">Sharing Files Between Apps</h2>
<p>
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 <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
<h2 id="accessibility">Accessibility Improvements</h2>
<p>
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 <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
<h3 id="screen-zoom">Screen Zoom</h3>
<p>
Android N enables users to set <strong>Display size</strong>which magnifies
Android 7.0 enables users to set <strong>Display size</strong>which 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 <a href=
@@ -294,16 +294,16 @@ see <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
<div class="cols">
<div class="col-6">
<img src="{@docRoot}preview/images/screen-zoom-1.png" alt="" height="XXX" id="figure1" />
<img src="{@docRoot}images/android-7.0/screen-zoom-1.png" alt="" height="XXX" id="figure1" />
</div>
<div class="col-6">
<img src="{@docRoot}preview/images/screen-zoom-2.png" alt="" height="XXX" id="figure1" />
<img src="{@docRoot}images/android-7.0/screen-zoom-2.png" alt="" height="XXX" id="figure1" />
</div>
</div> <!-- end cols -->
<p class="img-caption">
<strong>Figure 3.</strong> 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.
</p>
@@ -323,7 +323,7 @@ see <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
Runtime Changes</a>, just as if the device's orientation had changed.
</li>
<li>If an app targets Android N, all of its processes
<li>If an app targets Android 7.0, all of its processes
(foreground and background) are notified of the configuration change as
described in <a href=
"{@docRoot}guide/topics/resources/runtime-changes.html">Handling
@@ -365,7 +365,7 @@ see <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
<h3 id="vision-settings">Vision Settings in Setup Wizard</h3>
<p>
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:
<strong>Magnification gesture</strong>, <strong>Font size</strong>,
<strong>Display size</strong> and <strong>TalkBack</strong>. This change
@@ -378,13 +378,13 @@ see <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
<h2 id="ndk">NDK Apps Linking to Platform Libraries</h2>
<p>
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 <a href=
"{@docRoot}ndk/guides/stable_apis.html">public NDK APIs</a>.
</p>
@@ -595,7 +595,7 @@ see <a href="{@docRoot}training/secure-file-sharing/index.html">Sharing Files</a
<p>
To help you identify issues loading private libraries, logcat may generate a
warning or runtime error. For example, if your app targets API level 23 or
lower, and tries to access a private library on a device running Android N,
lower, and tries to access a private library on a device running Android 7.0,
you may see a warning similar to the following:
</p>
@@ -626,7 +626,7 @@ java.lang.UnsatisfiedLinkError: dlopen failed: library "libcutils.so"
<p>
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 <code>.so</code> file by running the following command:
</p>
@@ -692,7 +692,7 @@ JavaVM::AttachCurrentThread from &lt;jni.h&gt;.
<h2 id="afw">Android for Work</h2>
<p>
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 &lt;jni.h&gt;.
DER-encoded format under a .crt or .cer file extension.
</li>
<li>Starting in Android N, fingerprint enrollment and storage are managed per user.
<li>Starting in Android 7.0, fingerprint enrollment and storage are managed per user.
If a profile owners Device Policy Client (DPC) targets pre-N on an N device,
the user is still able to set fingerprint on the device, but work
applications cannot access device fingerprint. When the DPC targets N and
@@ -765,7 +765,7 @@ JavaVM::AttachCurrentThread from &lt;jni.h&gt;.
is returned, even if the encryption key is specific to the user or profile.
</li>
<li>In Android N, several methods that would ordinarily affect the entire
<li>In Android 7.0, several methods that would ordinarily affect the entire
device behave differently if the device has a work profile installed with a
separate work challenge. Rather than affecting the entire device, these
methods apply only to the work profile. (The complete list of such methods is
@@ -785,14 +785,14 @@ JavaVM::AttachCurrentThread from &lt;jni.h&gt;.
</ul>
<p>
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
<a href="{@docRoot}preview/features/afw.html">Android for Work Updates</a>.
</p>
<h2 id="annotations">Annotations Retention</h2>
<p>
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:
</p>
@@ -811,7 +811,7 @@ be available at runtime. You do so by using {@code @Retention(RetentionPolicy.RU
<h2 id="other">Other Important Points</h2>
<ul>
<li>When an app is running on Android N, but targets a lower API level,
<li>When an app is running on Android 7.0, but targets a lower API level,
and the user changes display size, the app process is killed. The app
must be able to gracefully handle this scenario. Otherwise, it crashes
when the user restores it from Recents.
@@ -830,7 +830,7 @@ however, they may still respond poorly to configuration changes.
</li>
<li>
Apps on Android N should be able to gracefully handle configuration changes,
Apps on Android 7.0 should be able to gracefully handle configuration changes,
and should not crash on subsequent starts. You can verify app behavior
by changing font size (<strong>Setting</strong> >
<strong>Display</strong> > <strong>Font size</strong>), and then restoring
@@ -839,7 +839,7 @@ the app from Recents.
<li>
Due to a bug in previous versions of Android, the system did not flag writing
to a TCP socket on the main thread as a strict-mode violation. Android N fixes this bug.
to a TCP socket on the main thread as a strict-mode violation. Android 7.0 fixes this bug.
Apps that exhibit this behavior now throw an {@code android.os.NetworkOnMainThreadException}.
Generally, performing network operations on the main thread is a bad idea because these operations
usually have a high tail latency that causes ANRs and jank.
@@ -860,7 +860,7 @@ as {@code RuntimeExceptions}, instead of silently logging or suppressing them.
common example is storing too much data in
{@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()},
which causes {@code ActivityThread.StopInfo} to throw a
{@code RuntimeException} when your app targets Android N.
{@code RuntimeException} when your app targets Android 7.0.
</li>
<li>
@@ -881,7 +881,7 @@ to a window. This behavior fixes the following bugs:
</li>
<li>
If an app on Android N with
If an app on Android 7.0 with
{@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES}
permission tries to delete a package, but a different app had installed that package,
the system requires user confirmation. In this scenario, apps should expect

View File

@@ -1,10 +1,10 @@
page.title=Samples
page.tags="preview", "samples", "android"
page.title=Android 7.0 Samples
page.tags="Android 7.0", "nougat", "samples", "android"
page.image=images/cards/card-n-samples_2x.png
@jd:body
<p>
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 <b>File &gt; Import
Samples</b> menu option.
</p>
@@ -16,7 +16,7 @@ page.image=images/cards/card-n-samples_2x.png
<h3 id="mw">Multi-Window Playground</h3>
<img src="{@docRoot}preview/images/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156"/>
<img src="{@docRoot}images/android-7.0/sample-multiwindow.png" style="float: left; padding-right: 0.5em" height="250" width="156"/>
<p>
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
<div style="clear: both;"></div>
<h3 id="an">Active Notifications</h3>
<img src="{@docRoot}preview/images/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
<img src="{@docRoot}images/android-7.0/sample-activenotifications.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
<p>
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
<div style="clear: both;"></div>
<h3 id="ms">Messaging Service</h3>
<img src="{@docRoot}preview/images/sample-messagingservice.png" style="float: left; padding-right: 0.5em" height="250" width="150" />
<img src="{@docRoot}images/android-7.0/sample-messagingservice.png" style="float: left; padding-right: 0.5em" height="250" width="150" />
<p>
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
<div style="clear: both;"></div>
<h3 id="fbe">Direct Boot</h3>
<img src="{@docRoot}preview/images/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
<img src="{@docRoot}images/android-7.0/sample-directboot.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
<p>
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
<div style="clear: both;"></div>
<h3 id="sda">Scoped Directory Access</h3>
<img src="{@docRoot}preview/images/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
<img src="{@docRoot}images/android-7.0/sample-scopeddirectoryaccess.png" style="float: left; padding-right: 0.5em" height="250" width="141" />
<p>
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
<p>
<a href="https://github.com/googlesamples/android-ScopedDirectoryAccess">
Get it on GitHub</a>
</p>
</p>

View File

@@ -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"
</div>
<p>
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 <a href="{@docRoot}preview/api-overview.html">API
Overview</a> and <a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a>. In testing

View File

@@ -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
<p>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. </p>
<p>
Make sure to check out the <a href=
"{@docRoot}preview/behavior-changes.html">Behavior Changes</a> 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 <a href=
"{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a> for details on
new APIs.
Android 7.0
(<a href="{@docRoot}reference/android/os/Build.VERSION_CODES.html#N">N</a>)
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 <href="{@docRoot}about/versions/nougat/behavior.changes.html">
Behavior Changes</a> to learn about areas where platform changes
may affect your apps. In addition, the various developer guides
can provide more information about key features.
</p>
<h2 id="multi-window_support">Multi-window Support</h2>
<p>In Android N, we're introducing a new and much-requested multitasking feature
into the platform &mdash; multi-window support. </p>
<p>In Android 7.0, we're introducing a new and much-requested
multitasking feature into the platform &mdash; multi-window support. </p>
<p>Users can now pop open two apps on the screen at once. </p>
<ul>
<li>On phones and tablets
running Android N, users can run two apps side-by-side or
running Android 7.0, users can run two apps side-by-side or
one-above-the-other in splitscreen mode. Users can resize the apps by dragging
the divider between them. </li>
@@ -84,7 +82,7 @@ interacts with other apps.</li>
</ul>
<div class="col-4of10">
<img src="{@docRoot}preview/images/mw-portrait.png" alt="" style="height:460px;padding-left:1em;"
<img src="{@docRoot}images/android-7.0/mw-portrait.png" alt="" style="height:460px;padding-left:1em;"
id="img-split-screen" />
<p class="img-caption">
<strong>Figure 1.</strong> Apps running in split-screen mode.
@@ -111,8 +109,8 @@ that size. You can also disable multi-window display for your app, which
<h2 id="notification_enhancements">Notification Enhancements</h2>
<p>In Android N we've redesigned notifications to make them easier and faster to
use. Some of the changes include:</p>
<p>In Android 7.0 we've redesigned notifications to make them easier and
faster to use. Some of the changes include:</p>
<ul>
<li>
@@ -150,17 +148,17 @@ use. Some of the changes include:</p>
</ul>
<div class="col-4of12">
<img src="{@docRoot}preview/images/notifications-1.png" alt=""
<img src="{@docRoot}images/android-7.0/notifications-1.png" alt=""
style="padding:.5em;max-width:226px">
</div>
<div class="col-4of12">
<img src="{@docRoot}preview/images/notifications-3.png" alt=""
<img src="{@docRoot}images/android-7.0/notifications-3.png" alt=""
style="padding:.5em;max-width:226px">
</div>
<div class="col-4of12">
<img src="{@docRoot}preview/images/notifications-2.png" alt=""
<img src="{@docRoot}images/android-7.0/notifications-2.png" alt=""
style="padding:.5em;max-width:226px">
</div>
@@ -177,17 +175,17 @@ use. Some of the changes include:</p>
<h2 id="jit_aot">Profile-guided JIT/AOT Compilation</h2>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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. </p>
<p>Now in Android N, Doze takes a step further and saves battery while on the go.
<p>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.</p>
<img src="/preview/images/doze-diagram-1.png"
<img src="/images/android-7.0/doze-diagram-1.png"
alt="" id="figure1" />
<p class="img-caption">
<strong>Figure 3.</strong> Doze now applies
@@ -245,7 +243,7 @@ your app to Doze</a> now.</p>
<h2 id="background_optimizations">Project Svelte: Background Optimizations</h2>
<p>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. </p>
<p>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. </p>
<p>We're continuing to extend <code>JobScheduler</code> and
<code>GCMNetworkManager</code> to meet more of
your use cases &mdash; for example, in Android N you can now schedule background
your use cases &mdash; 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.</p>
<p>In Android N we're removing three commonly-used implicit broadcasts &mdash;
<p>In Android 7.0 we're removing three commonly-used implicit broadcasts &mdash;
{@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
android.hardware.Camera#ACTION_NEW_PICTURE}, and {@link
android.hardware.Camera#ACTION_NEW_VIDEO} &mdash; 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 <code>JobScheduler</code> and related APIs instead. </p>
<p>
@@ -290,7 +288,7 @@ your app is receiving these, take advantage of the N Developer Preview to
<h2 id="surfaceview">SurfaceView</h2>
<p>
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.
</p>
<p>
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}.
</p>
<h2 id="data_saver">Data Saver</h2>
<div class="col-5of12" style="margin-right:1.5em;">
<img src="{@docRoot}preview/images/datasaver.png" style="border:2px solid #ddd">
<img src="{@docRoot}images/android-7.0/datasaver.png" style="border:2px solid #ddd">
<p class="img-caption" style="padding-right:2em;">
<strong>Figure 4.</strong> 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. </p>
<p>Android N introduces Data Saver mode, a new system service that helps reduce
<p>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.</p>
<p>Android N extends the {@link android.net.ConnectivityManager} to provide apps a
<p>Android 7.0 extends the {@link android.net.ConnectivityManager} to provide apps a
way to <a href="{@docRoot}preview/features/data-saver.html#status">retrieve the
user's Data Saver preferences</a> and <a
href="{@docRoot}preview/features/data-saver.html#monitor-changes">monitor
@@ -353,7 +351,7 @@ Saver and make an effort to limit foreground and background data usage.</p>
<h2 id="vulkan">Vulkan API</h2>
<p>
Android N integrates <a href="http://www.khronos.org/vulkan" class=
Android 7.0 integrates <a href="http://www.khronos.org/vulkan" class=
"external-link">Vulkan™</a>, a new 3D rendering API, into the platform. Like
<a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
ES</a>, 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.</p>
</p>
<p>
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:
</p>
@@ -401,7 +399,7 @@ Saver and make an effort to limit foreground and background data usage.</p>
<div style="float:right;max-width:320px">
<img src="{@docRoot}preview/images/quicksettings.png" style="padding-left:1.5em;">
<img src="{@docRoot}images/android-7.0/quicksettings.png" style="padding-left:1.5em;">
<p class="img-caption" style="padding-left:2em;">
<strong>Figure 5.</strong> Quick Settings tiles in the notification shade.
@@ -409,7 +407,7 @@ Saver and make an effort to limit foreground and background data usage.</p>
</div><p>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. </p>
<p>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 &mdash; users can add or move tiles just by dragging and dropping them. </p>
<p>For developers, Android N also adds a new API that lets you define your own
<p>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.</p>
<p>
@@ -441,7 +439,7 @@ displayed &mdash; users can add or move tiles just by dragging and dropping them
<h2 id="number-blocking">Number Blocking</h2>
<p>Android N now supports number blocking in the platform and provides a
<p>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.</p>
@@ -471,7 +469,7 @@ through any medium, such as a VOIP endpoint or forwarding phones.</p>
<h2 id="call_screening">Call Screening</h2>
<p>
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 <code>CallScreeningService</code>,
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.</p>
<h2 id="multi-locale_languages">Multi-locale Support, More Languages</h2>
<p>Android N now lets users select <strong>multiple locales</strong> in Settings,
<p>Android 7.0 now lets users select <strong>multiple locales</strong> 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 &mdash; such as showing search results in
multiple languages and not offering to translate webpages in a language the
user already knows.</p>
<p>Along with multi-locale support, Android N also expands the range of languages
<p>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.</p>
<p>Apps can get the list of locales set by the user by calling
<code>LocaleList.GetDefault()</code>. To support the expanded number of locales, Android N is
<code>LocaleList.GetDefault()</code>. 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.</p>
@@ -518,7 +516,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h2 id="emoji">New Emojis</h2>
<p>
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 <a href="{@docRoot}preview/features/multilingual-support.html
Unicode documentation on variations</a>.
</li>
<li>
<strong>Check that an emoji supports skin tone.</strong> Android N allows users to modify the
<strong>Check that an emoji supports skin tone.</strong> Android 7.0 allows users to modify the
rendered skin tone of emojis to their preference. Keyboard apps should provide visual
indications for emojis that have multiple skin tones and should allow users to
select the skin tone that they prefer. To determine which system emojis have
@@ -560,7 +558,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h2 id="icu4">ICU4J APIs in Android</h2>
<p>
Android N now offers a subset of <a href=
Android 7.0 now offers a subset of <a href=
"http://site.icu-project.org/">ICU4J</a> APIs in the Android framework under
the <code>android.icu</code> package. Migration is easy, and mostly entails
simply changing from the <code>com.java.icu</code> namespace to
@@ -579,7 +577,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h3>Chrome + WebView, Together</h3>
<p>
Starting with Chrome version 51 on Android N and above, the Chrome APK on your device
Starting with Chrome version 51 on Android 7.0 and above, the Chrome APK on your device
is used to provide and render Android System WebViews. This approach improves memory
usage on the device itself and also reduces the bandwidth required to keep
WebView up to date (as the standalone WebView APK will no longer be updated
@@ -596,7 +594,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h3>Multiprocess</h3>
<p>
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.
</p>
@@ -617,7 +615,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h3>Javascript run before page load</h3>
<p>
Starting with apps targeting Android N, the Javascript context will be reset
Starting with apps targeting Android 7.0, the Javascript context will be reset
when a new page is loaded. Currently, the context is carried over for the
first page loaded in a new WebView instance.
</p>
@@ -630,7 +628,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h3>Geolocation on insecure origins</h3>
<p>
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 theyre using an insecure connection.
</p>
@@ -640,7 +638,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<p>
WebView is updated regularly, so we recommend that you test compatibility
with your app frequently using WebViews beta channel. To get started testing
pre-release versions of WebView on Android N, download and install either
pre-release versions of WebView on Android 7.0, download and install either
Chrome Dev or Chrome Beta, and select it as the WebView implementation under
developer options as described above. Please report issues via the <a href=
"https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">Chromium
@@ -656,7 +654,7 @@ should follow, see <a href="{@docRoot}preview/features/multilingual-support.html
<h2 id="gles_32">OpenGL&trade; ES 3.2 API</h2>
<p>Android N adds framework interfaces and platform support for OpenGL ES 3.2, including:</p>
<p>Android 7.0 adds framework interfaces and platform support for OpenGL ES 3.2, including:</p>
<ul>
<li> All extensions from the <a class="external-link"
@@ -667,7 +665,7 @@ Android Extension Pack</a></a> (AEP) except for <code>EXT_texture_sRGB_decode</c
<li> Robust buffer access control to reduce WebGL overhead.
</ul>
<p>The framework API for OpenGL ES 3.2 on Android N is provided with the
<p>The framework API for OpenGL ES 3.2 on Android 7.0 is provided with the
<code>GLES32</code> class. When using OpenGL ES 3.2, be sure to declare the
requirement in your manifest file, using the <code>&lt;uses-feature&gt;</code> tag and
the <code>android:glEsVersion</code> attribute. </p>
@@ -679,7 +677,7 @@ href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL ES API guide</a>.</p>
<h2 id="android_tv_recording">Android TV Recording</h2>
<p>Android N adds the ability to record and playback content from Android TV input
<p>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. </p>
@@ -690,7 +688,7 @@ href="{@docRoot}preview/features/tv-recording-api.html">Android TV Recording API
<h2 id="android_for_work">Android for Work</h2>
<p>Android for Work adds many new features and APIs for devices running Android N.
<p>Android for Work adds many new features and APIs for devices running Android 7.0.
Some highlights are below &mdash; for a complete list of changes, see
<a href="{@docRoot}preview/features/afw.html">Android for Work Updates</a>.</p>
@@ -763,7 +761,7 @@ action <code>android.net.VpnService</code>. </p>
<h2 id="accessibility_enhancements">Accessibility Enhancements</h2>
<p>Android N now offers Vision Settings directly on the Welcome screen for new
<p>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. </p>
@@ -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.</p>
<p>Also in Android N, accessibility services can now help users with motor
<p>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.</p>
@@ -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.</p>
<p>Direct boot takes advantage of file based encryption in Android N
<p>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 <a href="{@docRoot}preview/features/direct-boot.html">
<h2 id="key_attestation">Key Attestation</h2>
<p>
Android N introduces <em>key attestation</em>, a new security tool that helps
Android 7.0 introduces <em>key attestation</em>, a new security tool that helps
you make sure that the key pairs stored within a device's <a class=
"external-link" href=
"https://source.android.com/security/keystore/"><em>hardware-backed
@@ -836,8 +834,8 @@ For more information, see <a href="{@docRoot}preview/features/direct-boot.html">
</p>
<p class="note">
<strong>Note: </strong>Only a small number of devices running Android N
support hardware-level key attestation; all other devices running Android N
<strong>Note: </strong>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 <a href="{@docRoot}preview/features/direct-boot.html">
<h2 id="network_security_config">Network Security Config</h2>
<p>In Android N, apps can customize the behavior of their secure (HTTPS, TLS)
<p>In Android 7.0, apps can customize the behavior of their secure (HTTPS, TLS)
connections safely, without any code modification, by using the declarative
<em>Network Security Config</em> instead of using the conventional
error-prone programmatic APIs (e.g. X509TrustManager).</p>
@@ -884,7 +882,7 @@ Config</a>.</p>
<h2 id="default_trusted_ca">Default Trusted Certificate Authority</h2>
<p>By default, apps that target Android N only trust system-provided certificates
<p>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
<a href="{@docRoot}preview/features/security-config.html">Network Security Config</a> to
@@ -893,7 +891,7 @@ specify how user CAs should be trusted.</p>
<h2 id="apk_signature_v2">APK Signature Scheme v2</h2>
<p>
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.</p>
<h2 id="scoped_directory_access">Scoped Directory Access</h2>
<p>In Android N, apps can use new APIs to request access to specific <a
<p>In Android 7.0, apps can use new APIs to request access to specific <a
href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">external
storage</a> 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 Access</a> developer documentation.</p>
<h2 id="keyboard_shortcuts_helper">Keyboard Shortcuts Helper</h2>
<p>
In Android N, the user can press <strong>Meta + /</strong> to trigger a
In Android 7.0, the user can press <strong>Meta + /</strong> to trigger a
<em>Keyboard Shortcuts</em> screen that displays all shortcuts available both
from the system and from the app in focus. The system retrieves these
shortcuts automatically from the apps menu if the shortcuts exist. You can
@@ -992,7 +990,7 @@ Directory Access</a> developer documentation.</p>
</h2>
<p>
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.
</p>
<p>
To address these limitations, Android N includes support for
To address these limitations, Android 7.0 includes support for
<em>sustained performance mode</em>, 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.
</p>
<p>
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.
<h2 id="vr">VR Support</h2>
<p>
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 <a href="https://developers.google.com/vr/android/">Google VR SDK for Android</a>.
</p>
@@ -1049,7 +1047,7 @@ see the <a href="https://developers.google.com/vr/android/">Google VR SDK for An
<h2 id="print_svc">Print Service Enhancements</h2>
<p>
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.
</p>
@@ -1138,11 +1136,11 @@ The supported metrics are: {@code UNKNOWN_DELAY_DURATION},
</p>
<p>
Android N adds the concept of <em>virtual files</em> to the Storage Access
Android 7.0 adds the concept of <em>virtual files</em> 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.
</p>

View File

@@ -22,10 +22,9 @@ footer.hide=1
<div class="cols dac-hero-content" style="padding-bottom:1em;">
<div class="col-7of16 col-push-9of16" style="padding-left:2em">
<h1 class="dac-hero-title">Android N Developer Preview</h1>
<h1 class="dac-hero-title">Android 7.0 Nougat</h1>
<p class="dac-hero-description">
<strong>Android N final SDK is now available!</strong>
Get ready for Android N!
<strong>Android 7.0 Nougat brings a new crop of sweet features to your Android device.</strong>
<strong>Test your apps</strong> on Nexus and other devices. Support new system
behaviors to <strong>save power and memory</strong>.
Extend your apps with <strong>multi-window UI</strong>,
@@ -49,9 +48,9 @@ footer.hide=1
</div>
<div class="dac-section dac-small">
<div class="resource-widget resource-flow-layout col-16"
data-query="collection:preview/landing/resources"
data-query="collection:nougat/landing/resources"
data-cardSizes="6x2"
data-maxResults="6"></div>
data-maxResults="3"></div>
</div>
</div>
</section>
@@ -128,7 +127,8 @@ footer.hide=1
data-cardSizes="6x6"
data-items-per-page="6"
data-maxResults="15"
data-initial-results="3"></div>
data-initial-results="3">
</div>
</div></section>

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View File

Before

Width:  |  Height:  |  Size: 546 KiB

After

Width:  |  Height:  |  Size: 546 KiB

View File

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

Before

Width:  |  Height:  |  Size: 769 KiB

After

Width:  |  Height:  |  Size: 769 KiB

View File

Before

Width:  |  Height:  |  Size: 911 KiB

After

Width:  |  Height:  |  Size: 911 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

@@ -5556,15 +5556,12 @@ METADATA['en'].collections = {
"https://medium.com/google-developers/writing-more-code-by-writing-less-code-with-android-studio-live-templates-244f648d17c7#.hczcm02du",
]
},
"preview/landing/resources": {
"nougat/landing/resources": {
"title": "",
"resources": [
"preview/overview.html",
"preview/api-overview.html",
"preview/behavior-changes.html",
"preview/setup-sdk.html",
"preview/samples.html",
"preview/support.html"
"about/versions/nougat/api-overview.html",
"about/versions/nougat/behavior-changes.html",
"about/versions/nougat/samples.html",
]
},

View File

@@ -1,332 +0,0 @@
page.title=Applying a Device OTA Image
@jd:body
<div style="position:relative; min-height:600px">
<div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
<p class="sdk-terms-intro">Before downloading and installing components of
the Android Preview SDK, you must agree to the following terms and
conditions.</p>
<h2 class="norule">Terms and Conditions</h2>
<div class="sdk-terms" onfocus="this.blur()" style="width:678px">
This is the Android SDK Preview License Agreement (the “License Agreement”).
1. Introduction
1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
1.3 “Android-compatible” means any Android implemation that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
2. Accepting the License Agreement
2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
3. Preview License from Google
3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the Preview solely to develop applications for compatible implementations of Android.
3.2 You may not use this Preview to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this Preview is not used for that purpose.
3.3 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
3.4 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
4. Use of the Preview by You
4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
5. Your Developer Credentials
5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
6. Privacy and Information
6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
7. Third Party Applications
7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
8. Using Google APIs
8.1 Google APIs
8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
9. Terminating the License Agreement
9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
(B) Google issues a final release version of the Android SDK.
9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
10. DISCLAIMERS
10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
11. LIMITATION OF LIABILITY
11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
12. Indemnification
12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
13. Changes to the License Agreement
13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
14. General Legal Terms
14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
</div><!-- sdk terms -->
<div id="sdk-terms-form">
<p>
<input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
<label id="agreeLabel" for="agree">I have read and agree with the above terms and conditions</label>
</p>
<p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
</div>
</div><!-- end TOS -->
<div id="landing">
<p>
This page provides links to over-the-air (OTA) device images and describes
how to manually apply an OTA update to a device. This procedure may be useful
in recovering devices that received OTA updates through the Android Beta
Program and do not start up after the update is installed.
</p>
<h2 id="install-ota">Installing OTA Images</h2>
<p></p>
<p>To install an OTA package to a device:</p>
<ol>
<li>Download an OTA device image from the table below.</li>
<li>Reboot the device into Recovery mode. For more information on putting
Nexus devices in this mode, see
<a href="https://support.google.com/nexus/answer/4596836">Reset your Nexus
device to factory settings</a>.
</li>
<li>On the device, select <strong>ADB sideload</strong>.</li>
<li>Connect the device to a computer with the Android development environment
loaded and the Android Debug Bridge (adb) tool installed.</li>
<li>Run the following command:
<pre>adb sideload <em>&lt;ota-package&gt;</em></pre>
</li>
</ol>
<h2 id="ota-images">Device OTA Images</h2>
<table>
<tr>
<th scope="col">Device</th>
<th scope="col">Download / Checksums</th>
</tr>
<tr id="bullhead">
<td>Nexus 5X <br>"bullhead"</td>
<td><a href="#top" onclick="onDownload(this)"
>bullhead-ota-npd90g-0a874807.zip</a><br>
MD5: 4b83b803fac1a6eec13f66d0afc6f46e<br>
SHA-1: a9920bcc8d475ce322cada097d085448512635e2
</td>
</tr>
<tr id="shamu">
<td>Nexus 6 <br>"shamu"</td>
<td><a href="#top" onclick="onDownload(this)"
>shamu-ota-npd90g-06f5d23d.zip</a><br>
MD5: 513570bb3a91878c2d1a5807d2340420<br>
SHA-1: 2d2f40636c95c132907e6ba0d10b395301e969ed
</td>
</tr>
<tr id="angler">
<td>Nexus 6P <br>"angler"</td>
<td><a href="#top" onclick="onDownload(this)"
>angler-ota-npd90g-5baa69c2.zip</a><br>
MD5: 096fe26c5d50606a424d2f3326c0477b<br>
SHA-1: 468d2e7aea444505513ddc183c85690c00fab0c1
</td>
</tr>
<tr id="volantis">
<td>Nexus 9 <br>"volantis"</td>
<td><a href="#top" onclick="onDownload(this)"
>volantis-ota-npd90g-c04785e1.zip</a><br>
MD5: 6aecd3b0b3a839c5ce1ce4d12187b03e<br>
SHA-1: 31633180635b831e59271a7d904439f278586f49
</td>
</tr>
<tr id="volantisg">
<td>Nexus 9G <br>"volantisg"</td>
<td><a href="#top" onclick="onDownload(this)"
>volantisg-ota-npd90g-c56aa1b0.zip</a><br>
MD5: 0493fa79763d67bcdde8007299e1888d<br>
SHA-1: f709daf81968a1b27ed41fe40d42e0d106f3c494
</td>
</tr>
<tr id="fugu">
<td>Nexus Player <br>"fugu"</td>
<td><a href="#top" onclick="onDownload(this)"
>fugu-ota-npd90g-3a0643ae.zip</a><br>
MD5: 9c38b6647fe5a4f2965196b7c409f0f7<br>
SHA-1: 77c6fb05191f0c2ae0956bae18f1c80b2f922f05
</td>
</tr>
<tr id="ryu">
<td>Pixel C <br>"ryu"</td>
<td><a href="#top" onclick="onDownload(this)"
>ryu-ota-npd90g-ec931914.zip</a><br>
MD5: 4c6135498ca156a9cdaf443ddfdcb2ba<br>
SHA-1: 297cc9a204685ef5507ec087fc7edf5b34551ce6
</td>
</tr>
<tr id="seed">
<td>General Mobile 4G (Android One) <br>"seed"</td>
<td><a href="#top" onclick="onDownload(this)"
>seed_l8150-ota-npd90g-dcb0662d.zip</a><br>
MD5: f40ea6314a13ea6dd30d0e68098532a2<br>
SHA-1: 11af10b621f4480ac63f4e99189d61e1686c0865
</td>
</tr>
</table>
</div><!-- landing -->
</div><!-- relative wrapper -->
<script>
var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/ota/";
function onDownload(link) {
$("#downloadForRealz").html("Download " + $(link).text());
$("#downloadForRealz").attr('href', urlRoot + $(link).text());
$("#tos").fadeIn('fast');
$("#landing").fadeOut('fast');
return true;
}
function onAgreeChecked() {
/* verify that the TOS is agreed */
if ($("input#agree").is(":checked")) {
/* reveal the download button */
$("a#downloadForRealz").removeClass('disabled');
} else {
$("a#downloadForRealz").addClass('disabled');
}
}
function onDownloadForRealz(link) {
if ($("input#agree").is(':checked')) {
/*
$("#tos").fadeOut('fast');
$("#landing").fadeIn('fast');
*/
ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
/*
location.hash = "";
*/
return true;
} else {
return false;
}
}
$(window).hashchange( function(){
if (location.hash == "") {
location.reload();
}
});
</script>

View File

@@ -1,562 +0,0 @@
page.title=Test on a Device
meta.tags="preview", "nexus","system image"
page.tags="preview", "androidn"
page.image=images/cards/card-n-downloads_2x.png
@jd:body
<div style="position:relative; min-height:600px">
<div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;">
<p class="sdk-terms-intro">Before downloading and installing components of
the Android Preview SDK, you must agree to the following terms and
conditions.</p>
<h2 class="norule">Terms and Conditions</h2>
<div class="sdk-terms" onfocus="this.blur()" style="width:678px">
This is the Android SDK Preview License Agreement (the “License Agreement”).
1. Introduction
1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
1.3 “Android-compatible” means any Android implemation that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
2. Accepting the License Agreement
2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
3. Preview License from Google
3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the Preview solely to develop applications for compatible implementations of Android.
3.2 You may not use this Preview to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this Preview is not used for that purpose.
3.3 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
3.4 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
4. Use of the Preview by You
4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
5. Your Developer Credentials
5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
6. Privacy and Information
6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
7. Third Party Applications
7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
8. Using Google APIs
8.1 Google APIs
8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
9. Terminating the License Agreement
9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
(B) Google issues a final release version of the Android SDK.
9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
10. DISCLAIMERS
10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
11. LIMITATION OF LIABILITY
11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
12. Indemnification
12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
13. Changes to the License Agreement
13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
14. General Legal Terms
14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
</div><!-- sdk terms -->
<div id="sdk-terms-form">
<p>
<input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" />
<label id="agreeLabel" for="agree">I have read and agree with the above terms and conditions</label>
</p>
<p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p>
</div>
</div><!-- end TOS -->
<div id="landing">
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
<li><a href="#device-preview">Set up a hardware device</a>
<ol>
<li><a href="#ota">Get over-the-air updates</a></li>
<li><a href="#flash">Manually flash a device</a></li>
<li><a href="#revertDevice">Uninstalling</a></li>
</ol>
</li>
<li><a href="#setupAVD">Set up an emulator</a></li>
</ol>
</div>
</div>
<p>
To run and test your app on the new platform you need to set up an Android N
runtime environment. You can do that in either of these ways:
</p>
<ul>
<li>Install Android N on a supported hardware device, or</li>
<li>Set up an Android emulator running Android N</li>
</ul>
<p>
If you want an environment for basic compatibility testing of your app on the
new platform, all you need is your current APK and a hardware device or
emulator. You don't necessarily need to update your full development
environment to do basic testing.
</p>
<p>
If you want to modify your app to target Android N or use new Android N APIs,
you need to set up a development environment that's updated to support
Android N. <a href="{@docRoot}preview/setup-sdk.html">Set Up to Develop for
Android N</a> has details.
</p>
<h2 id="device-preview">Set up a hardware device</h2>
<p>
The N Developer Preview offers system updates for a range of hardware devices
that you can use for testing your app, from phones to tablets and TV.
</p>
<p>
If you have access to a supported device, you can update it to a Developer
Preview milestone build in one of these ways:
</p>
<ul>
<li>
<strong>Enroll the device in automatic OTA system updates</strong> through
the <a href="https://g.co/androidbeta">Android Beta Program</a>. Once
enrolled, your device will receive regular over-the-air (OTA) updates of
all milestone builds in the N Developer Preview. When the next version of
Android is released, your device will automatically update to the final
version. This approach is recommended because it lets you seamlessly
transition from your current environment, through the various releases of
the N Developer Preview, to the release version.
</li>
<li>
<strong>Download a Developer Preview system image and flash the
device</strong>. OTA updates are not provided automatically for devices
that you flash manually, but you can enroll those devices in Android Beta
Program to get OTA updates. When the next version of Android is released,
you can download the final device image from the <a href=
"https://developers.google.com/android/nexus/images" type=
"external-link">factory images</a> page.
</li>
</ul>
<h3 id="ota">Enroll the device in automatic OTA updates</h3>
<p>
If you have access to a supported device (see the list in the Downloads
table), you can receive over-the-air updates to preview versions of Android
by enrolling that device in the <a href="https://g.co/androidbeta">Android
Beta Program</a>. These updates are automatically downloaded and will update
your device just like official system updates. When the next version of
Android is released, the device will automatically update to the production
version.
</p>
<p>
You can un-enroll a device at any time. The device will receive an OTA update
to the most recent production version of Android available for that device
(for example, Android 6.0 Marshmallow). The update requires a full device
reset, so user data on the device will be removed. Make sure to <strong>back
up important data</strong> before un-enrolling a device.
</p>
<p>
For more information and to enroll your device, see
the <a href="https://g.co/androidbeta">Android Beta Program</a> web site.
</p>
<p class="note"><strong>Note:</strong>
Un-enrolling requires a full device reset. Back up
important data first.
</p>
<h3 id="flash">Flashing a device manually</h3>
<p>
At any time you can download the latest Developer Preview system image and
manually flash it to your device. See the table below to download the system
image for your test device. Manually flashing a device is useful if you need
precise control over the test environment or need to reinstall frequently,
such as for automated testing.
</p>
<!-- You can flash by ota or system image --><p>
Installing a system image on a device <strong>removes all data from the
device</strong>, so you should back up your data first.
</p>
<p>
After you back up your device data and download the system image below that
matches your device, follow the instructions at <a href=
"https://developers.google.com/android/nexus/images#instructions">developers.google.com/android</a>
to flash the image onto your device.
</p>
<p>
Manually flashed system images <strong>do not
automatically receive OTA updates</strong> to later Developer Preview
milestone builds or the final, production version. Make sure to keep your
environment up-to-date and flash a
new system image at each Developer Preview milestone.
</p>
<p>
If you decide you want to get OTA updates after manually flashing a device,
all you need to do is enroll the device in the <a href="https://g.co/androidbeta">Android
Beta Program</a>. You can enroll the device at any time to receive the next Preview
update over the air.
</p>
<table>
<tr>
<th scope="col">Device</th>
<th scope="col">Download / Checksums</th>
</tr>
<tr id="bullhead">
<td>Nexus 5X <br>"bullhead"</td>
<td><a href="#top" onclick="onDownload(this)"
>bullhead-npd90g-factory-7a0ca1bc.tgz</a><br>
MD5: e7a9a3061335c1e0c8be2588f13290af<br>
SHA-1: 7a0ca1bcfa51bbefde34243603bc79c7dec214a1
</td>
</tr>
<tr id="shamu">
<td>Nexus 6 <br>"shamu"</td>
<td><a href="#top" onclick="onDownload(this)"
>shamu-npd90g-factory-f7a4e3a9.tgz</a><br>
MD5: 2fb572ddcfca67bb1d741be97492a9ed<br>
SHA-1: f7a4e3a96c797827492998e855c8f9efbfc8559a
</td>
</tr>
<tr id="angler">
<td>Nexus 6P <br>"angler"</td>
<td><a href="#top" onclick="onDownload(this)"
>angler-npd90g-factory-cd9ac81e.tgz</a><br>
MD5: 2370c30f3ef1d0684c1de5216a5d90fe<br>
SHA-1: cd9ac81ec7f4a646ac6054eecbf2ea4c4b89b054
</td>
</tr>
<tr id="volantis">
<td>Nexus 9 <br>"volantis"</td>
<td><a href="#top" onclick="onDownload(this)"
>volantis-npd90g-factory-41b55406.tgz</a><br>
MD5: cefa78950141da2a7c75e887717e3c8f<br>
SHA-1: 41b554060263a7ef16e4be8422cbd6caca26e00f
</td>
</tr>
<tr id="volantisg">
<td>Nexus 9G <br>"volantisg"</td>
<td><a href="#top" onclick="onDownload(this)"
>volantisg-npd90g-factory-610492be.tgz</a><br>
MD5: 2f36dc0d0fab02ab78be500677ec239f<br>
SHA-1: 610492bedfc4127023040ecb2c89239a78a900ad
</td>
</tr>
<tr id="fugu">
<td>Nexus Player <br>"fugu"</td>
<td><a href="#top" onclick="onDownload(this)"
>fugu-npd90g-factory-0fe95694.tgz</a><br>
MD5: f4cb48f919e4c29c631de21416c612e2<br>
SHA-1: 0fe95694e7bc41e4c3ac0e4438cd77102a0aa8b4
</td>
</tr>
<tr id="ryu">
<td>Pixel C <br>"ryu"</td>
<td><a href="#top" onclick="onDownload(this)"
>ryu-npd90g-factory-f4da981c.tgz</a><br>
MD5: d9f0e40b6c20d274831e8a7d285fd887<br>
SHA-1: f4da981c70576133321e2858e52fe2c990e68a75
</td>
</tr>
<tr id="seed">
<td>General Mobile 4G (Android One) <br>"seed"</td>
<td><a href="#top" onclick="onDownload(this)"
>seed_l8150-npd90g-factory-48f59c99.tgz</a><br>
MD5: 0ed565c509594072822d71c65b48ec8e<br>
SHA-1: 48f59c99ac43d1cd2f5656a283bb9868581663a8
</td>
</tr>
</table>
<h3 id="revertDevice">Uninstalling the Preview from a device</h3>
<p>
If you want to uninstall the preview from a device, you can do so in one of
these ways: </p>
<ul>
<li><strong>Obtain a factory spec system image</strong> and then manually
flash it to the device.
<ul>
<li>For <strong>Nexus devices and Pixel C devices</strong>, see
the <a href="http://developers.google.com/android/nexus/images">Factory Images
for Nexus Devices</a> page for downloads. </li>
<li>For <strong>other devices</strong>, please contact the device manufacturer
directly. Alternatively, if the device is supported
in the Android Beta Program, you can enroll the device in the
program and then un-enroll it (see below).</li>
</ul>
</li>
<li><strong>Un-enroll the device from Android Beta Program</strong>. If the
device is enrolled in the <a href="https://g.co/androidbeta">Android Beta
Program</a>, regardless of device, you can simply un-enroll it from the program.
<p>
The device will receive an OTA update to the most recent production version
of Android available for that device (for example, Android 6.0 Marshmallow).
The update requires a full device reset, so user data on the device will be
removed. Make sure to <strong>back up important data</strong> before
un-enrolling a device.
</p>
</li>
</ul>
<p class="note"><strong>Note:</strong>
Uninstalling a Developer Preview system image prior to
the end of the program requires a full device reset and removes all user data
on the device.
</p>
<h2 id="setupAVD">Set up an emulator</h2>
<p>To use the Android Emulator to run the Android N Preview, you need to
download the Android N Preview SDK and create a virtual device for the
emulator.</p>
<p>First, download the Android N Preview SDK as follows (if you
already got it while <a href="{@docRoot}preview/setup-sdk.html">setting up
to develop for Android N</a>, you can skip this part):
<ol>
<li>In Android Studio, open the Settings dialog
(<strong>File &gt; Settings</strong> on Windows/Linux, or
<strong>Android Studio &gt; Preferences</strong> on Mac). In the left
panel, select <strong>Appearance &amp; Behavior &gt;
System Settings &gt; Android SDK</strong>.
<li>Click the <strong>SDK Platforms</strong> tab, then select the
<strong>Android N Preview</strong> check box.</li>
<li>Click the <strong>SDK Tools</strong> tab, then select the
<strong>Android SDK Build Tools</strong>, <strong>Android SDK
Platform-Tools</strong>, and <strong>Android SDK Tools</strong> check
boxes.
</li>
<li>Click <strong>OK</strong> and accept the license
agreements for any packages to be installed.
</li>
</ol>
<p>You should now have <strong>Android SDK Built-Tools 24.0 0 rc1</strong>,
<strong>Platform-Tools 24.0.0 rc1</strong>, and <strong>SDK Tools
25.0.9</strong>. If you do not update the SDK Tools to 25.0.9, then you won't
be able to run the x86_64 system images for Android N.</p>
<p>Now create a virtual device with the Android N system image:</p>
<ol>
<li>Open the AVD Manager by selecting <strong>Tools > Android >
AVD Manager</strong>.</li>
<li>Click <strong>Create Virtual Device</strong>.</li>
<li>Select a device such as Nexus 5X, Nexus 6P, Nexus 9, or Android TV,
then click <strong>Next</strong>.</li>
<li>Select the <strong>N</strong> system image (with the
<strong>x86</strong> ABI), then click <strong>Next</strong>.
(Only x86 system images are currently supported with the Android Emulator
for the Android N Preview.)
<li>Complete the rest of the AVD configuration and click
<strong>Finish</strong>.</li>
</ol>
<p>You can now launch the Android Emulator with the Android N Preview AVD.</p>
<p>
For the best experience in the Android Emulator, make sure you're using
Android Studio 2.1 or higher, which supports <a
href="http://tools.android.com/tech-docs/emulator">Android Emulator 2.0</a>
with much faster performance compared to the emulator in
Android Studio 1.5.</p>
<p>For more information about creating virtual devices, see <a href=
"{@docRoot}tools/devices/index.html">Managing Virtual Devices</a>.
</p>
</div><!-- landing -->
</div><!-- relative wrapper -->
<script>
var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/";
function onDownload(link) {
$("#downloadForRealz").html("Download " + $(link).text());
$("#downloadForRealz").attr('href', urlRoot + $(link).text());
$("#tos").fadeIn('fast');
$("#landing").fadeOut('fast');
return true;
}
function onAgreeChecked() {
/* verify that the TOS is agreed */
if ($("input#agree").is(":checked")) {
/* reveal the download button */
$("a#downloadForRealz").removeClass('disabled');
} else {
$("a#downloadForRealz").addClass('disabled');
}
}
function onDownloadForRealz(link) {
if ($("input#agree").is(':checked')) {
/*
$("#tos").fadeOut('fast');
$("#landing").fadeIn('fast');
*/
ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html());
/*
location.hash = "";
*/
return true;
} else {
return false;
}
}
$(window).hashchange( function(){
if (location.hash == "") {
location.reload();
}
});
</script>

View File

@@ -1,145 +0,0 @@
page.title=License Agreement
@jd:body
<p>
To get started with the Android SDK Preview, you must agree to the following terms and conditions.
As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
</p>
<p>
This is the Android SDK Preview License Agreement (the “License Agreement”).
</p>
<div class="sdk-terms" style="height:auto;border:0;padding:0;width:700px">
1. Introduction
1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
1.3 “Android-compatible” means any Android implemation that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).
1.4 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
2. Accepting the License Agreement
2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
3. Preview License from Google
3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the Preview solely to develop applications for compatible implementations of Android.
3.2 You may not use this Preview to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this Preview is not used for that purpose.
3.3 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
3.4 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
4. Use of the Preview by You
4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
5. Your Developer Credentials
5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
6. Privacy and Information
6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
7. Third Party Applications
7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
8. Using Google APIs
8.1 Google APIs
8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
9. Terminating the License Agreement
9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
(B) Google issues a final release version of the Android SDK.
9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
10. DISCLAIMERS
10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
11. LIMITATION OF LIABILITY
11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
12. Indemnification
12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
13. Changes to the License Agreement
13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
14. General Legal Terms
14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
</div>

View File

@@ -1,450 +0,0 @@
page.title=Program Overview
page.metaDescription=Get your apps ready for the next version of Android.
page.image=images/cards/card-n-overview_2x.png
meta.tags="preview", "developer", "android"
page.tags="preview", "developer", "android"
@jd:body
<!--
<div class="cols" style=
"background-color:#B2DFDB; padding: 5px 0;margin-bottom:1em; text-align:center;">
<h3>
Developer Preview X is now available
</h3>
<p>This release includes the ...</p>
<div style="margin:auto 1em">
<ul class="dac-section-links">
<li class="dac-section-link">
<a href="{@docRoot}preview/support.html#dp4">
<span class="dac-sprite dac-auto-chevron"></span>
Read the Notes</a>
</li>
<li class="dac-section-link">
<a href="{@docRoot}preview/download.html">
<span class="dac-sprite dac-auto-chevron"></span>
Test the Update</a>
</li>
<li class="dac-section-link">
<a href="https://code.google.com/p/android-developer-preview/">
<span class="dac-sprite dac-auto-chevron"></span>
Report Issues</a>
</li>
</ul>
</div>
</div>
-->
<p>
Welcome to the <strong>Android N Developer Preview</strong>, a program that
gives you everything you need to test and optimize your apps for the next
version of Android. It's free, and you can get started right away just by
downloading the N Developer Preview tools.
</p>
<div style="background-color:#eceff1;padding:1em;">
<div class="wrap">
<div class="cols">
<div class="col-4of12">
<h5>
Hardware and emulator images
</h5>
<p>
Run and test your apps on a range of devices or on an emulator.
</p>
</div>
<div class="col-4of12">
<h5>
Latest platform code
</h5>
<p>
Well provide monthly updates during the Preview, so youll be testing against the latest platform changes.
</p>
</div>
<div class="col-4of12">
<h5>
Priority for developer issues
</h5>
<p>
During the first several weeks well give priority to developer-reported
issues, so test and give feedback as soon as possible.
</p>
</div>
</div>
<div class="cols">
<div class="col-4of12">
<h5>
New behaviors and capabilities
</h5>
<p>
Start work early to support new platform behaviors and develop with new features.
</p>
</div>
<div class="col-4of12">
<h5>
Updates delivered by OTA
</h5>
<p>
Seamless over-the-air updates for any supported device through the
Android Beta Program. No flashing is needed.
</p>
</div>
<div class="col-4of12">
<h5>
Feedback and support
</h5>
<p>
Report issues and give us feedback using our
<a href="{@docRoot}preview/bug">issue tracker</a>. Connect with other
developers in the
<a href="{@docRoot}preview/dev-community">N&nbsp;Developer Community</a>.
</p>
</div>
</div>
</div>
</div>
<!--
<p>New in the Android N Developer Preview: </p>
<ul>
<li> Accompanying Android Beta Program for consumers, starting later in the preview</li>
<li> More supported devices, including devices from OEM partners</li>
<li> Seamless OTAs for your devices, from initial release to final N release without flashing</li>
</ul>
-->
<h2 id="timeline">Timeline and updates</h2>
<p>
The N Developer Preview runs from 9 March 2016 until the final Android N
public release to AOSP and OEMs, planned for Q3 2016.
</p>
<img src="{@docRoot}images/n-preview-updates_2x.png">
<p>
At key development milestones, well deliver updates for your development and
testing environment. In general you can expect an update each month (4 to 6
week interval). The milestones are listed below.
</p>
<ul>
<li><strong><a href="{@docRoot}preview/support.html#dp1">Preview 1</a></strong> (initial release, alpha)</li>
<li><strong><a href="{@docRoot}preview/support.html#dp2">Preview 2</a></strong> (incremental update, alpha)</li>
<li><strong><a href="{@docRoot}preview/support.html#dp3">Preview 3</a></strong> (incremental update, beta)</li>
<li><strong><a href="{@docRoot}preview/support.html#dp4">Preview 4</a></strong> (final APIs and official SDK, Play publishing)</li>
<li><strong><a href="{@docRoot}preview/support.html#dp5">Preview 5</a></strong> (near-final system images for final testing)</li>
<li><strong>Final release</strong> to AOSP and ecosystem</li>
</ul>
<p>
Each update includes SDK tools, preview system images, emulators, reference
documentation, and API diffs.
</p>
<p>
The <strong>first three preview milestones</strong> provide an <strong>early
test and development environment</strong> that help you identify
compatibility issues in your current apps and plan migration or feature work
needed to target the new platform. This is the priority period in which to
give us your feedback on features and APIs and file compatibility issues
&mdash; for all of these, please use the <a href="{@docRoot}preview/bug">issue
tracker</a>. You can expect some API changes across these updates.
</p>
<p>
At <strong>previews 4 and 5</strong> youll have access to the <strong>final
N APIs and SDK</strong> to develop with, as well as near-final system images
to test system behaviors and features. Android N will provide a standard API
level at this time. You can begin final compatibility testing of your legacy
apps and refine any new code that is using the N APIs or features.
</p>
<p>
Also starting in preview 4, youll be able to <strong>publish apps to
devices</strong> running Android N at the official API level, such as
consumer devices that have opted into the Android Beta program. You can
publish into the Google Play alpha and beta channels first, so you can test
your apps with Android Beta consumers before distributing broadly on the
store.
</p>
<p>
As you test and develop on Android N, we strongly recommend <strong>keeping
your development environment up-to-date</strong> as preview updates are
released. To make the process easier, you can enroll your test devices in the
Android Beta program and get <strong>updates over-the-air (OTA)</strong> at
each milestone. Alternatively, updated preview images are available that you
download and flash manually.
</p>
<p>
Well notify you when preview updates are available via the <a href=
"http://android-developers.blogspot.com/">Android Developers Blog</a>, as
well as this site and the <a href="{@docRoot}preview/dev-community">Android
N Developer Community</a>.
</p>
<h2 id="preview_tools">What's in the N Developer Preview?</h2>
<p>
The N Developer Preview includes everything you need to test your existing
apps on a variety of screen sizes, network technologies, CPU/GPU chipsets,
and hardware architectures.
</p>
<h3 id="sdk_tools">SDK tools</h3>
<p>You can download these components through the SDK Manager in <a href="{@docRoot}studio/intro/update.html">Android Studio</a>:</p>
<ul>
<li> N Developer Preview <strong>SDK and tools</strong>
<li> N Developer Preview <strong>emulator system image</strong> (32-bit & 64-bit)
<li> N Developer Preview <strong>emulator system Image for Android TV</strong> (32-bit)
<li> N Developer Preview support libraries (for new app templates)
</ul>
<p>
Well provide updates to these development tools at each milestone as needed.
</p>
<h3 id="hardware_system_images">Hardware system images</h3>
<p>
The N Developer Preview includes Nexus and other hardware system images that you can use when
testing and developing on physical devices. See the <a href=
"{@docRoot}preview/download.html">Device Images</a> page for the full list
of hardware images.
</p>
<p>
Well deliver updated system images for these devices at each milestone. You
can download and flash the updated system images to your test devices
manually, as frequently as you need. This is especially useful for automated
testing environments where you might need to reflash your device multiple
times.
</p>
<p class="note"><strong>Note</strong>:
<strong>Devices flashed manually will not get OTA updates</strong> like in
last years preview. This year, you can get OTAs by enrolling devices in the
Android Beta Program &mdash; see details in the next section.
</p>
<h3 id="android_beta">OTA Updates through Android Beta Program</h3>
<p>
New for Android N is an Over-the-Air (OTA) update program that automatically
delivers the latest preview updates of Android N directly to devices enrolled
in the program. The program is free, and its open to anyone who has a
supported device thats registered to their Google account.
</p>
<p>
To enroll in the program visit the <a href="https://g.co/androidbeta">Android
Beta Program</a> site. Youll
see all of the devices registered to your account that are eligible to enroll
in Android Beta.
</p>
<ol>
<li> Choose the devices you want to receive the Android N updates
<li> Click Enroll, read and agree to the terms of service, and then click OK
</ol>
<p>
Once youve enrolled, your device will soon receive an update. In most cases,
you will not need to do a full reset of your data to move to Android N, but
its recommended that you back up any data you dont want to lose before
enrolling the device.
</p>
<p>
As updates are delivered to your device, we recommend downloading and
installing them as soon as possible. Youll want to stay current with the
latest changes in system UI, behavior, APIs, and features.
</p>
<p>
At the conclusion of the Developer Preview, your enrolled devices will
receive an update to the official Android N release.
</p>
<p>
You can un-enroll your devices from the Android Beta program at any time from
the Android Beta site. Before un-enrolling, make sure to back-up your data on
the device.
</p>
<p class="note"><strong>Note</strong>:
When you un-enroll, <strong>your device will be factory reset</strong>
to the latest version
of Android 6.0 Marshmallow (not necessarily the version that you had
installed prior to enrolling the device). To ensure a clean installation,
your data will be erased from the device, including contacts, messages,
photos, and so on.
</p>
<h3 id="documentation_and_sample_code">Documentation and sample code</h3>
<p>
These documentation resources are available on the Developer Preview site to
help you learn about the Android&nbsp;N:
</p>
<ul>
<li> <a href="{@docRoot}preview/setup-sdk.html">Set Up to Develop for
Android N</a> has
step-by-step instructions for getting started.</li>
<li> <a href="{@docRoot}preview/behavior-changes.html">Behavior
Changes</a> points you to key areas to test.</li>
<li> Documentation of new APIs, including an <a
href="{@docRoot}preview/api-overview.html">API Overview</a>, downloadable
<a href="{@docRoot}preview/setup-sdk.html#docs-dl">API
Reference</a>, and detailed developer guides on key features such as
multi-window support, bundled notifications, multi-locale support, and others.
<li> <a href="{@docRoot}preview/samples.html">Sample code</a> that
demonstrates how to support permissions and other new features.
<li> <a href="{@docRoot}preview/support.html#release-notes">Release notes</a>
for the current version of the N Developer Preview, including change notes and
diff reports.
</ul>
<h4 id="reference">Downloadable API Reference</h4>
<p>
During the early preview updates, you can download the latest
<a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference
for the Android N platform</a> as a separate zip archive. The reference
download also includes a diff report that helps you identify API changes from
API 23 and the previous update.
</p>
<p>
When the Android N APIs are final and an official API level is assigned,
well provide the API reference to you online at <a href=
"https://developer.android.com">https://developer.android.com</a>.
</p>
<h3 id="support_resources">
Support resources
</h3>
<p>
As you test and develop on the N Developer Preview, please use these channels
to report issues and give feedback.
</p>
<ul>
<li> <a href="https://code.google.com/p/android-developer-preview/">N Developer Preview Issue
Tracker</a> is your <strong>primary feedback channel.</strong> You can report bugs, performance
issues, and general feedback through the issue tracker. You can also check for
<a href="{@docRoot}preview/bugs">known issues</a> and
find workaround steps. Well keep you updated on your issue as its triaged and sent to
the Android engineering team for review. </li>
<li> The <a href="{@docRoot}preview/dev-community">Android N Developer Community</a> is
a Google+ community where you can <strong>connect with other developers</strong>working with
Android N. You can share observations or ideas or find answers to
questions about Android N. Well moderate the community and provide answers and
guidance as needed.</li>
</ul>
<h3 id="targeting">Targeting, preview APIs, and publishing</h3>
<p>
The N Developer Preview provides a development-only system and Android
library that <strong>does not have a standard API level</strong>. If you want
to opt out of compatibility behaviors to test your app (which is strongly
recommended), you can target the preview version of Android N by setting your
app's <code><a href=
"{@docRoot}preview/setup-sdk.html#create-update">targetSdkVersion</a></code>
to <code>“N”</code>.
</p>
<p>
The Android N Developer Preview delivers <strong>preview APIs</strong>
&mdash; the APIs will not be official until the final SDK is released,
currently planned for the third quarter of 2016. This means that you can
<strong>expect minor API changes</strong> over time, especially during
initial weeks of the program. Well provide a summary of changes to you with
each update of the Android N Developer Preview.
</p>
<p class="note">
<strong>Note</strong>: Although preview APIs may change, underlying
system behaviors are stable and ready for testing against
right away.
</p>
<p>
Google Play <strong>prevents publishing of apps targeting the N Developer
Preview</strong>. When the Android N final SDK is available, youll be able
to target the official Android N API level and publish your app to Google
Play via the alpha and beta release channels. Meanwhile, if you want to
distribute an app targeting Android N to testers, you can do so via email or
by direct download from your site.
</p>
<p>
At the full release of Android N to AOSP and OEMs, planned for Q3 2016,
youll be able to publish your apps targeting Android N to the public release
channel in Google Play.
</p>
<h2 id="how_to_get_started">How to get started</h2>
<p>
To get started testing your app with Android N:
</p>
<ol>
<li> Review the <a href="{@docRoot}preview/api-overview.html">API Overview</a>
and <a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a> to
get an idea of what's new and how it affects your apps. In particular,
learn about the new <a href="{@docRoot}preview/features/notification-updates.html"
>notifications</a> features and
<a href="{@docRoot}preview/features/multi-window.html">multi-window support</a>.</li>
<li> Set up your environment by following the instructions for <a
href="{@docRoot}preview/setup-sdk.html">Setting up the Preview SDK</a>
and configuring test devices.</li>
<li> Follow the <a href="{@docRoot}preview/download.html">
instructions</a> to update your device to the latest build of the N Developer
Preview. The easiest way is to enroll your device in
<a href="https://www.google.com/android/beta">Android Beta</a> program. </li>
<li> Review the <a href="{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>
and <a href="{@docRoot}preview/samples.html">Android N samples</a> to gain more
insight into new API features and how to use them in your app.
<li> Join the <a href="{@docRoot}preview/dev-community">Android N
Developer Community</a> to get the latest news and connect with other
developers working with the new platform.</li>
</ol>
<p>
Thank you for your participation in the Android N Developer Preview program!
</p>

View File

@@ -1,235 +0,0 @@
<ul id="nav">
<li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/overview.html"
es-lang="Información general del programa"
in-lang="Ikhtisar Program"
ja-lang="プログラム概要"
ko-lang="프로그램 개요"
pt-br-lang="Visão geral do programa"
ru-lang="Обзор программы"
vi-lang="Tổng quan về Chương trình"
zh-cn-lang="计划概览"
zh-tw-lang="程式總覽">
Program Overview</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/support.html">
Support and Release Notes</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/setup-sdk.html"
es-lang="Configurar el SDK de la versión preliminar"
in-lang="Menyiapkan Preview"
ja-lang="Preview SDK のセットアップ"
ko-lang="미리 보기 SDK 설정하기"
pt-br-lang="Configuração do Preview SDK"
ru-lang="Настройка пакета SDK Preview"
vi-lang="Kiểm thử trên Thiết bị"
zh-cn-lang="设置预览版 SDK"
zh-tw-lang="設定預覽版 SDK">
Set Up the Preview</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/download.html"
es-lang="Pruebe en un dispositivo"
in-lang="Menguji pada Perangkat"
ja-lang="デバイス上でテストする"
ko-lang="기기에서 테스트"
pt-br-lang="Testar em um dispositivo"
ru-lang="Тестирование на устройстве"
vi-lang="Kiểm thử trên Thiết bị"
zh-cn-lang="在设备上测试"
zh-tw-lang="在裝置上測試">
Test on a Device</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="<?cs var:toroot ?>preview/behavior-changes.html"
es-lang="Cambios en los comportamientos"
in-lang="Perubahan Perilaku"
ja-lang="動作の変更点"
ko-lang="동작 변경"
pt-br-lang="Mudanças de comportamento"
ru-lang="Изменения в работе"
vi-lang="Các thay đổi Hành vi"
zh-cn-lang="行为变更"
zh-tw-lang="行為變更">Behavior Changes
</a></div>
<ul>
<li><a href="<?cs var:toroot ?>preview/features/background-optimization.html"
es-lang="Optimizaciones en segundo plano"
in-lang="Optimisasi Latar Belakang"
ja-lang="バックグラウンド処理の最適化"
ko-lang="백그라운드 최적화"
pt-br-lang="Otimizações em segundo plano"
ru-lang="Оптимизация фоновых процессов"
vi-lang="Tối ưu hóa Chạy ngầm"
zh-cn-lang="后台优化"
zh-tw-lang="背景最佳化">Background Optimizations
</a></li>
<li><a href="<?cs var:toroot ?>preview/features/multilingual-support.html"
es-lang="Idioma y configuración regional"
in-lang="Bahasa dan Lokal"
ja-lang="言語とロケール"
ko-lang="언어 및 로케일"
pt-br-lang="Idioma e localidade"
ru-lang="Язык и языковой стандарт"
vi-lang="Ngôn ngữ và Bản địa"
zh-cn-lang="语言和区域设置"
zh-tw-lang="語言和地區設定">Language and Locale
</a></li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header"><a href="<?cs var:toroot ?>preview/api-overview.html"
es-lang="Información general de la API"
in-lang="Android N untuk Pengembang"
ja-lang="API の概要"
ko-lang="API 개요"
pt-br-lang="Visão geral da API"
ru-lang="Обзор API-интерфейсов"
vi-lang="Android N cho Nhà phát triển"
zh-cn-lang="API 概览"
zh-tw-lang="API 總覽">Android N for Developers
</a></div>
<ul>
<li><a href="<?cs var:toroot ?>preview/features/multi-window.html"
es-lang="Compatibilidad con ventanas múltiples"
in-lang="Dukungan Multi-Jendela"
ja-lang="マルチ ウィンドウのサポート"
ko-lang="다중 창 지원"
pt-br-lang="Suporte a várias janelas"
ru-lang="Поддержка многооконного режима"
vi-lang="Hỗ trợ đa cửa sổ"
zh-cn-lang="多窗口支持"
zh-tw-lang="多視窗支援">
Multi-Window Support</a></li>
<li><a href="<?cs var:toroot ?>preview/features/notification-updates.html"
es-lang="Notificaciones"
in-lang="Pemberitahuan"
ja-lang="通知"
ko-lang="알림"
pt-br-lang="Notificações"
ru-lang="Уведомления"
vi-lang="Thông báo"
zh-cn-lang="通知"
zh-tw-lang="通知">
Notifications</a></li>
<li><a href="<?cs var:toroot ?>preview/features/data-saver.html">
Data Saver</a></li>
<li><a href="<?cs var:toroot ?>preview/features/tv-recording-api.html"
es-lang="Grabación de TV"
in-lang="Perekaman TV"
ja-lang="TV の録画"
ko-lang="TV 녹화"
pt-br-lang="Gravação para TV"
ru-lang="Запись ТВ"
vi-lang="Ghi lại TV"
zh-cn-lang="TV 录制"
zh-tw-lang="電視錄製">
TV Recording</a></li>
<li><a href="<?cs var:toroot ?>preview/features/security-config.html"
es-lang="Configuración de seguridad de la red"
in-lang="Network Security Configuration"
ja-lang="ネットワーク セキュリティ構成"
ko-lang="네트워크 보안 구성"
pt-br-lang="Configurações de segurança de rede"
ru-lang="Конфигурация сетевой безопасности"
vi-lang="Cấu hình Bảo mật mạng"
zh-cn-lang="网络安全配置"
zh-tw-lang="網路安全性設定">
Network Security Configuration</a></li>
<li><a href="<?cs var:toroot ?>preview/features/icu4j-framework.html"
es-lang="API de ICU4J del framework de Android"
in-lang="ICU4J Android Framework API"
ja-lang="ICU4J Android フレームワーク API"
ko-lang="ICU4J Android 프레임워크 API"
pt-br-lang="APIs de estrutura do Android para ICU4J"
ru-lang="API-интерфейсы ICU4J в платформе Android"
vi-lang="API Khuôn khổ Android ICU4J"
zh-cn-lang="ICU4J Android 框架 API"
zh-tw-lang="ICU4J Android 架構 API">
ICU4J Support</a></li>
<li><a href="<?cs var:toroot ?>preview/j8-jack.html"
es-lang="Funciones del lenguaje Java 8"
in-lang="Fitur Bahasa Java 8"
ja-lang="Java 8 の機能"
ko-lang="Java 8 언어 기능"
pt-br-lang="Recursos de linguagem do Java 8"
ru-lang="Возможности языка Java 8"
vi-lang="Tính năng của Ngôn ngữ Java 8"
zh-cn-lang="Java 8 语言功能"
zh-tw-lang="Java 8 語言功能">
Java 8 Language Features</a></li>
<li><a href="<?cs var:toroot ?>preview/features/afw.html">
Android for Work Updates</a></li>
<li><a href="<?cs var:toroot ?>preview/features/scoped-folder-access.html"
es-lang="Acceso a directorios determinados"
in-lang="Scoped Directory Access"
ja-lang="特定のディレクトリへのアクセス"
ko-lang="범위가 지정된 디렉터리 액세스"
pt-br-lang="Acesso a diretórios com escopo"
ru-lang="Доступ к выделенным каталогам"
vi-lang="Truy cập Thư mục theo Phạm vi"
zh-cn-lang="作用域目录访问"
zh-tw-lang="限定範圍目錄存取">
Scoped Directory Access</a></li>
</ul>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/samples.html"
es-lang="Ejemplos"
in-lang="Contoh"
ja-lang="サンプル"
ko-lang="샘플"
pt-br-lang="Exemplos"
ru-lang="Примеры"
zh-cn-lang="示例"
zh-tw-lang="範例">
Samples</a></div>
</li>
<li class="nav-section">
<div class="nav-section-header empty"><a href="<?cs var:toroot ?>preview/license.html"
es-lang="Contrato de licencia"
ja-lang="使用許諾契約"
ko-lang="라이선스 계약"
pt-br-lang="Contrato de licença"
ru-lang="Лицензионное соглашение"
zh-cn-lang="许可协议"
zh-tw-lang="授權協議">
License Agreement</a></div>
</li>
</ul>

View File

@@ -1,175 +0,0 @@
page.title=Set Up the Preview
meta.keywords="preview", "android"
page.tags="preview", "developer preview"
page.image=images/cards/card-n-sdk_2x.png
@jd:body
<div id="qv-wrapper">
<div id="qv">
<ol>
<li><a href="#get-as13">Get Android Studio 2.1</a></li>
<li><a href="#get-sdk">Get the Android N SDK</a>
<ol>
<li><a href="#docs-dl">Reference documentation</a>
</ol>
</li>
<li><a href="#java8">Get the Java 8 JDK</a></li>
<li><a href="#create-update">Update or Create a Project</a></li>
<li><a href="#next">Next Steps</a></li>
</ol>
</div>
</div>
<p>To develop apps for the Android N Preview, you need to make some updates
to your developer environment, as described on this page.</p>
<p>To simply test your app's compatibility on the
Android N system image, follow the guide to <a
href="{@docRoot}preview/download.html">Test on an Android N Device</a>.</p>
<img src="{@docRoot}preview/images/n-preview-setup.png" width="700" alt="" />
<h2 id="get-as13">Get Android Studio 2.1</h2>
<p>The Android N platform adds support for <a
href="{@docRoot}preview/j8-jack.html">Java 8 language features</a>,
which require a new compiler called Jack. The latest version of Jack
is currently supported only in Android Studio 2.1. So if you want to
use Java 8 language features, you need to use Android Studio 2.1 to
build your app. Otherwise, you don't need to use the Jack compiler, but you
still need to update to JDK 8 to compile against the Android N platform,
as described below.</p>
<p>If you already have Android Studio installed, make sure you have Android
Studio 2.1 or higher by clicking <strong>Help > Check for Update</strong>
(on Mac, <strong>Android Studio > Check for Updates</strong>).</p>
<p>If you don't have it, <a href="{@docRoot}studio/">download Android Studio
2.1 here</a>.</p>
<h2 id="get-sdk">Get the N Preview SDK</h2>
<p>To start developing with Android N APIs, you need to install the
Android N Preview SDK in Android Studio as follows:</p>
<ol>
<li>Open the SDK Manager by clicking <strong>Tools > Android >
SDK Manager</strong>.</li>
<li>In the <strong>SDK Platforms</strong> tab, select the
<strong>Android N Preview</strong> check box.</li>
<li>Click the <strong>SDK Tools</strong> tab, then select the
<strong>Android SDK Build Tools</strong>, <strong>Android SDK
Platform-Tools</strong>, and <strong>Android SDK Tools</strong> check
boxes.
</li>
<li>Click <strong>OK</strong>, then accept the licensing
agreements for any packages that need to be installed.
</li>
</ol>
<h3 id="docs-dl">Get the N Preview reference documentation</h3>
<p>Beginning with the Preview 4 release, the API reference for the
N platform (API level 24) is now available online at <a href=
"{@docRoot}reference/">developer.android.com/reference/</a>. There is also
an incremental diff report for <a href="{@docRoot}sdk/api_diff/24/changes.html"
>API changes between API levels 23 and 24</a>.</p>
<h2 id="java8">Get the Java 8 JDK</h2>
<p>To compile your app against the Android N platform and use some tools with
Android Studio 2.1, you need to install the Java 8 Developer Kit (JDK 8). So, if
you don't already have the latest version, download JDK 8 now.</p>
<p>Then set the JDK version in Android Studio as follows:</p>
<ol>
<li>Open an Android project in Android Studio, then open the
Project Structure dialog by selecting <strong>File &gt;
Project Structure</strong>. (Alternatively, you can set the default
for all projects by selecting <strong>File &gt; Other Settings &gt;
Default Project Structure</strong>.)
</li>
<li>In the left panel of the dialog, click <strong>SDK Location</strong>.
</li>
<li>In the <strong>JDK Location</strong> field, enter the location of the
Java 8 JDK (click the button on the right
to browse your files), then click <strong>OK</strong>.
</li>
</ol>
<img src="{@docRoot}preview/images/studio-jdk-location.jpg" width="700"
alt="" />
<h2 id="create-update">Update or Create a Project</h2>
<p>Now that the N platform API level is "24" instead
of "N", you can configure your projects normally with this API level (and even
publish your apps compiled with API 24 on Google Play). Just be sure that you've
updated your project to use <strong>Android SDK Build Tools 24.0.0</strong> and
<strong>Android SDK Platform-Tools 24.0.0</strong>.</p>
<p>If you plan to use Java 8 language features, you should also read
<a href="{@docRoot}preview/j8-jack.html">Java 8 Language Features</a>
for information about the supported Java 8 features and
how to configure your project with the Jack compiler.</p>
<h3 id="update">Update an existing project</h3>
<p>Open the
<code>build.gradle</code> file for your module and update the values as
follows:
</p>
<pre>
android {
compileSdkVersion <strong>24</strong>
buildToolsVersion <strong>'24.0.0'</strong>
...
defaultConfig {
targetSdkVersion <strong>24</strong>
...
}
...
}</pre>
<p>Now that the API level 24 is final, you can compile against it and keep your
<code>minSdkVersion</code> to whatever version is appropriate for your app.</p>
<h3 id="create">Create a new project</h3>
<p>To create a new project for development with the Android N Preview SDK:</p>
<ol>
<li>Click <strong>File > New Project</strong>. and follow the steps until
you reach the <strong>Target Android Devices</strong> page.
</li>
<li>On this page, select the <strong>Phone and Tablet</strong> check box.</li>
<li>Under <strong>Phone and Tablet</strong> option, in the <strong>Minimum
SDK</strong> option list, select
<strong>API 24: Android 6.X (N Preview)</strong>.</li>
</ol>
<h2 id="next">Next Steps</h2>
<ul>
<li>Follow the guide to <a
href="{@docRoot}preview/download.html">Test on an Android N Device</a>.</li>
<li>Learn more about the Android N platform with
<a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a>
and <a href="{@docRoot}preview/api-overview.html">Android N APIs
and Features</a>.</li>
</ul>

File diff suppressed because it is too large Load Diff

View File

@@ -26,6 +26,8 @@ toc:
path: /topic/performance/threads.html
- title: Optimizing View Hierarchies
path: /topic/performance/optimizing-view-hierarchies.html
- title: Background Optimization
path: /topic/performance/background-optimization.html
- title: Intelligent Job-Scheduling
path: /topic/performance/scheduling.html
- title: Reducing APK Size

View File

@@ -379,7 +379,7 @@ public boolean onStartJob(JobParameters params) {
<li style="list-style: none; display: inline">
<pre class="no-pretty-print">
{@code $ adb shell cmd appops set <package_name> RUN_IN_BACKGROUND ignore}
{@code $ adb shell cmd appops set &lt;package_name&gt; RUN_IN_BACKGROUND ignore}
</pre>
</li>
@@ -389,7 +389,7 @@ public boolean onStartJob(JobParameters params) {
<li style="list-style: none; display: inline">
<pre class="no-pretty-print">
{@code $ adb shell cmd appops set <package_name> RUN_IN_BACKGROUND allow}
{@code $ adb shell cmd appops set &lt;package_name&gt; RUN_IN_BACKGROUND allow}
</pre>
</li>
</ul>

View File

@@ -420,6 +420,8 @@ toc:
path: /training/basics/network-ops/connecting.html
- title: Managing Network Usage
path: /training/basics/network-ops/managing.html
- title: Optimizing Network Data Usage
path: /training/basics/network-ops/data-saver.html
- title: Parsing XML Data
path: /training/basics/network-ops/xml.html
- title: Transferring Data Without Draining the Battery

View File

@@ -1,42 +1,39 @@
page.title=Data Saver
metaDescription=User-enabled data usage optimization.
page.keywords="android N", "data usage", "metered network"
page.image=images/cards/card-nyc_2x.jpg
page.title=Optimizing Network Data Usage
parent.title=Performing Network Operations
parent.link=index.html
trainingnavtop=true
next.title=Parsing XML Data
next.link=xml.html
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>
In this document
</h2>
<div id="tb-wrapper">
<div id="tb">
<ol>
<li>
<a href="#status">Checking Data Saver Preferences</a>
<ol>
<li>
<a href="#request-whitelist">Requesting whitelist permissions</a>
</li>
</ol>
</li>
<li>
<a href="#monitor-changes">Monitoring Changes to Data Saver
Preferences</a>
</li>
<li>
<a href="#testing">Testing with Android Debug Bridge Commands</a>
</li>
</ol>
</div>
<h2>This lesson teaches you to</h2>
<ol>
<li><a href="#status">Check Data-Saver Preferences</a>
<ul>
<li><a href="#request-whitelist">Request whitelist permissions</a></li>
</ul>
</li>
<li><a href="#monitor-changes">Monitor Changes to Data Saver Preferences</a></li>
<li><a href="#testing">Test with Android Debug Bridge Commands</a></li>
</ol>
</div>
</div>
<p>
Over the life of a smartphone, the cost of a cellular data plan can easily
exceed the cost of the device itself. In the N Developer Preview, users can
enable Data Saver on a device-wide basis in order to use less data, whether
roaming, near the end of the billing cycle, or on a small prepaid data pack.
exceed the cost of the device itself. From Android 7.0 (API level 24),
users users can enable Data Saver on a device-wide basis in order
optimize their device's data usage, and use less data. This ability
is especially useful when roaming, near the end of the billing cycle,
or for a small prepaid data pack.
</p>
<p>
@@ -253,4 +250,4 @@ if (connMgr.isActiveNetworkMetered()) {
Sets wifi with the specified SSID as metered, allowing you to simulate a
metered network on an unmetered network.
</dd>
</dl>
</dl>

View File

@@ -6,8 +6,8 @@ trainingnavtop=true
previous.title=Connecting to the Network
previous.link=connecting.html
next.title=Parsing XML Data
next.link=xml.html
next.title=Optimizing Network Data Usage
next.link=data-saver.html
@jd:body