• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 <?cs include:"doctype.cs" ?>
2 <?cs include:"macros.cs" ?>
3 <html<?cs if:devsite ?> devsite<?cs /if ?>>
4 <?cs if:sdk.redirect ?>
5   <head>
6     <title>Redirecting...</title>
7     <meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs
8       if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
9       else ?>index.html<?cs /if ?>">
10   </head>
11 <?cs else ?>
12   <?cs include:"head_tag.cs" ?>
13 <?cs /if ?>
14 <body class="gc-documentation
15   <?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" ?>
21 
22 
23 <div <?cs if:fullpage
24 ?><?cs else
25 ?>class="col-13" id="doc-col"<?cs /if ?> >
26 
27 <?cs if:sdk.redirect ?>
28 
29 <div class="g-unit">
30   <div id="jd-content">
31     <p>Redirecting to
32     <a href="<?cs var:toroot ?>sdk/<?cs
33       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 ?>
37     </a> ...</p>
38 
39 <?cs else ?>
40 <?cs # else, if NOT redirect ...
41 #
42 #
43 # The following is for SDK/NDK pages
44 #
45 #
46 ?>
47 
48 <?cs if:header.hide ?><?cs else ?>
49 <h1 itemprop="name"><?cs var:page.title ?></h1>
50 <?cs /if ?>
51   <div id="jd-content" itemprop="description">
52 
53 <?cs if:sdk.not_latest_version ?>
54   <div class="special">
55     <p><strong>This is NOT the current Android SDK release.</strong></p>
56     <p><a href="/sdk/index.html">Download the current Android SDK</a></p>
57   </div>
58 <?cs /if ?>
59 
60 
61 <?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 ?>
77 
78   <table class="download" id="download-table">
79     <tr>
80       <th>Platform</th>
81       <th>Package</th>
82       <th style="white-space:nowrap">Size (Bytes)</th>
83       <th>MD5 Checksum</th>
84   </tr>
85   <tr>
86     <td>Windows 32-bit</td>
87     <td>
88   <a onClick="return onDownload(this)"
89      href="http://dl.google.com/android/ndk/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
90     </td>
91     <td><?cs var:ndk.win32_bytes ?></td>
92     <td><?cs var:ndk.win32_checksum ?></td>
93   </tr>
94  <!-- <tr>
95    <td>
96   <a onClick="return onDownload(this)"
97      href="http://dl.google.com/android/ndk/<?cs var:ndk.win32.legacy_download ?>"><?cs var:ndk.win32.legacy_download ?></a>
98     </td>
99     <td><?cs var:ndk.win32.legacy_bytes ?></td>
100     <td><?cs var:ndk.win32.legacy_checksum ?></td>
101   </tr> -->
102   <tr>
103     <td>Windows 64-bit</td>
104     <td>
105   <a onClick="return onDownload(this)"
106      href="http://dl.google.com/android/ndk/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
107     </td>
108     <td><?cs var:ndk.win64_bytes ?></td>
109     <td><?cs var:ndk.win64_checksum ?></td>
110   </tr>
111  <!--  <tr>
112     <td>
113   <a onClick="return onDownload(this)"
114      href="http://dl.google.com/android/ndk/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
115     </td>
116     <td><?cs var:ndk.win64.legacy_bytes ?></td>
117     <td><?cs var:ndk.win64.legacy_checksum ?></td>
118   </tr> -->
119   <tr>
120     <td>Mac OS X 32-bit</td>
121     <td>
122   <a onClick="return onDownload(this)"
123      href="http://dl.google.com/android/ndk/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
124     </td>
125     <td><?cs var:ndk.mac32_bytes ?></td>
126     <td><?cs var:ndk.mac32_checksum ?></td>
127   </tr>
128  <!--  <tr>
129     <td>
130   <a onClick="return onDownload(this)"
131      href="http://dl.google.com/android/ndk/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
132     </td>
133     <td><?cs var:ndk.mac32.legacy_bytes ?></td>
134     <td><?cs var:ndk.mac32.legacy_checksum ?></td>
135   </tr> -->
136     <td>Mac OS X 64-bit</td>
137     <td>
138   <a onClick="return onDownload(this)"
139      href="http://dl.google.com/android/ndk/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
140     </td>
141     <td><?cs var:ndk.mac64_bytes ?></td>
142     <td><?cs var:ndk.mac64_checksum ?></td>
143   </tr>
144  <!--  <tr>
145     <td>
146   <a onClick="return onDownload(this)"
147      href="http://dl.google.com/android/ndk/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
148     </td>
149     <td><?cs var:ndk.mac64.legacy_bytes ?></td>
150     <td><?cs var:ndk.mac64.legacy_checksum ?></td>
151   </tr> -->
152   <tr>
153     <td>Linux 32-bit (x86)</td>
154     <td>
155   <a onClick="return onDownload(this)"
156      href="http://dl.google.com/android/ndk/<?cs var:ndk.linux32_download ?>"><?cs var:ndk.linux32_download ?></a>
157     </td>
158     <td><?cs var:ndk.linux32_bytes ?></td>
159     <td><?cs var:ndk.linux32_checksum ?></td>
160   </tr>
161  <!--  <tr>
162     <td>
163   <a onClick="return onDownload(this)"
164      href="http://dl.google.com/android/ndk/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
165     </td>
166     <td><?cs var:ndk.linux32.legacy_bytes ?></td>
167     <td><?cs var:ndk.linux32.legacy_checksum ?></td>
168   </tr> -->
169   <tr>
170     <td>Linux 64-bit (x86)</td>
171     <td>
172   <a onClick="return onDownload(this)"
173      href="http://dl.google.com/android/ndk/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
174     </td>
175     <td><?cs var:ndk.linux64_bytes ?></td>
176     <td><?cs var:ndk.linux64_checksum ?></td>
177   </tr>
178   <!--  <tr>
179     <td>
180   <a onClick="return onDownload(this)"
181      href="http://dl.google.com/android/ndk/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
182     </td>
183     <td><?cs var:ndk.linux64.legacy_bytes ?></td>
184     <td><?cs var:ndk.linux64.legacy_checksum ?></td>
185   </tr> -->
186 
187   </table>
188 
189   <?cs ########  HERE IS THE JD DOC CONTENT ######### ?>
190   <?cs call:tag_list(root.descr) ?>
191 
192 
193 
194 <script>
onDownload(link)195   function onDownload(link) {
196 
197     $("#downloadForRealz").html("Download " + $(link).text());
198     $("#downloadForRealz").attr('href',$(link).attr('href'));
199 
200     $("#tos").fadeIn('slow');
201 
202     location.hash = "download";
203     return false;
204   }
205 
206 
onAgreeChecked()207   function onAgreeChecked() {
208     if ($("input#agree").is(":checked")) {
209       $("a#downloadForRealz").removeClass('disabled');
210     } else {
211       $("a#downloadForRealz").addClass('disabled');
212     }
213   }
214 
onDownloadNdkForRealz(link)215   function onDownloadNdkForRealz(link) {
216     if ($("input#agree").is(':checked')) {
217       $("#tos").fadeOut('slow');
218 
219       $('html, body').animate({
220           scrollTop: $("#Installing").offset().top
221         }, 800, function() {
222           $("#Installing").click();
223       });
224 
225       return true;
226     } else {
227       $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200,
228         function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)}
229       );
230       return false;
231     }
232   }
233 
function()234   $(window).hashchange( function(){
235     if (location.hash == "") {
236       location.reload();
237     }
238   });
239 
240 </script>
241 
242   <?cs else ?>
243 <?cs # end if NDK ...
244 #
245 #
246 #
247 #
248 #
249 #
250 # the following is for the SDK
251 #
252 # (nested in if/else redirect and if/else NDK)
253 #
254 #
255 #
256 #
257 ?>
258   <?cs if:android.whichdoc == "online" ?>
259 
260 
261 <?cs ########  HERE IS THE JD DOC CONTENT FOR ONLINE ######### ?>
262 <?cs call:tag_list(root.descr) ?>
263 
264 
265 
266 
267 <h4><a href='' class="expandable"
268   onclick="toggleExpandable(this,'.pax');hideExpandable('.myide,.reqs');return false;"
269   >VIEW ALL DOWNLOADS AND SIZES</a></h4>
270 
271 
272 <div class="pax col-13 online" style="display:none;margin:0;">
273 
274 
275 <p class="table-caption"><strong>ADT Bundle</strong></p>
276   <table class="download">
277     <tr>
278       <th>Platform</th>
279       <th>Package</th>
280       <th>Size</th>
281       <th>MD5 Checksum</th>
282   </tr>
283   <tr>
284     <td>Windows 32-bit</td>
285     <td>
286   <a onClick="return onDownload(this)" id="win-bundle32"
287      href="https://dl.google.com/android/adt/<?cs var:sdk.win32_bundle_download ?>"><?cs var:sdk.win32_bundle_download ?></a>
288     </td>
289     <td><?cs var:sdk.win32_bundle_bytes ?> bytes</td>
290     <td><?cs var:sdk.win32_bundle_checksum ?></td>
291   </tr>
292   <tr>
293     <td>Windows 64-bit</td>
294     <td>
295   <a onClick="return onDownload(this)" id="win-bundle64"
296      href="https://dl.google.com/android/adt/<?cs var:sdk.win64_bundle_download ?>"><?cs var:sdk.win64_bundle_download ?></a>
297     </td>
298     <td><?cs var:sdk.win64_bundle_bytes ?> bytes</td>
299     <td><?cs var:sdk.win64_bundle_checksum ?></td>
300   </tr>
301   <tr>
302     <td><nobr>Mac OS X 64-bit</nobr></td>
303     <td>
304   <a onClick="return onDownload(this)" id="mac-bundle64"
305      href="https://dl.google.com/android/adt/<?cs var:sdk.mac64_bundle_download ?>"><?cs var:sdk.mac64_bundle_download ?></a>
306     </td>
307     <td><?cs var:sdk.mac64_bundle_bytes ?> bytes</td>
308     <td><?cs var:sdk.mac64_bundle_checksum ?></td>
309   </tr>
310   <tr>
311     <td>Linux 32-bit</td>
312     <td>
313   <a onClick="return onDownload(this)" id="linux-bundle32"
314      href="https://dl.google.com/android/adt/<?cs var:sdk.linux32_bundle_download ?>"><?cs var:sdk.linux32_bundle_download ?></a>
315     </td>
316     <td><?cs var:sdk.linux32_bundle_bytes ?> bytes</td>
317     <td><?cs var:sdk.linux32_bundle_checksum ?></td>
318   </tr>
319   <tr>
320     <td>Linux 64-bit</td>
321     <td>
322   <a onClick="return onDownload(this)" id="linux-bundle64"
323      href="https://dl.google.com/android/adt/<?cs var:sdk.linux64_bundle_download ?>"><?cs var:sdk.linux64_bundle_download ?></a>
324     </td>
325     <td><?cs var:sdk.linux64_bundle_bytes ?> bytes</td>
326     <td><?cs var:sdk.linux64_bundle_checksum ?></td>
327   </tr>
328   </table>
329 
330 
331 <p class="table-caption"><strong>SDK Tools Only</strong></p>
332   <table class="download">
333     <tr>
334       <th>Platform</th>
335       <th>Package</th>
336       <th>Size</th>
337       <th>MD5 Checksum</th>
338   </tr>
339   <tr>
340     <td rowspan="2">Windows<br>32 &amp; 64-bit</td>
341     <td>
342   <a onclick="return onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_download
343 ?>"><?cs var:sdk.win_download ?></a>
344     </td>
345     <td><?cs var:sdk.win_bytes ?> bytes</td>
346     <td><?cs var:sdk.win_checksum ?></td>
347   </tr>
348   <tr>
349     <!-- blank TD from Windows rowspan -->
350     <td>
351   <a onclick="return onDownload(this)" id="win-tools" href="http://dl.google.com/android/<?cs
352 var:sdk.win_installer
353 ?>"><?cs var:sdk.win_installer ?></a> (Recommended)
354     </td>
355     <td><?cs var:sdk.win_installer_bytes ?> bytes</td>
356     <td><?cs var:sdk.win_installer_checksum ?></td>
357   </tr>
358   <tr>
359     <td><nobr>Mac OS X</nobr><br>32 &amp; 64-bit</td>
360     <td>
361   <a onclick="return onDownload(this)" id="mac-tools" href="http://dl.google.com/android/<?cs
362 var:sdk.mac_download
363 ?>"><?cs var:sdk.mac_download ?></a>
364     </td>
365     <td><?cs var:sdk.mac_bytes ?> bytes</td>
366     <td><?cs var:sdk.mac_checksum ?></td>
367   </tr>
368   <tr>
369     <td>Linux<br>32 &amp; 64-bit</td>
370     <td>
371   <a onclick="return onDownload(this)" id="linux-tools" href="http://dl.google.com/android/<?cs
372 var:sdk.linux_download
373 ?>"><?cs var:sdk.linux_download ?></a>
374     </td>
375     <td><?cs var:sdk.linux_bytes ?> bytes</td>
376     <td><?cs var:sdk.linux_checksum ?></td>
377   </tr>
378   </table>
379 
380 </div><!-- end pax -->
381 
382 
383 
384 </div><!-- end col-13 for lower-half content -->
385 
386 
387 
388 
389 <script>
390   if (location.hash == "#Requirements") {
391     $('.reqs').show();
392   } else if (location.hash == "#ExistingIDE") {
393 	 $('.ide').show();
394   }
395 
396   var os;
397   var bundlename;
398   var $toolslink;
399 
400   if (navigator.appVersion.indexOf("Win")!=-1) {
401     os = "Windows";
402     bundlename = '#win-bundle';
403     $toolslink = $('#win-tools');
404   } else if (navigator.appVersion.indexOf("Mac")!=-1) {
405     os = "Mac";
406     bundlename = '#mac-bundle';
407     $toolslink = $('#mac-tools');
408   } else if (navigator.appVersion.indexOf("Linux")!=-1) {
409     os = "Linux";
410     bundlename = '#linux-bundle';
411     $toolslink = $('#linux-tools');
412   }
413 
414   if (os) {
415     $('#not-supported').hide();
416 
417     /* set up primary adt download button */
418     $('#download-bundle-button').show();
419     $('#download-bundle-button').append("Download Eclipse ADT <br/><span class='small'>with the Android SDK for " + os + "</span>");
420     $('#download-bundle-button').click(function() {return onDownload(this,true,true);}).attr('href', bundlename);
421 
422     /* set up sdk tools only button */
423     $('#download-tools-button').show();
424     $('#download-tools-button').append("Download the stand-alone Android SDK Tools for " + os);
425     $('#download-tools-button').click(function() {return onDownload(this,true);}).attr('href', $toolslink.attr('href'));
426   } else {
427     $('.pax').show();
428   }
429 
430 
onDownload(link, button, bundle)431   function onDownload(link, button, bundle) {
432 
433     /* set text for download button */
434     if (button) {
435       $("#downloadForRealz").html($(link).text());
436     } else {
437       $("#downloadForRealz").html("Download " + $(link).text());
438     }
439 
440     /* if it's a bundle, show the 32/64-bit picker */
441     if (bundle) {
442       $("#downloadForRealz").attr('bundle','true');
443       if ($("#downloadForRealz").text().indexOf("Mac") == -1) {
444         $("p#bitpicker").show();
445       } else {
446         /* mac is always 64 bit, so set it checked */
447         $("p#bitpicker input[value=64]").attr('checked', true);
448       }
449       /* save link name until the bit version is chosen */
450       $("#downloadForRealz").attr('name',$(link).attr('href'));
451     } else {
452       /* if not using bundle, set download button to ignore bitpicker and set url */
453       $("#downloadForRealz").attr('bundle','false');
454       $("#downloadForRealz").attr('href',$(link).attr('href'));
455       /* set picker checked as a fake default */
456       $("p#bitpicker input[value=64]").attr('checked', true);
457       $("a#next-link").html("Setting Up an Existing IDE").attr('href',toRoot + 'sdk/installing/index.html');
458     }
459 
460     $("#tos").fadeIn('fast');
461     $("#landing").fadeOut('fast');
462 
463     location.hash = "download";
464     return false;
465   }
466 
467 
onAgreeChecked()468   function onAgreeChecked() {
469     /* verify that the TOS is agreed and a bit version is chosen */
470     if ($("input#agree").is(":checked") && $("#bitpicker input:checked").length) {
471 
472       /* if downloading the bundle */
473       if ($("#downloadForRealz").attr('bundle')) {
474         /* construct the name of the link we want based on the bit version */
475         linkId = $("a#downloadForRealz").attr("name") + $("#bitpicker input:checked").val();
476         /* set the real url for download */
477         $("a#downloadForRealz").attr("href", $(linkId).attr("href"));
478       }
479 
480       /* reveal the download button */
481       $("a#downloadForRealz").removeClass('disabled');
482     } else {
483       $("a#downloadForRealz").addClass('disabled');
484     }
485   }
486 
onDownloadForRealz(link)487   function onDownloadForRealz(link) {
488     if ($("input#agree").is(':checked') && $("#bitpicker input:checked").length) {
489       $("div.sdk-terms").slideUp();
490       $("h1#tos-header").text('Now redirecting to the install instructions...');
491       $("#sdk-terms-form,.sdk-terms-intro").fadeOut('slow', function() {
492         setTimeout(function() {
493           if ($("#downloadForRealz").attr('bundle') == 'true') {
494             // User downloaded the ADT Bundle
495             window.location = "/sdk/installing/index.html?pkg=adt";
496           } else {
497             // User downloaded the SDK Tools
498             window.location = "/sdk/installing/index.html?pkg=tools";
499           }
500         }, 500);
501       });
502       ga('send', 'event', 'SDK', 'IDE and Tools', $("#downloadForRealz").html());
503       return true;
504     } else {
505       $("label#agreeLabel,#bitpicker input").parent().stop().animate({color: "#258AAF"}, 200,
506         function() {$("label#agreeLabel,#bitpicker input").parent().stop().animate({color: "#222"}, 200)}
507       );
508       return false;
509     }
510   }
511 
function()512   $(window).hashchange( function(){
513     if (location.hash == "") {
514       location.reload();
515     }
516   });
517 
518 </script>
519 
520 
521 
522 </div><!-- end the wrapper used for relative/absolute positions  -->
523 <?cs # THIS DIV WAS OPENED IN INDEX.JD ?>
524 
525 
526 
527 
528   <?cs else ?> <?cs # end if online ?>
529 
530     <?cs if:sdk.preview ?><?cs # it's preview offline docs ?>
531       <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
532     Android 3.0 release, to give you a head-start on developing applications for it.
533     </p>
534 
535       <p>See the <a
536     href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
537     about how to set up the preview SDK and get started.</p>
538     <style type="text/css">
539     .non-preview { display:none; }
540     </style>
541 
542     <?cs else ?><?cs # it's normal offline docs ?>
543 
544       <?cs ########  HERE IS THE JD DOC CONTENT FOR OFFLINE ######### ?>
545       <?cs call:tag_list(root.descr) ?>
546       <style type="text/css">
547         body .offline { display:block; }
548         body .online { display:none; }
549       </style>
550       <script>
551         $('.reqs').show();
552       </script>
553     <?cs /if ?>
554 
555   <?cs /if ?> <?cs # end if/else online ?>
556 
557 <?cs /if ?> <?cs # end if/else NDK ?>
558 
559 <?cs /if ?> <?cs # end if/else redirect ?>
560 
561 
562 </div><!-- end jd-content -->
563 
564 <?cs if:!sdk.redirect ?>
565 <?cs include:"footer.cs" ?>
566 <?cs /if ?>
567 
568 </div><!-- end g-unit -->
569 
570 <?cs include:"trailer.cs" ?>
571 
572 <!-- Start of Tag -->
573 <script type="text/javascript">
574 var axel = Math.random() + "";
575 var a = axel * 10000000000000;
576 document.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>');
577 </script>
578 <noscript>
579 <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>
580 </noscript>
581 <!-- End of Tag -->
582 </body>
583 </html>
584 
585 
586 
587