page.title=应用设备 OTA 映像 @jd:body <div style="position:relative; min-height:600px"> <div class="wrap" id="tos" style="position:absolute;display:none;width:inherit;"> <p class="sdk-terms-intro">在下载和安装 Android Preview SDK 的组件之前,您必须同意下列条款和条件。 </p> <h2 class="norule">条款和条件</h2> <div class="sdk-terms" onfocus="this.blur()" style="width:678px"> 本协议是 Android SDK Preview 许可协议(以下称为“许可协议”)。 1. 简介 1.1 Android SDK Preview(在本许可协议中简称为“Preview”,具体包括 Android 系统文件、封装 API 以及 Preview 库文件(若可用))依据本许可协议的条款授权您使用。本许可协议在您与 Google 之间就您对“Preview”的使用构成具有法律约束力的合约。 1.2 “Android”是指以 Android 开源项目(项目网址为 http://source.android.com/,其内容会不时更新)名义提供、面向设备的 Android 软件栈。 1.3 “Android 兼容”是指 (i) 符合与 Android 兼容性定义文档(可在 Android 兼容性网站 http://source.android.com/compatibility 上找到,并可能会不时更新)标准的任何 Android 实现;并 (ii) 成功通过 Android 兼容性测试套件 (CTS) 的测试。 1.4“Google”是指 Google Inc.,是一家特拉华州公司,主要营业地位于:1600 Amphitheatre Parkway, Mountain View, CA 94043, United States。 2. 接受许可协议 2.1 要使用“Preview”,您必须先同意本许可协议。如果您不接受本许可协议,则不得使用“Preview”。 2.2 点击接受并/或使用“Preview”,即表示您特此同意本许可协议的条款。 2.3 如果依照美国或其他国家/地区(包括您居住或您使用“Preview”所在的国家/地区)的法律,您被禁止获取“Preview”,则您不得使用“Preview”,也不得接受本许可协议。 2.4 如果您将在贵公司或组织内部使用“Preview”,则您同意代表您的雇主或其他实体接受本许可协议的约束,并且您表示并保证您拥有完全的合法授权令您的雇主或上述实体受本许可协议的约束。如果您不具备必要的授权,则不得代表您的雇主或其他实体接受本许可协议或使用“Preview”。 3. Google “Preview”许可 3.1 Google 依据本许可协议的条款授予您有限的、全球性、免版税、不可转让、非独占性且不可次级许可的“Preview”使用许可,其用途仅限针对 Android 的兼容实现来开发应用。 3.2 您不得使用此“Preview”来开发适用于其他平台(包括 Android 的非兼容实现)的应用或开发其他 SDK。您当然可以随意开发适用于其他平台(包括 Android 的非兼容实现)的应用,前提是不使用此“Preview”来进行此类开发。 3.3 您同意 Google 或第三方拥有“Preview”中存在或与其有关联的全部合法权利、所有权和利益,包括“Preview”中存在的任何知识产权。“知识产权”是指根据专利法、版权法、商业机密法、商标法享有的任何及全部权利,以及其他任何及全部专有权利。Google 保留所有未明确授予您的权利。 3.4 您不得将“Preview”用于本许可协议未明确允许的任何用途。除适用第三方许可所要求的范围外,您不得:(a) 对“Preview”或“Preview”的任何部分进行复制(备份用途除外)、修改、改编、再分发、反编译、逆向工程、反汇编或创建其衍生品;或 (b) 将“Preview”的任何部分加载到移动手持终端或除个人计算机之外的任何其他硬件设备上,将“Preview”的任何部分与其他软件合并,或者发行任何融入“Preview”某一部分的软件或设备。 3.5 对于依据开源软件许可授权的“Preview”组件,其使用、复制和分发仅受该开源软件许可条款的制约,不受本许可协议的约束。您同意在依照被授予的所有权利作为被许可方期间,在遵守此类开源软件许可协议方面始终保持良好的信誉,并避免进行任何可能导致终止、暂停或违反此类权利的行动。 3.6 您同意 Google 所提供“Preview”的形式和性质可随时发生变更,而无需事先通知您,并且未来的“Preview”版本可能会与在之前的“Preview”版本上开发的应用不兼容。您同意 Google 可单方面决定在未事先通知您的情况下全面停止(永久性或暂时性)向您或用户提供“Preview”(或“Preview”内的任何功能)。 3.7 本许可协议内没有任何条款授予您使用 Google 的任何商品名、商标、服务标志、徽标、域名或其他独特品牌特征的权利。 3.8 您同意您不会移除、遮盖或篡改“Preview”上可能贴有或“Preview”内可能包含的任何专有权利声明(包括版权声明和商标声明)。 4. 您对“Preview”的使用 4.1 Google 同意本许可协议中的任何条款均未授予 Google 从您(或您的许可方)处获取您依照本许可协议使用“Preview”开发的任何软件应用中存在或与其相关的权利、所有权或利益,包括这些应用中存在的任何知识产权。 4.2 您同意只出于 (a) 本许可协议和 (b) 相关管辖区域内任何适用法律、法规或公认惯例或准则(包括有关向美国或其他相关国家/地区出口数据或软件或从美国或其他相关国家/地区进口数据或软件的任何法律)所允许的目的而使用“Preview”和编写应用。 4.3 您同意,如果您使用“Preview”开发应用,您将会保护用户的隐私权和合法权利。如果用户向您提供用户名、密码或其他登录信息或个人信息,您必须确保用户知晓这些信息将供您的应用使用,并且您必须为这些用户提供足以满足法律要求的隐私声明和保护。如果您的应用存储由用户提供的个人信息或敏感信息,其存储方式必须安全。如果用户向您提供 Google 帐户信息,您的应用只能在用户允许时出于用户所许可的有限目的使用该信息访问用户的 Google 帐户。 4.4 您同意您不会利用“Preview”从事任何干扰、中断、损坏或以未经授权方式访问 Google 或任何第三方的服务器、网络或其他财产或服务的 Activity(包括应用的开发或分发)。 4.5 您同意您对通过 Android 和/或 Android 应用创建、传输或显示的任何数据、内容或资源以及您的行为所导致的后果(包括 Google 可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。 4.6 您同意您为违反本许可协议、任何适用的第三方合约或服务条款或任何适用法律或法规下的义务以及任何上述违规行为所导致的后果(包括 Google 或任何第三方可能遭受的任何损失或损害)负全责(Google 在上述方面对您或任何第三方不承担任何责任)。 4.7 “Preview”正在开发中,您的测试和反馈是开发过程的重要环节。使用“Preview”,即表示您承认某些功能仍在开发实现之中,您不应期望“Preview”具备稳定版本的全部功能。您同意不使用此“Preview”公开发布或发运任何应用,因为此“Preview”在 Android SDK 正式发行之后将不再受支持。 5. 您的开发者凭据 5.1 您同意,对于 Google 可能向您发放或可能由您自行选择的任何开发者凭据,您有责任保持其机密性,并且您对以您的开发者凭据名义开发的所有应用负全责。 6. 隐私权和信息 6.1 为持续创新和改进“Preview”,Google 可能会从软件收集某些使用统计数据,包括但不限于唯一标识符、关联的 IP 地址、软件的版本号以及有关软件使用了“Preview”中哪些工具和/或服务及其使用方式的信息。在收集任何上述信息之前,“Preview”都会通知您并征求您的同意。如果您拒绝同意,我们将不会收集这些信息。 6.2 我们会对收集的数据进行汇总调查,以便改进“Preview”,并会按照 Google 的隐私政策(网址为 http://www.google.com/policies/privacy/)维护数据。 7. 第三方应用 7.1 如果您使用“Preview”运行由第三方开发或访问由第三方提供的数据、内容或资源的应用,您同意 Google 对这些应用、数据、内容或资源不承担任何责任。您理解,您通过上述第三方应用可能访问到的所有数据、内容或资源由其提供者负全责,Google 对您因使用或访问其中任何第三方应用、数据、内容或资源而遭受的任何损失或损害不承担任何责任。 7.2 您应知晓,通过此类第三方应用提供给您的数据、内容和资源可能受提供商(或代表他们的其他人员或公司)拥有的知识产权的保护。除非相关所有者明确给予许可,否则您不得修改、出租、租赁、借出、出售、分发这些数据、内容或资源(的全部或部分),或以其为基础创建衍生品。 7.3 您承认您对上述第三方应用、数据、内容或资源的使用可能受到您与相关第三方之间单独订立的条款的制约。 8. 使用 Google API 8.1 Google API 8.1.1 如果您使用任何 API 从 Google 检索数据,即表示您承认这些数据可能受到 Google 或这些数据提供方(或代表他们的其他人员或公司)拥有的知识产权的保护。您对任何上述 API 的使用可能受到附加服务条款的制约。除非相关服务条款允许,否则您不得修改、出租、租赁、借出、出售、分发这些数据(全部或部分),或以其为基础创建衍生品。 8.1.2 如果您使用任何 API 从 Google 检索用户数据,即表示您承认并同意您只有在征得用户明确同意时才会检索数据,并且只能在用户允许时出于用户许可的有限目的检索数据。 9. 终止许可协议 9.1 本许可协议将持续有效,直至您或 Google 按以下规定终止本协议。 9.2 如果您想终止本许可协议,可通过停止使用“Preview”以及任何相关开发者凭据予以终止。 9.3 Google 有权在向您作出通知后,有理由或无理由地随时终止与您订立的这份许可协议。 9.4 本许可协议将在下列情况下自动终止,而无需另行通知或采取其他行动,以先符合条件者为准: (A) Google 在您居住或使用服务所在国家/地区停止向用户提供“Preview”或“Preview”的某些部分; (B) Google 发行 Android SDK 的最终版本。 9.5 在本许可协议终止时,本许可协议中向您授予的许可将终止,您应立即完全停止使用“Preview”,并且第 10、11、12 和 14 节的条款将无限期继续存在。 10.免责声明 10.1 您明确理解并同意,您使用“Preview”的风险将由您自行承担,并且“Preview”是按“原样”和“现状”提供,Google 不提供任何类型的担保。 10.2 您对“Preview”的使用以及通过使用“Preview”下载或以其他方式获得的任何材料由您自行决定,风险自负,并且对于因此类使用而对您的计算机系统或其他设备造成的任何损害或数据损失由您单方面负责。在不对上文所述予以限制的条件下,您了解“Preview”并非稳定版本,可能存在将导致重大损害的错误、缺陷和安全漏洞,包括无法挽回地完全无法使用您的计算机系统或其他设备。 10.3 Google 进一步明确拒绝任何类型的所有担保和条件,无论明示或暗示,包括但不限于有关适销性、特定用途适用性以及非侵权的暗示担保和条件。 11. 有限责任 11.1 您明确理解并同意,对于您可能遭遇的任何直接、间接、附带、特殊、继发或惩罚性损害(包括任何数据损失),Google 及其子公司和附属公司以及其许可方在任何责任理论下对您概不承担任何责任,无论 Google 或其代表是否已被告知或是否本应知晓发生任何上述损失的可能性。 12. 赔偿 12.1 您同意,在法律所允许的最大限度内,为 Google、其附属公司及其各自的董事、高管、员工和代理商提供辩护,使其免于因下列情况引起或产生的任何及所有索赔、诉讼、起诉或诉讼程序以及任何及所有损失、债务、损害、成本和费用(包括合理的律师费用)而承担责任或遭受损害:(a) 您对“Preview”的使用;(b) 您在“Preview”上开发的任何应用侵犯任何人的任何知识产权或诽谤任何人或侵犯其公开权或隐私权;以及 (c) 您的任何行为有悖于本许可协议 13. 许可协议的更改 13.1 Google 可能会在分发新版本“Preview”时对许可协议做出更改。做出这些更改后,Google 将在提供“Preview”的网站上公布新版本的许可协议。 14. 一般法律条款 14.1 本许可协议构成您与 Google 之间的完整法律协议,管辖您对“Preview”(不包括 Google 可能依据另外的书面协议向您提供的任何服务)的使用,并完全取代您之前与 Google 之间签订的、与“Preview”有关的任何协议。 14.2 您同意,如果 Google 未行使或未强制执行本许可协议包含的任何法定权利或救济(或 Google 在任何适用法律下享有的相关利益),不得视为 Google 正式放弃这些权利,Google 仍可获得这些权利或救济。 14.3 如果任何拥有管辖权的法院将本许可协议的任何条款裁定为无效,则该条款将从本许可协议中删除,而不会影响本许可协议的其余部分。本许可协议的其余条款将继续有效且可强制执行。 14.4 您承认并同意,Google 集团旗下的每一家公司都将成为本许可协议的第三方受益人,并且此类其他公司将有权直接强制执行和依赖本许可协议中任何授予其利益(或支持其权利)的条款。除此之外,任何其他人员或公司均不得成为本许可协议的第三方受益人。 14.5 出口限制。“Preview”受美国出口法律和法规的制约。您必须遵守适用于“Preview”的所有国内和国际出口法律和法规。这些法律包括目的地、最终用户和最终用途方面的限制。 14.6 未经 Google 事先书面批准,您不得擅自转让或转移本许可协议,未经此类批准而试图进行的任何转让均为无效。未经 Google 事先书面批准,您不得委托您依据本许可协议所应承担的责任或义务。 14.7 本许可协议以及您与 Google 依据本许可协议而建立的关系受加利福尼亚州法律管辖,而无论其是否与其他法律条款冲突。您与 Google 同意服从位于加利福尼亚州圣克拉拉县内法院的专属司法管辖权,以解决本许可协议引起的任何法律事务。尽管有上述规定,您同意仍允许 Google 在任何管辖区域申请禁令救济(或同等类型的紧急法律救济)。 </div><!-- sdk terms --> <div id="sdk-terms-form"> <p> <input id="agree" type="checkbox" name="agree" value="1" onclick="onAgreeChecked()" /> <label id="agreeLabel" for="agree">我已阅读并同意上述条款和条件</label> </p> <p><a href="" class="button disabled" id="downloadForRealz" onclick="return onDownloadForRealz(this);"></a></p> </div> </div><!-- end TOS --> <div id="landing"> <p> 本页提供了无线 (OTA) 设备映像的下载链接,并描述了如何手动向设备应用一项 OTA 更新。 此过程可用于恢复通过 Android Beta 计划接收 OTA 更新并且在安装更新后不能启动的设备。 </p> <h2 id="install-ota">安装 OTA 映像</h2> <p></p> <p>将 OTA 软件包安装到设备:</p> <ol> <li>从下表中下载 OTA 设备映像。</li> <li>将设备重新启动为恢复模式。如需有关将 Nexus 设备设为此模式的更多信息,请参阅<a href="https://support.google.com/nexus/answer/4596836">将您的 Nexus 设备恢复为出厂设置</a>。 </li> <li>在设备上,选择 <strong>ADB sideload</strong>。</li> <li>将设备连接到加载了 Android 开发环境并安装了Android 调试桥 (ADB) 工具的计算机。 </li> <li>运行以下命令: <pre>adb sideload <em><ota-package></em></pre> </li> </ol> <h2 id="ota-images">设备 OTA 映像</h2> <table> <tr> <th scope="col">设备</th> <th scope="col">下载/校验和</th> </tr> <tr id="bullhead"> <td>Nexus 5X <br>"bullhead"</td> <td><a href="#top" onclick="onDownload(this)">bullhead-ota-npd35k-b8cfbd80.zip</a><br> MD5:15fe2eba9b01737374196bdf0a792fe9<br> SHA-1:5014b2bba77f9e1a680ac3f90729621c85a14283 </td> </tr> <tr id="shamu"> <td>Nexus 6 <br>"shamu"</td> <td><a href="#top" onclick="onDownload(this)">shamu-ota-npd35k-078e6fa5.zip</a><br> MD5: e8b12f7721c53af9a450f7058928a5fc<br> SHA-1: b7a9b756f84a1d2e482ff9c16749d65f6e51425a </td> </tr> <tr id="angler"> <td>Nexus 6P <br>"angler"</td> <td><a href="#top" onclick="onDownload(this)">angler-ota-npd35k-88457699.zip</a><br> MD5:3fac09fef759dde26e57cb80b20b6477<br> SHA-1:27d6caa786577d8a38b2da5bf94b33b4524a1a1c </td> </tr> <tr id="volantis"> <td>Nexus 9 <br>"volantis"</td> <td><a href="#top" onclick="onDownload(this)">volantis-ota-npd35k-51dbae76.zip</a><br> MD5:58312c4a5971818ef5c77a3f446003da<br> SHA-1: aad9005be33d3e2bab480509a6ab74c3c3b9d921 </td> </tr> <tr id="volantisg"> <td>Nexus 9G <br>"volantisg"</td> <td><a href="#top" onclick="onDownload(this)">volantisg-ota-npd35k-834f047f.zip</a><br> MD5:92b7d1fa252f7394e70f957c72d4aac8<br> SHA-1: b6c057c84d90893630e303cbb60530e20ddb8361 </td> </tr> <tr id="fugu"> <td>Nexus Player <br>"fugu"</td> <td><a href="#top" onclick="onDownload(this)">fugu-ota-npd35k-6ac91298.zip</a><br> MD5:1461622ad53ea842b2722fa7b49b8172<br> SHA-1:409c061668ab270774877d7f3eae44fa48d2b931 </td> </tr> <tr id="ryu"> <td>Pixel C <br>"ryu"</td> <td><a href="#top" onclick="onDownload(this)">ryu-ota-npd35k-a0b2347f.zip</a><br> MD5: c60117f3640cc6db12386fd632289c7d<br> SHA-1:87349c767c69efb4172c90ce1d88cf578c3d28b3 </td> </tr> <tr id="seed"> <td>General Mobile 4G (Android One) <br>"seed"</td> <td><a href="#top" onclick="onDownload(this)">seed_l8150-ota-npd35k-09897a1d.zip</a><br> MD5: a55cf94f7cce0393ec6c0b35041766b7<br> SHA-1:6f33742290eb46f2561891f38ca2e754b4e50c6a </td> </tr> </table> </div><!-- landing --> </div><!-- relative wrapper --> <script> var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/ota/"; function onDownload(link) { $("#downloadForRealz").html("Download " + $(link).text()); $("#downloadForRealz").attr('href', urlRoot + $(link).text()); $("#tos").fadeIn('fast'); $("#landing").fadeOut('fast'); return true; } function onAgreeChecked() { /* verify that the TOS is agreed */ if ($("input#agree").is(":checked")) { /* reveal the download button */ $("a#downloadForRealz").removeClass('disabled'); } else { $("a#downloadForRealz").addClass('disabled'); } } function onDownloadForRealz(link) { if ($("input#agree").is(':checked')) { /* $("#tos").fadeOut('fast'); $("#landing").fadeIn('fast'); */ ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html()); /* location.hash = ""; */ return true; } else { return false; } } $(window).hashchange( function(){ if (location.hash == "") { location.reload(); } }); </script>