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
+
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:
- 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
--- /dev/null
+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 app’s activities, as
+ well as better context for understanding why the app is requesting a specific permission. Users
+ can grant or revoke the permissions granted to an app individually at any time. This feature of
+ the preview is most likely to have an impact on your app's behavior and may prevent some of your
+ app features from working, or they may work in a degraded state.
+</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 app’s migration to the new permissions model now, with a goal of
+ publishing an updated version of your app at the official platform launch.
+</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 app’s 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] <permission.name> ...</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 app’s current
+ permissions use and start planning for the new flows you want to offer. The official release of
+ the platform provides compatibility behavior, but you should plan on updating your app and not
+ rely on these behaviors.
+</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 app’s {@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 <packageName> true
+</pre>
+
+ </li>
+ <li>Simulate waking your app using the following command:
+ <pre>$ adb shell am set-idle <packageName> 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>
-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
<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>
<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.
<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 app’s access to
system resources, along with the way your app interacts with other apps via
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 user’s 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
</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
<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
</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
<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
<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>
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
<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.
<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
<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=
<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>
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
<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
<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>
<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>
<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>
<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
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 owner’s 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
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
</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>
<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.
</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
<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.
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>
</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
-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 > Import
Samples</b> menu option.
</p>
<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.
<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
<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
<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.
<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.
<p>
<a href="https://github.com/googlesamples/android-ScopedDirectoryAccess">
Get it on GitHub</a>
-</p>
\ No newline at end of file
+</p>
-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"
</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
-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
-<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 — multi-window support. </p>
+<p>In Android 7.0, we're introducing a new and much-requested
+multitasking feature into the platform — 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>
</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.
<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>
</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>
<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
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
<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
<p>We're continuing to extend <code>JobScheduler</code> and
<code>GCMNetworkManager</code> to meet more of
-your use cases — for example, in Android N you can now schedule background
+your use cases — for example, in Android 7.0 you can now schedule background
work based on changes in Content Providers. At the same time we're starting to
deprecate some of the older patterns that can reduce system performance,
especially on low-memory devices.</p>
-<p>In Android N we're removing three commonly-used implicit broadcasts —
+<p>In Android 7.0 we're removing three commonly-used implicit broadcasts —
{@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
android.hardware.Camera#ACTION_NEW_PICTURE}, and {@link
android.hardware.Camera#ACTION_NEW_VIDEO} — since those can wake the
background processes of multiple apps at once and strain memory and battery. If
-your app is receiving these, take advantage of the N Developer Preview to
+your app is receiving these, take advantage of the Android 7.0 to
migrate to <code>JobScheduler</code> and related APIs instead. </p>
<p>
<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
</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.
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
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
<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
</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>
<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.
</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
given users control over what Quick Settings tiles appear and where they are
displayed — users can add or move tiles just by dragging and dropping them. </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>
<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>
<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:
<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 — 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>
<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.
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
<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
<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
<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>
<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>
<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 they’re using an insecure connection.
</p>
<p>
WebView is updated regularly, so we recommend that you test compatibility
with your app frequently using WebView’s 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
<h2 id="gles_32">OpenGL™ 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"
<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><uses-feature></code> tag and
the <code>android:glEsVersion</code> attribute. </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>
<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 — for a complete list of changes, see
<a href="{@docRoot}preview/features/afw.html">Android for Work Updates</a>.</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>
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>
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
<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
</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
<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>
<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
<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
<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
<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 app’s menu if the shortcuts exist. You can
</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
</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,
</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
<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>
<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>
</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>
<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>,
</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>
data-cardSizes="6x6"
data-items-per-page="6"
data-maxResults="15"
- data-initial-results="3"></div>
+ data-initial-results="3">
+ </div>
</div></section>
"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",
]
},
+++ /dev/null
-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><ota-package></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>
+++ /dev/null
-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 > Settings</strong> on Windows/Linux, or
- <strong>Android Studio > Preferences</strong> on Mac). In the left
- panel, select <strong>Appearance & Behavior >
- System Settings > 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>
+++ /dev/null
-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>
\ No newline at end of file
+++ /dev/null
-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>
- We’ll provide monthly updates during the Preview, so you’ll 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 we’ll 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 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, we’ll 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
- — 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> you’ll 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, you’ll 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>
- We’ll 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>
- We’ll 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>
- We’ll 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 year’s preview. This year, you can get OTAs by enrolling devices in the
- Android Beta Program — 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 it’s open to anyone who has a
- supported device that’s 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. You’ll
- 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 you’ve 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
- it’s recommended that you back up any data you don’t 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. You’ll 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 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,
- we’ll 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. We’ll keep you updated on your issue as it’s 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. We’ll 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>
- — 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. We’ll 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, you’ll 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,
- you’ll 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>
+++ /dev/null
-<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>
+++ /dev/null
-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 >
- Project Structure</strong>. (Alternatively, you can set the default
- for all projects by selecting <strong>File > Other Settings >
- 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>
+++ /dev/null
-page.title=Support and Release Notes
-meta.keywords="preview", "android"
-page.tags="preview", "developer preview"
-page.image=images/cards/card-n-support_2x.png
-
-@jd:body
-
-
-<div id="qv-wrapper">
-<div id="qv">
-
-<h2>In this document</h2>
-
-<ul>
- <li><a href="#dp5">Developer Preview 5</a>
- <ul>
- <li><a href="#general">General advisories</a></li>
- <li><a href="#new">New in DP5</a></li>
- <li><a href="#ki">Known issues</a></li>
- <li><a href="#upgrade-notes">Notes on publishing apps
- that target API 24</a></li>
- </ul>
- </li>
- <li><a href="#dp4">Developer Preview 4</a></li>
- <li><a href="#dp3">Developer Preview 3</a></li>
- <li><a href="#dp2">Developer Preview 2</a></li>
- <li><a href="#dp1">Developer Preview 1</a></li>
-</ul>
-
-<!--
-<h2>See Also</h2>
-<ol>
- <li></li>
-</ol>
--->
-
-</div>
-</div>
-
-<p>
- Two primary support channels are available to you when developing and testing
- with the Android N Developer Preview: Please file bugs at <a href=
- "https://developer.android.com/preview/bug"
- >https://developer.android.com/preview/bug</a> for
- device-specific, system, and Google App bugs. For issues in other apps,
- please contact the developer directly.
-</p>
-
-<p>
- To discuss issues or ideas with other developers working with Android N, join
- the <a href="{@docRoot}preview/dev-community">Developer Preview Google+
- community</a>.
-</p>
-
-<h2 id="dp5">Developer Preview 5</h2>
-
-<div class="cols">
- <div class="col-6of12">
- <p>
- <em>Date: July 2016<br>
- Build: NPD90G<br>
- Emulator support: x86 & ARM (32/64-bit)<br>
- Google Play services: 8.4</em>
- </p>
- </div>
-</div>
-
-<h3 id="general">General advisories</h3>
-
-<p>
- This Developer Preview release is for <strong>app developers and other early
- adopters</strong> and is available for daily use, development, or
- compatibility testing. Please be aware of these general notes about the
- release:
-</p>
-
-<ul>
- <li>This release may have various <strong>stability issues</strong> on
- supported devices.
- </li>
-
- <li>Some apps <strong>may not function as expected</strong> on the new
- platform version. This includes Google’s apps as well as other apps.
- </li>
-
- <li>Developer Preview 5 is <strong>Compatibility Test Suite (CTS)
- approved</strong> on these devices: Nexus 5X, Nexus 6, Nexus 6P, Nexus 9,
- and Pixel C. Apps that depend on CTS approved builds should work normally
- on these devices (Android Pay for example).
- </li>
-
- <li>Developer Preview 5 is <strong>available</strong> on Nexus 5X, Nexus 6, Nexus 6P,
- Nexus 9, Nexus Player, Pixel C, and General Mobile 4G (Android One).
- </li>
-</ul>
-
-
-<h3 id="new">New in DP5</h3>
-
-<h4>Updated system images for supported devices and emulator</h4>
-
-<p>
- Developer Preview 5 includes <a href=
- "{@docRoot}preview/download.html"><strong>near-final system
- images</strong></a> for supported devices and the Android emulator. The
- images include the final APIs (API level 24) for the upcoming Android N
- platform. When you are done testing, you can publish apps using API
- level 24 to Google Play, in alpha, beta, and production release channels.
-</p>
-
-
-<!--
-
-<h4 id="api-changes">Feature and API changes</h4>
-
-<ul>
- <li>TODO</li>
-</ul>
-
--->
-
-<h3 id="ki">Known Issues</h3>
-
-<h4>Stability</h4>
-
-<ul>
- <li>Users may encounter system instability (such as kernel panics and
- crashes).
- </li>
-</ul>
-
-<h4>Multi-window</h4>
-<ul>
- <li>MapView may be blank when resized in multi-window mode and not focused.
- </li>
-</ul>
-
-<h4>Do Not Disturb</h4>
-<ul>
- <li>Do Not Disturb mode may be set at device reboot. To work around
- the issue, delete the existing rule for VR as follows: go to
- <strong>Settings > Sound > Do not disturb > Automatic Rules</strong>
- and tap the trash icon next to the VR rule.
- </li>
-</ul>
-
-<h4>Screen zoom and multiple APKs in Google Play</h4>
-<ul>
- <li>On devices running Developer Preview 5, Google Play services 9.0.83
- incorrectly reports the current screen density rather than the stable screen
- density. When screen zoom is enabled on these devices, this can cause Google
- Play to select a version of a multi-APK app that’s designed for smaller
- screens. This issue is fixed in the next version of Google Play services.
- </li>
-</ul>
-
-<h4>Vulkan support and multiple APKs in Google Play</h4>
-<ul>
- <li>On devices running Developer Preview 5, Google Play services 9.0.83
- currently reports Vulkan support but not Vulkan version. This can cause
- Google Play to select a version of a multi-APK app that’s designed for lower
- Vulkan support on devices with higher version support. Currently, the Google
- Play Store does not accept uploads of Apps which use Vulkan version
- targeting. This support will be added to the Google Play Store in the
- future any Android N devices using the Google Play services 9.0.83 will
- continue to receive versions of Apps targeting basic Vulkan support.
- </li>
-</ul>
-
-<h4>Android Auto</h4>
-<ul>
- <li>The version of Google Maps included in Developer Preview 5 (9.30)
- crashes when used with Android Auto. This issue will be fixed in the
- next update to Google Maps (9.31), expected in the coming weeks.
- </li>
-</ul>
-
-
-
-<!-- TBA, if any
-<h4>Device-specific issues</h4>
-
-<dl>
- <dt>
- <strong>Device Name</strong>
- </dt>
-
- <dd>
- Issue 1
- </dd>
-
- <dd>
- Issue 2
- </dd>
-</dl>
-
--->
-<!-- TBA, if any
-
-<h4 id="dp5-fixes">Fixes for issues reported by developers</h4>
-
-<p>
- A number of issues reported by developers have been fixed, including:
-</p>
-
-<ul>
- <li>TODO</li>
-</ul>
-
--->
-
-<h3 id="upgrade-notes">Notes on publishing apps that target API 24</h3>
-
-<p>
- Before publishing apps that target API 24 in Google Play, keep these points
- in mind:
-</p>
-
-<ul>
- <li>If your app’s current <code>targetSdkVersion</code> is 22 or lower and
- you want to target API 24, you’ll need to support <a href=
- "{@docRoot}about/versions/marshmallow/android-6.0-changes.html">behaviors
- introduced with Android 6.0 (Marshmallow)</a>, such as <a href=
- "{@docRoot}training/permissions/requesting.html">runtime permissions</a>, in
- addition to Android N behaviors.
- </li>
-
- <li>Once you publish an app with <code>targetSdkVersion</code> set to 23 or
- higher, you can't later publish a version of the app with a higher
- <code>versionCode</code> that targets 22 or lower. This restriction applies
- in alpha and beta channels as well as production channel.
- </li>
-</ul>
-
-
-<!-- DP4 Release Notes Archive -->
-
-<h2 id="dp4">Developer Preview 4</h2>
-
-<div class="wrap">
- <div class="cols">
- <div class="col-6of12">
- <p>
- <em>Date: June 2016<br>
- Build: NPD56N<br>
- Emulator support: x86 & ARM (32/64-bit)<br>
- Google Play services: 8.4</em>
- </p>
- </div>
- </div>
-</div>
-
-<h3 id="dp4-general">General advisories</h3>
-
-<p>
- This Developer Preview release is for <strong>app developers and other early
- adopters</strong> and is available for daily use, development, or
- compatibility testing. Please be aware of these general notes about the
- release:
-</p>
-
-<ul>
- <li>This release may have various <strong>stability issues</strong> on
- supported devices.
- </li>
-
- <li>Some apps <strong>may not function as expected</strong> on the new
- platform version. This includes Google’s apps as well as other apps.
- </li>
-
- <li>Developer Preview 4 is <strong>Compatibility Test Suite (CTS)
- approved</strong> on these devices: Nexus 5X, Nexus 6, Nexus 6P, and
- Pixel C. Apps that depend on CTS approved builds should work normally
- on these devices (Android Pay for example).
- </li>
-
- <li>Developer Preview 4 is <strong>available on all supported
- devices:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player,
- Pixel C, General Mobile 4G (Android One), as well as Sony Xperia Z3
- (D6603 and D6653 models).
- </li>
-</ul>
-
-
-<h3 id="dp4-new">New in DP4</h3>
-
-<h4>Android N final APIs</h4>
-
-<p>
- Developer Preview 4 includes the <strong>final APIs</strong> for the upcoming
- Android N platform. The new API level is 24.
-</p>
-
-<h4>Play publishing</h4>
-
-<p>
- You can now publish apps that use <strong>API level 24</strong> to Google
- Play, in alpha, beta, and production release channels.
-</p>
-
-<h4>Android Studio and tools updates</h4>
-
-<p>
- Along with Developer Preview 4 we’re providing the <strong>final API 24
- SDK</strong> to be used with Android Studio 2.1.2 and higher. In addition,
- we’re releasing updated Developer Preview 4 system images for the emulator to
- help test your apps.
-</p>
-
-<p>
- As new updates roll out for Android Studio, you should see minor improvements in
- the new project wizards and AVD manager as we add enhanced support for API 24.
- These are primarily cosmetic changes and should not stop you from getting
- your app ready for an update in the Play store.
-</p>
-
-<h4 id="dp4-api-changes">Feature and API changes</h4>
-
-<ul>
- <li>In previous versions of Android, an app activates with all of its locale
- resources loaded before locale negotiation begins. Starting in Android N DP4,
- the system negotiates resource locales individually for each resource object
- before the app activates.
- </li>
-
- <li>As announced at Developer Preview 3, we’ve deferred the Launcher
- Shortcuts feature to a later release of Android. In Developer Preview 4,
- we’ve removed the Launcher Shortcuts APIs.
- </li>
-
- <li>We’ve changed the BLE Scanning behavior starting in DP4. We’ll prevent
- applications from starting and stopping scans more than 5 times in 30
- seconds. For long running scans, we’ll convert them into opportunistic scans.
- </li>
-
- <li>The <a href=
- "{@docRoot}preview/features/multi-window.html">Multi-Window</a>
- <code>android:minimalHeight</code> and <code>android:minimalWidth</code>
- attributes have been renamed to <code>android:minHeight</code> and
- <code>android:minWidth</code>.
- </li>
-</ul>
-
-<h3 id="dp4-ki">Known Issues</h3>
-
-<h4>Stability</h4>
-
-<ul>
- <li>Users may encounter system instability (such as kernel panics and
- crashes).
- </li>
-</ul>
-
-<h4>Launcher</h4>
-
-<ul>
- <li>The default launcher’s <strong>All Apps</strong> tray may become
- unresponsive after cycling the screen off and on. Returning to the
- homescreen and relaunching the <strong>All Apps</strong> tray may resolve
- this issue.
- </li>
-</ul>
-
-<h4>Setup Wizard</h4>
-
-<ul>
- <li>Crash on selecting "Not now" in "Set up email" screen.
- </li>
-</ul>
-
-<h4>Media</h4>
-
-<ul>
- <li>Media playback may be unreliable on Nexus 9 and Nexus Player, including
- issues playing HD video.
- </li>
-
- <li>Occasional freeze when running the YouTube app with other apps in
- multi-window mode on Pixel C devices. In some cases hard reboot is required.
- </li>
-
- <li>Apps may have issues playing some Widevine DRM-protected content on Nexus
- 9 devices.
- </li>
-
- <li>Issues handling VP8 video on Nexus 9 devices.
- </li>
-</ul>
-
-<h4>External storage</h4>
-
-<ul>
- <li>Apps may become unstable when the user moves them from internal storage
- to adoptable external storage (this can include SD card or devices attached
- over USB).
- </li>
-</ul>
-
-<h4>Screen zoom and multiple APKs in Google Play</h4>
-
-<ul>
- <li>On devices running Android N, Google Play services 9.0.83 incorrectly
- reports the current screen density rather than the stable screen density.
- When screen zoom is enabled on these devices, this can cause Google Play to
- select a version of a multi-APK app that’s designed for smaller screens. This
- issue is fixed in the next version of Google Play services and will be
- included in a later Developer Preview release.
- </li>
-</ul>
-
-<h4>Vulkan support and multiple APKs in Google Play</h4>
-
-<ul>
- <li>On devices running Android N, Google Play services 9.0.83 currently
- reports Vulkan support but not Vulkan version. This can cause Google Play to
- select a version of a multi-APK app that’s designed for lower Vulkan support
- on devices with higher version support. Currently, the Google Play Store does
- not accept uploads of apps which use Vulkan version targeting. This support
- will be added to the Google Play Store in the future and fixed in the next
- version of Google Play services (to be included in a later Developer Preview
- release). Any N devices using the version of Google Play services 9.0.83 will
- continue to receive versions of apps targeting basic Vulkan support.
- </li>
-</ul>
-
-<h4>Accessibility</h4>
-<ul>
- <li>Switch access doesn't allow user to navigate web pages in Chrome.
- </li>
-
- <li>Accessibility issues for talkback users with notification dismissal, and
- wifi selection screen.
- </li>
-</ul>
-
-<h4>Android for Work</h4>
-
-<ul>
- <li>Currently, CA certificates provisioned through {@link
- android.app.admin.DevicePolicyManager} are not
- available to profiles other than the primary user/profile due to a preload
- issue. For example, this could prevent a user from connecting to a trusted
- server when in a Work profile. This issue will be resolved in the next
- Developer Preview.
- </li>
-
- <li>After reboot with work mode off, solving work challenge does not switch
- on work mode.
- </li>
-
- <li>Users receiving a video call in Hangouts have to unlock work challenge
- first.
- </li>
-
- <li>Accessing Settings > Security > Device Security crash observed when
- separating primary and work challenge.
- </li>
-
- <li>If {@link android.os.UserManager#DISALLOW_CONFIG_VPN} is set before
- calling {@link android.app.admin.DevicePolicyManager#setAlwaysOnVpnPackage
- DevicePolicyManager.setAlwaysOnVpnPackage()}, then setting always on VPN does
- not work. That is, after rebooting the device with the {@link
- android.os.UserManager#DISALLOW_CONFIG_VPN} restriction set, VPN is not
- autostarted.
- </li>
-</ul>
-
-<h4>Android Auto</h4>
-
-<p>
- The version of Google Maps included in Developer Preview 4 (9.30) crashes
- when used with Android Auto. This issue will be fixed in the next update to
- Google Maps (9.31), expected in the coming weeks.
-</p>
-
-
-<!-- TBA, if any
-<h4>Device-specific issues</h4>
-
-<dl>
- <dt>
- <strong>Device Name</strong>
- </dt>
-
- <dd>
- Issue 1
- </dd>
-
- <dd>
- Issue 2
- </dd>
-</dl>
-
--->
-
-
-<h4 id="dp4-fixes">Fixes for issues reported by developers</h4>
-
-<p>
- A number of issues reported by developers have been fixed, including:
-</p>
-
-<ul>
- <li>The active network state ({@link android.net.NetworkInfo#getState
- NetworkInfo.getState()} and {@link android.net.NetworkInfo#getDetailedState
- NetworkInfo.getDetailedState()}) might return incorrect values during some
- restricted background scenarios
- </li>
-
- <li>Data Saver restricts the foreground MMS mobile network request
- (<a href="https://code.google.com/p/android/issues/detail?id=208478">bug
- 208478</a>)
- </li>
-
- <li>Quick settings tiles and notifications sometimes unresponsive
- </li>
-
- <li>Unable to dismiss Clock notifications
- </li>
-
- <li>Duplication of bluetooth icon and other status icons
- </li>
-
- <li>Additional bluetooth connectivity fixes
- </li>
-
-</ul>
-
-<p>For the full list of fixed issues, see <a href="https://goo.gl/6uCKtf">the
-issue tracker</a>.</p>
-
-<h3 id="dp4-upgrade-notes">Notes on publishing apps that target API 24</h3>
-
-<p>
- Before publishing apps that target API 24 in Google Play, keep these points
- in mind:
-</p>
-
-<ul>
- <li>If your app’s current <code>targetSdkVersion</code> is 22 or lower and
- you want to target API 24, you’ll need to support <a href=
- "{@docRoot}about/versions/marshmallow/android-6.0-changes.html">behaviors
- introduced with Android 6.0 (Marshmallow)</a>, such as <a href=
- "{@docRoot}training/permissions/requesting.html">runtime permissions</a>, in
- addition to Android N behaviors.
- </li>
-
- <li>Once you publish an app with <code>targetSdkVersion</code> set to 23 or
- higher, you can't later publish a version of the app with a higher
- <code>versionCode</code> that targets 22 or lower. This restriction applies
- in alpha and beta channels as well as production channel.
- </li>
-</ul>
-
-<!-- DP3 Release Notes Archive -->
-
-<h2 id="dp3">Developer Preview 3</h2>
-
-<div class="wrap">
- <div class="cols">
- <div class="col-6of12">
- <p>
- <em>Date: May 2016<br>
- Build: NPD35K<br>
- Emulator support: x86 & ARM (32/64-bit)<br>
- Google Play services: 8.4</em>
- </p>
- </div>
- </div>
-</div>
-
-<h3 id="dp3-general">General advisories</h3>
-
-<p>
- This Developer Preview release is for <strong>app developers and other early
- adopters</strong> and is available for daily use, development, or
- compatibility testing. Please be aware of these general notes about the
- release:
-</p>
-
-<ul>
- <li>This release may have various <strong>stability issues</strong> on
- supported devices. Users may encounter system instability, such as kernel
- panics and crashes.
- </li>
-
- <li>Some apps <strong>may not function as expected</strong> on the new
- platform version. This includes Google’s apps as well as other apps.
- </li>
-
- <li>Developer Preview 3 is <strong>Compatibility Test Suite (CTS)
- approved</strong> on these devices: Nexus 5X, Nexus 6, Nexus 6P, and Pixel
- C. Apps that depend on CTS approved builds should
- work normally on these devices (Android Pay for example).
- </li>
-
- <li>Developer Preview 3 is <strong>available on all supported
- devices:</strong> Nexus 5X, Nexus 6, Nexus 6P, Nexus 9, Nexus Player, Pixel
- C, General Mobile 4G (Android One), as well as Sony Xperia Z3 (D6603 and
- D6653 models).
-
- </li>
-</ul>
-
-
-<h3 id="dp3-new">New in DP3</h3>
-
-<h4>VR Mode for Android</h4>
-
-<p>
- Android N 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.
-</p>
-
-<p>
- For more information, see the <a href=
- "https://developers.google.com/vr/android/">Google VR SDK for Android</a>.
-</p>
-
-<h4>Sustained performance mode</h4>
-
-<p>
- Android N includes optional support for <a href=
- "{@docRoot}preview/api-overview.html#sustained_performance_api">sustained
- performance mode</a>, enabling OEMs to provide hints on device performance
- capabilities for long running applications. App developers can then use these
- hints to tune applications for a predictable, consistent level of device
- performance over long periods of time. App developers can try out this new
- API in the developer preview on Nexus 6P devices only.
-</p>
-
-<h4>Multiprocess WebView</h4>
-
-<p>
- Starting with version 51 in Android N, WebView will run web content in a
- separate sandboxed process when the developer option "Multiprocess WebView"
- is enabled. The WebView team is looking for feedback on compatibility and
- runtime performance in N before enabling multiprocess WebView in a future
- version of Android. In this version, regressions in startup time, total
- memory usage and software rendering performance are expected.
-</p>
-
-<p>
- If you find unexpected issues in multiprocess mode we’d like to hear about
- them. Please get in touch with the WebView team by <a href=
- "https://bugs.chromium.org/p/chromium/issues/entry?template=Webview%20Bugs">
- filing a bug</a>.
-</p>
-
-<h4>Keyboard Shortcuts helper</h4>
-
-<p>
- Android N lets users press <code>Meta+/</code> to trigger a <strong>Keyboard
- Shortcuts</strong> screen that displays all shortcuts available both from the
- system and from the app in focus. Developers can add their own shortcuts or
- trigger the Shortcuts screen from their apps. See <a href=
- "{@docRoot}preview/api-overview.html#keyboard_shortcuts_helper">Keyboard
- Shortcuts helper</a> for details.
-</p>
-
-<h4>FrameMetrics API</h4>
-
-<p>
- DP3 introduces a new <a href=
- "{@docRoot}preview/api-overview.html#framemetrics_api">FrameMetrics API</a>
- that allows an app to monitor its UI rendering performance by exposing a
- streaming pubsub API to transfer frame timing info for the application’s
- current window. <code>FrameMetricsListener</code> can be used to measure
- interaction-level UI performance in production with higher granularity and
- without the need for a USB connection.
-</p>
-
-<h4 id="dp3-api-changes">Feature and API changes</h4>
-
-<dl>
- <dt>
- Launcher Shortcuts and the Launcher Shortcuts API
- </dt>
-
- <dd>
- We’ve decided to defer this feature to a future release of Android. We plan
- to remove the Launcher Shortcuts APIs (ShortcutManager and others) from the
- public Android N API starting in the next developer preview.
- </dd>
-
- <dt>
- WebView Javascript run before page load
- </dt>
-
- <dd>
- Starting with apps targeting Android N, the Javascript context is reset
- when a new page is loaded. Currently, the context is carried over for the
- first page loaded in a new {@link android.webkit.WebView} instance.
- Developers looking to inject Javascript into the {@link
- android.webkit.WebView} should execute the script after the page has
- started to load.
- </dd>
-
- <dt>
- WebView Geolocation on insecure origins
- </dt>
-
- <dd>
- Starting with apps targeting Android N, the geolocation API will only be
- allowed on secure origins (over HTTPS.) This policy is designed to protect
- users' private information when they're using an insecure connection.
- </dd>
-
- <dt>
- Data Saver
- </dt>
-
- <dd>
- Starting in Developer Preview 3, apps can use use an intent to display a
- system dialog that lets the user directly add the app to the Data Saver
- exemption whitelist. See the <a href=
- "{@docRoot}preview/api-overview.html#data_saver">Data Saver
- documentation</a> for details.
- </dd>
-
- <dt>
- <a href=
- "{@docRoot}preview/api-overview.html#number-blocking">Number-blocking</a>
- </dt>
-
- <dd>
- If an unauthorized user attempts to block or unblock a number, the
- operation now fails with {@link java.lang.SecurityException}. (Previously,
- the operation threw {@link java.lang.UnsupportedOperationException}.)
- </dd>
-
- <dt>
- <a href="{@docRoot}preview/api-overview.html#tile_api">Quick Settings Tile
- API</a>
- </dt>
-
- <dd>
- The system now uses the activity's metadata to decide on the tile mode.
- (Previously, tile mode was determined by the return value of
- <code>TileService.onTileAdded()</code>.) For more information, see
- <code>TileService.META_DATA_ACTIVE_TILE</code> in the downloadable <a href=
- "{@docRoot}preview/setup-sdk.html#docs-dl">API Reference</a>.
- </dd>
-</dl>
-
-<h4 id="dp3-fixes">Fixes for issues reported by developers</h4>
-
-<p>
- A number of issues reported by developers have been fixed, including:
-</p>
-
-<ul>
- <li>Bluetooth Audio playback interrupted after 1 song (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=206889">206889</a>)
- </li>
-
- <li>Pixel C Consistently Crashes (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=206962">206962</a>)
- </li>
-
- <li>Clock and Toast notification issues (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=203094">203094</a>)
- </li>
-
- <li>Pixel C reboots when connected to MacBook Pro via USB C Cable (bug
- <a href=
- "https://code.google.com/p/android/issues/detail?id=205432">205432</a>)
- </li>
-
- <li>Calandar offset by one day (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=203002">203002</a>)
- </li>
-
- <li>TelephonyManager.getAllCellInfo returning invalid data (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=203022">203022</a>)
- </li>
-
- <li>Nexus 6p, Bluetooth keeps disconnecting (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=208062">208062</a>)
- </li>
-</ul>
-
-<p>For the full list of fixed issues, see <a href="https://goo.gl/6uCKtf">the
-issue tracker</a>.</p>
-
-<h3 id="dp3-ki">Known Issues</h3>
-
-<h4>Accessibility</h4>
-
-<ul>
- <li>Unable to listen to TTS output when pitch is set near maximum level.
- </li>
-
- <li>Accessibility features and settings may be disrupted with the user adds a
- Work profile, including magnification gesture and setting. Accessibility
- state is restored when the user next touches the associated settings.
- </li>
-</ul>
-
-<h4>Camera</h4>
-
-<ul>
- <li>The Camera app has exhibited instability; it may crash in various
- circumstances, such as when launched in multi-window mode.
- </li>
-
- <li>Pressing the shutter continuously in panorama mode may cause the Camera
- app to crash.
- </li>
-</ul>
-
-<h4>Audio</h4>
-<ul>
- <li>A platform audio player issue prevents some apps from functioning
- normally. For example, Skype and other apps are affected by this issue.
- </li>
-</ul>
-
-<h4>Connectivity</h4>
-
-
-<ul>
- <li>When a Bluetooth Low Energy (BLE) peripheral role device advertises a
- service and a BLE central role device connects, the peripheral role device
- disconnects very quickly.
- </li>
-
- <li>Wi-Fi connection may be dropped when the screen is off.
- </li>
-
- <li>RFCOMM connections are unstable and may result in data corruption and
- dangling connections.
- </li>
-
- <li>The active network state ({@link android.net.NetworkInfo#getState
- NetworkInfo.getState()} and {@link android.net.NetworkInfo#getDetailedState
- NetworkInfo.getDetailedState()}) might return incorrect values during some
- restricted background scenarios.
- </li>
-</ul>
-
-
-<h4>
- Launcher
-</h4>
-
-<ul>
- <li>The default launcher’s All Apps tray may become unresponsive after
- cycling screen off / screen on. Returning to the homescreen and relaunching
- the All Apps tray may resolve this issue.
- </li>
-</ul>
-
-<h4>
- Keyboard
-</h4>
-
-<ul>
- <li>When updating a device running Android 6.0 or earlier to the N Developer
- Preview, Google Keyboard does not preserve preferences data such as recent
- emoji and sound settings.
- </li>
-
- <li>Google Indic Managed Keyboard may be unstable.
- </li>
-
- <li>When entering text in a password field, the user can select Russian as
- the input language but the keyboard remains in English. This prevents the
- user from entering Russian-language passwords.
- </li>
-</ul>
-
-<h4>
- Locale and languages
-</h4>
-
-<ul>
- <li>When using a right-to-left (RTL) locale, the system may unexpectedly
- switch to left-to-right (LTR) presentation after restarting the device.
- </li>
-</ul>
-
-<h4>Media</h4>
-
-<ul>
- <li>Media playback be be unreliable on Nexus 9 and Nexus Player, including
- issues playing HD video.
- </li>
-</ul>
-
-<h4>
- Multi-window mode
-</h4>
-
-<ul>
- <li>Device may freeze when changing orientation in multi-window mode.
- </li>
-
- <li>Several apps currently have issues with multi-window mode:
- <ul>
- <li>The system UI may crash when docking Settings > Display >
- Screen brightness to multi-window.
- </li>
-
- <li>The Camera app may crash when launched in multi-window mode.
- </li>
-
- <li>YouTube may crash when launched into multi-window mode. To fix the
- issue, you can clear the YouTube app’s data at Storage > Apps >
- YouTube.
- </li>
- </ul>
- </li>
-</ul>
-
-<h4>
- Google Play services
-</h4>
-
-<ul>
- <li>Apps using Google Cast through Google Play services may be unstable when
- the user selects a system locale that uses letters and numbers outside of the
- ASCII range.
- </li>
-</ul>
-
-<h4>
- Android for Work and Google Apps Device Policy
-</h4>
-
-<ul>
- <li>The Device Policy app may crash when the user unlocks the device with the
- "device policy status" screen pinned.
- </li>
-
- <li>After setting up a work profile with file-based encryption enabled and
- then turning off Work, users must unlock primary profile screen lock to once
- again access Work apps.
- </li>
-
- <li>Device reboots when removing the security pattern lock and opening work
- app/personal app in the multi-window.
- </li>
-
- <li>Setting DISALLOW_VPN_CONFIG is causing the consent dialog to appear in
- always-on-vpn set by Device Policy Client.
- </li>
-
- <li>Traffic is not locked down until VPN is connected in always-on-vpn mode.
- </li>
-</ul>
-
-<h4>
- External storage
-</h4>
-
-<ul>
- <li>Apps may become unstable when the user moves them from internal storage
- to adoptable external storage (this can include SD card or devices attached
- over USB).
- </li>
-</ul>
-
-<h4>
- Screen zoom and multiple APKs in Google Play
-</h4>
-
-<ul>
- <li>On devices running Android N, Google Play services 9.0.83 incorrectly reports
- the current screen density rather than the stable screen density. When screen
- zoom is enabled on these devices, this can cause Google Play to select a
- version of a multi-APK app that’s designed for smaller screens. This issue is
- fixed in the next version of Google Play services and will be included in a
- later Developer Preview release.
- </li>
-
- <li>On devices running Android N, Google Play services 9.0.83 currently reports
- Vulkan support but not Vulkan version. This can cause Google Play to select a
- version of a multi-APK app that’s designed for lower Vulkan support on
- devices with higher version support. Currently, the Google Play Store does
- not accept uploads of Apps which use Vulkan version targeting. This support
- will be added to the Google Play Store in the future and fixed in the next
- version of Google Play services (to be included in a later Developer Preview
- release) any N devices using the version of Google Play services 9.0.83 will
- continue to receive versions of Apps targeting basic Vulkan support.
- </li>
-</ul>
-
-<h4>Notifications</h4>
-
-<ul>
- <li>MessagingStyle does not show notifications with "null" (self) sender.
- </li>
-</ul>
-
-<h4>Developer Tools</h4>
-
-<ul>
- <li>
- <code>adb</code> may sometimes disconnect while using JDWP debugging.
- </li>
-</ul>
-
-
-<!-- DP2 Release Notes Archive -->
-
-<h2 id="dp2">Developer Preview 2</h2>
-
-<div class="wrap">
- <div class="cols">
- <div class="col-6of12">
- <p>
- <em>Date: April 2016<br>
- Builds: NPC91K, NPC91O<br>
- Emulator support: x86 & ARM (32/64-bit)<br>
- Google Play services: 8.4</em>
- </p>
- </div>
- </div>
-</div>
-
-<h3 id="dp2-new">New in DP2</h3>
-
-<ul>
- <li>Platform support for Vulkan, a new 3D rendering API that provides
- explicit, low-overhead GPU (Graphics Processor Unit) control and offers
- improved performance for draw-call heavy applications. For details, see the
- <a href="{@docRoot}ndk/guides/graphics/index.html">documentation</a>.
- </li>
-
- <li>New people emoji with support for skin tones, and new Unicode 9 glyphs.
- Skin tone and new emoji will not show up until keyboards build support for
- them in the palette. Apps should not need to take any action to take
- advantage of these new emoji, unless the apps use a non-system font. IME
- developers need to incorporate support for the new emoji.
- </li>
-
- <li>
- <a href="{@docRoot}preview/api-overview.html#launcher_shortcuts">Launcher
- Shortcuts API</a>: Apps can use <code>ShortcutManager</code> to send
- shortcuts to starting points within themselves to the launcher.
- </li>
-
- <li>
- <a href="{@docRoot}preview/features/multi-window.html">Multi-Window</a>:
- You can now specify a separate minimum height and minimum width for an
- activity. In addition, several API names have been slightly changed.
- </li>
-</ul>
-
-<h4 id="dp2-fixes">Fixes for issues reported by developers</h4>
-
-<p>
- A number of issues reported by developers have been fixed, including:
-</p>
-
-<ul>
- <li>Can’t connect to hidden SSID or non-broadcast Wi-Fi. (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=203116">203116</a>)
- </li>
-
- <li>Microphone mute state persists across activities. (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=205922">205922</a>)
- </li>
-
- <li>Changing multi-window focus pauses YouTube. (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=203424">203424</a>)
- </li>
-
- <li>Direct Reply may close open activity. (bug <a href=
- "https://code.google.com/p/android/issues/detail?id=204411">204411</a>)
- </li>
-
- <li>Various stability fixes.
- </li>
-</ul>
-
-<h3 id="dp2-general">General advisories</h3>
-
-<p>
- This Developer Preview release is for <strong>app developers only</strong>
- and is designed for use in compatibility testing and early development only.
- Please be aware of these general notes about the release:
-</p>
-
-<ul>
-
- <li>The development tool components and support libraries have been updated
- for the DP2 release. Make sure to update your preview development environment
- before developing for DP2. For instructions on setting up your development
- environment, see
- <a href="{@docRoot}preview/setup-sdk.html">Set Up the Preview</a>.
- </li>
-
- <li>This release has various stability and performance issues on all devices
- that make it <strong>not suitable for daily use on phone or tablet</strong>,
- especially for non-developers.
- </li>
-
- <li>Battery life and performance have not yet been optimized with this
- release:
-
- <ul>
- <li>System and app <strong>performance is known to be periodically slow /
- janky</strong>, and devices may become occasionally unresponsive. These
- problems may become more acute with prolonged use.
- </li>
-
- <li>Battery life may be regressed in this release for screen-on and
- screen-off use cases.
- </li>
- </ul>
- </li>
-
- <li>Some <strong>apps may not function normally</strong> on Developer Preview
- 2. This includes Google’s apps as well as other apps.
- </li>
-
- <li>This early build is not <strong>Compatibility Test Suite (CTS)
- approved</strong>. Apps that depend on CTS approved builds won’t work
- (Android Pay for example).
- </li>
-
- <li>This preview release supports the following devices: Nexus 5X, Nexus 6,
- Nexus 6P, Nexus 9, and Pixel C, as well as General Mobile 4G
- (Android One). Support for Nexus Player is coming soon.
- </li>
-
-
- <li><a href=
- "https://github.com/googlesamples/android-testdpc/releases">TestDPC</a> has
- been updated to handle API changes between DP1 and DP2.
- </li>
-</ul>
-
-<h3 id="dp2-ki">Known Issues</h3>
-
-<h4>Performance and battery</h4>
-
-<ul>
- <li>System and app performance is known to be <strong>periodically slow /
- janky</strong>, and device may become occasionally unresponsive. These
- problems may become more acute with prolonged use.
- </li>
-</ul>
-
-<h4>Google accounts</h4>
-
-<ul>
- <li>In some circumstances, there can be issues with
- <code>AccountManagerService</code> that prevent logging in to Google accounts
- </li>
-</ul>
-
-<h4>System update</h4>
-
-<ul>
- <li>Device may restart immediately after updating to DP2.
- </li>
-</ul>
-
-<h4>Accessibility</h4>
-
-<ul>
- <li>Problem with listening to text-to-speech (TTS) output when pitch is set
- near maximum level.
- </li>
-</ul>
-
-<h4>Bluetooth</h4>
-
-<ul>
- <li>Bluetooth Low Energy (LE) GATT characteristics are using the wrong write
- type and will not be sent to a remote device. Thus, for example, some fitness
- devices will not work.
- </li>
-</ul>
-
-<h4>Setup wizard</h4>
-
-<ul>
- <li>The option to restore data on a new device (or newly reset device) from
- "Your Google Account" is not actionable in the setup wizard. You must restore
- data from an existing device by selecting "another Android device" in the
- setup wizard, or else set it up as a new device.
- </li>
-</ul>
-
-<h4>OEM unlock</h4>
-
-<ul>
- <li>On some devices, <strong>Enable OEM unlock</strong> is grayed out in
- "Developer Options" while running DP2.<br>
- <strong>Workaround:</strong> Opt in to
- the Android Beta Program (if you are not already opted in) by visiting
- <a href="https://www.google.com/android/beta" class=
- "external-link">www.google.com/android/beta</a>. Then, opt out and accept the
- downgrade OTA. Opting out causes the device to downgrade to Android 6.0. You
- should now be able to choose <strong>Enable OEM unlock</strong> in
- "Developer Options". Personal data is erased when you downgrade the
- device; however, unlocking the bootloader would have erased this data anyway.
- </li>
-</ul>
-
-<h4>Android for Work</h4>
-
-<ul>
- <li>Work Security Challenge
- <ul>
- <li>After migration to N, or after the user creates work profiles, work
- profiles can't create keys in the keystore until the user changes their
- pattern, PIN, or password, or sets up a Work Challenge.
- </li>
-
- <li>In Direct boot mode, applying the passcode restrictions to the device
- causes the work profile to be unlocked, even though the device is locked.
- This makes the work profile accessible even though it should be protected
- by the device lock screen.
- </li>
- </ul>
- </li>
-
- <li>Always On VPN
- <ul>
- <li>If Always On VPN mode is turned on, but VPN is not available, apps
- connect over the ordinary network. Apps should be offline if they have no
- VPN connection available.
- </li>
-
- <li>When Always On mode is on, a VPN connection is not established after
- a device reboots into Direct boot mode, even after the user unlocks the
- secure lock screen.
- </li>
- </ul>
- </li>
-
- <li>Suspend Packages
- <ul>
- <li>Device admins can suspend critical system packages, which may lead to
- unexpected behavior, such as placing calls despite the "Telephone
- disabled" dialog being displayed.
- </li>
- </ul>
- </li>
-
- <li>Other
- <ul>
- <li>The Settings app crashes on launch if {@link
- android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} is set to true when
- the user inserts physical media such as an SD card.
- </li>
-
- <li>The first check-in in a Work Profile takes several minutes to
- complete.
- </li>
- </ul>
- </li>
-</ul>
-
-<h4 id="vulkan">Vulkan</h4>
-
-<ul>
- <li>Nexus 5X/6P</li>
- <ul>
- <li>Gaps between binding numbers and non-zero
- as the first binding number causes {@code vkCreateGraphicsPipeline()} to fail.</li>
- <li>Vulkan exhibits incorrect sampling behavior on projected texture coordinates.</li>
- <li>in the multithreadCmdBuffer sample, {@code vkCmdClearColorImage()} crashes when
- running with the N-DP2 driver.</li>
- <li>Return values from {@code vkGetPhysicalDeviceFormatProperties()} do not set a value
- for {@code VkFormatProperties::linearTilingFeatures}, which takes a value of 0 as
- a result.</li>
- <li>Vulkan floating point frame buffer attachments are not handled correctly.</li>
- </ul>
- <li>Nexus Player</li>
- <ul>
- <li>SPIR-V shaders may trigger driver asserts.</li>
- <li>Some pipeline configurations may cause {@code vkCreateGraphicsPipeline()}
- to crash.</li>
- </ul>
-</ul>
-
-<h4>Device-specific issues</h4>
-
-<dl>
- <dt>
- <strong>Android One</strong>
- </dt>
-
- <dd>
- Data connection fails when device is switched from slot 1 to slot 2 SIM.
- </dd>
-
- <dt>
- <strong>Pixel C</strong>
- </dt>
-
- <dd>
- Unable to toggle Voice Search "Always On" option.
- </dd>
-
- <dt>
- <strong>Nexus 6</strong>
- </dt>
-
- <dd>
- Camera pictures in portrait orientation are corrupted, except for HDR+
- photos.
- </dd>
-
- <dt>
- <strong>Nexus Player</strong>
- </dt>
-
- <dd>
- Playback of Netflix HD content may fail on Nexus Player.
- </dd>
-
- <dd>
- Any application that relies on dynamic video resolution changes may fail on
- Nexus Player.
- </dd>
-
- <dd>
- Any application that use the VP9 video codec may fail on Nexus Player.
- </dd>
-</dl>
-
-<!-- DP 1 release notes archive -->
-
-<h2 id="dp1">Developer Preview 1</h2>
-
-<div class="wrap">
- <div class="cols">
- <div class="col-6of12">
- <p>
- <em>Date: March 2016<br>
- Builds: NPC56P, NPC56R, updated: NPC56W, NPC56X<br>
- Emulator support: x86 & ARM (32/64-bit)<br>
- Google Play services: 8.4</em>
- </p>
- </div>
- </div>
-</div>
-
-<h3 id="dp1-general">General advisories</h3>
-
-<p>
- This Developer Preview release is for app developers only and is designed for
- use in compatibility testing and early development only. Please be aware of
- these general notes about the release:
-</p>
-<ul>
- <li>This release has various stability and performance issues on all devices
- that make it <em>not suitable for daily use on phone or tablet</em>,
- especially for non-developers.
- </li>
-
- <li>System and app performance is known to be <strong>periodically slow /
- janky</strong>, and device may become occasionally unresponsive. These
- problems may become more acute with prolonged use.
- </li>
-
- <li>Battery life may be regressed in this release for screen-on and
- screen-off use cases.
- </li>
-
- <li>Some apps may not function normally on Developer Preview 1. This includes
- Google’s apps as well as other apps.
- </li>
-
- <li>This early build is not Compatibility Test Suite (CTS) approved. Apps
- that depend on CTS approved builds (Android Pay for example) won’t work.
- </li>
-
- <li>This preview release supports the following devices: Nexus 5X, Nexus 6,
- Nexus 6P, Nexus 9, Nexus Player, and Pixel C, as well as General Mobile 4G
- (Android One).
- </li>
-</ul>
-
-<h3 id="dp1-platform">Platform Issues</h3>
-
-<h4>Performance and battery</h4>
-
-<ul>
- <li>System and app performance is known to be <strong>periodically slow /
- janky</strong>, and device may become occasionally unresponsive. These
- problems may become more acute with prolonged use.
- </li>
-
- <li>Battery life may be regressed in this release for screen-on and
- screen-off use cases.
- </li>
-</ul>
-<h4 id="dialer">Dialer</h4>
-
-<ul>
- <li>Dialer app does not support Direct boot. This will be addressed later in
- N Developer Preview.
- </li>
-
- <li>Voicemail playback does not work.
- </li>
-</ul>
-
-<h4>Microphone</h4>
-
-<ul>
- <li>The system may incorrect persists the microphone mute state across apps and reboots. If you mute the microphone in an app and the state is persisted, open any app that has microphone mute controls and unmute the microphone.</li>
-</ul>
-
-<h4 id="ui">System UI</h4>
-
-<ul>
- <li>Some new or modified strings in the system UI are not translated to all
- languages.
- </li>
-
- <li>Overview UI is still in development, and subject to change. For example,
- we intend to remove the timer that appears when the user switches between
- apps.
- </li>
-
- <li>Settings controls and toggles may be slow or appear to be unresponsive.
- </li>
-
- <li>Visual design of notifications is subject to change.
- </li>
-
- <li>In the Gmail app, direct archiving of emails included in a notification
- bundle does not work properly.
- </li>
-</ul>
-
-<h4>Android for Work</h4>
-
-<ul>
- <li>Work Security Challenge
- <ul>
- <li>After migration to N, or after the user creates work profiles, work
- profiles can't create keys in the keystore until the user changes their
- pattern, PIN, or password, or sets up a Work Challenge.
- </li>
-
- <li>In Direct boot mode, applying the passcode restrictions to the device
- causes the work profile to be unlocked, even though the device is locked.
- This makes the work profile accessible even though it should be protected
- by the device lock screen.
- </li>
-
- <li>When the user enters a wrong password and pin, the system does not
- display any informational message; instead, it only clears the input
- field. This issue does not affect pattern or fingerprint input.
- </li>
-
- <li>On a tablet, the background displayed with the work challenge is
- disproportionately small.
- </li>
-
- <li>The version of <a href=
- "https://play.google.com/store/apps/details?id=com.google.android.apps.enterprise.dmagent">
- Google Apps Device Policy</a> that is bundled with N Developer Preview
- does not yet support the Work Profile Security Challenge feature.
- Developers should instead use <a href=
- "https://github.com/googlesamples/android-testdpc/releases">TestDPC</a>
- to test this feature.
- </li>
- </ul>
- </li>
-
- <li>Always On VPN
- <ul>
- <li>If Always On VPN mode is turned on, but VPN is not available, apps
- not specified as exceptions to the Always On policy connect over the
- ordinary network. Unless specified as exceptions to Always On VPN policy,
- apps should be offline if they have no VPN connection available.
- <ul>
- <li>When Always On mode is on, a VPN connection is not established
- after a device reboots into Direct boot mode, even after the user
- unlocks the secure lock screen.
- </li>
- </ul>
- </li>
- </ul>
- </li>
-
- <li>Improved Contacts
- <ul>
- <li>Bluetooth PBAP/MAP devices do not display Caller ID for work
- contacts. The next release of Preview resolves this issue.
- </li>
- </ul>
- </li>
-
- <li>Work Mode
- <ul>
- <li>The Google Now Launcher does not display whether Work Mode is on or
- off. The Launcher also does not show app suspension state.
- </li>
-
- <li>After the user turns Work Mode off and on, the system no longer shows
- Work profile app widgets, such as Calendar.
- </li>
- </ul>
- </li>
-
- <li>Suspend Packages
- </li>
-
- <li>Device admins can suspend critical system packages, which may lead to
- unexpected behavior, such as placing calls despite the Telephone disabled
- dialog’s being displayed.
- </li>
-
- <li>Other
- <ul>
- <li>The Settings app crashes on launch if {@link
- android.os.UserManager#DISALLOW_MOUNT_PHYSICAL_MEDIA} is set to true when
- the user inserts physical media such as an SD card.
- </li>
-
- <li>The {@code DPM.setPackagesSuspended} state does not persist when the
- user uninstalls and then reinstalls an app. Either the app should remain
- suspended after uninstall/reinstall, or suspended apps should not be
- uninstallable
- </li>
-
- <li>The first check-in in a Work Profile takes several minutes to
- complete. This may cause the device to take longer than normal to be
- visible in the Play EMM API.
- </li>
-
- <li>Notifications from Work Profile apps are not visible to notification
- listeners installed in the personal profile. As a result, the system does
- not display Notifications as expected.
- </li>
-
- </ul>
- </li>
-</ul>
-
-<h4 >Keyboard</h4>
-
-<ul>
- <li>Bluetooth pairing between keyboards and Android devices may be unstable.
- </li>
-</ul>
-
-<h4 >Video</h4>
-
-<ul>
-<li>Video playback may lag and show interruptions.</li>
-</ul>
-
-<h4>Wi-Fi</h4>
-
-<ul>
- <li>Wi-Fi has undergone some refactoring which may change API corner case
- behavior. Specifically, applications which attempt to connect to specific
- networks, or attempt to reconnect to networks should retest.
- </li>
-
- <li>The legacy DHCP client has been removed from the platform. The only DHCP
- client that the platform supports is the DHCP client introduced in M.
- </li>
-</ul>
-
-<h4>Direct boot</h4>
-
-<ul>
- <li>NFC doesn't function until first unlock.
- <ul>
- <li>When a phone with Bluetooth enabled is restarted, Bluetooth does not
- turn on automatically. You must manually re-enable Bluetooth.
- </li>
-
- <li>Under some circumstances, the default ringtone may not sound for
- phone calls and messages. This behavior is fixed in the next N Preview
- release, with one exception (and workaround):
- </li>
-
- <li>On a device that is not freshly wiped--one that has been booted at
- least once since being set to direct boot mode--the default notification
- ringtone does not sound. The user can work around this issue by manually
- selecting a ringtone from Settings.
- </li>
-
- <li>Direct boot is not enabled by default on devices running an N
- Developer Preview build. To enable direct boot for testing and
- development, go to Developer Options and tap Convert to File Encryption.
- In this dev preview, this requires a factory reset to repartition and
- reformat your device for File-based Encryption.
- </li>
- </ul>
- </li>
-</ul>
-
-<h4>Picture-in-picture for Android TV</h4>
-
-<ul>
- <li>The PIP integration in the Recents UI is not finalized, and is subject to
- change.
- <ul>
- <li>The animation of the PIP window is not smooth. Future releases of the
- Preview will improve this.
- </li>
- </ul>
- </li>
-
- <li style="list-style: none">Future releases of the Preview will improve upon
- the visual design and layout alignment of PIP.
- </li>
-</ul>
-
-<h4>Bug reports</h4>
-
-<ul>
- <li>Bug reports do not always complete successfully (as a workaround,
- sometimes they can still be accessed through the bug report document provider
- in internal storage).
- </li>
-</ul>
-
-<h4>Split-screen Multi-window</h4>
-
-<ul>
- <li>Apps may experience crashes and unexpected UI behavior when put into
- split-screen mode. These are app issues that must be fixed by the app
- developer.
- </li>
-
- <li>When an app targets a version of the Android platform earlier than N, the
- App may not work with split-screen toast may appear multiple times.
- </li>
-
- <li>Long-pressing the Overview button while using an app with a fixed
- orientation may produce unexpected app behavior.
- </li>
-
- <li>Apps may flicker while resizing.
- </li>
-
- <li>Animations are not yet final.
- </li>
-</ul>
-
-<h4>Input method</h4>
-
-<ul>
- <li>Google Keyboard unexpectedly falls back to the generic Google keyboard
- when <b>Use system language</b>, but Google Keyboard doesn’t support any of
- the languages selected in the system-language preferences. It should fall
- back to American English.
- <p>
- You can work around this problem by adding at least one language that
- Google Keyboard supports.
- </p>
- </li>
-</ul>
-
-<h4>Accessibility</h4>
-
-<ul>
- <li>TalkBack exhibits issues with features including Notifications, Quick
- Settings Tiles and Multi-window display that may cause system crashing or
- lack of spoken feedback from TalkBack. Future releases of the preview will
- address these issues.
- </li>
-</ul>
-
-<h3 id="dp1-device-sp">Device-Specific Notes and Issues</h3>
-
-<h4>Nexus Player</h4>
-<ul>
- <li>Video playback, app compatibility and stability issues are expected on
- Nexus Player in this release of the Preview.
- </li>
-</ul>
-
-<h4>Pixel C</h4>
-<ul>
-<li>Multi-window resizing may cause crashing.</li>
-</ul>
-
-<h4>Nexus 9</h4>
-<ul>
-<li>Nexus 9 devices may not start after receiving an over-the-air (OTA) update
- via the Android Beta Program. To recover from this issue, you can try
- to manually install the OTA image. For more information, see
- <a href="{@docRoot}preview/download-ota.html">Applying a Device OTA Image</a>.
-</li>
-</ul>
-
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
<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 <package_name> RUN_IN_BACKGROUND ignore}
</pre>
</li>
<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 <package_name> RUN_IN_BACKGROUND allow}
</pre>
</li>
</ul>
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
-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>
-
- <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>
+<div id="tb-wrapper">
+<div id="tb">
+
+
+
+<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>
Sets wifi with the specified SSID as metered, allowing you to simulate a
metered network on an unmetered network.
</dd>
-</dl>
\ No newline at end of file
+</dl>
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