summaryrefslogtreecommitdiffstats
path: root/docs/html/tools
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/tools')
-rw-r--r--docs/html/tools/adk/adk.jd2
-rw-r--r--docs/html/tools/adk/adk2.jd2
-rw-r--r--docs/html/tools/adk/index.jd2
-rw-r--r--docs/html/tools/debugging/debugging-memory.jd27
-rw-r--r--docs/html/tools/debugging/debugging-tracing.jd56
-rw-r--r--docs/html/tools/help/adb.jd112
-rw-r--r--docs/html/tools/help/adt.jd2
-rw-r--r--docs/html/tools/help/draw9patch.jd2
-rw-r--r--docs/html/tools/help/proguard.jd6
-rw-r--r--docs/html/tools/revisions/platforms.jd49
-rw-r--r--docs/html/tools/samples/index.jd4
-rw-r--r--docs/html/tools/sdk/eclipse-adt.jd37
-rw-r--r--docs/html/tools/sdk/ndk/index.jd235
-rw-r--r--docs/html/tools/sdk/tools-notes.jd32
-rw-r--r--docs/html/tools/support-library/index.jd52
-rw-r--r--docs/html/tools/support-library/setup.jd11
16 files changed, 534 insertions, 97 deletions
diff --git a/docs/html/tools/adk/adk.jd b/docs/html/tools/adk/adk.jd
index 1651747..7e75c11 100644
--- a/docs/html/tools/adk/adk.jd
+++ b/docs/html/tools/adk/adk.jd
@@ -1,5 +1,5 @@
page.title=Accessory Development Kit 2011 Guide
-page.tags="adk"
+page.tags=adk
@jd:body
<div id="qv-wrapper">
diff --git a/docs/html/tools/adk/adk2.jd b/docs/html/tools/adk/adk2.jd
index c60e920..d69125a 100644
--- a/docs/html/tools/adk/adk2.jd
+++ b/docs/html/tools/adk/adk2.jd
@@ -1,5 +1,5 @@
page.title=Accessory Development Kit 2012 Guide
-page.tags="adk"
+page.tags=adk
@jd:body
<div id="qv-wrapper">
diff --git a/docs/html/tools/adk/index.jd b/docs/html/tools/adk/index.jd
index e035115..e08748fc 100644
--- a/docs/html/tools/adk/index.jd
+++ b/docs/html/tools/adk/index.jd
@@ -1,5 +1,5 @@
page.title=Accessory Development Kit
-page.tags="adk"
+page.tags=adk
@jd:body
<p>The Accessory Development Kit (ADK) is a reference implementation for hardware manufacturers and
diff --git a/docs/html/tools/debugging/debugging-memory.jd b/docs/html/tools/debugging/debugging-memory.jd
index 0454293..fccb67e 100644
--- a/docs/html/tools/debugging/debugging-memory.jd
+++ b/docs/html/tools/debugging/debugging-memory.jd
@@ -1,5 +1,5 @@
page.title=Investigating Your RAM Usage
-page.tags="memory","OutOfMemoryError"
+page.tags=memory,OutOfMemoryError
@jd:body
<div id="qv-wrapper">
@@ -181,11 +181,18 @@ Moving that object into a global member is a simple fix that helps improve perfo
<h2 id="ViewingAllocations">Viewing Overall Memory Allocations</h2>
-<p>For further analysis, you may want to observe how that your app's memory is
-divided between different categories, which you can do with the <code>adb meminfo</code> data.</p>
+<p>For further analysis, you may want to observe how your app's memory is
+divided between different types of RAM allocation with the
+following <a href="{@docRoot}tools/help/adb.html">adb</a> command:</p>
-<p>When talking about how much RAM your app is using with this data, the key metrics
-discussed below are:</p>
+<pre class="no-pretty-print">
+adb shell dumpsys meminfo &lt;package_name>
+</pre>
+
+<p>The output lists all of your app's current allocations, measured in kilobytes.</p>
+
+<p>When inspecting this information, you should be familiar with the
+following types of allocation:</p>
<dl>
<dt>Private (Clean and Dirty) RAM</dt>
@@ -210,15 +217,9 @@ determine the actual memory being used by all processes. This means PSS is a goo
actual RAM weight of a process and for comparison against the RAM use of other processes and the
total available RAM.</p>
-<p>You can look at the memory use of your app (measured in kilobytes) with the
-following adb command:</p>
-
-<pre class="no-pretty-print">
-adb shell dumpsys meminfo &lt;package_name>
-</pre>
<p>For example, below is the the output for Gmail’s process on a tablet device. There is a lot of
-information here, but key points for discussion are highlighted in different colors.</p>
+information here, but key points for discussion are listed below.</p>
<p class="note"><strong>Note:</strong> The information you see may vary slightly from what is shown
here, as some details of the output differ across platform versions.</p>
@@ -491,4 +492,4 @@ the Home screen, then return to your app).</li>
<p class="note"><strong>Tip:</strong> You can also perform the above steps by using the "monkey"
test framework. For more information on running the monkey test framework, read the <a href=
"{@docRoot}tools/help/monkeyrunner_concepts.html">monkeyrunner</a>
-documentation.</p> \ No newline at end of file
+documentation.</p>
diff --git a/docs/html/tools/debugging/debugging-tracing.jd b/docs/html/tools/debugging/debugging-tracing.jd
index 8653da6..bd4afbc 100644
--- a/docs/html/tools/debugging/debugging-tracing.jd
+++ b/docs/html/tools/debugging/debugging-tracing.jd
@@ -38,8 +38,7 @@ parent.link=index.html
<h2 id="traceviewLayout">Traceview Layout</h2>
<p>When you have a trace log file (generated by adding tracing code to your application or by DDMS),
- you can have Traceview load the log files and display their data in a window visualizes your application
- in two panels:</p>
+ you can load the log files in Traceview, which displays the log data in two panels:</p>
<ul>
<li>A <a href="#timelinepanel">timeline panel</a> -- describes when each thread and method
@@ -53,12 +52,11 @@ parent.link=index.html
<h3 id="timelinepanel">Timeline Panel</h3>
- <p>The image below shows a close up of the timeline panel. Each thread&rsquo;s execution is shown
+ <p>Figure 1 shows a close up of the timeline panel. Each thread&rsquo;s execution is shown
in its own row, with time increasing to the right. Each method is shown in another color (colors
are reused in a round-robin fashion starting with the methods that have the most inclusive time).
The thin lines underneath the first row show the extent (entry to exit) of all the calls to the
- selected method. The method in this case is <code>LoadListener.nativeFinished()</code> and it was selected in
- the profile view.</p>
+ selected method.</p>
<img src="{@docRoot}images/traceview_timeline.png"
alt="Traceview timeline panel"
@@ -94,23 +92,31 @@ parent.link=index.html
<p>There are two ways to generate trace logs:</p>
<ul>
<li>Include the {@link android.os.Debug} class in your code and call its
- methods to start and stop logging of trace information to disk. This method is very precise because
- you can specify in your code exactly where to start and stop logging trace data.</li>
- <li>Use the method profiling feature of DDMS to generate trace logs. This method is less
- precise since you do not modify code, but rather specify when to start and stop logging with
- a DDMS. Although you have less control on exactly where the data is logged, this method is useful
- if you don't have access to the application's code, or if you do not need the precision of the first method.
+ methods such as {@link android.os.Debug#startMethodTracing()} and {@link
+ android.os.Debug#stopMethodTracing()}, to start and stop logging of trace information to disk.
+ This option is very precise because
+ you can specify exactly where to start and stop logging trace data in your code.</li>
+ <li>Use the method profiling feature of DDMS to generate trace logs. This option is less
+ precise because you do not modify code, but rather specify when to start and stop logging with
+ DDMS. Although you have less control on exactly where logging starts and stops,
+ this option is useful if you don't have access to the application's code, or if you do
+ not need precise log timing.
</li>
</ul>
<p>Before you start generating trace logs, be aware of the following restrictions:</p>
<ul>
- <li>If you are using the {@link android.os.Debug} class, your device or emulator must have an SD card
- and your application must have permission to write to the SD card. </li>
- <li>If you are using DDMS, Android 2.1 and earlier devices must
+ <li>If you are using the {@link android.os.Debug} class,
+ your application must have permission to write to external storage
+ ({@link android.Manifest.permission#READ_EXTERNAL_STORAGE}). </li>
+ <li>If you are using DDMS:
+ <ul>
+ <li>Android 2.1 and earlier devices must
have an SD card present and your application must have permission to write to the SD card.
- <li>If you are using DDMS, Android 2.2 and later devices do not need an SD card. The trace log files are
+ <li>Android 2.2 and later devices do not need an SD card. The trace log files are
streamed directly to your development machine.</li>
+ </ul>
+ </li>
</ul>
<p>This document focuses on using the {@link android.os.Debug} class to generate trace data. For more information on using DDMS
@@ -134,22 +140,22 @@ parent.link=index.html
Debug.stopMethodTracing();
</pre>
- <p>When your application calls startMethodTracing(), the system creates a file called
+ <p>When your application calls {@link android.os.Debug#startMethodTracing() startMethodTracing()},
+ the system creates a file called
<code>&lt;trace-base-name&gt;.trace</code>. This contains the binary method trace data and a
mapping table with thread and method names.</p>
<p>The system then begins buffering the generated trace data, until your application calls
- stopMethodTracing(), at which time it writes the buffered data to the output file. If the system
- reaches the maximum buffer size before stopMethodTracing() is called, the system stops tracing
+ {@link android.os.Debug#stopMethodTracing() stopMethodTracing()}, at which time it writes
+ the buffered data to the output file. If the system
+ reaches the maximum buffer size before you call {@link android.os.Debug#stopMethodTracing()
+ stopMethodTracing()}, the system stops tracing
and sends a notification to the console.</p>
- <p>Interpreted code will run more slowly when profiling is enabled. Don't try to generate
- absolute timings from the profiler results (i.e. "function X takes 2.5 seconds to run"). The
+ <p>Interpreted code runs more slowly when profiling is enabled. Don't try to generate
+ absolute timings from the profiler results (such as, "function X takes 2.5 seconds to run"). The
times are only useful in relation to other profile output, so you can see if changes have made
- the code faster or slower.</p>
-
- <p>When using the Android emulator, you must specify an SD card when you create your AVD because the trace files
- are written to the SD card. Your application must have permission to write to the SD card as well.
+ the code faster or slower relative to a previous profiling run.</p>
<h2 id="copyingfiles">Copying Trace Files to a Host Machine</h2>
@@ -189,7 +195,7 @@ traceview /tmp/calc
"{@docRoot}images/tracedump.png"
width="485"
height="401" />
- <p class="image-caption"><strong>Figure 3.</strong> Screenshot of dmtracedump</p>
+ <p class="img-caption"><strong>Figure 3.</strong> Screenshot of dmtracedump</p>
<p>For each node, dmtracedump shows <code>&lt;ref&gt;
<em>callname</em> (&lt;inc-ms&gt;, &lt;exc-ms&gt;,&lt;numcalls&gt;)</code>, where</p>
diff --git a/docs/html/tools/help/adb.jd b/docs/html/tools/help/adb.jd
index 74f6c07..1850123 100644
--- a/docs/html/tools/help/adb.jd
+++ b/docs/html/tools/help/adb.jd
@@ -1,7 +1,7 @@
page.title=Android Debug Bridge
parent.title=Tools
parent.link=index.html
-page.tags="adb"
+page.tags=adb
@jd:body
<div id="qv-wrapper">
@@ -20,6 +20,7 @@ page.tags="adb"
<li><a href="#am">Using activity manager (am)</a></li>
<li><a href="#pm">Using package manager (pm)</a></li>
<li><a href="#sqlite">Examining sqlite3 databases from a remote shell</a></li>
+ <li><a href="#screenrecord">Recording a device screen</a></li>
<li><a href="#monkey">UI/Application Exerciser Monkey</a></li>
<li><a href="#othershellcommands">Other shell commands</a></li>
</ol>
@@ -1106,7 +1107,11 @@ manage SQLite databases created by Android applications. The
<code>.schema</code> to print the SQL CREATE statement for an existing table.
The tool also gives you the ability to execute SQLite commands on the fly.</p>
-<p>To use <code>sqlite3</code>, enter a remote shell on the emulator instance, as described above, then invoke the tool using the <code>sqlite3</code> command. Optionally, when invoking <code>sqlite3</code> you can specify the full path to the database you want to explore. Emulator/device instances store SQLite3 databases in the folder <code><span chatdir="1"><span chatindex="259474B4B070F261">/data/data/<em>&lt;package_name&gt;</em>/databases</span></span>/</code>. </p>
+<p>To use <code>sqlite3</code>, enter a remote shell on the emulator instance, as described above,
+then invoke the tool using the <code>sqlite3</code> command. Optionally, when invoking
+<code>sqlite3</code> you can specify the full path to the database you want to explore.
+Emulator/device instances store SQLite3 databases in the folder
+<code><span chatdir="1"><span chatindex="259474B4B070F261">/data/data/<em>&lt;package_name&gt;</em>/databases</span></span>/</code>. </p>
<p>Here's an example: </p>
@@ -1117,11 +1122,108 @@ Enter &quot;.help&quot; for instructions
<em>.... enter commands, then quit...</em>
sqlite&gt; .exit </pre>
-<p>Once you've invoked <code>sqlite3</code>, you can issue <code>sqlite3</code> commands in the shell. To exit and return to the adb remote shell, use <code>exit</code> or <code>CTRL+D</code>.
+<p>Once you've invoked <code>sqlite3</code>, you can issue <code>sqlite3</code> commands in the
+shell. To exit and return to the adb remote shell, use <code>exit</code> or <code>CTRL+D</code>.
+<h3 id="screenrecord">Recording a device screen</h3>
+
+<p>The {@code screenrecord} command is a shell utility for recording the display of devices
+ running Android 4.4 (API level 19) and higher. The utility records screen activity to an MPEG-4
+ file, which you can then download and use as part of a video presentation. This utility is useful
+ for developers who want to create promotional or training videos without using a separate
+ recording device.</p>
+
+<p>To use the {@code screenrecord} from the command line, type the following:
+
+<pre>
+$ adb shell screenrecord /sdcard/demo.mp4
+</pre>
+
+<p>Stop the screen recording by pressing Ctrl-C, otherwise the recording stops automatically
+at three minutes or the time limit set by {@code --time-limit}.</p>
+
+<p>Here's an example recording session, using the adb shell to record the video and the
+{@code pull} command to download the file from the device:<p>
+
+<pre>
+$ adb shell
+shell@ $ screenrecord --verbose /sdcard/demo.mp4
+(press Ctrl-C to stop)
+shell@ $ exit
+$ adb pull /sdcard/demo.mp4
+</pre>
+
+<p>The {@code screenrecord} utility can record at any supported resolution and bit rate you
+ request, while retaining the aspect ratio of the device display. The utility records at the native
+ display resolution and orientation by default, with a maximum length of three minutes.</p>
+
+<p>There are some known limitations of the {@code screenrecord} utility that you should be aware
+ of when using it:</p>
+
+<ul>
+ <li>Some devices may not be able to record at their native display resolution.
+ If you encounter problems with screen recording, try using a lower screen resolution.</li>
+ <li>Rotation of the screen during recording is not supported. If the screen does rotate during
+ recording, some of the screen is cut off in the recording.</li>
+ <li>Audio is not recorded with the video file.</li>
+</ul>
+
+
+<p class="table-caption"><strong>Table 4.</strong> {@code screenrecord} options</p>
+
+<table>
+ <tr>
+ <th>Options</th>
+ <th>Description</th>
+ </tr>
+
+ <tr>
+ <td><code>--help</code>
+ </td>
+ <td>Displays a usage summary.</td>
+ </tr>
+
+ <tr>
+ <td style="white-space:nowrap">
+ <code>--size &lt;WIDTHxHEIGHT&gt;</code>
+ </td>
+ <td>Sets the video size, for example: {@code 1280x720}. The default value is the device's main
+ display resolution (if supported), 1280x720 if not. For best results, use a size supported
+ by your device's Advanced Video Coding (AVC) encoder.</td>
+ </tr>
+
+ <tr>
+ <td><code>--bit-rate &lt;RATE&gt;</code></td>
+ <td>Sets the video bit rate for the video, in megabits per second. The default value is 4Mbps.
+ You can increase the bit rate to improve video quality or lower it for smaller movie
+ files. The following example sets the recording bit rate to 6Mbps:
+ <pre>screenrecord --bit-rate 6000000 &#47;sdcard&#47;demo.mp4</pre>
+ </td>
+ </tr>
+
+ <tr>
+ <td><code>--time-limit &lt;TIME&gt;</code></td>
+ <td>Sets the maximum recording time, in seconds. The default and maximum value is 180
+ (3 minutes).</td>
+ </tr>
+
+ <tr>
+ <td><code>--rotate</code></td>
+ <td>Rotates the output 90 degrees. This feature is experimental.</td>
+ </tr>
+
+ <tr>
+ <td><code>--verbose</code></td>
+ <td>Displays log information on command line screen. If you do not set this option,
+ the utility does not display any information while running.</td>
+ </tr>
+
+</table>
+
+
<h3 id="monkey">UI/Application Exerciser Monkey</h3>
@@ -1151,9 +1253,9 @@ application and sends 500 pseudo-random events to it.</p>
<p>Help is available for most of the commands. </p>
-<p>Table 4 lists some of the more common adb shell commands.</p>
+<p>Table 5 lists some of the more common adb shell commands.</p>
-<p class="table-caption"><strong>Table 4.</strong> Some other adb shell commands</p>
+<p class="table-caption"><strong>Table 5.</strong> Some other adb shell commands</p>
<table>
<tr>
<th>Shell Command</th>
diff --git a/docs/html/tools/help/adt.jd b/docs/html/tools/help/adt.jd
index 4dac574..1bb3015 100644
--- a/docs/html/tools/help/adt.jd
+++ b/docs/html/tools/help/adt.jd
@@ -1,5 +1,5 @@
page.title=Android Developer Tools
-page.tags="adt"
+page.tags=adt
@jd:body
<div id="qv-wrapper">
diff --git a/docs/html/tools/help/draw9patch.jd b/docs/html/tools/help/draw9patch.jd
index ebf2c6c..859b1cf 100644
--- a/docs/html/tools/help/draw9patch.jd
+++ b/docs/html/tools/help/draw9patch.jd
@@ -1,5 +1,5 @@
page.title=Draw 9-patch
-page.tags="NinePatch"
+page.tags=NinePatch
@jd:body
<p>The Draw 9-patch tool allows you to easily create a
diff --git a/docs/html/tools/help/proguard.jd b/docs/html/tools/help/proguard.jd
index be0b8dc..3ba7db2 100644
--- a/docs/html/tools/help/proguard.jd
+++ b/docs/html/tools/help/proguard.jd
@@ -61,6 +61,12 @@ parent.link=index.html
<p>To enable ProGuard so that it runs as part of an Ant or Eclipse build, set the
<code>proguard.config</code> property in the <code>&lt;project_root&gt;/project.properties</code>
file. The path can be an absolute path or a path relative to the project's root.</p>
+
+<p class="note"><strong>Note:</strong> When using Android Studio, you must add Proguard
+to your <code>gradle.build</code> file's build types. For more information, see the
+<a href="http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard"
+>Gradle Plugin User Guide</a>.
+
<p>If you left the <code>proguard.cfg</code> file in its default location (the project's root directory),
you can specify its location like this:</p>
<pre class="no-pretty-print">
diff --git a/docs/html/tools/revisions/platforms.jd b/docs/html/tools/revisions/platforms.jd
index 02216de..f219784 100644
--- a/docs/html/tools/revisions/platforms.jd
+++ b/docs/html/tools/revisions/platforms.jd
@@ -50,13 +50,54 @@ components will not be available for download.</p>
-<h2 id="4.3">Android 4.3</h2>
+<h2 id="4.4">Android 4.4</h2>
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png"
+class="toggle-content-img" alt="" />Revision 1</a> <em>(October 2013)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+
+ <p>Initial release. The system version is 4.4.</p>
+ <dl>
+ <dt>Dependencies:</dt>
+ <dd>Android SDK Platform-tools r19 or higher is required.</dd>
+ <dd>Android SDK Tools 22.3 or higher is recommended.</dd>
+ </dl>
+
+ </div>
+</div>
+
+<h3 id="gsi-4.4">Google APIs System Image</h3>
+
+<div class="toggle-content opened">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-opened.png"
+class="toggle-content-img" alt="" />Revision 1</a> <em>(October 2013)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+
+ <p>Initial release. This release includes
+ <a href="{@docRoot}google/play-services/index.html">Google Play services</a> version 4.0.30,
+ allowing you to test your application in an emulator using the latest Google Play services.</p>
+
+ </div>
+</div>
+
+
+
+<h2 id="4.3">Android 4.3</h2>
+
+
+<div class="toggle-content closed">
+
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png"
class="toggle-content-img" alt="" />Revision 2</a> <em>(August 2013)</em>
</p>
@@ -91,11 +132,11 @@ class="toggle-content-img" alt="" />Revision 1</a> <em>(July 2013)</em>
</div>
</div>
-<h3 id="">Google APIs System Image</h3>
+<h3 id="gsi-4.3">Google APIs System Image</h3>
-<div class="toggle-content opened">
+<div class="toggle-content closed">
<p><a href="#" onclick="return toggleContent(this)">
- <img src="{@docRoot}assets/images/triangle-opened.png"
+ <img src="{@docRoot}assets/images/triangle-closed.png"
class="toggle-content-img" alt="" />Revision 3</a> <em>(September 2013)</em>
</p>
diff --git a/docs/html/tools/samples/index.jd b/docs/html/tools/samples/index.jd
index 76ba37a..a0d11e9 100644
--- a/docs/html/tools/samples/index.jd
+++ b/docs/html/tools/samples/index.jd
@@ -1,5 +1,5 @@
page.title=Samples
-page.tags="example","code"
+page.tags=example,code
@jd:body
<p>To help you understand some fundamental Android APIs and coding practices, a variety of sample
@@ -29,4 +29,4 @@ Android SDK, then execute {@code android sdk}.</ul>
<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">API level</a>.</p>
<p>You can easily create new Android projects with the downloaded samples, modify them
-if you'd like, and then run them on an emulator or device.</p> \ No newline at end of file
+if you'd like, and then run them on an emulator or device.</p>
diff --git a/docs/html/tools/sdk/eclipse-adt.jd b/docs/html/tools/sdk/eclipse-adt.jd
index cfdf8cc..c584ae5 100644
--- a/docs/html/tools/sdk/eclipse-adt.jd
+++ b/docs/html/tools/sdk/eclipse-adt.jd
@@ -57,6 +57,43 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+ alt=""/>ADT 22.3.0</a> <em>(October 2013)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+<dl>
+ <dt>Dependencies:</dt>
+
+ <dd>
+ <ul>
+ <li>Java 1.6 or higher is required.</li>
+ <li>Eclipse Helios (Version 3.6.2) or higher is required.</li>
+ <li>This version of ADT is designed for use with
+ <a href="{@docRoot}tools/sdk/tools-notes.html">SDK Tools r22.3</a>.
+ If you haven't already installed SDK Tools r22.3 into your SDK, use the
+ Android SDK Manager to do so.</li>
+ </ul>
+ </dd>
+
+ <dt>General Notes:</dt>
+ <dd>
+ <ul>
+ <li>Added support for Android 4.4 (API level 19).</li>
+ <li>Fixed problem with parsing view hierarchies containing classes in the java.*
+ name space.</li>
+ <li>Fixed problem importing Android projects that have the same name as an existing
+ project.</li>
+ </ul>
+ </dd>
+
+</dl>
+</div>
+</div>
+
+
+<div class="toggle-content closed">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>ADT 22.2.1</a> <em>(September 2013)</em>
</p>
diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd
index 61a91a8..87f8a87 100644
--- a/docs/html/tools/sdk/ndk/index.jd
+++ b/docs/html/tools/sdk/ndk/index.jd
@@ -1,58 +1,58 @@
ndk=true
page.template=sdk
-ndk.mac64.legacy_download=android-ndk-r9-darwin-x86_64-legacy-toolchains.tar.bz2
-ndk.mac64.legacy_bytes=271922968
-ndk.mac64.legacy_checksum=251c21defcf90a2f0e8283bab90ed861
+ndk.mac64.legacy_download=android-ndk-r9b-darwin-x86_64-legacy-toolchains.tar.bz2
+ndk.mac64.legacy_bytes=122378495
+ndk.mac64.legacy_checksum=19c696a5b690b040409c68b21e9fcf46
-ndk.mac64_download=android-ndk-r9-darwin-x86_64.tar.bz2
-ndk.mac64_bytes=454408117
-ndk.mac64_checksum=ff27c8b9efc8260d9f883dc42d08f651
+ndk.mac64_download=android-ndk-r9b-darwin-x86_64.tar.bz2
+ndk.mac64_bytes=354748937
+ndk.mac64_checksum=710d80b6ff807f03e585f9aacee3bf09
-ndk.mac32.legacy_download=android-ndk-r9-darwin-x86-legacy-toolchains.tar.bz2
-ndk.mac32.legacy_bytes=264053696
-ndk.mac32.legacy_checksum=9fd7f76a1f1f59386a34b019dcd20976
+ndk.mac32.legacy_download=android-ndk-r9b-darwin-x86-legacy-toolchains.tar.bz2
+ndk.mac32.legacy_bytes=119394536
+ndk.mac32.legacy_checksum=be0a07bcea3695f7d93cbd1b880d3f75
-ndk.mac32_download=android-ndk-r9-darwin-x86.tar.bz2
-ndk.mac32_bytes=446858202
-ndk.mac32_checksum=781da0e6bb5b072512e67b879b56a74c
+ndk.mac32_download=android-ndk-r9b-darwin-x86.tar.bz2
+ndk.mac32_bytes=349307548
+ndk.mac32_checksum=b5fa7aa3b9fca5a5b0c46bdd970d284b
-ndk.linux64.legacy_download=android-ndk-r9-linux-x86_64-legacy-toolchains.tar.bz2
-ndk.linux64.legacy_bytes=244427866
-ndk.linux64.legacy_checksum=3976a8237d75526b8a0f275375dd68b5
+ndk.linux64.legacy_download=android-ndk-r9b-linux-x86_64-legacy-toolchains.tar.bz2
+ndk.linux64.legacy_bytes=127742633
+ndk.linux64.legacy_checksum=f41017d5888a8dc210d1703dcdf1def7
-ndk.linux64_download=android-ndk-r9-linux-x86_64.tar.bz2
-ndk.linux64_bytes=425113267
-ndk.linux64_checksum=0ccfd9960526e61d1527155fa6f84ac0
+ndk.linux64_download=android-ndk-r9b-linux-x86_64.tar.bz2
+ndk.linux64_bytes=366988131
+ndk.linux64_checksum=56c0999a2683d6711591843217f943e0
-ndk.linux32.legacy_download=android-ndk-r9-linux-x86-legacy-toolchains.tar.bz2
-ndk.linux32.legacy_bytes=241172797
-ndk.linux32.legacy_checksum=957c415de9d7c7ce1c2377ec4d3d60f1
+ndk.linux32.legacy_download=android-ndk-r9b-linux-x86-legacy-toolchains.tar.bz2
+ndk.linux32.legacy_bytes=125676842
+ndk.linux32.legacy_checksum=bfc7a1e6baf856b4348d57abffc761d2
-ndk.linux32_download=android-ndk-r9-linux-x86.tar.bz2
-ndk.linux32_bytes=419862465
-ndk.linux32_checksum=beadafdc187461c057d513c40f0ac33b
+ndk.linux32_download=android-ndk-r9b-linux-x86.tar.bz2
+ndk.linux32_bytes=361394055
+ndk.linux32_checksum=d7f783deaeea6b60cb515d9427c01c2e
-ndk.win64.legacy_download=android-ndk-r9-windows-x86_64-legacy-toolchains.zip
-ndk.win64.legacy_bytes=312340413
-ndk.win64.legacy_checksum=707d1eaa6f5d427ad439c764c8bd68d2
+ndk.win64.legacy_download=android-ndk-r9b-windows-x86_64-legacy-toolchains.zip
+ndk.win64.legacy_bytes=166961852
+ndk.win64.legacy_checksum=6eee9459986e8b7f1032d62831dd775b
-ndk.win64_download=android-ndk-r9-windows-x86_64.zip
-ndk.win64_bytes=514321606
-ndk.win64_checksum=96c725d16ace7fd487bf1bc1427af3a0
+ndk.win64_download=android-ndk-r9b-windows-x86_64.zip
+ndk.win64_bytes=479012553
+ndk.win64_checksum=1ba6be7ebf4e9272d77031dd70f81e94
-ndk.win32.legacy_download=android-ndk-r9-windows-x86-legacy-toolchains.zip
-ndk.win32.legacy_bytes=292738221
-ndk.win32.legacy_checksum=ae3756d3773ec068fb653ff6fa411e35
+ndk.win32.legacy_download=android-ndk-r9b-windows-x86-legacy-toolchains.zip
+ndk.win32.legacy_bytes=152568224
+ndk.win32.legacy_checksum=00c8373b53ad9475f1bab1de4219b877
-ndk.win32_download=android-ndk-r9-windows-x86.zip
-ndk.win32_bytes=485200055
-ndk.win32_checksum=8895aec43f5141212c8dac6e9f07d5a8
+ndk.win32_download=android-ndk-r9b-windows-x86.zip
+ndk.win32_bytes=455928388
+ndk.win32_checksum=cfb9402ea08a1554186e85ed28cb4593
page.title=Android NDK
@@ -298,6 +298,165 @@ $('#Downloads').after($('#download-table'));
<p>
<a href="#" onclick="return toggleContent(this)"> <img
src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img" alt=""
+ >Android NDK, Revision 9b</a> <em>(October 2013)</em>
+ </p>
+ <div class="toggle-content-toggleme">
+ <dl>
+ <dt>Important changes:</dt>
+ <dd>
+ <ul>
+ <li>Updated {@code include/android/*h} and {@code math.h} for all Android API levels up to
+ 18, including the addition of levels 13, 15, 16 and 17.
+ For information on added APIs, see commit messages for Changes
+ <a href="https://android-review.googlesource.com/68012">68012</a> and
+ <a href="https://android-review.googlesource.com/68014">68014</a>.
+ (Issues <a href="http://b.android.com/47150">47150</a>,
+ <a href="http://b.android.com/58528">58528</a>, and
+ <a href="http://b.android.com/38423">38423</a>)</li>
+ <li>Added support for API level 19, including Renderscript binding.</li>
+ <li>Added support for <code>-mhard-float</code> in the existing armeabi-v7a ABI. For more
+ information and current restrictions on Clang, see
+ {@code tests/device/hard-float/jni/Android.mk}.</li>
+ <li>Migrated from GNU Compiler Collection (GCC) 4.8 to 4.8.2, and added diagnostic color
+ support. To enable diagnostic colors, set <code>-fdiagnostics-color=auto</code>,
+ <code>-fdiagnostics-color=always,</code> or export {@code GCC_COLORS} as shown below:
+<pre>
+GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
+</pre>
+ For more information, see
+ <a href="http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html">GCC
+ Language Independent Options</a>.
+ </li>
+ <li>Added two new samples to demonstrate OpenGL ES 3.0 features: Teapot and MoreTeapots.
+ These samples run on devices with Android 4.1 (API level 16) and higher.</li>
+ <li>Deprecated GCC 4.7 and Clang 3.2 support, which will be removed in the next
+ release.</li>
+ </ul>
+ </dd>
+
+ <dt>Important bug fixes:</dt>
+ <dd>
+ <ul>
+ <li>Fixed problem with ARM GCC 4.6 {@code thumb2} failing to generate 16-bit relative jump
+ tables. (<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48328">GCC Issue</a>)</li>
+ <li>Fixed GCC 4.8 internal compiler error (ICE) on
+ {@code g++.dg/cpp0x/lambda/lambda-defarg3.C}.
+ (<a href="https://android-review.googlesource.com/62770">Change 62770</a>,
+ <a href="http://gcc.gnu.org/ml/gcc/2013-07/msg00424.html">GCC Issue</a>)</li>
+ <li>Fixed a problem with Windows 32-bit {@code *-gdb.exe} executables failing to launch.
+ (<a href="http://b.android.com/58975">Issue 58975</a>)</li>
+ <li>Fixed GCC 4.8 ICE when building bullet library. The error message is as follows:
+ <pre>internal compiler error: verify_flow_info failed</pre>
+ (<a href="http://b.android.com/58916">Issue 58916</a>,
+ <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58165">GCC Issue</a>)</li>
+ <li>Modified GDB/ARM build to skip {@code ARM.exidx} data for unwinding in prologue code and
+ added a command ({@code set arm exidx-unwinding}) to control exidx-based stack unwinding.
+ (<a href="http://b.android.com/55826">Issue 55826</a>)</li>
+ <li>Fixed Clang 3.3 MIPS compiler problem where HI and LO registers are incorrectly
+ reused.</li>
+ <li>Fixed issue with MIPS 4.7 ICE in {@code dbx_reg_number}. The error message is as follows:
+<pre>
+external/icu4c/i18n/decimfmt.cpp:1322:1:
+internal compiler error: in dbx_reg_number, at dwarf2out.c:10185
+</pre>
+ (<a href="http://gcc.gnu.org/ml/gcc-patches/2012-12/msg00830.html">GCC Patch</a>)
+
+ </li>
+
+ </ul>
+ </dd>
+
+ <dt>Other bug fixes:</dt>
+ <dd>
+ <ul>
+ <li>Header fixes
+ <ul>
+ <li>Fixed the ARM {@code WCHAR_MIN} and {@code WCHAR_MAX} to be unsigned according to
+ spec (the X86/MIPS versions are signed). Define {@code _WCHAR_IS_ALWAYS_SIGNED} to
+ restore old behavior. (<a href="http://b.android.com/57749">Issue 57749</a>)</li>
+ <li>Fixed {@code include/netinet/tcp.h} to contain {@code TCP_INFO} state enum.
+ (<a href="http://b.android.com/38881">Issue 38881</a>)</li>
+ <li>Fixed the {@code cdefs_elh.h} macro {@code _C_LABEL_STRING} to stop generating
+ warnings in the GCC 4.8 toolchain when using c++11 mode.
+ (<a href="http://b.android.com/58135">Issue 58135</a>,
+ <a href="http://b.android.com/58652">Issue 58652</a>)</li>
+ <li>Removed non-existent functions {@code imaxabs} and {@code imaxdiv} from header
+ {@code inttypes.h}.</li>
+ <li>Fixed issue with {@code pthread_exit()} return values and {@code pthread_self()}.
+ (<a href="http://b.android.com/60686">Issue 60686</a>)</li>
+ <li>Added missing {@code mkdtemp()} function, which already exists in {@code bionic}
+ header {@code stdlib.h}.</li>
+ </ul>
+ </li>
+ <li>Fixed problem building {@code samples/gles3jni} with Clang on Android API level 11.</li>
+ <li>Fixed MCLinker to allow multiple occurrences of the following options:
+ {@code -gc-sections} and {@code --eh-frame-hdr}.</li>
+ <li>Fixed MCLinker to accept the {@code --no-warn-mismatch} option.</li>
+ <li>Modified {@code cpu-features} option to not assume all VFPv4 devices support IDIV.
+ Now this option only adds IDIV to white-listed devices, including Nexus 4.
+ (<a href="http://b.android.com/57637">Issue 57637</a>)</li>
+ <li>Fixed problem with {@code android_native_app_glue.c} erroneously logging errors on event
+ predispatch operations.</li>
+ <li>Fixed all operations on {@code gabi++} terminate and unexpected_handler to be
+ thread-safe.</li>
+ <li>Fixed several issues with Clang <code>-integrated-as</code> option so it can pass
+ tests for {@code ssax-instructions} and {@code fenv}.</li>
+ <li>Fixed GCC 4.6/4.7/4.8 compiler to pass the linker option {@code --eh-frame-hdr} even
+ for static executables. For more information, see the
+ <a href="http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00969.html">GCC patch</a>.</li>
+ <li>Fixed extra apostrophe in <code>CPU-ARCH-ABIS.html</code>. For more information, see
+ <code>NDK-DEPENDS.html</code>. (<a href="http://b.android.com/60142">Issue 60142</a>)</li>
+ <li>Fixed extra quotes in ndk-build output on Windows.
+ (<a href="http://b.android.com/60649">Issue 60649</a>)</li>
+ <li>Fixed Clang 3.3 to compile ARM's built-in, atomic operations such as
+ {@code __atomic_fetch_add}, {@code __atomic_fetch_sub}, and {@code __atomic_fetch_or}.
+ </li>
+ <li>Fixed Clang 3.3 ICE with customized {@code vfprintf}.
+ (<a href="http://llvm.org/bugs/show_bug.cgi?id=16344">Clang issue</a>)
+ </li>
+ </ul>
+ </dd>
+
+ <dt>Other changes:</dt>
+ <dd>
+ <ul>
+ <li>Enabled OpenMP for all GCC builds. To use this feature, add the following flags to your
+ build settings:
+<pre>
+LOCAL_CFLAGS += -fopenmp
+LOCAL_LDFLAGS += -fopenmp
+</pre>
+ For code examples, see {@code tests/device/test-openmp}</li>
+ <li>Reduced the size of {@code ld.mcld} significantly (1.5MB vs. {@code ld.bfd} 3.5MB and
+ {@code ld.gold} 7.5MB), resulting in a speed improvement of approximately 20%.</li>
+ <li>Added <code>LOCAL_CONLYFLAGS</code> and <code>APP_CONLYFLAGS</code> to specify
+ options applicable to C only but not C++. The existing <code>LOCAL_CFLAGS</code>
+ and <code>APP_CFLAGS</code> are also used for C++ compilation (to save trouble of
+ specifying most options twice), so options such as <code>-std=gnu99</code> may fail in
+ g++ builds with a warning and clang++ builds with an error.</li>
+ <li>Added {@code gabi++} array helper functions.</li>
+ <li>Modified GCC builds so that all {@code libgcc.a} files are built with
+ <code>-funwind-tables</code> to allow the stack to be unwound past previously blocked
+ points, such as <code>__aeabi_idiv0</code>.</li>
+ <li>Added Ingenic MXU support in MIPS GCC4.6/4.7/4.8 with new <code>-mmxu</code> option.</li>
+ <li>Extended MIPS GCC4.6/4.7/4.8 <code>-mldc1-sdc1</code> to control ldxc1/sdxc1 too</li>
+ <li>Added crazy linker. For more information, see
+ {@code sources/android/crazy_linker/README.TXT}.</li>
+ <li>Fixed {@code bitmap-plasma} to draw to full screen rather than a 200x200 pixel area.</li>
+ <li>Reduced linux and darwin toolchain sizes by 25% by creating symlinks to identical files.
+ </li>
+ </ul>
+ </dd>
+
+ </dl>
+ </div>
+</div>
+
+
+<div class="toggle-content closed">
+ <p>
+ <a href="#" onclick="return toggleContent(this)"> <img
+ src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
>Android NDK, Revision 9</a> <em>(July 2013)</em>
</p>
<div class="toggle-content-toggleme">
@@ -441,7 +600,7 @@ $('#Downloads').after($('#download-table'));
<li>Fixed the Clang 3.2 {@code -integrated-as} option.</li>
<li>Fixed the Clang 3.2 ARM EHABI compact model {@code pr1} and {@code pr2} handler data.
</li>
- <li>Added clang {@code -mllvm -arm-enable-ehabi} option to fix the following clang error:
+ <li>Added Clang {@code -mllvm -arm-enable-ehabi} option to fix the following Clang error:
<pre>clang: for the -arm-enable-ehabi option: may only occur zero or one times!</pre>
</li>
<li>Fixed build failure when there is no {@code uses-sdk} element in application
@@ -2663,7 +2822,7 @@ later)</li>
<p>Before you get started make sure that you have downloaded the latest <a href=
"{@docRoot}sdk/index.html">Android SDK</a> and upgraded your applications and environment as
needed. The NDK is compatible with older platform versions but not older versions of the SDK tools.
- Also, take a moment to review the <a href="{@docRoot}tools/sdk/ndk/overview.html#reqs">System and
+ Also, take a moment to review the <a href="#Reqs">System and
Software Requirements</a>
for the NDK, if you haven't already.</p>
diff --git a/docs/html/tools/sdk/tools-notes.jd b/docs/html/tools/sdk/tools-notes.jd
index 25c409e..c28b946 100644
--- a/docs/html/tools/sdk/tools-notes.jd
+++ b/docs/html/tools/sdk/tools-notes.jd
@@ -30,6 +30,38 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+ alt=""/>SDK Tools, Revision 22.3</a> <em>(October 2013)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+
+ <dl>
+ <dt>Dependencies:</dt>
+ <dd>
+ <ul>
+ <li>Android SDK Platform-tools revision 18 or later.</li>
+ <li>If you are developing in Eclipse with ADT, note that this version of SDK Tools is
+ designed for use with ADT 22.3.0 and later. If you haven't already, update your
+ <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 22.3.0.</li>
+ <li>If you are developing outside Eclipse, you must have
+ <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
+ </ul>
+ </dd>
+
+ <dt>General Notes:</dt>
+ <dd>
+ <ul>
+ <li>Added support for Android 4.4 (API level 19).</li>
+ <li>Fixed a number of minor bugs in the SDK and build system.</li>
+ </ul>
+ </dd>
+ </dl>
+ </div>
+</div>
+
+<div class="toggle-content closed">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>SDK Tools, Revision 22.2.1</a> <em>(September 2013)</em>
</p>
diff --git a/docs/html/tools/support-library/index.jd b/docs/html/tools/support-library/index.jd
index 4ee8c12..dba4e74 100644
--- a/docs/html/tools/support-library/index.jd
+++ b/docs/html/tools/support-library/index.jd
@@ -62,6 +62,58 @@ page.title=Support Library
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img" alt=""
+/>Android Support Library, revision 19</a> <em>(October 2013)</em>
+ </p>
+ <div class="toggle-content-toggleme">
+ <dl>
+ <dt>Changes for v4 support library:</dt>
+ <dd>
+ <ul>
+ <li>Added support for external Storage APIs with the
+ {@link android.support.v4.content.ContextCompat#getObbDirs getObbDirs()},
+ {@link android.support.v4.content.ContextCompat#getExternalFilesDirs getExternalFilesDirs()},
+ {@link android.support.v4.content.ContextCompat#getExternalCacheDirs getExternalCacheDirs()},
+ and {@link android.support.v4.os.EnvironmentCompat#getStorageState getStorageState()}.
+ These helper methods always return a single file object on devices running Android
+ 4.3 (API level 18) and earlier. When running on Android 4.4 (API level 19) and higher,
+ these methods may return more than one file object.</li>
+ <li>Added {@link android.support.v4.print.PrintHelper} class that works with the
+ Print APIs to print images with a minimum of code.</li>
+ <li>Added drag-to-open user interface support for pop-up menus. For more information, see
+ {@link android.support.v4.widget.PopupMenuCompat} and
+ {@link android.support.v4.widget.ListPopupWindowCompat}.</li>
+ <li>Improved accessibility support with the addition of a
+ {@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat#findFocus
+ findFocus()} method in
+ {@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat} and the
+ {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat#getLiveRegion
+ getLiveRegion()} method in
+ {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}.</li>
+ <li>Added helper class {@link android.support.v4.view.ScaleGestureDetectorCompat} for
+ accessing new scaling gesture methods.</li>
+ <li>Fixed problem with {@link android.support.v4.app.ActionBarDrawerToggle} in
+ right-to-left language displays.</li>
+ <li>Modified {@link android.support.v4.widget.AutoScrollHelper} option to consume
+ touch events or allow them to be passed through to other views.</li>
+ </ul>
+ </dd>
+
+ <dt>Changes for v7 mediarouter library:</dt>
+ <dd>
+ <ul>
+ <li>Added support for media playback queuing, setting HTTP header values and media
+ playback duration.</li>
+ <li>Added explicit start, get, and end session actions for explicitly managing media
+ playback sessions with media router.</li>
+ </ul>
+ </dd>
+ </dl>
+ </div>
+</div>
+
+<div class="toggle-content closed">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
/>Android Support Library, revision 18</a> <em>(July 2013)</em>
</p>
<div class="toggle-content-toggleme">
diff --git a/docs/html/tools/support-library/setup.jd b/docs/html/tools/support-library/setup.jd
index 73d9468..2d2065a 100644
--- a/docs/html/tools/support-library/setup.jd
+++ b/docs/html/tools/support-library/setup.jd
@@ -180,8 +180,8 @@ project</a> based on the support library code:</p>
file and select <strong>Build Path &gt; Add to Build Path</strong>. For example, when
creating the the v7 appcompat project, add both the {@code android-support-v4.jar} and
{@code android-support-v7-appcompat.jar} files to the build path.</li>
- <li>Right-click the project and select <strong>Build Path &gt; Configure Build Path</strong>.
- </li>
+ <li>Right-click the library project folder and select <strong>Build Path &gt; Configure
+ Build Path</strong>.</li>
<li>In the <strong>Order and Export</strong> tab, check the <code>.jar</code> files you just
added to the build path, so they are available to projects that depend on this library
project. For example, the {@code appcompat} project requires you to export both the
@@ -197,12 +197,13 @@ project</a> based on the support library code:</p>
<p>Add the library to your application project:</p>
<ol>
- <li>In the Project Explorer, right-click your project and select <strong>Properties</strong>.
- <li>In the Library pane, click <strong>Add</strong>.
+ <li>In the Project Explorer, right-click your project and select <strong>Properties</strong>.</li>
+ <li>In the category panel on the left side of the dialog, select <strong>Android</strong>.</li>
+ <li>In the Library pane, click the <strong>Add</strong> button.</li>
<li>Select the library project and click <strong>OK</strong>. For example, the
{@code appcompat} project should be listed as <strong>android-support-v7-appcompat</strong>.
</li>
- <li>In the properties window, click <strong>OK</strong>.
+ <li>In the properties window, click <strong>OK</strong>.</li>
</ol>
</div>