blob: 8ec034f61071b8a6402f1c3504a5188cb9de5104 [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001<?cs include:"doctype.cs" ?>
2<?cs include:"macros.cs" ?>
Scott Maine05e6f92013-01-29 13:34:17 -08003<html<?cs if:devsite ?> devsite<?cs /if ?>>
The Android Open Source Project88b60792009-03-03 19:28:42 -08004<?cs if:sdk.redirect ?>
5 <head>
6 <title>Redirecting...</title>
Scott Maincc089092011-01-17 16:44:10 -08007 <meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs
8 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
Dirk Doughertye1233852010-03-03 14:34:51 -08009 else ?>index.html<?cs /if ?>">
The Android Open Source Project88b60792009-03-03 19:28:42 -080010 </head>
11<?cs else ?>
12 <?cs include:"head_tag.cs" ?>
13<?cs /if ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -070014<body class="gc-documentation
Scott Maine4d8f1b2012-06-21 18:03:05 -070015 <?cs if:(guide||develop||training||reference||tools||sdk) ?>develop<?cs
16 elif:design ?>design<?cs
17 elif:distribute ?>distribute<?cs
18 /if ?>" itemscope itemtype="http://schema.org/CreativeWork">
19 <a name="top"></a>
20<?cs include:"header.cs" ?>
The Android Open Source Project88b60792009-03-03 19:28:42 -080021
Scott Maine4d8f1b2012-06-21 18:03:05 -070022
23<div <?cs if:fullpage
24?><?cs else
25?>class="col-13" id="doc-col"<?cs /if ?> >
The Android Open Source Project88b60792009-03-03 19:28:42 -080026
The Android Open Source Project88b60792009-03-03 19:28:42 -080027<?cs if:sdk.redirect ?>
Dirk Doughertyd8cfce02009-07-15 16:37:21 -070028
Dirk Dougherty19a4bd12009-04-24 11:30:32 -070029<div class="g-unit">
30 <div id="jd-content">
Scott Maincc089092011-01-17 16:44:10 -080031 <p>Redirecting to
32 <a href="<?cs var:toroot ?>sdk/<?cs
Scott Mainb66a5c02010-07-08 11:29:28 -070033 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
34 else ?>index.html<?cs /if ?>"><?cs
35 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
36 else ?>Download the SDK<?cs /if ?>
Dirk Doughertyd8cfce02009-07-15 16:37:21 -070037 </a> ...</p>
Scott Maincc089092011-01-17 16:44:10 -080038
The Android Open Source Project88b60792009-03-03 19:28:42 -080039<?cs else ?>
Scott Maincc089092011-01-17 16:44:10 -080040<?cs # else, if NOT redirect ...
41#
42#
43# The following is for SDK/NDK pages
44#
45#
46?>
47
Scott Maine4d8f1b2012-06-21 18:03:05 -070048<?cs if:header.hide ?><?cs else ?>
49<h1 itemprop="name"><?cs var:page.title ?></h1>
50<?cs /if ?>
Scott Main3652a112012-01-30 13:03:08 -080051 <div id="jd-content" itemprop="description">
The Android Open Source Project88b60792009-03-03 19:28:42 -080052
53<?cs if:sdk.not_latest_version ?>
54 <div class="special">
55 <p><strong>This is NOT the current Android SDK release.</strong></p>
Dirk Dougherty3d3d7b72009-10-21 19:52:52 -070056 <p><a href="/sdk/index.html">Download the current Android SDK</a></p>
The Android Open Source Project88b60792009-03-03 19:28:42 -080057 </div>
58<?cs /if ?>
Dirk Doughertye6be85f2009-06-24 11:01:03 -070059
The Android Open Source Project88b60792009-03-03 19:28:42 -080060
Scott Maincc089092011-01-17 16:44:10 -080061<?cs if:ndk ?>
62<?cs #
63#
64#
65#
66#
67#
68#
69# the following is for the NDK
70#
71# (nested in if/else redirect)
72#
73#
74#
75#
76?>
The Android Open Source Project88b60792009-03-03 19:28:42 -080077
Scott Main25659b02012-06-22 17:02:25 -070078 <table class="download" id="download-table">
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070079 <tr>
David Friedmane0471a82014-10-15 02:21:19 -070080 <th>Platform</th>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070081 <th>Package</th>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -070082 <th style="white-space:nowrap">Size (Bytes)</th>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070083 <th>MD5 Checksum</th>
84 </tr>
85 <tr>
David Friedman612a88b2013-12-06 02:23:14 -080086 <td>Windows 32-bit</td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070087 <td>
Scott Main098d8de2012-11-13 11:25:06 -080088 <a onClick="return onDownload(this)"
Scott Maina2303452013-03-18 11:31:15 -070089 href="http://dl.google.com/android/ndk/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070090 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -070091 <td><?cs var:ndk.win32_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -070092 <td><?cs var:ndk.win32_checksum ?></td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -070093 </tr>
David Friedman612a88b2013-12-06 02:23:14 -080094 <!-- <tr>
95 <td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -070096 <a onClick="return onDownload(this)"
Joe Fernandez8d936902013-07-25 17:05:06 -070097 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 -070098 </td>
99 <td><?cs var:ndk.win32.legacy_bytes ?></td>
100 <td><?cs var:ndk.win32.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800101 </tr> -->
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700102 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800103 <td>Windows 64-bit</td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700104 <td>
Scott Main098d8de2012-11-13 11:25:06 -0800105 <a onClick="return onDownload(this)"
Scott Maina2303452013-03-18 11:31:15 -0700106 href="http://dl.google.com/android/ndk/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700107 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700108 <td><?cs var:ndk.win64_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700109 <td><?cs var:ndk.win64_checksum ?></td>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700110 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800111 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700112 <td>
113 <a onClick="return onDownload(this)"
Joe Fernandez8d936902013-07-25 17:05:06 -0700114 href="http://dl.google.com/android/ndk/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700115 </td>
116 <td><?cs var:ndk.win64.legacy_bytes ?></td>
117 <td><?cs var:ndk.win64.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800118 </tr> -->
David Friedman302e2f92015-05-13 07:10:22 -0700119<!-- (this item is deprecated)
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700120 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800121 <td>Mac OS X 32-bit</td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700122 <td>
Scott Main098d8de2012-11-13 11:25:06 -0800123 <a onClick="return onDownload(this)"
Scott Maina2303452013-03-18 11:31:15 -0700124 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700125 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700126 <td><?cs var:ndk.mac32_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700127 <td><?cs var:ndk.mac32_checksum ?></td>
David Friedman302e2f92015-05-13 07:10:22 -0700128 </tr> -->
129 <!-- (this item is deprecated)
130 <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700131 <td>
132 <a onClick="return onDownload(this)"
Joe Fernandez8d936902013-07-25 17:05:06 -0700133 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700134 </td>
135 <td><?cs var:ndk.mac32.legacy_bytes ?></td>
136 <td><?cs var:ndk.mac32.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800137 </tr> -->
138 <td>Mac OS X 64-bit</td>
Scott Maina2303452013-03-18 11:31:15 -0700139 <td>
140 <a onClick="return onDownload(this)"
141 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
142 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700143 <td><?cs var:ndk.mac64_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700144 <td><?cs var:ndk.mac64_checksum ?></td>
145 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800146 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700147 <td>
148 <a onClick="return onDownload(this)"
Joe Fernandez8d936902013-07-25 17:05:06 -0700149 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700150 </td>
151 <td><?cs var:ndk.mac64.legacy_bytes ?></td>
152 <td><?cs var:ndk.mac64.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800153 </tr> -->
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700154 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800155 <td>Linux 32-bit (x86)</td>
Scott Maina2303452013-03-18 11:31:15 -0700156 <td>
157 <a onClick="return onDownload(this)"
158 href="http://dl.google.com/android/ndk/<?cs var:ndk.linux32_download ?>"><?cs var:ndk.linux32_download ?></a>
159 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700160 <td><?cs var:ndk.linux32_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700161 <td><?cs var:ndk.linux32_checksum ?></td>
162 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800163 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700164 <td>
165 <a onClick="return onDownload(this)"
Joe Fernandez8d936902013-07-25 17:05:06 -0700166 href="http://dl.google.com/android/ndk/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700167 </td>
168 <td><?cs var:ndk.linux32.legacy_bytes ?></td>
169 <td><?cs var:ndk.linux32.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800170 </tr> -->
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700171 <tr>
David Friedman612a88b2013-12-06 02:23:14 -0800172 <td>Linux 64-bit (x86)</td>
Scott Maina2303452013-03-18 11:31:15 -0700173 <td>
174 <a onClick="return onDownload(this)"
175 href="http://dl.google.com/android/ndk/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
176 </td>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700177 <td><?cs var:ndk.linux64_bytes ?></td>
Scott Maina2303452013-03-18 11:31:15 -0700178 <td><?cs var:ndk.linux64_checksum ?></td>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700179 </tr>
David Friedman612a88b2013-12-06 02:23:14 -0800180 <!-- <tr>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700181 <td>
182 <a onClick="return onDownload(this)"
Joe Fernandez8d936902013-07-25 17:05:06 -0700183 href="http://dl.google.com/android/ndk/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
Dirk Dougherty48e3f1d2013-07-25 15:26:07 -0700184 </td>
185 <td><?cs var:ndk.linux64.legacy_bytes ?></td>
186 <td><?cs var:ndk.linux64.legacy_checksum ?></td>
David Friedman612a88b2013-12-06 02:23:14 -0800187 </tr> -->
David Friedman81415ad2014-07-15 11:38:40 -0700188
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700189 </table>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700190
Scott Maine4d8f1b2012-06-21 18:03:05 -0700191 <?cs ######## HERE IS THE JD DOC CONTENT ######### ?>
192 <?cs call:tag_list(root.descr) ?>
Dirk Dougherty4e4c9192009-05-12 15:32:35 -0700193
Scott Main098d8de2012-11-13 11:25:06 -0800194
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700195
Scott Main098d8de2012-11-13 11:25:06 -0800196<script>
197 function onDownload(link) {
198
199 $("#downloadForRealz").html("Download " + $(link).text());
200 $("#downloadForRealz").attr('href',$(link).attr('href'));
201
202 $("#tos").fadeIn('slow');
203
204 location.hash = "download";
205 return false;
206 }
207
208
209 function onAgreeChecked() {
210 if ($("input#agree").is(":checked")) {
211 $("a#downloadForRealz").removeClass('disabled');
212 } else {
213 $("a#downloadForRealz").addClass('disabled');
214 }
215 }
216
217 function onDownloadNdkForRealz(link) {
218 if ($("input#agree").is(':checked')) {
219 $("#tos").fadeOut('slow');
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700220
Scott Main098d8de2012-11-13 11:25:06 -0800221 $('html, body').animate({
222 scrollTop: $("#Installing").offset().top
223 }, 800, function() {
224 $("#Installing").click();
225 });
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700226
Scott Main098d8de2012-11-13 11:25:06 -0800227 return true;
228 } else {
229 $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200,
230 function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)}
231 );
232 return false;
233 }
234 }
235
236 $(window).hashchange( function(){
237 if (location.hash == "") {
238 location.reload();
239 }
240 });
241
242</script>
243
Scott Maincc089092011-01-17 16:44:10 -0800244 <?cs else ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700245<?cs # end if NDK ...
Scott Maincc089092011-01-17 16:44:10 -0800246#
247#
248#
249#
250#
251#
252# the following is for the SDK
253#
254# (nested in if/else redirect and if/else NDK)
255#
256#
257#
258#
259?>
Scott Mainb73777e2010-11-22 15:02:01 -0800260 <?cs if:android.whichdoc == "online" ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700261
Dirk Dougherty4b2eb972010-03-08 17:31:26 -0800262
Scott Maine4d8f1b2012-06-21 18:03:05 -0700263<?cs ######## HERE IS THE JD DOC CONTENT FOR ONLINE ######### ?>
264<?cs call:tag_list(root.descr) ?>
Dirk Dougherty4b2eb972010-03-08 17:31:26 -0800265
Scott Maindb3678b2012-10-23 14:13:41 -0700266
267
268
smain@google.comd53f0662014-12-03 19:34:55 -0800269<div class="pax col-13 online" style="margin:0;">
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700270
271
smain@google.comd53f0662014-12-03 19:34:55 -0800272<h3>SDK Tools Only</h3>
Scott Maindb3678b2012-10-23 14:13:41 -0700273
smain@google.comd53f0662014-12-03 19:34:55 -0800274<p>If you prefer to use a different IDE or run the tools from the
275command line or with build scripts, you can instead download the stand-alone Android SDK Tools.
276These packages provide the basic SDK tools for app development, without an IDE.
smain@google.com0ecb5a62014-12-08 12:39:52 -0800277Also see the <a href="<?cs var:toroot ?>tools/sdk/tools-notes.html">SDK tools release notes</a>.</p>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700278
Rich Slogarfe4dd522014-11-03 15:16:34 -0800279 <table class="download">
280 <tr>
281 <th>Platform</th>
282 <th>Package</th>
283 <th>Size</th>
Rich Slogar8d3c6942014-12-12 14:25:45 -0800284 <th>SHA-1 Checksum</th>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800285 </tr>
286 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800287 <td rowspan="2">Windows</td>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800288 <td>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800289 <a onclick="return onDownload(this)" id="win-tools" href="http://dl.google.com/android/<?cs
290var:sdk.win_installer
291?>"><?cs var:sdk.win_installer ?></a> (Recommended)
292 </td>
293 <td><?cs var:sdk.win_installer_bytes ?> bytes</td>
294 <td><?cs var:sdk.win_installer_checksum ?></td>
295 </tr>
296 <tr>
smain@google.com102db8b2014-12-07 22:39:24 -0800297 <!-- blank TD from Windows rowspan -->
298 <td>
299 <a onclick="return onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_download
300?>"><?cs var:sdk.win_download ?></a>
301 </td>
302 <td><?cs var:sdk.win_bytes ?> bytes</td>
303 <td><?cs var:sdk.win_checksum ?></td>
304 </tr>
305 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800306 <td><nobr>Mac OS X</nobr></td>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800307 <td>
308 <a onclick="return onDownload(this)" id="mac-tools" href="http://dl.google.com/android/<?cs
309var:sdk.mac_download
310?>"><?cs var:sdk.mac_download ?></a>
311 </td>
312 <td><?cs var:sdk.mac_bytes ?> bytes</td>
313 <td><?cs var:sdk.mac_checksum ?></td>
314 </tr>
315 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800316 <td>Linux</td>
Rich Slogarfe4dd522014-11-03 15:16:34 -0800317 <td>
318 <a onclick="return onDownload(this)" id="linux-tools" href="http://dl.google.com/android/<?cs
319var:sdk.linux_download
320?>"><?cs var:sdk.linux_download ?></a>
321 </td>
322 <td><?cs var:sdk.linux_bytes ?> bytes</td>
323 <td><?cs var:sdk.linux_checksum ?></td>
324 </tr>
325 </table>
326
327
smain@google.comd53f0662014-12-03 19:34:55 -0800328
329<h3>All Android Studio Packages</h3>
330
smain@google.com0ecb5a62014-12-08 12:39:52 -0800331<p>Select a specific Android Studio package for your platform. Also see the
332<a href="<?cs var:toroot ?>tools/revisions/studio.html">Android Studio release notes</a>.</p>
smain@google.comd53f0662014-12-03 19:34:55 -0800333
Scott Maindb3678b2012-10-23 14:13:41 -0700334 <table class="download">
335 <tr>
336 <th>Platform</th>
337 <th>Package</th>
338 <th>Size</th>
Rich Slogar8d3c6942014-12-12 14:25:45 -0800339 <th>SHA-1 Checksum</th>
Scott Maindb3678b2012-10-23 14:13:41 -0700340 </tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800341
Scott Maindb3678b2012-10-23 14:13:41 -0700342 <tr>
smain@google.com102db8b2014-12-07 22:39:24 -0800343 <td rowspan="3">Windows</td>
Scott Maindb3678b2012-10-23 14:13:41 -0700344 <td>
smain@google.comd53f0662014-12-03 19:34:55 -0800345 <a onclick="return onDownload(this)" id="win-bundle"
smain@google.com102db8b2014-12-07 22:39:24 -0800346 href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_exe_download ?>"
347 ><?cs var:studio.win_bundle_exe_download ?></a><br>(Recommended)
348 </td>
349 <td><?cs var:studio.win_bundle_exe_bytes ?> bytes</td>
350 <td><?cs var:studio.win_bundle_exe_checksum ?></td>
351 </tr>
352
353 <tr>
354 <!-- blank TD from Windows rowspan -->
355 <td>
356 <a onclick="return onDownload(this)"
357 href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_notools_exe_download ?>"
358 ><?cs var:studio.win_notools_exe_download ?></a><br>(No SDK tools included)
359 </td>
360 <td><?cs var:studio.win_notools_exe_bytes ?> bytes</td>
361 <td><?cs var:studio.win_notools_exe_checksum ?></td>
362 </tr>
363
364 <tr>
365 <!-- blank TD from Windows rowspan -->
366 <td>
367 <a onclick="return onDownload(this)"
smain@google.comd53f0662014-12-03 19:34:55 -0800368 href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
369 ><?cs var:studio.win_bundle_download ?></a>
Scott Maindb3678b2012-10-23 14:13:41 -0700370 </td>
smain@google.comd53f0662014-12-03 19:34:55 -0800371 <td><?cs var:studio.win_bundle_bytes ?> bytes</td>
372 <td><?cs var:studio.win_bundle_checksum ?></td>
Scott Maindb3678b2012-10-23 14:13:41 -0700373 </tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800374
Scott Maindb3678b2012-10-23 14:13:41 -0700375 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800376 <td><nobr>Mac OS X</nobr></td>
Scott Maindb3678b2012-10-23 14:13:41 -0700377 <td>
smain@google.comd53f0662014-12-03 19:34:55 -0800378 <a onclick="return onDownload(this)" id="mac-bundle"
smain@google.com102db8b2014-12-07 22:39:24 -0800379 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 -0800380 ><?cs var:studio.mac_bundle_download ?></a>
Scott Maindb3678b2012-10-23 14:13:41 -0700381 </td>
smain@google.comd53f0662014-12-03 19:34:55 -0800382 <td><?cs var:studio.mac_bundle_bytes ?> bytes</td>
383 <td><?cs var:studio.mac_bundle_checksum ?></td>
Scott Main11ac05b2012-11-15 14:57:44 -0800384 </tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800385
Scott Main11ac05b2012-11-15 14:57:44 -0800386 <tr>
smain@google.comd53f0662014-12-03 19:34:55 -0800387 <td>Linux</td>
Scott Main11ac05b2012-11-15 14:57:44 -0800388 <td>
smain@google.comd53f0662014-12-03 19:34:55 -0800389 <a onclick="return onDownload(this)" id="linux-bundle"
390 href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
391 ><?cs var:studio.linux_bundle_download ?></a>
Scott Main11ac05b2012-11-15 14:57:44 -0800392 </td>
smain@google.comd53f0662014-12-03 19:34:55 -0800393 <td><?cs var:studio.linux_bundle_bytes ?> bytes</td>
394 <td><?cs var:studio.linux_bundle_checksum ?></td>
Scott Maindb3678b2012-10-23 14:13:41 -0700395 </tr>
396 </table>
397
398
Rich Slogarfe4dd522014-11-03 15:16:34 -0800399
Scott Main55d99832012-11-12 23:03:59 -0800400</div><!-- end pax -->
Scott Maindb3678b2012-10-23 14:13:41 -0700401
402
Scott Main55d99832012-11-12 23:03:59 -0800403
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700404
405
Scott Maine4d8f1b2012-06-21 18:03:05 -0700406<script>
Scott Main55d99832012-11-12 23:03:59 -0800407 if (location.hash == "#Requirements") {
408 $('.reqs').show();
409 } else if (location.hash == "#ExistingIDE") {
410 $('.ide').show();
411 }
Scott Maindb3678b2012-10-23 14:13:41 -0700412
Scott Maine4d8f1b2012-06-21 18:03:05 -0700413 var os;
Scott Main11ac05b2012-11-15 14:57:44 -0800414 var bundlename;
Scott Maindb3678b2012-10-23 14:13:41 -0700415 var $toolslink;
416
smain@google.comd53f0662014-12-03 19:34:55 -0800417 if (navigator.appVersion.indexOf("Mobile")!=-1) {
418 // Do nothing for any "mobile" user agent
419 } else if (navigator.appVersion.indexOf("Win")!=-1) {
Scott Maine4d8f1b2012-06-21 18:03:05 -0700420 os = "Windows";
Scott Main11ac05b2012-11-15 14:57:44 -0800421 bundlename = '#win-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700422 $toolslink = $('#win-tools');
Scott Maine4d8f1b2012-06-21 18:03:05 -0700423 } else if (navigator.appVersion.indexOf("Mac")!=-1) {
424 os = "Mac";
Scott Main11ac05b2012-11-15 14:57:44 -0800425 bundlename = '#mac-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700426 $toolslink = $('#mac-tools');
smain@google.comd53f0662014-12-03 19:34:55 -0800427 } else if (navigator.appVersion.indexOf("Linux")!=-1 && navigator.appVersion.indexOf("Android")==-1) {
Scott Maine4d8f1b2012-06-21 18:03:05 -0700428 os = "Linux";
Scott Main11ac05b2012-11-15 14:57:44 -0800429 bundlename = '#linux-bundle';
Scott Maindb3678b2012-10-23 14:13:41 -0700430 $toolslink = $('#linux-tools');
Scott Maine4d8f1b2012-06-21 18:03:05 -0700431 }
The Android Open Source Project88b60792009-03-03 19:28:42 -0800432
smain@google.comd53f0662014-12-03 19:34:55 -0800433 if (os != undefined) {
Scott Mainf973ced2012-06-28 11:56:01 -0700434 $('#not-supported').hide();
Scott Maindb3678b2012-10-23 14:13:41 -0700435
Rich Slogarfe4dd522014-11-03 15:16:34 -0800436 /* set up primary Android Studio download button */
smain@google.comd53f0662014-12-03 19:34:55 -0800437 $('.download-bundle-button').append(" <br/><span class='small'>for " + os + "</span>");
438 $('.download-bundle-button').click(function() {return onDownload(this,true,true);}).attr('href', bundlename);
Scott Maine4d8f1b2012-06-21 18:03:05 -0700439 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700440
441
Scott Main11ac05b2012-11-15 14:57:44 -0800442 function onDownload(link, button, bundle) {
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700443
Scott Main11ac05b2012-11-15 14:57:44 -0800444 /* set text for download button */
Scott Maindb3678b2012-10-23 14:13:41 -0700445 if (button) {
446 $("#downloadForRealz").html($(link).text());
447 } else {
448 $("#downloadForRealz").html("Download " + $(link).text());
Scott Main11ac05b2012-11-15 14:57:44 -0800449 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700450
smain@google.comd53f0662014-12-03 19:34:55 -0800451 $("#downloadForRealz").attr('bundle', bundle);
452 $("a#downloadForRealz").attr("name", $(link).attr('href'));
Scott Maindb3678b2012-10-23 14:13:41 -0700453
smain@google.comd53f0662014-12-03 19:34:55 -0800454 $("#tos").show();
455 $("#landing").hide();
Scott Maindb3678b2012-10-23 14:13:41 -0700456
smain@google.comd53f0662014-12-03 19:34:55 -0800457 location.hash = "top";
Scott Maindb3678b2012-10-23 14:13:41 -0700458 return false;
459 }
460
461
462 function onAgreeChecked() {
smain@google.comd53f0662014-12-03 19:34:55 -0800463 /* verify that the TOS is agreed */
464 if ($("input#agree").is(":checked")) {
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700465
Scott Main11ac05b2012-11-15 14:57:44 -0800466 /* if downloading the bundle */
467 if ($("#downloadForRealz").attr('bundle')) {
smain@google.comd53f0662014-12-03 19:34:55 -0800468 /* construct the name of the link we want */
469 linkId = $("a#downloadForRealz").attr("name");
Scott Main11ac05b2012-11-15 14:57:44 -0800470 /* set the real url for download */
471 $("a#downloadForRealz").attr("href", $(linkId).attr("href"));
smain@google.comd53f0662014-12-03 19:34:55 -0800472 } else {
473 $("a#downloadForRealz").attr("href", $("a#downloadForRealz").attr("name"));
Scott Main11ac05b2012-11-15 14:57:44 -0800474 }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700475
Scott Main11ac05b2012-11-15 14:57:44 -0800476 /* reveal the download button */
Scott Maindb3678b2012-10-23 14:13:41 -0700477 $("a#downloadForRealz").removeClass('disabled');
478 } else {
479 $("a#downloadForRealz").addClass('disabled');
480 }
481 }
482
483 function onDownloadForRealz(link) {
smain@google.comd53f0662014-12-03 19:34:55 -0800484 if ($("input#agree").is(':checked')) {
485 location.hash = "";
486 location.hash = "top";
Scott Maindb3678b2012-10-23 14:13:41 -0700487 $("div.sdk-terms").slideUp();
smain@google.comd53f0662014-12-03 19:34:55 -0800488 $("h1#tos-header").text('Now downloading...');
489 $(".sdk-terms-intro").text('You\'ll be redirected to the install instructions in a moment.');
490 $("#sdk-terms-form").fadeOut('slow', function() {
Scott Mainc29b3f52014-05-30 21:18:30 -0700491 setTimeout(function() {
492 if ($("#downloadForRealz").attr('bundle') == 'true') {
smain@google.comd53f0662014-12-03 19:34:55 -0800493 // User downloaded the studio Bundle
494 window.location = "/sdk/installing/index.html?pkg=studio";
Scott Mainc29b3f52014-05-30 21:18:30 -0700495 } else {
496 // User downloaded the SDK Tools
497 window.location = "/sdk/installing/index.html?pkg=tools";
498 }
smain@google.comd53f0662014-12-03 19:34:55 -0800499 }, 3000);
Scott Mainc29b3f52014-05-30 21:18:30 -0700500 });
smain@google.com633f3222014-10-03 15:49:45 -0700501 ga('send', 'event', 'SDK', 'IDE and Tools', $("#downloadForRealz").html());
Scott Maindb3678b2012-10-23 14:13:41 -0700502 return true;
503 } else {
smain@google.comd53f0662014-12-03 19:34:55 -0800504 $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200,
505 function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)}
Scott Maindb3678b2012-10-23 14:13:41 -0700506 );
507 return false;
508 }
509 }
510
511 $(window).hashchange( function(){
Scott Maindb3678b2012-10-23 14:13:41 -0700512 if (location.hash == "") {
513 location.reload();
514 }
515 });
516
Scott Maina1b358a2010-06-24 16:36:54 -0700517</script>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700518
Scott Maine4d8f1b2012-06-21 18:03:05 -0700519
Scott Maindb3678b2012-10-23 14:13:41 -0700520
521</div><!-- end the wrapper used for relative/absolute positions -->
522<?cs # THIS DIV WAS OPENED IN INDEX.JD ?>
523
524
525
526
Scott Main58286dc2011-01-17 18:23:21 -0800527 <?cs else ?> <?cs # end if online ?>
Scott Maina1b358a2010-06-24 16:36:54 -0700528
Scott Main17e47ad2011-05-27 09:52:19 -0700529 <?cs if:sdk.preview ?><?cs # it's preview offline docs ?>
Scott Maincc089092011-01-17 16:44:10 -0800530 <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
531 Android 3.0 release, to give you a head-start on developing applications for it.
532 </p>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700533
Scott Maincc089092011-01-17 16:44:10 -0800534 <p>See the <a
535 href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
536 about how to set up the preview SDK and get started.</p>
537 <style type="text/css">
538 .non-preview { display:none; }
539 </style>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700540
Scott Main17e47ad2011-05-27 09:52:19 -0700541 <?cs else ?><?cs # it's normal offline docs ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700542
Scott Maine4d8f1b2012-06-21 18:03:05 -0700543 <?cs ######## HERE IS THE JD DOC CONTENT FOR OFFLINE ######### ?>
544 <?cs call:tag_list(root.descr) ?>
Scott Main17e47ad2011-05-27 09:52:19 -0700545 <style type="text/css">
Scott Maine4d8f1b2012-06-21 18:03:05 -0700546 body .offline { display:block; }
547 body .online { display:none; }
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700548 </style>
Scott Maine4d8f1b2012-06-21 18:03:05 -0700549 <script>
550 $('.reqs').show();
551 </script>
Scott Maincc089092011-01-17 16:44:10 -0800552 <?cs /if ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700553
Scott Main58286dc2011-01-17 18:23:21 -0800554 <?cs /if ?> <?cs # end if/else online ?>
Ricardo Cerverafd0be922014-03-25 12:33:33 -0700555
Scott Maincc089092011-01-17 16:44:10 -0800556<?cs /if ?> <?cs # end if/else NDK ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700557
Scott Maincc089092011-01-17 16:44:10 -0800558<?cs /if ?> <?cs # end if/else redirect ?>
Dirk Dougherty82a28812009-08-05 19:09:16 -0700559
The Android Open Source Project88b60792009-03-03 19:28:42 -0800560
The Android Open Source Project88b60792009-03-03 19:28:42 -0800561</div><!-- end jd-content -->
562
Dirk Dougherty19a4bd12009-04-24 11:30:32 -0700563<?cs if:!sdk.redirect ?>
Scott Maincc089092011-01-17 16:44:10 -0800564<?cs include:"footer.cs" ?>
Dirk Dougherty19a4bd12009-04-24 11:30:32 -0700565<?cs /if ?>
566
Scott Maincc089092011-01-17 16:44:10 -0800567</div><!-- end g-unit -->
The Android Open Source Project88b60792009-03-03 19:28:42 -0800568
569<?cs include:"trailer.cs" ?>
570
Dirk Dougherty8f6949b2013-12-03 18:49:24 -0800571<!-- Start of Tag -->
572<script type="text/javascript">
573var axel = Math.random() + "";
574var a = axel * 10000000000000;
575document.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>');
576</script>
577<noscript>
578<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>
579</noscript>
580<!-- End of Tag -->
The Android Open Source Project88b60792009-03-03 19:28:42 -0800581</body>
582</html>
583
584
585