sdkpage.cs revision 0dc81b905fb97927f0e8a790c73dfd09614d90ec
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<!-- (this item is deprecated) 120 <tr> 121 <td>Mac OS X 32-bit</td> 122 <td> 123 <a onClick="return onDownload(this)" 124 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a> 125 </td> 126 <td><?cs var:ndk.mac32_bytes ?></td> 127 <td><?cs var:ndk.mac32_checksum ?></td> 128 </tr> --> 129 <!-- (this item is deprecated) 130 <tr> 131 <td> 132 <a onClick="return onDownload(this)" 133 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a> 134 </td> 135 <td><?cs var:ndk.mac32.legacy_bytes ?></td> 136 <td><?cs var:ndk.mac32.legacy_checksum ?></td> 137 </tr> --> 138 <td>Mac OS X 64-bit</td> 139 <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> 143 <td><?cs var:ndk.mac64_bytes ?></td> 144 <td><?cs var:ndk.mac64_checksum ?></td> 145 </tr> 146 <!-- <tr> 147 <td> 148 <a onClick="return onDownload(this)" 149 href="http://dl.google.com/android/ndk/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a> 150 </td> 151 <td><?cs var:ndk.mac64.legacy_bytes ?></td> 152 <td><?cs var:ndk.mac64.legacy_checksum ?></td> 153 </tr> --> 154 <tr> 155 <td>Linux 32-bit (x86)</td> 156 <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> 160 <td><?cs var:ndk.linux32_bytes ?></td> 161 <td><?cs var:ndk.linux32_checksum ?></td> 162 </tr> 163 <!-- <tr> 164 <td> 165 <a onClick="return onDownload(this)" 166 href="http://dl.google.com/android/ndk/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a> 167 </td> 168 <td><?cs var:ndk.linux32.legacy_bytes ?></td> 169 <td><?cs var:ndk.linux32.legacy_checksum ?></td> 170 </tr> --> 171 <tr> 172 <td>Linux 64-bit (x86)</td> 173 <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> 177 <td><?cs var:ndk.linux64_bytes ?></td> 178 <td><?cs var:ndk.linux64_checksum ?></td> 179 </tr> 180 <!-- <tr> 181 <td> 182 <a onClick="return onDownload(this)" 183 href="http://dl.google.com/android/ndk/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a> 184 </td> 185 <td><?cs var:ndk.linux64.legacy_bytes ?></td> 186 <td><?cs var:ndk.linux64.legacy_checksum ?></td> 187 </tr> --> 188 189 </table> 190 191 <?cs ######## HERE IS THE JD DOC CONTENT ######### ?> 192 <?cs call:tag_list(root.descr) ?> 193 194 195 196<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'); 220 221 $('html, body').animate({ 222 scrollTop: $("#Installing").offset().top 223 }, 800, function() { 224 $("#Installing").click(); 225 }); 226 227 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 244 <?cs else ?> 245<?cs # end if NDK ... 246# 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?> 260 <?cs if:android.whichdoc == "online" ?> 261 262 263<?cs ######## HERE IS THE JD DOC CONTENT FOR ONLINE ######### ?> 264<?cs call:tag_list(root.descr) ?> 265 266 267 268 269<div class="pax col-13 online" style="margin:0;"> 270 271 272<h3>SDK Tools Only</h3> 273 274<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. 277Also see the <a href="<?cs var:toroot ?>tools/sdk/tools-notes.html">SDK tools release notes</a>.</p> 278 279 <table class="download"> 280 <tr> 281 <th>Platform</th> 282 <th>Package</th> 283 <th>Size</th> 284 <th>SHA-1 Checksum</th> 285 </tr> 286 <tr> 287 <td rowspan="2">Windows</td> 288 <td> 289 <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> 297 <!-- 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> 306 <td><nobr>Mac OS X</nobr></td> 307 <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> 316 <td>Linux</td> 317 <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 328 329<h3>All Android Studio Packages</h3> 330 331<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> 333 334 <table class="download"> 335 <tr> 336 <th>Platform</th> 337 <th>Package</th> 338 <th>Size</th> 339 <th>SHA-1 Checksum</th> 340 </tr> 341 342 <tr> 343 <td rowspan="3">Windows</td> 344 <td> 345 <a onclick="return onDownload(this,false,true)" id="win-bundle" 346 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,false,true)" id="win-bundle-notools" 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,false,true)" id="win-bundle-zip" 368 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> 370 </td> 371 <td><?cs var:studio.win_bundle_bytes ?> bytes</td> 372 <td><?cs var:studio.win_bundle_checksum ?></td> 373 </tr> 374 375 <tr> 376 <td><nobr>Mac OS X</nobr></td> 377 <td> 378 <a onclick="return onDownload(this,false,true)" id="mac-bundle" 379 href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.mac_bundle_download ?>" 380 ><?cs var:studio.mac_bundle_download ?></a> 381 </td> 382 <td><?cs var:studio.mac_bundle_bytes ?> bytes</td> 383 <td><?cs var:studio.mac_bundle_checksum ?></td> 384 </tr> 385 386 <tr> 387 <td>Linux</td> 388 <td> 389 <a onclick="return onDownload(this,false,true)" 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> 392 </td> 393 <td><?cs var:studio.linux_bundle_bytes ?> bytes</td> 394 <td><?cs var:studio.linux_bundle_checksum ?></td> 395 </tr> 396 </table> 397 398 399 400</div><!-- end pax --> 401 402 403 404 405 406<script> 407 408 if (location.hash == "#Requirements") { 409 $('.reqs').show(); 410 } else if (location.hash == "#ExistingIDE") { 411 $('.ide').show(); 412 } 413 414 var os; 415 var bundlename; 416 var $toolslink; 417 418 if (navigator.appVersion.indexOf("Mobile")!=-1) { 419 // Do nothing for any "mobile" user agent 420 } else if (navigator.appVersion.indexOf("Win")!=-1) { 421 os = "Windows"; 422 bundlename = '#win-bundle'; 423 $toolslink = $('#win-tools'); 424 } else if (navigator.appVersion.indexOf("Mac")!=-1) { 425 os = "Mac"; 426 bundlename = '#mac-bundle'; 427 $toolslink = $('#mac-tools'); 428 } else if (navigator.appVersion.indexOf("Linux")!=-1 && navigator.appVersion.indexOf("Android")==-1) { 429 os = "Linux"; 430 bundlename = '#linux-bundle'; 431 $toolslink = $('#linux-tools'); 432 } 433 434 if (os != undefined) { 435 $('#not-supported').hide(); 436 437 /* set up primary Android Studio download button */ 438 $('.download-bundle-button > .small').html(" for " + os); 439 $('.download-bundle-button').click(function() {return onDownload(this,true,true);}).attr('href', bundlename); 440 } 441 442 443 function onDownload(link, button, bundle) { 444 445 /* set text for download button */ 446 if (button) { 447 $("#downloadForRealz").html($(link).text()); 448 } else { 449 $("#downloadForRealz").html("Download " + $(link).text()); 450 } 451 452 $("#downloadForRealz").attr('bundle', bundle); 453 if (bundle && !button) { 454 $("a#downloadForRealz").attr("name", "#" + $(link).attr('id')); 455 } else { 456 $("a#downloadForRealz").attr("name", $(link).attr('href')); 457 } 458 459 $("#tos").show(); 460 $("#landing").hide(); 461 462 location.hash = "top"; 463 return false; 464 } 465 466 467 function onAgreeChecked() { 468 /* verify that the TOS is agreed */ 469 if ($("input#agree").is(":checked")) { 470 471 /* if downloading the bundle */ 472 if ($("#downloadForRealz").attr('bundle')) { 473 /* construct the name of the link we want */ 474 linkId = $("a#downloadForRealz").attr("name"); 475 /* set the real url for download */ 476 $("a#downloadForRealz").attr("href", $(linkId).attr("href")); 477 } else { 478 $("a#downloadForRealz").attr("href", $("a#downloadForRealz").attr("name")); 479 } 480 481 /* reveal the download button */ 482 $("a#downloadForRealz").removeClass('disabled'); 483 } else { 484 $("a#downloadForRealz").addClass('disabled'); 485 } 486 } 487 488 function onDownloadForRealz(link) { 489 if ($("input#agree").is(':checked')) { 490 location.hash = ""; 491 location.hash = "top"; 492 $("div.sdk-terms").slideUp(); 493 $("h1#tos-header").text('Now downloading...'); 494 $(".sdk-terms-intro").text('You\'ll be redirected to the install instructions in a moment.'); 495 $("#sdk-terms-form").fadeOut('slow', function() { 496 setTimeout(function() { 497 if ($("#downloadForRealz").attr('bundle') == 'true') { 498 // User downloaded the studio Bundle 499 window.location = "/sdk/installing/index.html?pkg=studio"; 500 } else { 501 // User downloaded the SDK Tools 502 window.location = "/sdk/installing/index.html?pkg=tools"; 503 } 504 }, 3000); 505 }); 506 ga('send', 'event', 'SDK', 'IDE and Tools', $("#downloadForRealz").html()); 507 return true; 508 } else { 509 return false; 510 } 511 } 512 513 $(window).hashchange( function(){ 514 if (location.hash == "") { 515 location.reload(); 516 } 517 }); 518 519</script> 520 521 522 523</div><!-- end the wrapper used for relative/absolute positions --> 524<?cs # THIS DIV WAS OPENED IN INDEX.JD ?> 525 526 527 528 529 <?cs else ?> <?cs # end if online ?> 530 531 <?cs if:sdk.preview ?><?cs # it's preview offline docs ?> 532 <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming 533 Android 3.0 release, to give you a head-start on developing applications for it. 534 </p> 535 536 <p>See the <a 537 href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information 538 about how to set up the preview SDK and get started.</p> 539 <style type="text/css"> 540 .non-preview { display:none; } 541 </style> 542 543 <?cs else ?><?cs # it's normal offline docs ?> 544 545 <?cs ######## HERE IS THE JD DOC CONTENT FOR OFFLINE ######### ?> 546 <?cs call:tag_list(root.descr) ?> 547 <style type="text/css"> 548 body .offline { display:block; } 549 body .online { display:none; } 550 </style> 551 <script> 552 $('.reqs').show(); 553 </script> 554 <?cs /if ?> 555 556 <?cs /if ?> <?cs # end if/else online ?> 557 558<?cs /if ?> <?cs # end if/else NDK ?> 559 560<?cs /if ?> <?cs # end if/else redirect ?> 561 562 563</div><!-- end jd-content --> 564 565<?cs if:!sdk.redirect ?> 566<?cs include:"footer.cs" ?> 567<?cs /if ?> 568 569</div><!-- end g-unit --> 570 571<?cs include:"trailer.cs" ?> 572 573<!-- Start of Tag --> 574<script type="text/javascript"> 575var axel = Math.random() + ""; 576var a = axel * 10000000000000; 577document.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>'); 578</script> 579<noscript> 580<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> 581</noscript> 582<!-- End of Tag --> 583</body> 584</html> 585 586 587 588