page.title=Platform Versions
@jd:body

<style type="text/css">

div.dashboard-panel {
  max-width:1000px;
  margin:0 0 2em 0;
  padding:20px 20px 0 20px;
  border:1px solid #d3ecf5;
  border-radius:7px;
  -moz-border-radius:7px;
  -webkit-border-radius:7px;
  background-color: #DAF3FC;
  box-shadow:2px 3px 1px #eee;
  -moz-box-shadow:2px 3px 1px #eee;
  -webkit-box-shadow:2px 3px 1px #eee;
  overflow:hidden;
}
#jd-content div.dashboard-panel img {
  margin:0 20px 20px 0;
  padding:0;
  border:1px solid #ccc;
  float:left;
}
#jd-content div.dashboard-panel table {
  margin:0 0 20px 0;
  float:left;
  background-color:#fff;
}
div.dashboard-panel p {
  clear:left;
}
div.dashboard-panel th {
  white-space:nowrap;
}
</style>

<p>This page provides data about the relative number of active devices
running a given version of the Android platform. This can help you
understand the landscape of device distribution and decide how to prioritize
the development of your application features for the devices currently in
the hands of users. For information about how to target your application to devices based on
platform version, see <a href="{@docRoot}guide/appendix/api-levels.html">API Levels</a>.</p>


<h3 id="Current">Current Distribution</h3>

<p>The following pie chart and table is based on the number of Android devices that have accessed
Android Market within a 14-day period ending on the data collection date noted below.</p>

<div class="dashboard-panel">

<img alt="" height="250" width="470"
src="http://chart.apis.google.com/chart?&cht=p&chs=460x250&chd=t:0.6,1.1,8.5,30.4,0.6,54.9,0.1,1.5,1.7,0.3,0.3&chl=Android%201.5|Android%201.6|Android%202.1|Android%202.2|Android%202.3|Android%202.3.3|Android%203.0|Android%203.1|Android%203.2|Android%204.0|Android%204.0.3&chco=c4df9b,6fad0c" />

<table>
<tr>
  <th>Platform</th>
  <th>Codename</th>
  <th>API Level</th>
  <th>Distribution</th>
</tr>
<tr><td><a href="{@docRoot}sdk/android-1.5.html">Android 1.5</a></td><td>Cupcake</td>  <td>3</td><td>0.6%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-1.6.html">Android 1.6</a></td><td>Donut</td>    <td>4</td><td>1.1%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-2.1.html">Android 2.1</a></td><td>Eclair</td>   <td>7</td><td>8.5%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-2.2.html">Android 2.2</a></td><td>Froyo</td>    <td>8</td><td>30.4%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-2.3.html">Android 2.3 -<br/>
                             Android 2.3.2</a></td><td rowspan="2">Gingerbread</td>    <td>9</td><td>0.6%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-2.3.3.html">Android 2.3.3 -<br/>
      Android 2.3.7</a></td><!-- Gingerbread -->                                       <td>10</td><td>54.9%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-3.0.html">Android 3.0</a></td>
                                                   <td rowspan="3">Honeycomb</td>      <td>11</td><td>0.1%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-3.1.html">Android 3.1</a></td><!-- Honeycomb --><td>12</td><td>1.5%</td></tr>
<tr><td><a href="{@docRoot}sdk/android-3.2.html">Android 3.2</a></td><!-- Honeycomb --><td>13</td><td>1.7%</td></tr> 
<tr><td><a href="{@docRoot}sdk/android-4.0.html">Android 4.0 -<br/>
                                               Android 4.0.2</a></td>
                                                <td rowspan="2">Ice Cream Sandwich</td><td>14</td><td>0.3%</td></tr> 
<tr><td><a href="{@docRoot}sdk/android-4.0.3.html">Android 4.0.3</a></td><!-- ICS     --><td>15</td><td>0.3%</td></tr> 
</table>

<p><em>Data collected during a 14-day period ending on January 3, 2012</em></p>
<!--
<p style="font-size:.9em">* <em>Other: 0.1% of devices running obsolete versions</em></p>
-->
</div><!-- end dashboard-panel -->


<h3 id="Historical">Historical Distribution</h3>

<p>The following stacked line graph provides a history of the relative number of
active Android devices running different versions of the Android platform. It also provides a
valuable perspective of how many devices your application is compatible with, based on the
platform version.</p>

<p>Notice that the platform versions are stacked on top of each other with the oldest active
version at the top. This format indicates the total percent of active devices that are compatible
with a given version of Android. For example, if you develop your application for
the version that is at the very top of the chart, then your application is
compatible with 100% of active devices (and all future versions), because all Android APIs are
forward compatible. Or, if you develop your application for a version lower on the chart,
then it is currently compatible with the percentage of devices indicated on the y-axis, where the
line for that version meets the y-axis on the right.</p>

<p>Each dataset in the timeline is based on the number of Android devices that accessed
Android Market within a 14-day period ending on the date indicated on the x-axis.</p>

<div class="dashboard-panel">

<img alt="" height="250" width="660" style="padding:5px;background:#fff"
src="http://chart.apis.google.com/chart?&cht=lc&chs=660x250&chxt=x,x,y,r&chxr=0,0,12|1,0,12|2,0,100|3,0,100&chxl=0%3A%7C07/01%7C07/15%7C08/01%7C08/15%7C09/01%7C09/15%7C10/01%7C10/15%7C11/01%7C11/15%7C12/01%7C12/15%7C01/01%7C1%3A%7C2011%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C2012%7C2%3A%7C0%25%7C25%25%7C50%25%7C75%25%7C100%25%7C3%3A%7C0%25%7C25%25%7C50%25%7C75%25%7C100%25&chxp=0,0,1,2,3,4,5,6,7,8,9,10,11,12&chxtc=0,5&chd=t:99.2,99.0,98.8,98.7,98.5,98.5,98.2,98.1,98.0,99.9,99.9,99.7,99.2|97.7,97.6,97.5,97.5,97.5,97.5,97.1,97.1,97.0,99.1,99.1,99.0,98.6|95.5,95.5,95.5,95.6,95.7,95.8,95.6,95.9,95.7,97.7,97.8,97.8,97.5|77.6,79.0,80.2,81.1,82.4,83.3,83.8,84.9,85.1,87.5,88.2,88.6,89.0|17.8,20.6,24.3,27.5,31.2,34.7,38.3,41.3,44.0,48.9,52.9,55.7,58.5|16.8,20.0,23.7,26.9,30.6,34.1,37.8,40.8,43.5,48.4,52.4,55.2,57.9|0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,2.3,2.6,3.2|0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.2,1.3,1.7&chm=b,c3df9b,0,1,0|b,b8dc82,1,2,0|tAndroid 2.1,608920,2,0,15,,t::-5|b,addb67,2,3,0|tAndroid 2.2,517617,3,0,15,,t::-5|b,a3db4b,3,4,0|b,98dc2e,4,5,0|tAndroid 2.3.3,334d0a,5,0,15,,t::-5|b,8cd41b,5,6,0|b,7ec113,6,7,0|B,6fad0c,7,8,0&chg=7,25&chdl=Android 1.5|Android 1.6|Android 2.1|Android 2.2|Android 2.3|Android 2.3.3|Android 3.1|Android 3.2&chco=add274,a2d15a,97d13e,8bcb28,7dba1e,6ea715,5f920e,507d08" />

<p><em>Last historical dataset collected during a 14-day period ending on January 3, 2012</em></p>


</div><!-- end dashboard-panel -->

