blob: 11986382a086e5364ac0e44f80cf769777834ded [file] [log] [blame]
page.title=Developer Roadmap
@jd:body
<h1>Android Developer Roadmap</h1>
<h2>Introduction</h2>
<p>
On 12 November, 2007, we made available the first early look at the Android
SDK to give developers an opportunity to explore Android and build
applications for the Android Developer Challenge. That was followed by the
"M5" early look build.
</p><p>
Since then, we've been hard at work with our <a
href="http://www.openhandsetalliance.com/">partners</a> preparing the first
device for launch and finalizing the APIs and platform. The developer
feedback we received via the "early look" SDKs has been extremely valuable in
that process. This Roadmap outlines our plans for
the coming months, and lets you know what to expect as we near device
availability.
</p><p>
This is the top-level Roadmap. Individual components of Android (such as
the Dalvik virtual machine, the Android Developer Tools, and so on) will have
their own roadmaps, once we complete the source code release. Those roadmaps
will be linked to this page, as they become available.
</p>
<h2>Timeline</h2>
<p>
To orient yourself, consult this brief timeline. Read on for details on these
milestones.
</p><ul>
<li>12 November, 2007 - "Early Look" SDK released</li>
<li>January to August, 2008 - Android Developer Challenge I</li>
<li>18 August, 2008 - Android 0.9 SDK beta released</li>
<li>28 August, 2008 - Android Market introduced</li>
<li>23 September, 2008 - Android 1.0 SDK Release 1 available (first actual
1.0-compatible SDK)</li>
<li>22 October, 2008 - Android 1.0 devices available at retail</li>
<li>Q4 2008 - Source code released</li>
<li>Q4 2008 - Key Announcement on Android Developer Challenge II</li>
</ul>
<h2>SDK Naming and Compatibility</h2>
<p>
Before we dive into details, here is a quick note on how we name SDKs.
</p><p>
We've adopted the following naming convention for Android SDKs:
"Android &lt;Platform&gt; SDK, release &lt;Release&gt;"
</p><p>
The downloadable file names for the SDKs will have this naming convention:
"android-sdk-&lt;Host-OS&gt;-&lt;Platform&gt;_r&lt;Release&gt;.zip"
</p><p>
The "&lt;Platform&gt;" refers to the version of the Android platform with which the
SDK is compatible. For instance, an SDK that can be used to build
applications that will run on Android 1.0 is considered to be an "Android 1.0
SDK". However, since we do expect to release bug fixes and enhancements for
the various tools included in the SDK (such as the emulator, Eclipse plugin,
DDMS, and so on) we need to distinguish between releases of the SDK that can
be used to build for the same Android platform. That's what we will use the
"&lt;Release&gt;" for.
</p><p>
For example, the first SDK that is compatible with Android 1.0 is named
"Android 1.0 SDK, release 1", and will have file names such as
"android-sdk-windows-1.0_r1.zip". In the future, after we release a
hypothetical Android 2.0 platform version, you might see an SDK named "Android
2.0 SDK, release 3", which would refer to the third released SDK compatible
with Android 2.0.
</p>
<h2>Details of Key Events</h2>
<h3>Ongoing SDK Releases</h3>
<p>
The SDK consists of two general pieces: a version of the Android platform
itself (that runs in the emulator), and the accompanying developer tools that
surround it. This means that when we ship SDK releases, all releases within a
given series (such as all the SDKs for Android 1.0) will consist of
essentially the same platform image, but with different, updated tools.
</p><p>
In August, we released Android 0.9 SDK, beta. The Android
platform image was not quite 1.0-final (which is why we identified it as 0.9),
and the tools were not yet final (which is why we referred to it as
beta.) </p>
<p>For the SDK that includes the Android 1.0 platform and updated tools,
we've dropped the beta labeling and released "Android 1.0 SDK, release
1". Applications developed on this SDK version will be compatible with
devices that run the Android 1.0 platform.</p>
<h3>Device Availability</h3>
<p>The first Android-powered device, the T-Mobile G1, was announced on 23 September,
2008. To learn more about the T-Mobile G1, see the <a href="http://www.t-mobileg1.com">T-Mobile G1 site</a>.
<p>Other partners will be releasing Android-powered devices in the future.
We will update this space with more specific information about each device
release, as it becomes
available.</p>
<h3>Source Code Release</h3>
<p>
We are currently in the process of preparing for the release of the source
code. This includes a few key tasks:
</p><ul>
<li>Selection of hosting infrastructure</li>
<li>Updating the build infrastructure for general use</li>
<li>Creation of a project governance framework</li>
<li>Final examination of source code for release approval</li>
<li>Physical upload and release packaging of the source code</li>
</ul><p>
This work is already under way, but since Android contains some 8 million
lines of code, it's a lengthy process. We expect this process to conclude
(and source code to be released) in Q4 of 2008.
</p>
<h3>Android Developer Challenge II</h3>
<p>
When Android was announced on 5 November, 2007, Google also announced a $10
million <a href="{@docRoot}adc.html">Android Developer Challenge</a>, split into two separate $5 million
events. The first Android Developer Challenge ran from January 2008 through
August 2008, and was intended to give developers an opportunity to explore
their ideas using the early look SDK and build prototype applications -- to
"get in on the ground floor." The second Challenge will give developers a
chance to build polished applications once hardware is available.
</p><p>
We'll be making some interesting announcements regarding ADC II soon, in Q3 or
Q4.
</p>