blob: d4b0af24623c7396c1fb6813588ee7ee11afb918 [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001<?cs include:"doctype.cs" ?>
2<?cs include:"macros.cs" ?>
Dirk Dougherty4eb5dac2016-01-29 12:01:35 -08003<?cs include:"../../../../frameworks/base/docs/html/sdk/sdk_vars.cs" ?>
Scott Maine05e6f92013-01-29 13:34:17 -08004<html<?cs if:devsite ?> devsite<?cs /if ?>>
The Android Open Source Project88b60792009-03-03 19:28:42 -08005<?cs if:sdk.redirect ?>
6 <head>
7 <title>Redirecting...</title>
Scott Maincc089092011-01-17 16:44:10 -08008 <meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs
9 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
Dirk Doughertye1233852010-03-03 14:34:51 -080010 else ?>index.html<?cs /if ?>">
The Android Open Source Project88b60792009-03-03 19:28:42 -080011 </head>
12<?cs else ?>
13 <?cs include:"head_tag.cs" ?>
14<?cs /if ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -070015<body class="gc-documentation
Scott Maine4d8f1b2012-06-21 18:03:05 -070016 <?cs if:(guide||develop||training||reference||tools||sdk) ?>develop<?cs
17 elif:design ?>design<?cs
18 elif:distribute ?>distribute<?cs
19 /if ?>" itemscope itemtype="http://schema.org/CreativeWork">
20 <a name="top"></a>
21<?cs include:"header.cs" ?>
The Android Open Source Project88b60792009-03-03 19:28:42 -080022
Scott Maine4d8f1b2012-06-21 18:03:05 -070023
24<div <?cs if:fullpage
25?><?cs else
26?>class="col-13" id="doc-col"<?cs /if ?> >
The Android Open Source Project88b60792009-03-03 19:28:42 -080027
The Android Open Source Project88b60792009-03-03 19:28:42 -080028<?cs if:sdk.redirect ?>
Dirk Doughertyd8cfce02009-07-15 16:37:21 -070029
Dirk Dougherty19a4bd12009-04-24 11:30:32 -070030<div class="g-unit">
31 <div id="jd-content">
Scott Maincc089092011-01-17 16:44:10 -080032 <p>Redirecting to
33 <a href="<?cs var:toroot ?>sdk/<?cs
Scott Mainb66a5c02010-07-08 11:29:28 -070034 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
35 else ?>index.html<?cs /if ?>"><?cs
36 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
37 else ?>Download the SDK<?cs /if ?>
Dirk Doughertyd8cfce02009-07-15 16:37:21 -070038 </a> ...</p>
Scott Maincc089092011-01-17 16:44:10 -080039
The Android Open Source Project88b60792009-03-03 19:28:42 -080040<?cs else ?>
Scott Maincc089092011-01-17 16:44:10 -080041<?cs # else, if NOT redirect ...
42#
43#
44# The following is for SDK/NDK pages
45#
46#
47?>
48
Scott Maine4d8f1b2012-06-21 18:03:05 -070049<?cs if:header.hide ?><?cs else ?>
50<h1 itemprop="name"><?cs var:page.title ?></h1>
51<?cs /if ?>
Scott Main3652a112012-01-30 13:03:08 -080052 <div id="jd-content" itemprop="description">
The Android Open Source Project88b60792009-03-03 19:28:42 -080053
54<?cs if:sdk.not_latest_version ?>
55 <div class="special">
56 <p><strong>This is NOT the current Android SDK release.</strong></p>
Dirk Dougherty3d3d7b72009-10-21 19:52:52 -070057 <p><a href="/sdk/index.html">Download the current Android SDK</a></p>
The Android Open Source Project88b60792009-03-03 19:28:42 -080058 </div>
59<?cs /if ?>
Dirk Doughertye6be85f2009-06-24 11:01:03 -070060
The Android Open Source Project88b60792009-03-03 19:28:42 -080061
Scott Maincc089092011-01-17 16:44:10 -080062<?cs if:ndk ?>
63<?cs #
64#
65#
66#
67#
68#
69#
70# the following is for the NDK
71#
72# (nested in if/else redirect)
73#
74#
75#
76#
77?>
The Android Open Source Project88b60792009-03-03 19:28:42 -080078
Scott Main25659b02012-06-22 17:02:25 -070079 <table class="download" id="download-table">
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070080 <tr>
David Friedmane0471a82014-10-15 02:21:19 -070081 <th>Platform</th>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070082 <th>Package</th>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -070083 <th style="white-space:nowrap">Size (Bytes)</th>
David Friedman5f2abfc2016-03-09 17:58:08 -080084 <th>SHA1 Checksum</th>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070085 </tr>
86 <tr>
David Friedman612a88b2013-12-06 02:23:14 -080087 <td>Windows 32-bit</td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070088 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -080089 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -070090 href="//dl.google.com/android/repository/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070091 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -070092 <td><?cs var:ndk.win32_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -070093 <td><?cs var:ndk.win32_checksum ?></td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070094 </tr>
David Friedman612a88b2013-12-06 02:23:14 -080095 <!-- <tr>
96 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -080097 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Chris Palmer04681502015-09-09 11:31:54 -070098 href="//dl.google.com/android/ndk/<?cs var:ndk.win32.legacy_download ?>"><?cs var:ndk.win32.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -070099 </td>
100 <td><?cs var:ndk.win32.legacy_bytes ?></td>
101 <td><?cs var:ndk.win32.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800102 </tr> -->
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700103 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800104 <td>Windows 64-bit</td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700105 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800106 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700107 href="//dl.google.com/android/repository/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700108 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700109 <td><?cs var:ndk.win64_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700110 <td><?cs var:ndk.win64_checksum ?></td>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700111 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800112 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700113 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800114 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700115 href="//dl.google.com/android/repository/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700116 </td>
117 <td><?cs var:ndk.win64.legacy_bytes ?></td>
118 <td><?cs var:ndk.win64.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800119 </tr> -->
David Friedman302e2f92015-05-13 07:10:22 -0700120<!-- (this item is deprecated)
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700121 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800122 <td>Mac OS X 32-bit</td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700123 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800124 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700125 href="//dl.google.com/android/repository/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700126 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700127 <td><?cs var:ndk.mac32_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700128 <td><?cs var:ndk.mac32_checksum ?></td>
David Friedman302e2f92015-05-13 07:10:22 -0700129 </tr> -->
130 <!-- (this item is deprecated)
131 <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700132 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800133 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700134 href="//dl.google.com/android/repository/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700135 </td>
136 <td><?cs var:ndk.mac32.legacy_bytes ?></td>
137 <td><?cs var:ndk.mac32.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800138 </tr> -->
139 <td>Mac OS X 64-bit</td>
Scott Maina2303452013-03-18 11:31:15 -0700140 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800141 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700142 href="//dl.google.com/android/repository/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
Scott Maina2303452013-03-18 11:31:15 -0700143 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700144 <td><?cs var:ndk.mac64_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700145 <td><?cs var:ndk.mac64_checksum ?></td>
146 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800147 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700148 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800149 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700150 href="//dl.google.com/android/repository/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700151 </td>
152 <td><?cs var:ndk.mac64.legacy_bytes ?></td>
153 <td><?cs var:ndk.mac64.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800154 </tr> -->
David Friedman612a88b2013-12-06 02:23:14 -0800155 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700156 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800157 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700158 href="//dl.google.com/android/repository/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700159 </td>
160 <td><?cs var:ndk.linux32.legacy_bytes ?></td>
161 <td><?cs var:ndk.linux32.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800162 </tr> -->
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700163 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800164 <td>Linux 64-bit (x86)</td>
Scott Maina2303452013-03-18 11:31:15 -0700165 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800166 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700167 href="//dl.google.com/android/repository/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
Scott Maina2303452013-03-18 11:31:15 -0700168 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700169 <td><?cs var:ndk.linux64_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700170 <td><?cs var:ndk.linux64_checksum ?></td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700171 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800172 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700173 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800174 <a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700175 href="//dl.google.com/android/repository/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700176 </td>
177 <td><?cs var:ndk.linux64.legacy_bytes ?></td>
178 <td><?cs var:ndk.linux64.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800179 </tr> -->
David Friedman81415ad2014-07-15 11:38:40 -0700180
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700181 </table>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700182
Scott Maine4d8f1b2012-06-21 18:03:05 -0700183 <?cs ######## HERE IS THE JD DOC CONTENT ######### ?>
184 <?cs call:tag_list(root.descr) ?>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700185
Scott Main098d8de2012-11-13 11:25:06 -0800186
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800187<?cs ######## The NDK version of the download script ######### ?>
Scott Main098d8de2012-11-13 11:25:06 -0800188<script>
189 function onDownload(link) {
190
191 $("#downloadForRealz").html("Download " + $(link).text());
192 $("#downloadForRealz").attr('href',$(link).attr('href'));
193
Scott Main098d8de2012-11-13 11:25:06 -0800194 return false;
195 }
196
197
198 function onAgreeChecked() {
199 if ($("input#agree").is(":checked")) {
200 $("a#downloadForRealz").removeClass('disabled');
201 } else {
202 $("a#downloadForRealz").addClass('disabled');
203 }
204 }
205
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800206
207 function onDownloadForRealz(link) {
Scott Main098d8de2012-11-13 11:25:06 -0800208 if ($("input#agree").is(':checked')) {
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800209 $("div.sdk-terms").slideUp();
210 $("h2#tos-header").text('Now downloading...');
211 $(".sdk-terms-intro").text('Your download is in progress.');
212 $("#sdk-terms-form").fadeOut('slow', function() {
213 setTimeout(function() {
214 // close the dialog
215 $('#ndk_tos').trigger('modal-close');
216 // reload to refresh the tos or optionally forward the user
217 location.reload();
218 }, 3000);
Scott Main098d8de2012-11-13 11:25:06 -0800219 });
smain@google.com72818022016-04-04 16:17:01 -0700220 ga('send', 'event', 'SDK', 'NDK tools', $("#downloadForRealz").html());
Scott Main098d8de2012-11-13 11:25:06 -0800221 return true;
222 } else {
Scott Main098d8de2012-11-13 11:25:06 -0800223 return false;
224 }
225 }
226
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800227
Scott Main098d8de2012-11-13 11:25:06 -0800228 $(window).hashchange( function(){
229 if (location.hash == "") {
230 location.reload();
231 }
232 });
233
234</script>
235
Scott Maincc089092011-01-17 16:44:10 -0800236 <?cs else ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700237<?cs # end if NDK ...
Scott Maincc089092011-01-17 16:44:10 -0800238#
239#
240#
241#
242#
243#
244# the following is for the SDK
245#
246# (nested in if/else redirect and if/else NDK)
247#
248#
249#
250#
251?>
Scott Mainb73777e2010-11-22 15:02:01 -0800252 <?cs if:android.whichdoc == "online" ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700253
Dirk Dougherty4b2eb972010-03-08 17:31:26 -0800254
Scott Maine4d8f1b2012-06-21 18:03:05 -0700255<?cs ######## HERE IS THE JD DOC CONTENT FOR ONLINE ######### ?>
256<?cs call:tag_list(root.descr) ?>
Dirk Dougherty4b2eb972010-03-08 17:31:26 -0800257
Scott Maindb3678b2012-10-23 14:13:41 -0700258
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800259<section id="downloads" class="dac-section dac-small">
260<div class="wrap">
261
262<h2 class="norule">Start using Android Studio today</h2>
263
264<p>Android Studio includes all the tools you need to build apps for Android.</p>
265
266<div style="float:left;margin-right:40px;width:auto;">
267<p>
268 <a class="landing-button green download-bundle-button"
269 data-modal-toggle="studio_tos">Download Android Studio 2.0<br>
270 <span class="small"></span></a>
271</p>
272</div>
273
274<div style="float:left;width:auto;margin-bottom:40px">
275<ul class="nolist" style="text-transform: uppercase;margin:8px 0">
276<li>Version: <?cs var:studio.version ?></li>
277<li>Release date: <?cs var:studio.release.date ?></li>
278</ul>
279</div>
Scott Maindb3678b2012-10-23 14:13:41 -0700280
281
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700282
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800283<h4 style="clear:left;margin-top:40px">Select a different platform</h4>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700284
Rich Slogarfe4dd522014-11-03 15:16:34 -0800285 <table class="download">
286 <tr>
287 <th>Platform</th>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800288 <th>Android Studio package</th>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800289 <th>Size</th>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800290 <th>SHA-1 checksum</th>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800291 </tr>
292 <tr>
smain@google.com102db8b2014-12-07 22:39:24 -0800293 <td rowspan="3">Windows</td>
Scott Maindb3678b2012-10-23 14:13:41 -0700294 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800295 <a onclick="return onDownload(this,false,true)" id="win-bundle" data-modal-toggle="studio_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700296 href="//dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_exe_download ?>"
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800297 ><?cs var:studio.win_bundle_exe_download ?></a><br>
298 Includes Windows installer (recommended)
smain@google.com102db8b2014-12-07 22:39:24 -0800299 </td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800300 <td id="win-bundle-size"><?cs call:size_in_mb(studio.win_bundle_exe_bytes) ?> MB
301 <br>(<?cs var:studio.win_bundle_exe_bytes ?> bytes)</td>
smain@google.com102db8b2014-12-07 22:39:24 -0800302 <td><?cs var:studio.win_bundle_exe_checksum ?></td>
303 </tr>
smain@google.com102db8b2014-12-07 22:39:24 -0800304 <tr>
305 <!-- blank TD from Windows rowspan -->
306 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800307 <a onclick="return onDownload(this,false,true)" id="win-bundle-zip" data-modal-toggle="studio_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700308 href="//dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800309 ><?cs var:studio.win_bundle_download ?></a><br>
310 No Windows installer
smain@google.com102db8b2014-12-07 22:39:24 -0800311 </td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800312 <td><?cs call:size_in_mb(studio.win_bundle_bytes) ?> MB
313 <br>(<?cs var:studio.win_bundle_bytes ?> bytes)</td>
smain@google.comd53f0662014-12-03 19:34:55 -0800314 <td><?cs var:studio.win_bundle_checksum ?></td>
Scott Maindb3678b2012-10-23 14:13:41 -0700315 </tr>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800316 <tr>
317 <!-- blank TD from Windows rowspan -->
318 <td>
319 <a onclick="return onDownload(this,false,true)" id="win-bundle-notools" data-modal-toggle="studio_tos"
320 href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_notools_exe_download ?>"
321 ><?cs var:studio.win_notools_exe_download ?></a><br>
322 Includes Windows installer but no SDK tools
323 </td>
324 <td><?cs call:size_in_mb(studio.win_notools_exe_bytes) ?> MB
325 <br>(<?cs var:studio.win_notools_exe_bytes ?> bytes)</td>
326 <td><?cs var:studio.win_notools_exe_checksum ?></td>
327 </tr>
Scott Maindb3678b2012-10-23 14:13:41 -0700328 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800329 <td><nobr>Mac OS X</nobr></td>
Scott Maindb3678b2012-10-23 14:13:41 -0700330 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800331 <a onclick="return onDownload(this,false,true)" id="mac-bundle" data-modal-toggle="studio_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700332 href="//dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.mac_bundle_download ?>"
smain@google.comd53f0662014-12-03 19:34:55 -0800333 ><?cs var:studio.mac_bundle_download ?></a>
Scott Maindb3678b2012-10-23 14:13:41 -0700334 </td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800335 <td id="mac-bundle-size"><?cs call:size_in_mb(studio.mac_bundle_bytes) ?> MB
336 <br>(<?cs var:studio.mac_bundle_bytes ?> bytes)</td>
smain@google.comd53f0662014-12-03 19:34:55 -0800337 <td><?cs var:studio.mac_bundle_checksum ?></td>
Scott Main11ac05b2012-11-15 14:57:44 -0800338 </tr>
339 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800340 <td>Linux</td>
Scott Main11ac05b2012-11-15 14:57:44 -0800341 <td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800342 <a onclick="return onDownload(this,false,true)" id="linux-bundle" data-modal-toggle="studio_tos"
Trevor Johnsf719c292016-04-11 14:36:41 -0700343 href="//dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
smain@google.comd53f0662014-12-03 19:34:55 -0800344 ><?cs var:studio.linux_bundle_download ?></a>
Scott Main11ac05b2012-11-15 14:57:44 -0800345 </td>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800346 <td id="linux-bundle-size"><?cs call:size_in_mb(studio.linux_bundle_bytes) ?> MB
347 <br>(<?cs var:studio.linux_bundle_bytes ?> bytes)</td>
smain@google.comd53f0662014-12-03 19:34:55 -0800348 <td><?cs var:studio.linux_bundle_checksum ?></td>
Scott Maindb3678b2012-10-23 14:13:41 -0700349 </tr>
350 </table>
351
352
Rich Slogarfe4dd522014-11-03 15:16:34 -0800353
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800354<h4 class="norule" style="margin-top:40px">Get just the SDK tools</h4>
355
356<p>If you do not need Android Studio, you can download the basic
357Android SDK tools below.</p>
358
359 <table class="download">
360 <tr>
361 <th>Platform</th>
362 <th>SDK tools package</th>
363 <th>Size</th>
364 <th>SHA-1 checksum</th>
365 </tr>
366 <tr>
367 <td rowspan="2">Windows</td>
368 <td>
369 <a onclick="return onDownload(this)" id="win-tools" data-modal-toggle="studio_tos"
370 href="//dl.google.com/android/<?cs
371var:sdk.win_installer
372?>"><?cs var:sdk.win_installer ?></a><br>
373 Includes Windows installer
374 </td>
375 <td><?cs call:size_in_mb(sdk.win_installer_bytes) ?> MB
376 <br>(<?cs var:sdk.win_installer_bytes ?> bytes)</td>
377 <td><?cs var:sdk.win_installer_checksum ?></td>
378 </tr>
379 <tr>
380 <!-- blank TD from Windows rowspan -->
381 <td>
382 <a onclick="return onDownload(this)" id="win-tools2" data-modal-toggle="studio_tos"
383 href="//dl.google.com/android/<?cs var:sdk.win_download
384?>"><?cs var:sdk.win_download ?></a><br>
385 No Windows installer
386 </td>
387 <td><?cs call:size_in_mb(sdk.win_bytes) ?> MB
388 <br>(<?cs var:sdk.win_bytes ?> bytes)</td>
389 <td><?cs var:sdk.win_checksum ?></td>
390 </tr>
391 <tr>
392 <td><nobr>Mac OS X</nobr></td>
393 <td>
394 <a onclick="return onDownload(this)" id="mac-tools" data-modal-toggle="studio_tos"
395 href="//dl.google.com/android/<?cs
396var:sdk.mac_download
397?>"><?cs var:sdk.mac_download ?></a>
398 </td>
399 <td><?cs call:size_in_mb(sdk.mac_bytes) ?> MB
400 <br>(<?cs var:sdk.mac_bytes ?> bytes)</td>
401 <td><?cs var:sdk.mac_checksum ?></td>
402 </tr>
403 <tr>
404 <td>Linux</td>
405 <td>
406 <a onclick="return onDownload(this)" id="linux-tools" data-modal-toggle="studio_tos"
407 href="//dl.google.com/android/<?cs
408var:sdk.linux_download
409?>"><?cs var:sdk.linux_download ?></a>
410 </td>
411 <td><?cs call:size_in_mb(sdk.linux_bytes) ?> MB
412 <br>(<?cs var:sdk.linux_bytes ?> bytes)</td>
413 <td><?cs var:sdk.linux_checksum ?></td>
414 </tr>
415 </table>
416 <p>
417Also see the <a href="<?cs var:toroot ?>tools/sdk/tools-notes.html">SDK
418tools release notes</a>.</p>
419
420 </div><!-- end wrap -->
421 </section>
Scott Maindb3678b2012-10-23 14:13:41 -0700422
423
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800424<?cs ######## The Android Studio version of the download script ######### ?>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700425<script>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700426 var os;
Scott Main11ac05b2012-11-15 14:57:44 -0800427 var bundlename;
Scott Maindb3678b2012-10-23 14:13:41 -0700428 var $toolslink;
429
smain@google.comd53f0662014-12-03 19:34:55 -0800430 if (navigator.appVersion.indexOf("Mobile")!=-1) {
431 // Do nothing for any "mobile" user agent
432 } else if (navigator.appVersion.indexOf("Win")!=-1) {
Scott Maine4d8f1b2012-06-21 18:03:05 -0700433 os = "Windows";
Scott Main11ac05b2012-11-15 14:57:44 -0800434 bundlename = '#win-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700435 $toolslink = $('#win-tools');
Scott Maine4d8f1b2012-06-21 18:03:05 -0700436 } else if (navigator.appVersion.indexOf("Mac")!=-1) {
437 os = "Mac";
Scott Main11ac05b2012-11-15 14:57:44 -0800438 bundlename = '#mac-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700439 $toolslink = $('#mac-tools');
smain@google.comd53f0662014-12-03 19:34:55 -0800440 } else if (navigator.appVersion.indexOf("Linux")!=-1 && navigator.appVersion.indexOf("Android")==-1) {
Scott Maine4d8f1b2012-06-21 18:03:05 -0700441 os = "Linux";
Scott Main11ac05b2012-11-15 14:57:44 -0800442 bundlename = '#linux-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700443 $toolslink = $('#linux-tools');
Scott Maine4d8f1b2012-06-21 18:03:05 -0700444 }
The Android Open Source Project88b60792009-03-03 19:28:42 -0800445
smain@google.comd53f0662014-12-03 19:34:55 -0800446 if (os != undefined) {
Scott Mainf973ced2012-06-28 11:56:01 -0700447 $('#not-supported').hide();
Scott Maindb3678b2012-10-23 14:13:41 -0700448
Rich Slogarfe4dd522014-11-03 15:16:34 -0800449 /* set up primary Android Studio download button */
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800450 idname = bundlename + "-size";
451 sizeMB = $(idname).text().split(' MB')[0];
452 $('.download-bundle-button > .small').html(" for " + os + " <em>(" + sizeMB + " MB)</em>");
smain@google.comd53f0662014-12-03 19:34:55 -0800453 $('.download-bundle-button').click(function() {return onDownload(this,true,true);}).attr('href', bundlename);
Scott Maine4d8f1b2012-06-21 18:03:05 -0700454 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700455
456
Scott Main11ac05b2012-11-15 14:57:44 -0800457 function onDownload(link, button, bundle) {
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700458
Scott Main11ac05b2012-11-15 14:57:44 -0800459 /* set text for download button */
Scott Maindb3678b2012-10-23 14:13:41 -0700460 if (button) {
461 $("#downloadForRealz").html($(link).text());
462 } else {
463 $("#downloadForRealz").html("Download " + $(link).text());
Scott Main11ac05b2012-11-15 14:57:44 -0800464 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700465
smain@google.comd53f0662014-12-03 19:34:55 -0800466 $("#downloadForRealz").attr('bundle', bundle);
smain@google.com4ffdc8f2015-08-28 16:51:12 -0700467 if (bundle && !button) {
468 $("a#downloadForRealz").attr("name", "#" + $(link).attr('id'));
469 } else {
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800470 $("h2#tos-header").text('Download the Android SDK Tools');
smain@google.com4ffdc8f2015-08-28 16:51:12 -0700471 $("a#downloadForRealz").attr("name", $(link).attr('href'));
472 }
Scott Maindb3678b2012-10-23 14:13:41 -0700473
Scott Maindb3678b2012-10-23 14:13:41 -0700474 return false;
475 }
476
477
478 function onAgreeChecked() {
smain@google.comd53f0662014-12-03 19:34:55 -0800479 /* verify that the TOS is agreed */
480 if ($("input#agree").is(":checked")) {
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700481
Scott Main11ac05b2012-11-15 14:57:44 -0800482 /* if downloading the bundle */
483 if ($("#downloadForRealz").attr('bundle')) {
smain@google.comd53f0662014-12-03 19:34:55 -0800484 /* construct the name of the link we want */
485 linkId = $("a#downloadForRealz").attr("name");
Scott Main11ac05b2012-11-15 14:57:44 -0800486 /* set the real url for download */
487 $("a#downloadForRealz").attr("href", $(linkId).attr("href"));
smain@google.comd53f0662014-12-03 19:34:55 -0800488 } else {
489 $("a#downloadForRealz").attr("href", $("a#downloadForRealz").attr("name"));
Scott Main11ac05b2012-11-15 14:57:44 -0800490 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700491
Scott Main11ac05b2012-11-15 14:57:44 -0800492 /* reveal the download button */
Scott Maindb3678b2012-10-23 14:13:41 -0700493 $("a#downloadForRealz").removeClass('disabled');
494 } else {
495 $("a#downloadForRealz").addClass('disabled');
496 }
497 }
498
499 function onDownloadForRealz(link) {
smain@google.comd53f0662014-12-03 19:34:55 -0800500 if ($("input#agree").is(':checked')) {
Scott Maindb3678b2012-10-23 14:13:41 -0700501 $("div.sdk-terms").slideUp();
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800502 if ($("#downloadForRealz").attr('bundle') == 'true') {
503 $("h2#tos-header").text('Now downloading Android Studio!');
504 $(".sdk-terms-intro").text('Redirecting to the install instructions...');
505 $("#sdk-terms-form").slideUp(function() {
506 setTimeout(function() {
507 window.location = "/sdk/installing/index.html";
508 }, 2000);
509 });
510 } else {
511 $("h2#tos-header").text('Now downloading the Android SDK Tools!');
512 $(".sdk-terms-intro").html("<p>Because you've chosen to download " +
513 "only the Android SDK tools (and not Android Studio), there are no " +
514 "setup procedures to follow.</p><p>For information about how to " +
515 "keep your SDK tools up to date, refer to the " +
516 "<a href='/tools/help/sdk-manager.html'>SDK Manager</a> guide.</p>");
517 $("#sdk-terms-form").slideUp();
518 }
smain@google.com633f3222014-10-03 15:49:45 -0700519 ga('send', 'event', 'SDK', 'IDE and Tools', $("#downloadForRealz").html());
Scott Maindb3678b2012-10-23 14:13:41 -0700520 return true;
521 } else {
Scott Maindb3678b2012-10-23 14:13:41 -0700522 return false;
523 }
524 }
525
526 $(window).hashchange( function(){
Scott Maindb3678b2012-10-23 14:13:41 -0700527 if (location.hash == "") {
528 location.reload();
529 }
530 });
531
Scott Maina1b358a2010-06-24 16:36:54 -0700532</script>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700533
Scott Maine4d8f1b2012-06-21 18:03:05 -0700534
Scott Maindb3678b2012-10-23 14:13:41 -0700535
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800536
Scott Maindb3678b2012-10-23 14:13:41 -0700537<?cs # THIS DIV WAS OPENED IN INDEX.JD ?>
538
539
540
541
Scott Main58286dc2011-01-17 18:23:21 -0800542 <?cs else ?> <?cs # end if online ?>
Scott Maina1b358a2010-06-24 16:36:54 -0700543
Scott Main17e47ad2011-05-27 09:52:19 -0700544 <?cs if:sdk.preview ?><?cs # it's preview offline docs ?>
Scott Maincc089092011-01-17 16:44:10 -0800545 <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
546 Android 3.0 release, to give you a head-start on developing applications for it.
547 </p>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700548
Scott Maincc089092011-01-17 16:44:10 -0800549 <p>See the <a
550 href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
551 about how to set up the preview SDK and get started.</p>
552 <style type="text/css">
553 .non-preview { display:none; }
554 </style>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700555
Scott Main17e47ad2011-05-27 09:52:19 -0700556 <?cs else ?><?cs # it's normal offline docs ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700557
Scott Maine4d8f1b2012-06-21 18:03:05 -0700558 <?cs ######## HERE IS THE JD DOC CONTENT FOR OFFLINE ######### ?>
559 <?cs call:tag_list(root.descr) ?>
Scott Main17e47ad2011-05-27 09:52:19 -0700560 <style type="text/css">
Scott Maine4d8f1b2012-06-21 18:03:05 -0700561 body .offline { display:block; }
562 body .online { display:none; }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700563 </style>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700564 <script>
565 $('.reqs').show();
566 </script>
Scott Maincc089092011-01-17 16:44:10 -0800567 <?cs /if ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700568
Scott Main58286dc2011-01-17 18:23:21 -0800569 <?cs /if ?> <?cs # end if/else online ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700570
Scott Maincc089092011-01-17 16:44:10 -0800571<?cs /if ?> <?cs # end if/else NDK ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700572
Scott Maincc089092011-01-17 16:44:10 -0800573<?cs /if ?> <?cs # end if/else redirect ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700574
The Android Open Source Project88b60792009-03-03 19:28:42 -0800575
The Android Open Source Project88b60792009-03-03 19:28:42 -0800576</div><!-- end jd-content -->
577
Dirk Dougherty19a4bd12009-04-24 11:30:32 -0700578<?cs if:!sdk.redirect ?>
Scott Maincc089092011-01-17 16:44:10 -0800579<?cs include:"footer.cs" ?>
Dirk Dougherty19a4bd12009-04-24 11:30:32 -0700580<?cs /if ?>
581
Scott Maincc089092011-01-17 16:44:10 -0800582</div><!-- end g-unit -->
The Android Open Source Project88b60792009-03-03 19:28:42 -0800583
584<?cs include:"trailer.cs" ?>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800585<script src="https://developer.android.com/ytblogger_lists_unified.js?v=17" type="text/javascript"></script>
586<script src="/jd_lists_unified.js?v=17" type="text/javascript"></script>
587<script src="/jd_extras.js?v=17" type="text/javascript"></script>
588<script src="/jd_collections.js?v=17" type="text/javascript"></script>
589<script src="/jd_tag_helpers.js?v=17" type="text/javascript"></script>
The Android Open Source Project88b60792009-03-03 19:28:42 -0800590
Dirk Dougherty8f6949b2013-12-03 18:49:24 -0800591<!-- Start of Tag -->
592<script type="text/javascript">
593var axel = Math.random() + "";
594var a = axel * 10000000000000;
595document.write('<iframe src="https://2507573.fls.doubleclick.net/activityi;src=2507573;type=other026;cat=googl348;ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>');
596</script>
597<noscript>
598<iframe src="https://2507573.fls.doubleclick.net/activityi;src=2507573;type=other026;cat=googl348;ord=1?" width="1" height="1" frameborder="0" style="display:none"></iframe>
599</noscript>
600<!-- End of Tag -->
The Android Open Source Project88b60792009-03-03 19:28:42 -0800601</body>
602</html>
603
604
605