blob: 22fed40286643024d4620378c6f0b7d6f93a1cbc [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"
David Friedmand0f655c2016-03-09 12:31:17 -080090 href="http://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"
Joe Fernandez8d936902013-07-25 17:05:06 -070098 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800107 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800115 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800125 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800134 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800142 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800150 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800158 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800167 href="http://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"
David Friedmand0f655c2016-03-09 12:31:17 -0800175 href="http://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"
smain@google.comba761ab2016-04-25 10:56:30 -0700269 data-modal-toggle="studio_tos">Download Android Studio<br>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800270 <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"
smain@google.com102db8b2014-12-07 22:39:24 -0800296 href="https://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>
smain@google.com6b2a9862016-04-06 17:21:37 -0700298 Includes Android SDK <b>(recommended)</b>
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-notools" data-modal-toggle="studio_tos"
308 href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_notools_exe_download ?>"
309 ><?cs var:studio.win_notools_exe_download ?></a><br>
smain@google.com6e90dbf2016-04-06 20:22:46 -0700310 No Android SDK
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800311 </td>
312 <td><?cs call:size_in_mb(studio.win_notools_exe_bytes) ?> MB
313 <br>(<?cs var:studio.win_notools_exe_bytes ?> bytes)</td>
314 <td><?cs var:studio.win_notools_exe_checksum ?></td>
315 </tr>
Scott Maindb3678b2012-10-23 14:13:41 -0700316 <tr>
smain@google.com6e90dbf2016-04-06 20:22:46 -0700317 <!-- blank TD from Windows rowspan -->
318 <td>
319 <a onclick="return onDownload(this,false,true)" id="win-bundle-zip" data-modal-toggle="studio_tos"
320 href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
321 ><?cs var:studio.win_bundle_download ?></a><br>
322 No Android SDK, no installer
323 </td>
324 <td><?cs call:size_in_mb(studio.win_bundle_bytes) ?> MB
325 <br>(<?cs var:studio.win_bundle_bytes ?> bytes)</td>
326 <td><?cs var:studio.win_bundle_checksum ?></td>
327 </tr>
328 <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"
smain@google.com102db8b2014-12-07 22:39:24 -0800332 href="https://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"
smain@google.comd53f0662014-12-03 19:34:55 -0800343 href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
344 ><?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
smain@google.com6b2a9862016-04-06 17:21:37 -0700354<h4 class="norule" style="margin-top:40px">Get just the command line tools</h4>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800355
smain@google.com6b2a9862016-04-06 17:21:37 -0700356<p>If you do not need Android Studio, you can download the basic Android
357command line tools below.</p>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800358
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>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800373 </td>
374 <td><?cs call:size_in_mb(sdk.win_installer_bytes) ?> MB
375 <br>(<?cs var:sdk.win_installer_bytes ?> bytes)</td>
376 <td><?cs var:sdk.win_installer_checksum ?></td>
377 </tr>
378 <tr>
379 <!-- blank TD from Windows rowspan -->
380 <td>
381 <a onclick="return onDownload(this)" id="win-tools2" data-modal-toggle="studio_tos"
382 href="//dl.google.com/android/<?cs var:sdk.win_download
383?>"><?cs var:sdk.win_download ?></a><br>
smain@google.com6b2a9862016-04-06 17:21:37 -0700384 No installer
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800385 </td>
386 <td><?cs call:size_in_mb(sdk.win_bytes) ?> MB
387 <br>(<?cs var:sdk.win_bytes ?> bytes)</td>
388 <td><?cs var:sdk.win_checksum ?></td>
389 </tr>
390 <tr>
391 <td><nobr>Mac OS X</nobr></td>
392 <td>
393 <a onclick="return onDownload(this)" id="mac-tools" data-modal-toggle="studio_tos"
394 href="//dl.google.com/android/<?cs
395var:sdk.mac_download
396?>"><?cs var:sdk.mac_download ?></a>
397 </td>
398 <td><?cs call:size_in_mb(sdk.mac_bytes) ?> MB
399 <br>(<?cs var:sdk.mac_bytes ?> bytes)</td>
400 <td><?cs var:sdk.mac_checksum ?></td>
401 </tr>
402 <tr>
403 <td>Linux</td>
404 <td>
405 <a onclick="return onDownload(this)" id="linux-tools" data-modal-toggle="studio_tos"
406 href="//dl.google.com/android/<?cs
407var:sdk.linux_download
408?>"><?cs var:sdk.linux_download ?></a>
409 </td>
410 <td><?cs call:size_in_mb(sdk.linux_bytes) ?> MB
411 <br>(<?cs var:sdk.linux_bytes ?> bytes)</td>
412 <td><?cs var:sdk.linux_checksum ?></td>
413 </tr>
414 </table>
415 <p>
416Also see the <a href="<?cs var:toroot ?>tools/sdk/tools-notes.html">SDK
417tools release notes</a>.</p>
418
419 </div><!-- end wrap -->
420 </section>
Scott Maindb3678b2012-10-23 14:13:41 -0700421
422
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800423<?cs ######## The Android Studio version of the download script ######### ?>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700424<script>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700425 var os;
Scott Main11ac05b2012-11-15 14:57:44 -0800426 var bundlename;
Scott Maindb3678b2012-10-23 14:13:41 -0700427 var $toolslink;
428
smain@google.comd53f0662014-12-03 19:34:55 -0800429 if (navigator.appVersion.indexOf("Mobile")!=-1) {
430 // Do nothing for any "mobile" user agent
431 } else if (navigator.appVersion.indexOf("Win")!=-1) {
Scott Maine4d8f1b2012-06-21 18:03:05 -0700432 os = "Windows";
Scott Main11ac05b2012-11-15 14:57:44 -0800433 bundlename = '#win-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700434 $toolslink = $('#win-tools');
Scott Maine4d8f1b2012-06-21 18:03:05 -0700435 } else if (navigator.appVersion.indexOf("Mac")!=-1) {
436 os = "Mac";
Scott Main11ac05b2012-11-15 14:57:44 -0800437 bundlename = '#mac-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700438 $toolslink = $('#mac-tools');
smain@google.comd53f0662014-12-03 19:34:55 -0800439 } else if (navigator.appVersion.indexOf("Linux")!=-1 && navigator.appVersion.indexOf("Android")==-1) {
Scott Maine4d8f1b2012-06-21 18:03:05 -0700440 os = "Linux";
Scott Main11ac05b2012-11-15 14:57:44 -0800441 bundlename = '#linux-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700442 $toolslink = $('#linux-tools');
Scott Maine4d8f1b2012-06-21 18:03:05 -0700443 }
The Android Open Source Project88b60792009-03-03 19:28:42 -0800444
smain@google.comd53f0662014-12-03 19:34:55 -0800445 if (os != undefined) {
Scott Mainf973ced2012-06-28 11:56:01 -0700446 $('#not-supported').hide();
Scott Maindb3678b2012-10-23 14:13:41 -0700447
Rich Slogarfe4dd522014-11-03 15:16:34 -0800448 /* set up primary Android Studio download button */
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800449 idname = bundlename + "-size";
450 sizeMB = $(idname).text().split(' MB')[0];
451 $('.download-bundle-button > .small').html(" for " + os + " <em>(" + sizeMB + " MB)</em>");
smain@google.comd53f0662014-12-03 19:34:55 -0800452 $('.download-bundle-button').click(function() {return onDownload(this,true,true);}).attr('href', bundlename);
Scott Maine4d8f1b2012-06-21 18:03:05 -0700453 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700454
455
Scott Main11ac05b2012-11-15 14:57:44 -0800456 function onDownload(link, button, bundle) {
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700457
Scott Main11ac05b2012-11-15 14:57:44 -0800458 /* set text for download button */
Scott Maindb3678b2012-10-23 14:13:41 -0700459 if (button) {
460 $("#downloadForRealz").html($(link).text());
461 } else {
462 $("#downloadForRealz").html("Download " + $(link).text());
Scott Main11ac05b2012-11-15 14:57:44 -0800463 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700464
smain@google.comd53f0662014-12-03 19:34:55 -0800465 $("#downloadForRealz").attr('bundle', bundle);
smain@google.comc509cb02015-08-28 16:51:12 -0700466 if (bundle && !button) {
467 $("a#downloadForRealz").attr("name", "#" + $(link).attr('id'));
468 } else {
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800469 $("h2#tos-header").text('Download the Android SDK Tools');
smain@google.comc509cb02015-08-28 16:51:12 -0700470 $("a#downloadForRealz").attr("name", $(link).attr('href'));
471 }
Scott Maindb3678b2012-10-23 14:13:41 -0700472
Scott Maindb3678b2012-10-23 14:13:41 -0700473 return false;
474 }
475
476
477 function onAgreeChecked() {
smain@google.comd53f0662014-12-03 19:34:55 -0800478 /* verify that the TOS is agreed */
479 if ($("input#agree").is(":checked")) {
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700480
Scott Main11ac05b2012-11-15 14:57:44 -0800481 /* if downloading the bundle */
482 if ($("#downloadForRealz").attr('bundle')) {
smain@google.comd53f0662014-12-03 19:34:55 -0800483 /* construct the name of the link we want */
484 linkId = $("a#downloadForRealz").attr("name");
Scott Main11ac05b2012-11-15 14:57:44 -0800485 /* set the real url for download */
486 $("a#downloadForRealz").attr("href", $(linkId).attr("href"));
smain@google.comd53f0662014-12-03 19:34:55 -0800487 } else {
488 $("a#downloadForRealz").attr("href", $("a#downloadForRealz").attr("name"));
Scott Main11ac05b2012-11-15 14:57:44 -0800489 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700490
Scott Main11ac05b2012-11-15 14:57:44 -0800491 /* reveal the download button */
Scott Maindb3678b2012-10-23 14:13:41 -0700492 $("a#downloadForRealz").removeClass('disabled');
493 } else {
494 $("a#downloadForRealz").addClass('disabled');
495 }
496 }
497
498 function onDownloadForRealz(link) {
smain@google.comd53f0662014-12-03 19:34:55 -0800499 if ($("input#agree").is(':checked')) {
Scott Maindb3678b2012-10-23 14:13:41 -0700500 $("div.sdk-terms").slideUp();
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800501 if ($("#downloadForRealz").attr('bundle') == 'true') {
502 $("h2#tos-header").text('Now downloading Android Studio!');
503 $(".sdk-terms-intro").text('Redirecting to the install instructions...');
504 $("#sdk-terms-form").slideUp(function() {
505 setTimeout(function() {
506 window.location = "/sdk/installing/index.html";
507 }, 2000);
508 });
509 } else {
510 $("h2#tos-header").text('Now downloading the Android SDK Tools!');
511 $(".sdk-terms-intro").html("<p>Because you've chosen to download " +
512 "only the Android SDK tools (and not Android Studio), there are no " +
513 "setup procedures to follow.</p><p>For information about how to " +
514 "keep your SDK tools up to date, refer to the " +
515 "<a href='/tools/help/sdk-manager.html'>SDK Manager</a> guide.</p>");
516 $("#sdk-terms-form").slideUp();
517 }
smain@google.com633f3222014-10-03 15:49:45 -0700518 ga('send', 'event', 'SDK', 'IDE and Tools', $("#downloadForRealz").html());
Scott Maindb3678b2012-10-23 14:13:41 -0700519 return true;
520 } else {
Scott Maindb3678b2012-10-23 14:13:41 -0700521 return false;
522 }
523 }
524
525 $(window).hashchange( function(){
Scott Maindb3678b2012-10-23 14:13:41 -0700526 if (location.hash == "") {
527 location.reload();
528 }
529 });
530
Scott Maina1b358a2010-06-24 16:36:54 -0700531</script>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700532
Scott Maine4d8f1b2012-06-21 18:03:05 -0700533
Scott Maindb3678b2012-10-23 14:13:41 -0700534
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800535
Scott Maindb3678b2012-10-23 14:13:41 -0700536<?cs # THIS DIV WAS OPENED IN INDEX.JD ?>
537
538
539
540
Scott Main58286dc2011-01-17 18:23:21 -0800541 <?cs else ?> <?cs # end if online ?>
Scott Maina1b358a2010-06-24 16:36:54 -0700542
Scott Main17e47ad2011-05-27 09:52:19 -0700543 <?cs if:sdk.preview ?><?cs # it's preview offline docs ?>
Scott Maincc089092011-01-17 16:44:10 -0800544 <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
545 Android 3.0 release, to give you a head-start on developing applications for it.
546 </p>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700547
Scott Maincc089092011-01-17 16:44:10 -0800548 <p>See the <a
549 href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
550 about how to set up the preview SDK and get started.</p>
551 <style type="text/css">
552 .non-preview { display:none; }
553 </style>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700554
Scott Main17e47ad2011-05-27 09:52:19 -0700555 <?cs else ?><?cs # it's normal offline docs ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700556
Scott Maine4d8f1b2012-06-21 18:03:05 -0700557 <?cs ######## HERE IS THE JD DOC CONTENT FOR OFFLINE ######### ?>
558 <?cs call:tag_list(root.descr) ?>
Scott Main17e47ad2011-05-27 09:52:19 -0700559 <style type="text/css">
Scott Maine4d8f1b2012-06-21 18:03:05 -0700560 body .offline { display:block; }
561 body .online { display:none; }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700562 </style>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700563 <script>
564 $('.reqs').show();
565 </script>
Scott Maincc089092011-01-17 16:44:10 -0800566 <?cs /if ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700567
Scott Main58286dc2011-01-17 18:23:21 -0800568 <?cs /if ?> <?cs # end if/else online ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700569
Scott Maincc089092011-01-17 16:44:10 -0800570<?cs /if ?> <?cs # end if/else NDK ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700571
Scott Maincc089092011-01-17 16:44:10 -0800572<?cs /if ?> <?cs # end if/else redirect ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700573
The Android Open Source Project88b60792009-03-03 19:28:42 -0800574
The Android Open Source Project88b60792009-03-03 19:28:42 -0800575</div><!-- end jd-content -->
576
Dirk Dougherty19a4bd12009-04-24 11:30:32 -0700577<?cs if:!sdk.redirect ?>
Scott Maincc089092011-01-17 16:44:10 -0800578<?cs include:"footer.cs" ?>
Dirk Dougherty19a4bd12009-04-24 11:30:32 -0700579<?cs /if ?>
580
Scott Maincc089092011-01-17 16:44:10 -0800581</div><!-- end g-unit -->
The Android Open Source Project88b60792009-03-03 19:28:42 -0800582
583<?cs include:"trailer.cs" ?>
Dirk Doughertyc607a4d2016-01-28 08:32:47 -0800584<script src="https://developer.android.com/ytblogger_lists_unified.js?v=17" type="text/javascript"></script>
585<script src="/jd_lists_unified.js?v=17" type="text/javascript"></script>
586<script src="/jd_extras.js?v=17" type="text/javascript"></script>
587<script src="/jd_collections.js?v=17" type="text/javascript"></script>
588<script src="/jd_tag_helpers.js?v=17" type="text/javascript"></script>
The Android Open Source Project88b60792009-03-03 19:28:42 -0800589
Dirk Dougherty8f6949b2013-12-03 18:49:24 -0800590<!-- Start of Tag -->
591<script type="text/javascript">
592var axel = Math.random() + "";
593var a = axel * 10000000000000;
594document.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>');
595</script>
596<noscript>
597<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>
598</noscript>
599<!-- End of Tag -->
The Android Open Source Project88b60792009-03-03 19:28:42 -0800600</body>
601</html>
602
603
604