1 <?cs include:"doctype.cs" ?> 2 <?cs include:"macros.cs" ?> 3 <html> 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 <link href="<?cs var:toroot ?>assets/android-developer-docs.css" rel="stylesheet" type="text/css" /> 11 </head> 12 <?cs else ?> 13 <?cs include:"head_tag.cs" ?> 14 <?cs /if ?> 15 <body class="gc-documentation" itemscope itemtype="http://schema.org/CreativeWork"> 16 <a name="top"></a> 17 <?cs call:custom_masthead() ?> 18 19 <?cs call:sdk_nav() ?> 20 21 <?cs if:sdk.redirect ?> 22 23 <div class="g-unit"> 24 <div id="jd-content"> 25 <p>Redirecting to 26 <a href="<?cs var:toroot ?>sdk/<?cs 27 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs 28 else ?>index.html<?cs /if ?>"><?cs 29 if:sdk.redirect.path ?><?cs var:sdk.redirect.path ?><?cs 30 else ?>Download the SDK<?cs /if ?> 31 </a> ...</p> 32 33 <?cs else ?> 34 <?cs # else, if NOT redirect ... 35 # 36 # 37 # The following is for SDK/NDK pages 38 # 39 # 40 ?> 41 42 <div class="g-unit" id="doc-content" > 43 <div id="jd-header" class="guide-header" > 44 <span class="crumb"> </span> 45 <h1 itemprop="name"><?cs if:android.whichdoc == "online" ?>Download the <?cs /if ?><?cs 46 var:page.title ?></h1> 47 </div> 48 49 <div id="jd-content" itemprop="description"> 50 51 <?cs if:sdk.not_latest_version ?> 52 <div class="special"> 53 <p><strong>This is NOT the current Android SDK release.</strong></p> 54 <p><a href="/sdk/index.html">Download the current Android SDK</a></p> 55 </div> 56 <?cs /if ?> 57 58 59 <?cs if:ndk ?> 60 <?cs # 61 # 62 # 63 # 64 # 65 # 66 # 67 # the following is for the NDK 68 # 69 # (nested in if/else redirect) 70 # 71 # 72 # 73 # 74 ?> 75 76 <p>The Android NDK is a companion tool to the Android SDK that lets you build 77 performance-critical portions of your apps in native code. It provides headers and 78 libraries that allow you to build activities, handle user input, use hardware sensors, 79 access application resources, and more, when programming in C or C++. If you write 80 native code, your applications are still packaged into an .apk file and they still run 81 inside of a virtual machine on the device. The fundamental Android application model 82 does not change.</p> 83 84 <p>Using native code does not result in an automatic performance increase, 85 but always increases application complexity. If you have not run into any limitations 86 using the Android framework APIs, you probably do not need the NDK. Read <a 87 href="<?cs var:toroot ?>sdk/ndk/overview.html">What is the NDK?</a> for more information about what 88 the NDK offers and whether it will be useful to you. 89 </p> 90 <p> 91 The NDK is designed for use <em>only</em> in conjunction with the 92 Android SDK. If you have not already installed and setup the <a 93 href="http://developer.android.com/sdk/index.html">Android SDK</a>, please 94 do so before downloading the NDK. 95 </p> 96 97 <table class="download"> 98 <tr> 99 <th>Platform</th> 100 <th>Package</th> 101 <th>Size</th> 102 <th>MD5 Checksum</th> 103 </tr> 104 <tr> 105 <td>Windows</td> 106 <td> 107 <a href="http://dl.google.com/android/ndk/<?cs var:ndk.win_download ?>"><?cs var:ndk.win_download ?></a> 108 </td> 109 <td><?cs var:ndk.win_bytes ?> bytes</td> 110 <td><?cs var:ndk.win_checksum ?></td> 111 </tr> 112 <tr class="alt-color"> 113 <td>Mac OS X (intel)</td> 114 <td> 115 <a href="http://dl.google.com/android/ndk/<?cs var:ndk.mac_download ?>"><?cs var:ndk.mac_download ?></a> 116 </td> 117 <td><?cs var:ndk.mac_bytes ?> bytes</td> 118 <td><?cs var:ndk.mac_checksum ?></td> 119 </tr> 120 <tr> 121 <td>Linux 32/64-bit (x86)</td> 122 <td> 123 <a href="http://dl.google.com/android/ndk/<?cs var:ndk.linux_download ?>"><?cs var:ndk.linux_download ?></a> 124 </td> 125 <td><?cs var:ndk.linux_bytes ?> bytes</td> 126 <td><?cs var:ndk.linux_checksum ?></td> 127 </tr> 128 </table> 129 130 <?cs else ?> 131 <?cs # end if NDK ... 132 # 133 # 134 # 135 # 136 # 137 # 138 # the following is for the SDK 139 # 140 # (nested in if/else redirect and if/else NDK) 141 # 142 # 143 # 144 # 145 ?> 146 <?cs if:android.whichdoc == "online" ?> 147 148 <p>Welcome Developers! If you are new to the Android SDK, please read the steps below, for an 149 overview of how to set up the SDK. </p> 150 151 <p>If you're already using the Android SDK, you should 152 update to the latest tools or platform using the <em>Android SDK and AVD Manager</em>, rather than 153 downloading a new SDK starter package. See <a 154 href="<?cs var:toroot ?>sdk/adding-components.html">Adding SDK Components</a>.</p> 155 156 <table class="download"> 157 <tr> 158 <th>Platform</th> 159 <th>Package</th> 160 <th>Size</th> 161 <th>MD5 Checksum</th> 162 </tr> 163 <tr> 164 <td rowspan="2">Windows</td> 165 <td> 166 <a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_download 167 ?>"><?cs var:sdk.win_download ?></a> 168 </td> 169 <td><?cs var:sdk.win_bytes ?> bytes</td> 170 <td><?cs var:sdk.win_checksum ?></td> 171 </tr> 172 <tr> 173 <!-- blank TD from Windows rowspan --> 174 <td> 175 <a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.win_installer 176 ?>"><?cs var:sdk.win_installer ?></a> (Recommended) 177 </td> 178 <td><?cs var:sdk.win_installer_bytes ?> bytes</td> 179 <td><?cs var:sdk.win_installer_checksum ?></td> 180 </tr> 181 <tr class="alt-color"> 182 <td>Mac OS X (intel)</td> 183 <td> 184 <a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.mac_download 185 ?>"><?cs var:sdk.mac_download ?></a> 186 </td> 187 <td><?cs var:sdk.mac_bytes ?> bytes</td> 188 <td><?cs var:sdk.mac_checksum ?></td> 189 </tr> 190 <tr> 191 <td>Linux (i386)</td> 192 <td> 193 <a onclick="onDownload(this)" href="http://dl.google.com/android/<?cs var:sdk.linux_download 194 ?>"><?cs var:sdk.linux_download ?></a> 195 </td> 196 <td><?cs var:sdk.linux_bytes ?> bytes</td> 197 <td><?cs var:sdk.linux_checksum ?></td> 198 </tr> 199 </table> 200 201 202 <div id="next-steps" style="display:none"> 203 <p><b><em><span id="filename"></span></em> is now downloading. Follow the steps below to 204 get started.</b></p> 205 </div> 206 207 <script type="text/javascript"> 208 function onDownload(link) { 209 $("#filename").text($(link).html()); 210 $("#next-steps").show(); 211 } 212 </script> 213 <?cs else ?> <?cs # end if online ?> 214 215 <?cs if:sdk.preview ?><?cs # it's preview offline docs ?> 216 <p>Welcome developers! We are pleased to provide you with a preview SDK for the upcoming 217 Android 3.0 release, to give you a head-start on developing applications for it. 218 </p> 219 220 <p>See the <a 221 href="<?cs var:toroot ?>sdk/preview/start.html">Getting Started</a> document for more information 222 about how to set up the preview SDK and get started.</p> 223 <style type="text/css"> 224 .non-preview { display:none; } 225 </style> 226 227 <?cs else ?><?cs # it's normal offline docs ?> 228 <style type="text/css"> 229 p.offline-message { display:block; } 230 p.online-message { display:none; } 231 </style> 232 <?cs /if ?> 233 234 <?cs /if ?> <?cs # end if/else online ?> 235 236 <?cs /if ?> <?cs # end if/else NDK ?> 237 238 <?cs /if ?> <?cs # end if/else redirect ?> 239 240 <?cs call:tag_list(root.descr) ?> 241 242 </div><!-- end jd-content --> 243 244 <?cs if:!sdk.redirect ?> 245 <?cs include:"footer.cs" ?> 246 <?cs /if ?> 247 248 </div><!-- end g-unit --> 249 250 <?cs include:"trailer.cs" ?> 251 252 </body> 253 </html> 254 255 256 257