blob: d4b0af24623c7396c1fb6813588ee7ee11afb918 [file] [log] [blame]
<?cs include:"doctype.cs" ?>
<?cs include:"macros.cs" ?>
<?cs include:"../../../../frameworks/base/docs/html/sdk/sdk_vars.cs" ?>
<html<?cs if:devsite ?> devsite<?cs /if ?>>
<?cs if:sdk.redirect ?>
<head>
<title>Redirecting...</title>
<meta http-equiv="refresh" content="0;url=<?cs var:toroot ?>sdk/<?cs
if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
else ?>index.html<?cs /if ?>">
</head>
<?cs else ?>
<?cs include:"head_tag.cs" ?>
<?cs /if ?>
<body class="gc-documentation
<?cs if:(guide||develop||training||reference||tools||sdk) ?>develop<?cs
elif:design ?>design<?cs
elif:distribute ?>distribute<?cs
/if ?>" itemscope itemtype="http://schema.org/CreativeWork">
<a name="top"></a>
<?cs include:"header.cs" ?>
<div <?cs if:fullpage
?><?cs else
?>class="col-13" id="doc-col"<?cs /if ?> >
<?cs if:sdk.redirect ?>
<div class="g-unit">
<div id="jd-content">
<p>Redirecting to
<a href="<?cs var:toroot ?>sdk/<?cs
if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
else ?>index.html<?cs /if ?>"><?cs
if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs
else ?>Download the SDK<?cs /if ?>
</a> ...</p>
<?cs else ?>
<?cs # else, if NOT redirect ...
#
#
# The following is for SDK/NDK pages
#
#
?>
<?cs if:header.hide ?><?cs else ?>
<h1 itemprop="name"><?cs var:page.title ?></h1>
<?cs /if ?>
<div id="jd-content" itemprop="description">
<?cs if:sdk.not_latest_version ?>
<div class="special">
<p><strong>This is NOT the current Android SDK release.</strong></p>
<p><a href="/sdk/index.html">Download the current Android SDK</a></p>
</div>
<?cs /if ?>
<?cs if:ndk ?>
<?cs #
#
#
#
#
#
#
# the following is for the NDK
#
# (nested in if/else redirect)
#
#
#
#
?>
<table class="download" id="download-table">
<tr>
<th>Platform</th>
<th>Package</th>
<th style="white-space:nowrap">Size (Bytes)</th>
<th>SHA1 Checksum</th>
</tr>
<tr>
<td>Windows 32-bit</td>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.win32_download ?>"><?cs var:ndk.win32_download ?></a>
</td>
<td><?cs var:ndk.win32_bytes ?></td>
<td><?cs var:ndk.win32_checksum ?></td>
</tr>
<!-- <tr>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/ndk/<?cs var:ndk.win32.legacy_download ?>"><?cs var:ndk.win32.legacy_download ?></a>
</td>
<td><?cs var:ndk.win32.legacy_bytes ?></td>
<td><?cs var:ndk.win32.legacy_checksum ?></td>
</tr> -->
<tr>
<td>Windows 64-bit</td>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.win64_download ?>"><?cs var:ndk.win64_download ?></a>
</td>
<td><?cs var:ndk.win64_bytes ?></td>
<td><?cs var:ndk.win64_checksum ?></td>
</tr>
<!-- <tr>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.win64.legacy_download ?>"><?cs var:ndk.win64.legacy_download ?></a>
</td>
<td><?cs var:ndk.win64.legacy_bytes ?></td>
<td><?cs var:ndk.win64.legacy_checksum ?></td>
</tr> -->
<!-- (this item is deprecated)
<tr>
<td>Mac OS X 32-bit</td>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.mac32_download ?>"><?cs var:ndk.mac32_download ?></a>
</td>
<td><?cs var:ndk.mac32_bytes ?></td>
<td><?cs var:ndk.mac32_checksum ?></td>
</tr> -->
<!-- (this item is deprecated)
<tr>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.mac32.legacy_download ?>"><?cs var:ndk.mac32.legacy_download ?></a>
</td>
<td><?cs var:ndk.mac32.legacy_bytes ?></td>
<td><?cs var:ndk.mac32.legacy_checksum ?></td>
</tr> -->
<td>Mac OS X 64-bit</td>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.mac64_download ?>"><?cs var:ndk.mac64_download ?></a>
</td>
<td><?cs var:ndk.mac64_bytes ?></td>
<td><?cs var:ndk.mac64_checksum ?></td>
</tr>
<!-- <tr>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.mac64.legacy_download ?>"><?cs var:ndk.mac64.legacy_download ?></a>
</td>
<td><?cs var:ndk.mac64.legacy_bytes ?></td>
<td><?cs var:ndk.mac64.legacy_checksum ?></td>
</tr> -->
<!-- <tr>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.linux32.legacy_download ?>"><?cs var:ndk.linux32.legacy_download ?></a>
</td>
<td><?cs var:ndk.linux32.legacy_bytes ?></td>
<td><?cs var:ndk.linux32.legacy_checksum ?></td>
</tr> -->
<tr>
<td>Linux 64-bit (x86)</td>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.linux64_download ?>"><?cs var:ndk.linux64_download ?></a>
</td>
<td><?cs var:ndk.linux64_bytes ?></td>
<td><?cs var:ndk.linux64_checksum ?></td>
</tr>
<!-- <tr>
<td>
<a onClick="return onDownload(this)" data-modal-toggle="ndk_tos"
href="//dl.google.com/android/repository/<?cs var:ndk.linux64.legacy_download ?>"><?cs var:ndk.linux64.legacy_download ?></a>
</td>
<td><?cs var:ndk.linux64.legacy_bytes ?></td>
<td><?cs var:ndk.linux64.legacy_checksum ?></td>
</tr> -->
</table>
<?cs ######## HERE IS THE JD DOC CONTENT ######### ?>
<?cs call:tag_list(root.descr) ?>
<?cs ######## The NDK version of the download script ######### ?>
<script>
function onDownload(link) {
$("#downloadForRealz").html("Download " + $(link).text());
$("#downloadForRealz").attr('href',$(link).attr('href'));
return false;
}
function onAgreeChecked() {
if ($("input#agree").is(":checked")) {
$("a#downloadForRealz").removeClass('disabled');
} else {
$("a#downloadForRealz").addClass('disabled');
}
}
function onDownloadForRealz(link) {
if ($("input#agree").is(':checked')) {
$("div.sdk-terms").slideUp();
$("h2#tos-header").text('Now downloading...');
$(".sdk-terms-intro").text('Your download is in progress.');
$("#sdk-terms-form").fadeOut('slow', function() {
setTimeout(function() {
// close the dialog
$('#ndk_tos').trigger('modal-close');
// reload to refresh the tos or optionally forward the user
location.reload();
}, 3000);
});
ga('send', 'event', 'SDK', 'NDK tools', $("#downloadForRealz").html());
return true;
} else {
return false;
}
}
$(window).hashchange( function(){
if (location.hash == "") {
location.reload();
}
});
</script>
<?cs else ?>
<?cs # end if NDK ...
#
#
#
#
#
#
# the following is for the SDK
#
# (nested in if/else redirect and if/else NDK)
#
#
#
#
?>
<?cs if:android.whichdoc == "online" ?>
<?cs ######## HERE IS THE JD DOC CONTENT FOR ONLINE ######### ?>
<?cs call:tag_list(root.descr) ?>
<section id="downloads" class="dac-section dac-small">
<div class="wrap">
<h2 class="norule">Start using Android Studio today</h2>
<p>Android Studio includes all the tools you need to build apps for Android.</p>
<div style="float:left;margin-right:40px;width:auto;">
<p>
<a class="landing-button green download-bundle-button"
data-modal-toggle="studio_tos">Download Android Studio 2.0<br>
<span class="small"></span></a>
</p>
</div>
<div style="float:left;width:auto;margin-bottom:40px">
<ul class="nolist" style="text-transform: uppercase;margin:8px 0">
<li>Version: <?cs var:studio.version ?></li>
<li>Release date: <?cs var:studio.release.date ?></li>
</ul>
</div>
<h4 style="clear:left;margin-top:40px">Select a different platform</h4>
<table class="download">
<tr>
<th>Platform</th>
<th>Android Studio package</th>
<th>Size</th>
<th>SHA-1 checksum</th>
</tr>
<tr>
<td rowspan="3">Windows</td>
<td>
<a onclick="return onDownload(this,false,true)" id="win-bundle" data-modal-toggle="studio_tos"
href="//dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_exe_download ?>"
><?cs var:studio.win_bundle_exe_download ?></a><br>
Includes Windows installer (recommended)
</td>
<td id="win-bundle-size"><?cs call:size_in_mb(studio.win_bundle_exe_bytes) ?> MB
<br>(<?cs var:studio.win_bundle_exe_bytes ?> bytes)</td>
<td><?cs var:studio.win_bundle_exe_checksum ?></td>
</tr>
<tr>
<!-- blank TD from Windows rowspan -->
<td>
<a onclick="return onDownload(this,false,true)" id="win-bundle-zip" data-modal-toggle="studio_tos"
href="//dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
><?cs var:studio.win_bundle_download ?></a><br>
No Windows installer
</td>
<td><?cs call:size_in_mb(studio.win_bundle_bytes) ?> MB
<br>(<?cs var:studio.win_bundle_bytes ?> bytes)</td>
<td><?cs var:studio.win_bundle_checksum ?></td>
</tr>
<tr>
<!-- blank TD from Windows rowspan -->
<td>
<a onclick="return onDownload(this,false,true)" id="win-bundle-notools" data-modal-toggle="studio_tos"
href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_notools_exe_download ?>"
><?cs var:studio.win_notools_exe_download ?></a><br>
Includes Windows installer but no SDK tools
</td>
<td><?cs call:size_in_mb(studio.win_notools_exe_bytes) ?> MB
<br>(<?cs var:studio.win_notools_exe_bytes ?> bytes)</td>
<td><?cs var:studio.win_notools_exe_checksum ?></td>
</tr>
<tr>
<td><nobr>Mac OS X</nobr></td>
<td>
<a onclick="return onDownload(this,false,true)" id="mac-bundle" data-modal-toggle="studio_tos"
href="//dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.mac_bundle_download ?>"
><?cs var:studio.mac_bundle_download ?></a>
</td>
<td id="mac-bundle-size"><?cs call:size_in_mb(studio.mac_bundle_bytes) ?> MB
<br>(<?cs var:studio.mac_bundle_bytes ?> bytes)</td>
<td><?cs var:studio.mac_bundle_checksum ?></td>
</tr>
<tr>
<td>Linux</td>
<td>
<a onclick="return onDownload(this,false,true)" id="linux-bundle" data-modal-toggle="studio_tos"
href="//dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
><?cs var:studio.linux_bundle_download ?></a>
</td>
<td id="linux-bundle-size"><?cs call:size_in_mb(studio.linux_bundle_bytes) ?> MB
<br>(<?cs var:studio.linux_bundle_bytes ?> bytes)</td>
<td><?cs var:studio.linux_bundle_checksum ?></td>
</tr>
</table>
<h4 class="norule" style="margin-top:40px">Get just the SDK tools</h4>
<p>If you do not need Android Studio, you can download the basic
Android SDK tools below.</p>
<table class="download">
<tr>
<th>Platform</th>
<th>SDK tools package</th>
<th>Size</th>
<th>SHA-1 checksum</th>
</tr>
<tr>
<td rowspan="2">Windows</td>
<td>
<a onclick="return onDownload(this)" id="win-tools" data-modal-toggle="studio_tos"
href="//dl.google.com/android/<?cs
var:sdk.win_installer
?>"><?cs var:sdk.win_installer ?></a><br>
Includes Windows installer
</td>
<td><?cs call:size_in_mb(sdk.win_installer_bytes) ?> MB
<br>(<?cs var:sdk.win_installer_bytes ?> bytes)</td>
<td><?cs var:sdk.win_installer_checksum ?></td>
</tr>
<tr>
<!-- blank TD from Windows rowspan -->
<td>
<a onclick="return onDownload(this)" id="win-tools2" data-modal-toggle="studio_tos"
href="//dl.google.com/android/<?cs var:sdk.win_download
?>"><?cs var:sdk.win_download ?></a><br>
No Windows installer
</td>
<td><?cs call:size_in_mb(sdk.win_bytes) ?> MB
<br>(<?cs var:sdk.win_bytes ?> bytes)</td>
<td><?cs var:sdk.win_checksum ?></td>
</tr>
<tr>
<td><nobr>Mac OS X</nobr></td>
<td>
<a onclick="return onDownload(this)" id="mac-tools" data-modal-toggle="studio_tos"
href="//dl.google.com/android/<?cs
var:sdk.mac_download
?>"><?cs var:sdk.mac_download ?></a>
</td>
<td><?cs call:size_in_mb(sdk.mac_bytes) ?> MB
<br>(<?cs var:sdk.mac_bytes ?> bytes)</td>
<td><?cs var:sdk.mac_checksum ?></td>
</tr>
<tr>
<td>Linux</td>
<td>
<a onclick="return onDownload(this)" id="linux-tools" data-modal-toggle="studio_tos"
href="//dl.google.com/android/<?cs
var:sdk.linux_download
?>"><?cs var:sdk.linux_download ?></a>
</td>
<td><?cs call:size_in_mb(sdk.linux_bytes) ?> MB
<br>(<?cs var:sdk.linux_bytes ?> bytes)</td>
<td><?cs var:sdk.linux_checksum ?></td>
</tr>
</table>
<p>
Also see the <a href="<?cs var:toroot ?>tools/sdk/tools-notes.html">SDK
tools release notes</a>.</p>
</div><!-- end wrap -->
</section>
<?cs ######## The Android Studio version of the download script ######### ?>
<script>
var os;
var bundlename;
var $toolslink;
if (navigator.appVersion.indexOf("Mobile")!=-1) {
// Do nothing for any "mobile" user agent
} else if (navigator.appVersion.indexOf("Win")!=-1) {
os = "Windows";
bundlename = '#win-bundle';
$toolslink = $('#win-tools');
} else if (navigator.appVersion.indexOf("Mac")!=-1) {
os = "Mac";
bundlename = '#mac-bundle';
$toolslink = $('#mac-tools');
} else if (navigator.appVersion.indexOf("Linux")!=-1 && navigator.appVersion.indexOf("Android")==-1) {
os = "Linux";
bundlename = '#linux-bundle';
$toolslink = $('#linux-tools');
}
if (os != undefined) {
$('#not-supported').hide();
/* set up primary Android Studio download button */
idname = bundlename + "-size";
sizeMB = $(idname).text().split(' MB')[0];
$('.download-bundle-button > .small').html(" for " + os + " <em>(" + sizeMB + " MB)</em>");
$('.download-bundle-button').click(function() {return onDownload(this,true,true);}).attr('href', bundlename);
}
function onDownload(link, button, bundle) {
/* set text for download button */
if (button) {
$("#downloadForRealz").html($(link).text());
} else {
$("#downloadForRealz").html("Download " + $(link).text());
}
$("#downloadForRealz").attr('bundle', bundle);
if (bundle && !button) {
$("a#downloadForRealz").attr("name", "#" + $(link).attr('id'));
} else {
$("h2#tos-header").text('Download the Android SDK Tools');
$("a#downloadForRealz").attr("name", $(link).attr('href'));
}
return false;
}
function onAgreeChecked() {
/* verify that the TOS is agreed */
if ($("input#agree").is(":checked")) {
/* if downloading the bundle */
if ($("#downloadForRealz").attr('bundle')) {
/* construct the name of the link we want */
linkId = $("a#downloadForRealz").attr("name");
/* set the real url for download */
$("a#downloadForRealz").attr("href", $(linkId).attr("href"));
} else {
$("a#downloadForRealz").attr("href", $("a#downloadForRealz").attr("name"));
}
/* reveal the download button */
$("a#downloadForRealz").removeClass('disabled');
} else {
$("a#downloadForRealz").addClass('disabled');
}
}
function onDownloadForRealz(link) {
if ($("input#agree").is(':checked')) {
$("div.sdk-terms").slideUp();
if ($("#downloadForRealz").attr('bundle') == 'true') {
$("h2#tos-header").text('Now downloading Android Studio!');
$(".sdk-terms-intro").text('Redirecting to the install instructions...');
$("#sdk-terms-form").slideUp(function() {
setTimeout(function() {
window.location = "/sdk/installing/index.html";
}, 2000);
});
} else {
$("h2#tos-header").text('Now downloading the Android SDK Tools!');
$(".sdk-terms-intro").html("<p>Because you've chosen to download " +
"only the Android SDK tools (and not Android Studio), there are no " +
"setup procedures to follow.</p><p>For information about how to " +
"keep your SDK tools up to date, refer to the " +
"<a href='/tools/help/sdk-manager.html'>SDK Manager</a> guide.</p>");
$("#sdk-terms-form").slideUp();
}
ga('send', 'event', 'SDK', 'IDE and Tools', $("#downloadForRealz").html());
return true;
} else {
return false;
}
}
$(window).hashchange( function(){
if (location.hash == "") {
location.reload();
}
});
</script>
<?cs # THIS DIV WAS OPENED IN INDEX.JD ?>
<?cs else ?> <?cs # end if online ?>
<?cs if:sdk.preview ?><?cs # it's preview offline docs ?>
<p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming
Android 3.0 release, to give you a head-start on developing applications for it.
</p>
<p>See the <a
href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information
about how to set up the preview SDK and get started.</p>
<style type="text/css">
.non-preview { display:none; }
</style>
<?cs else ?><?cs # it's normal offline docs ?>
<?cs ######## HERE IS THE JD DOC CONTENT FOR OFFLINE ######### ?>
<?cs call:tag_list(root.descr) ?>
<style type="text/css">
body .offline { display:block; }
body .online { display:none; }
</style>
<script>
$('.reqs').show();
</script>
<?cs /if ?>
<?cs /if ?> <?cs # end if/else online ?>
<?cs /if ?> <?cs # end if/else NDK ?>
<?cs /if ?> <?cs # end if/else redirect ?>
</div><!-- end jd-content -->
<?cs if:!sdk.redirect ?>
<?cs include:"footer.cs" ?>
<?cs /if ?>
</div><!-- end g-unit -->
<?cs include:"trailer.cs" ?>
<script src="https://developer.android.com/ytblogger_lists_unified.js?v=17" type="text/javascript"></script>
<script src="/jd_lists_unified.js?v=17" type="text/javascript"></script>
<script src="/jd_extras.js?v=17" type="text/javascript"></script>
<script src="/jd_collections.js?v=17" type="text/javascript"></script>
<script src="/jd_tag_helpers.js?v=17" type="text/javascript"></script>
<!-- Start of Tag -->
<script type="text/javascript">
var axel = Math.random() + "";
var a = axel * 10000000000000;
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>');
</script>
<noscript>
<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>
</noscript>
<!-- End of Tag -->
</body>
</html>