diff options
Diffstat (limited to 'en/setup/site-updates.html')
-rw-r--r-- | en/setup/site-updates.html | 683 |
1 files changed, 683 insertions, 0 deletions
diff --git a/en/setup/site-updates.html b/en/setup/site-updates.html new file mode 100644 index 00000000..0ebe54b1 --- /dev/null +++ b/en/setup/site-updates.html @@ -0,0 +1,683 @@ +<html devsite> + <head> + <title>Site Updates</title> + <meta name="project_path" value="/_project.yaml" /> + <meta name="book_path" value="/_book.yaml" /> + </head> + <body> + <!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> + + +<p>This page describes significant revisions to source.android.com. Please see the <a +href="https://android.googlesource.com/platform/docs/source.android.com/+log/master?pretty=full&no-merges">Android +Open Source Project (AOSP) docs/source.android.com log</a> for the complete +list of changes to this site. + +<h2 id="Sept-2017">September 2017</h2> + +<p>This site has been released in China at <a + href="https://source.android.google.cn" + class="external-link">source.android.google.cn</a>. All + non-reference materials have also been translated into Simplified Chinese for + ease of use.</p> + +<h2 id="August-2017">August 2017</h2> + +<p>Android 8.0 has been released! This section describes the major new features in the Android 8.0 platform.</p> + +<h3 id="architecture">Architecture</h3> + +<h4>Treble</h4> +<p> +Android 8.0 includes support for Treble, a major re-architect of the +Android OS framework designed to make it easier, faster, and less costly +for manufacturers to update devices to a new version of Android. Documentation +includes details on the <a href="/devices/architecture/hidl/index.html">HAL interface definition +language (HIDL)</a>, a new <a href="/devices/architecture/configstore/index.html">ConfigStore HAL</a>, +<a href="/devices/architecture/dto/index.html">Device Tree Overlays</a>, +the <a href="/devices/architecture/vndk/index.html">Vendor Native Development +Kit (VNDK)</a>, <a href="/devices/architecture/vintf/index.html">Vendor + Interface Objects (VINTF)</a>, <a href="/devices/architecture/kernel/modular-kernels.html"> +Modular Kernel requirements</a>, and the <a href="/devices/tech/vts/index.html"> +Vendor Test Suite (VTS) and Infrastructure</a>. +</p> + +<h4>FunctionFS support</h4> +<p> +<a class="external-link" + href="https://www.kernel.org/doc/Documentation/usb/functionfs.txt">FunctionFS</a> +(FFS) is a USB gadget function that is designed and controlled through user space. +Its support allows all of the function- and protocol-specific code to live in +user space, while all of the USB transport code lives in the kernel. Using + FFS moves Media Transfer Protocol (MTP) implementation into user space. +</p> + +<p> +On the frameworks side, most of the major changes exist in MtpServer. The +USB driver interface has been refactored into two different classes, one that +uses the old kernel driver and one that uses FFS. MtpServer is then able +to use that driver interface without needing to know the details of +implementation. The FFS driver writes the USB descriptors to a file when +the server starts up; it then writes data to endpoint files similar to the +kernel driver use. +</p> + +<h4>Kernel enhancements to LLDB/C++ debugging</h4> +<p> +The Android 8.0 release includes kernel enhancements that help developers create +better applications by improving their debugging experience. For more +information, see <a +href="/devices/architecture/kernel/lldb-debug.html">Implementing +kernel enhancements to LLDB/C++ debugging</a>. +</p> + +<h4>Kernel Hardening</h4> +<p> +Upstreamed kernel hardening features and tools to find bugs in kernel drivers. +For more information, see <a +href="/devices/architecture/kernel/hardening.html">Kernel Hardening</a>. +</p> + +<h4>Optimizing SquashFS at the Kernel Level</h4> +<p> +SquashFS is a compressed read-only filesystem for Linux, suitable for use on the +system partition. The optimizations in this document help improve the +performance of SquashFS. For more information, see <a +href="/devices/architecture/kernel/squashfs.html">Optimizing +SquashFS at the Kernel Level</a>. +</p> + +<h3 id="art-dalvik">ART and Dalvik</h3> +<h4>Fuzz Testing</h4> +<p> +The Android Open Source Project (AOSP) offers a new fuzzing testing suite for +testing the <a href="/devices/tech/dalvik/">Android +runtime (ART)</a> infrastructure. The new toolset, JFuzz and an improved +DexFuzz, are directly available in AOSP now with accompanying documentation. +See: +<a +href="https://android.googlesource.com/platform/art/+/master/tools/jfuzz/README.md">https://android.googlesource.com/platform/art/+/master/tools/jfuzz/README.md</a> +<a +href="https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/README">https://android.googlesource.com/platform/art/+/master/tools/dexfuzz/README</a> +</p> +<p> +Nothing is required to implement or use the new tools. You may make changes +to the tools if required, just like you can make changes to the +runtime/compiler already. +</p> + +<h4>VDEX files: Improve System Update Performance</h4> +<p> +VDEX files improve the performance and user experience of software updates. VDEX +files store pre-validated DEX files with verifier dependencies so that during +system updates ART does not need to extract and verify the DEX files again. No +action is needed to implement this feature. It is enabled by default. To +disable the feature, set the <code>ART_ENABLE_VDEX</code> environment variable +to <code>false</code>. +</p> + +<h4>ART performance improvements</h4> +<p> +The Android runtime (ART) has been improved significantly in the Android 8.0 +release. This document summarizes enhancements device manufacturers can expect +in ART. For more information, see <a +href="/devices/tech/dalvik/improvements.html">Improving +ART Performance in Android 8.0</a>. +</p> + +<h4>Android A/B OTA Updates</h4> +<p> +This update answers common questions device manufacturers have regarding Android +A/B (seamless) system updates. For more information, see <a +href="/devices/tech/ota/ab_updates#frequently-asked-questions.html">A/B +(Seamless) System Updates Frequently asked questions</a>. +</p> + +<h3 id="automotive">Automotive</h3> + +<h4>Bluetooth connection management</h4> +<p> +Android 8.0 provides Bluetooth connection management in in-vehicle infotainment +systems for a more seamless Bluetooth user experience. For more information, see +<a href="/devices/automotive/ivi_connectivity.html#bluetooth-connection-management"> +Bluetooth connection management</a>. +</p> + +<h4>Bluetooth multi-device HFP</h4> +<p> +Bluetooth multi-device connectivity lets users connect multiple devices to telephony profiles in +an Android Automotive IVI Bluetooth. For more information, see +<a href="/devices/automotive/ivi_connectivity.html#bluetooth-multi-device-connectivity"> +IVI Connectivity</a>. +</p> + +<h4>Vehicle Camera HAL</h4> +<p> +Describes the design of an exterior view system (EVS) stack and provides the HAL +specification for supporting the acquisition and presentation of vehicle camera +data. For more information, see <a +href="/devices/automotive/camera-hal.html">Exterior +View System (EVS) Vehicle Camera HAL.</a> +</p> + +<h3 id="bluetooth">Bluetooth</h3> +<p> +See the updated <a +href="/devices/bluetooth/index.html">Bluetooth +overview</a>. +</p> + +<h4>Verifying and debugging Bluetooth</h4> +<p> +A new page about how to verify and debug the native Bluetooth stack. See this page at +<a href="/devices/bluetooth/verifying_debugging.html">Verifying and Debugging</a>. +</p> + +<h4>Bluetooth services</h4> +<p> +Bluetooth provides a variety of features that enable core services between devices, +such as audio streaming, phone calls, and messaging. For more information about the Android +Bluetooth services, see <a href="/devices/bluetooth/services.html"> +Bluetooth Services</a>. +</p> + +<h4>BLE advertising</h4> +<p> +Bluetooth 5 supports different modes of data advertisements for Bluetooth Low Energy, +including higher bandwidth or increased range. For more information, see +<a href="/devices/bluetooth/ble_advertising.html"> +Bluetooth Low Energy Advertising</a>. +</p> + + +<h4>Bluetooth support for audio codecs</h4> +<p> +The Android 8.0 release includes support for Bluetooth high-definition audio +codecs. For more information, see <a +href="/devices/bluetooth/services.html#advanced-audio-codecs">Advanced audio codecs</a>. +</p> + + +<h3 id="camera">Camera</h3> + +<h4>Critical camera features</h4> +<p> +The Android 8.0 release contains these key enhancements to the Camera service: +shared surfaces, enable multiple surfaces sharing the same OutputConfiguration +System API for custom camera modes, and onCaptureQueueEmpty. For more +information, see <a +href="/devices/camera/versioning.html">Camera Version +Support</a>. +</p> + +<h3 id="configuration">Configuration</h3> + +<h4>Ambient Capabilities</h4> +<p> +Capabilities allow Linux processes to drop most root-like privileges, while +retaining the subset of privileges that they require to perform their function. +Ambient capabilities allows system services to configure capabilities in their +<code>.rc</code> files, bringing all their configuration into a single file. For +more information, see <a +href="/devices/tech/config/ambient.html">Implementing +Ambient Capabilities</a>. +</p> + +<h4>Privileged Permission Whitelist Requirement</h4> +<p> +Starting in Android 8.0, all privileged apps must be explicitly whitelisted in +system configuration XML files in the <code>/etc/permissions</code> directory. +If they are not, then the device will boot, but the device implementation will +not pass CTS. For more information, see <a +href="/devices/tech/config/perms-whitelist.html">Privileged +Permission Whitelist Requirement</a>. +</p> + +<h4>Implementing USB HAL</h4> +<p> +The Android 8.0 release moves handling of USB commands out of init scripts and +into a native USB daemon for better configuration and code reliability. For more +information, see <a +href="/devices/tech/config/usb-hal.html">Implementing +USB HAL</a>. +</p> + +<h3 id="connectivity">Connectivity</h3> + +<h4>Customizing Device Behavior for Out-of-balance Users</h4> +<p> +Android devices with no data balance allow network traffic through, requiring +carriers and telecoms to implement mitigation protocols. This feature implements +a generic solution that allows carriers and telcos to indicate when a device has +run out of balance. For more information, see <a +href="/devices/tech/connect/oob-users.html">Customizing +device behavior for out-of-balance users</a>. +</p> + +<h3 id="debugging">Debugging</h3> + +<h4>Enabling sanitizers in the Android build system</h4> +<p> +Sanitizers are compiler-based instrumentation components to use during +development and testing in order to identify bugs and make Android better. +Android's current set of sanitizers can discover and diagnose memory misuse bugs +and potentially dangerous undefined behavior. For more information, see <a +href="/devices/tech/debug/sanitizers.html">Enabling +Sanitizers in the Android Build System</a>. +</p> + +<h4>Recover devices in reboot loops</h4> +<p> +Android 8.0 includes a feature that sends out a "rescue party" when it notices +core system components stuck in crash loops. Rescue Party then escalates through +a series of actions to recover the device. For more information, see <a +href="/devices/tech/debug/rescue-party.html">Rescue +Party</a>. +</p> + +<h4>Storaged</h4> +<p> +Android 8.0 adds support for <code>storaged</code>, an Android native daemon that +collects and publishes storage metrics on Android devices. For more information, +see <a +href="/devices/tech/debug/storaged.html">Implementing +Storaged</a>. +</p> + +<h3 id="display">Display</h3> + +<h4>Air Traffic Control for floating windows</h4> +<p> +Android 8.0 introduces Air Traffic Control for floating windows in order to +simplify and unify how apps display on top of other apps. Everything necessary +to use the feature is included in the Android Open Source Project (AOSP). +</p> +<p> +Air Traffic Control allows developers to create a new (managed) floating +layer/window type for apps to use to display windows on-top of other apps. The +feature displays ongoing notifications for all apps using a floating layer that +lets the user manage the alert window. +</p> +<p> +The Android Compatibility Test Suite (CTS) confirms: +</p> <ul> + <li>The current alert window types are: <code>TYPE_PHONE</code>, <code>TYPE_PRIORITY_PHONE</code>, +<code>TYPE_SYSTEM_ALERT</code>, <code>TYPE_SYSTEM_OVERLAY</code>, or <code>TYPE_SYSTEM_ERROR</code> + <li>Apps targeting the O SDK won't be able to use the window types above to +display windows above other apps. They will need to use a new window type +TYPE_APPLICATION_OVERLAY. + <li>Apps targeting older SDKs can still use the current window types; however, +the windows will be z-ordered below the new TYPE_APPLICATION_OVERLAY windows. + <li>The system can move or resize windows in the new layer to reduce clutter. + <li>Device manufacturers must keep the notification that lets users control +what is displayed over other apps.</li> </ul> + +<h4>Launching activities on secondary displays</h4> +<p> +Virtual displays are available to everyone, and they don't require any special +hardware. Any application can create an instance of virtual display; and in the +Android 8.0 release, activities can be launched on that virtual display if the +associated feature is enabled. +</p> +<p> +To support multi-display features, you should either use one of the +existing supported ways of connecting secondary devices or build new hardware. +The supported ways of connecting displays on Nexus and Pixel devices are Google +Cast and <a +href="https://developer.android.com/reference/android/hardware/display/VirtualDisplay.html">virtual +displays inside apps</a>. Support of other ways depends on kernel driver support +for each particular case (like MHL or DisplayPort over USB-C) and fully +implementing interface definitions that are related to displays in +HardwareComposer HAL (IComposerCallback.hal and IComposerClient.hal). +</p> +<p> +Each of the ways may require SoC or OEM support. For example, to enable +DisplayPort over USB-C, both hardware (SOC) and software (drivers) support is +required. You might need to implement drivers for your hardware to support +connecting external displays. +</p> +<p> +The default implementation will allow launching fullscreen stacks of activities +on secondary displays. You can customize the stacks and System UI and +behavior on secondary displays. +</p> + +<h4>Support for generic tooltip</h4> +<p> +Android 8.0 allows developers to provide descriptive action names and other +helpful information on mouse hover over buttons and other icons. Device +manufacturers may style the tooltip popup. Its layout is defined in +<code>android/frameworks/base/core/res/res/layout/tooltip.xml</code>. +</a> +</p> +<p> +OEMs may replace the layout or change its dimensions and style parameters. Use +only text and keep the size reasonably small. The feature is implemented +entirely inside the View class, and there are quite exhaustive CTS tests that +check many aspects of Tooltip behavior. +</p> +<p> + +<h4>Support for extended aspect ratio</h4> +<p> +Android 8.0 includes a new manifest attribute, <a +href="https://developer.android.com/reference/android/R.attr.html#maxAspectRatio">maxAspectRatio</a>, +which lets an activity or app specify the maximum aspect ratio it supports. +maxAspectRatio replaces the previous meta-data tag with a first-class API and +allows devices to support an aspect ratio greater than 16:9. +</p><ul> +<li>If an activity or app is <a +href="https://developer.android.com/guide/topics/ui/multi-window.html#configuring">resizable</a>, +allow the activity to fill the screen. +<li>If an activity or app is non-resizeable or the platform is force resizing +the activity, allow the app window to display up to the maximum aspect ratio, +according to the <a +href="https://developer.android.com/reference/android/R.attr.html#maxAspectRatio">maxAspectRatio</a> +value. <ul> + <li>For applications on devices running Android 8.0, the default value is the +aspect ratio of the current device. + <li>For applications on devices running earlier versions of Android, the +default value is 16:9.</li> </ul> +</li> </ul> + +<h4>Implementing Adaptive Icons</h4> +<p> +Adaptive Icons maintain a consistent shape intra-device but vary from device to +device with only one icon asset provided by the developer. Additionally, icons +support two layers (foreground and background) that can be used for motion to +provide visual delight to users. For more information, see <a +href="/devices/tech/display/adaptive-icons.html">Implementing +Adaptive Icons</a>. +</p> + +<h4>Night Light</h4> +<p> +Night Light, introduced in Android 7.0.1, allows users to reduce the amount of +blue light that their screen emits. Android 8.0 gives users more control over the +intensity of this effect. For more information, see <a +href="/devices/tech/display/night-light.html">Implementing +Night Light</a>. +</p> + +<h4>Picture-in-picture</h4> +<p> +Android 8.0 includes support for picture-in-picture (PIP) on Android handheld +devices. PIP allows users to resize an app with an ongoing activity, such as a +video, into a small window. For more information, see <a +href="/devices/tech/display/pip.html">Picture-in-Picture +on Android handsets</a>. +</p> + +<h4>Better Split-Screen Interactions</h4> +<p> +Multi-window lets multiple apps simultaneously display on users' device screens. +Android 8.0 improves the default mode, split-screen, by compressing the top pane +and resizing the launcher if a user taps Home after entering split-screen. For +more information, see <a +href="/devices/tech/display/split-screen.html">Better +Split-Screen Interactions</a>. +</p> + +<h4>Add Widgets/Shortcuts</h4> +<p> +A new API in Android 8.0 allows application developers to add shortcuts and +widgets from inside the app instead of relying on the widget tray. The older +method of adding shortcuts by sending a broadcast has been deprecated for +security reasons. For more information, see <a +href="/devices/tech/display/widgets-shortcuts.html">Implementing +Add Widgets/Shortcuts</a>. +</p> + +<h3 id="downloading-building">Downloading and Building</h3> + +<h4>Android LLVM Toolchain improvements</h4> +<p> +OEMs who wish to use our latest toolchain/tools will need to ensure that any of +their private code compiles successfully with the updated toolchains. This may +require them to fix existing issues in their code with undefined behavior. (Of +course, they are free to use whatever tools they prefer to compile their own +code too.) +</p> +<p> +They must ensure their code is free of undefined behavior (by using tools like +UBSan), so they are less susceptible to problems caused by newer toolchains. All +of the toolchains are always updated directly in AOSP. Everything will be +available well before OC even ships, so OEMs should be following along +already. +</p> +<p> +See the <a href="https://llvm.org/">public Clang/LLVM</a> documentation for +general instructions and the <a +href="https://android.googlesource.com/platform/external/clang/+/dev/ReadmeAndroid.md">Android +Clang/LLVM</a> documentation set within AOSP for Android-specific guidance. +Finally, join the <a +href="https://groups.google.com/forum/#!forum/android-llvm">android-llvm</a> +public group to get help and take part in development. +</p> + +<h3 id="drm-kms">DRM / KMS</h3> + +<h4>DRM/KMS in Linux Kernel Version 4.9</h4> +<p> +The Direct Rendering Manager (DRM)/Kernel Mode Setting (KMS) framework used by +Android is developed and maintained by Linux kernel developers in the Linux +kernel. Android merges down from the Linux kernel. By merging down from our +common kernel, device manufacturers gain the DRM/KMS framework automatically. +</p> +<p> +DRM/KMS became viable in Linux kernel version 4.9, and Android <strong>strongly +encourages</strong> OEM partners to use DRM/KMS starting with this kernel +version. <a href="https://lwn.net/Articles/565422/">Atomic Display Framework +(ADF)</a>, the display framework officially supported by Android today, will not +be supported in 4.9 and higher versions of the common Android kernel; instead, +Android will support DRM/KMS from this version. OEMs can continue to use ADF (or +any other framework), but Android will not support them in the common Android +kernel. +</p> +<p> +To implement DRM/KMS, you will need to write your own drivers using +DRM/KMS in addition to merging down the DRM/KMS framework from the android +common kernel. +</p> + +<h3 id="keystore">Keystore</h3> + +<h4>Keymaster 3</h4> +<p> +Android 8.0 updates Keymaster, the keystore HAL, by extending the capabilities of +hardware-backed key storage on Android devices. This builds upon the Android 7.1.2 +updates to Keymaster 2. For more information, see <a +href="/security/keystore/index.html">Keymaster 3 documentation</a>. +</p> + +<h3 id="security-enhancements">Security Enhancements</h3> + +<h4>Insecure TLS Version Fallback removed from HttpsURLConnection</h4> +<p> +Insecure TLS/SSL protocol version fallback is a workaround for buggy +implementations of TLS protocol downgrade negotiation in some servers. This is +vulnerable to POODLE. When Chrome 45 dropped the insecure fallback in September +2015, less than 0.01% of servers relied on it. To improve security, insecure TLS +version fallback has been removed from <a +href="https://developer.android.com/reference/javax/net/ssl/HttpsURLConnection.html">HttpsURLConnection</a> +in Android 8.0. For more details, see <a +href="https://android-developers.googleblog.com/2017/04/android-o-to-drop-insecure-tls-version.html +">this blog post</a>. +</p> +<p> +To test this feature on devices with Android 8.0, run this CTS test case: +</p> + +<pre class="devsite-click-to-copy devsite-terminal" data-terminal-prefix="# "> +cts-tradefed run cts -m CtsLibcoreOkHttpTestCases</pre> + +<h3 id="performance">Performance</h3> + +<h4>Flash Wear Management</h4> +<p> +Describes eMMC behavior and new features to help OEMs lower the risk of a +failing eMMC in the automotive environment. For more information, see <a +href="/devices/tech/perf/flash-wear.html">Flash Wear +Management in Android Automotive</a>. +</p> + +<h4>Optimizing Boot Times</h4> +<p> +Guidance for improving boot times for specific Android devices. For more +information, see <a +href="/devices/tech/perf/boot-times.html">Optimizing +boot times</a>. +</p> + +<h4>Task Snapshots</h4> +<p> +Task Snapshots is infrastructure introduced in Android 8.0 that combines +screenshots for Recents Thumbnails as well as Saved Surfaces from Window Manager +to save memory. For more information, see <a +href="/devices/tech/perf/task-snapshots.html">Task +Snapshots</a>. +</p> + +<h3 id="peripherals">Peripherals</h3> + +<h4>Default Print Services</h4> +<p> +A <a +href="https://developer.android.com/reference/android/printservice/PrintService.html">print +service</a> is an app that discovers and presents printers to a device's print +framework. In earlier Android versions, users had to search for and install +third-party print services to be able to print. +</p> +<p> +Android 8.0 includes a default print service in <code><a +href="https://android.googlesource.com/platform/packages/services/BuiltInPrintService/">platform/packages/services/BuiltInPrintService/</a></code> +that lets users print on modern printers without installing any additional apps. +This implementation supports printers that use the Internet Printing Protocol +(IPP) to communicate with the printer and use PCLm, PWG-Raster, or PDF to send +printable content. For older printers, users should install the app recommended +by the <a +href="https://android.googlesource.com/platform/frameworks/base/+/android-7.0.0_r1/packages/PrintRecommendationService/">PrintRecommendationService</a> +as seen in this <a href="https://youtu.be/M_JGeGLpOKs?t=16m20s">this I/O presentation</a>. + +<h3 id="reference">Reference Updates</h3> + +<p> +The <a href="/reference/">Reference</a> section has been added to the top-level +navigation. As part of the <a href="/devices/architecture/treble">Treble</a> +release, a <a href="/reference/hidl/">HIDL reference</a> section was added. +The <a href="/reference/tradefed/">Trade Federation</a> and the +<a href="/reference/hal/">legacy HAL</a> reference documentation has been updated. +</p> + +<h3 id="settings-menu">Settings menu</h3> + +<h4>Settings: Patterns and Components</h4> +<p> +In Android 8.0, the Settings menu gains several components and widgets that +cover common uses. For more information, see <a +href="/devices/tech/settings/patterns-components.html">Patterns +and Components</a>. +</p> + +<h4>Settings: Updated information architecture</h4> +<p> +Android 8.0 introduces a new information architecture for the Settings app. The +goal of the new information architecture is to simplify the way settings are +organized and make it easier for users to quickly find the settings needed to +customize their Android devices. For more information, see Implementing <a +href="/devices/tech/settings/info-architecture.html">Updated +Information Architecture</a>. +</p> + +<h4>Personalized Settings</h4> +<p> +The Android Settings app provides a list of suggestions to the users. This +feature provides ranking for suggestions, based on any contextual signal or the +user's past interactions with suggestions. For more information, see <a +href="/devices/tech/settings/personalized.html">Personalized +Settings</a>. +</p> + +<h4>Implementing Settings: Universal Search</h4> +<p> +Android 8.0 adds expanded search capabilities for the Settings menu. This document +describes how to add a setting and ensure it is properly indexed for Settings. +For more information, see <a +href="/devices/tech/settings/universal-search.html">Universal +Search</a>. +</p> + +<h3 id="storage">Storage</h3> + +<h4>Faster storage statistics</h4> +<p> +Android 8.0 leverages the ext4 filesystem's "quota" support to return disk usage +statistics almost instantly. For more information, see <a +href="/devices/storage/faster-stats.html">Implementing +faster storage statistics</a>. +</p> + +<h2 id="april-2017">April 2017</h2> +<p>Welcome to a new source.android.com! The site has been overhauled to make it +easier for you to navigate, search, and read its ever-growing set of information. +Here is a summary of enhancements:</p> + +<h3 id="screen-estate">More screen real estate, larger type size</h3> +<p>The entire site is wider, allowing you to view more content at once. Code +samples and commands are more visible, and all text has been enlarged.</p> + +<h3 id="mobile-ready">Mobile-ready view</h3> +<p>The new site renders more cleanly on handheld devices with a dedicated +mobile view.</p> + +<div style="width:407px"> + <img src="images/mobile-view.png" alt="new mobile view" height="533px" /> + <p class="img-caption"> + <strong>Figure 1.</strong> Site's new mobile view + </p> +</div> + +<h3 id="top-tabs">New top-level tabs</h3> +<p>The former <em>Devices</em> tab has been renamed <a +href="/devices/">Porting</a>, while the old <em>Core Technologies</em> +subtab has been renamed <a href="/devices/tech/">Tuning</a> and moved to the top +of the site for better exposure.</p> + +<h3 id="security-forefront">Security at the forefront</h3> +<p>With an ever-increasing focus on security in Android, the <a +href="/security/">Security</a> tab has been moved forward (next to <a +href="/setup/">Source</a>) to reflect its importance.</p> + +<h3 id="reference-materials">Better reference materials</h3> +<p><a href="/reference/hal/">Hardware Abstraction Layer</a> and <a +href="/reference/tradefed/packages">Trade Federation</a> reference +materials are available directly from a top-level <a +href="/reference/">Reference</a> tab.</p> + +<h3 id="code-links">Persistent code links</h3> +<p>The <a href="https://android.googlesource.com/">AOSP code +repository</a> is always just a click away with the <strong>Go to Code</strong> +button at the top right of every page.</p> + +<h3 id="comprehensive-footers">Comprehensive footers</h3> +<p>In addition to the existing <em>About</em>, <em>Community</em>, and +<em>Legal</em> footers, you can now find a complete list of links at the bottom +of every page for building Android, connecting with the ecosystem, and getting +help with the operating system's use.</p> + + </body> +</html> |