Replace androidenv by new implementation

+5536 -9437
+2 -1
.gitignore
··· 13 13 .DS_Store 14 14 15 15 /pkgs/development/libraries/qt-5/*/tmp/ 16 - /pkgs/desktops/kde-5/*/tmp/ 16 + /pkgs/desktops/kde-5/*/tmp/ 17 + /pkgs/development/mobile/androidenv/xml/*
-1614
pkgs/development/mobile/androidenv/addon.xml
··· 1 - <?xml version="1.0" ?> 2 - <sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 3 - <!--Generated on 2018-09-27 12:07:52.862255 with ADRT.--> 4 - <sdk:license id="android-sdk-license" type="text">Terms and Conditions 5 - 6 - This is the Android Software Development Kit License Agreement 7 - 8 - 1. Introduction 9 - 10 - 1.1 The Android Software Development Kit (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. 11 - 12 - 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 13 - 14 - 1.3 A &quot;compatible implementation&quot; means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS). 15 - 16 - 1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 17 - 18 - 19 - 2. Accepting the License Agreement 20 - 21 - 2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. 22 - 23 - 2.2 By clicking to accept, you hereby agree to the terms of the License Agreement. 24 - 25 - 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK. 26 - 27 - 2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. 28 - 29 - 30 - 3. SDK License from Google 31 - 32 - 3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. 33 - 34 - 3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose. 35 - 36 - 3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 37 - 38 - 3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. 39 - 40 - 3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. 41 - 42 - 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. 43 - 44 - 3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 45 - 46 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. 47 - 48 - 49 - 4. Use of the SDK by You 50 - 51 - 4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. 52 - 53 - 4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 54 - 55 - 4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. 56 - 57 - 4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. 58 - 59 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 60 - 61 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 62 - 63 - 5. Your Developer Credentials 64 - 65 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 66 - 67 - 6. Privacy and Information 68 - 69 - 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. 70 - 71 - 6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. 72 - 73 - 74 - 7. Third Party Applications 75 - 76 - 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 77 - 78 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 79 - 80 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties. 81 - 82 - 83 - 8. Using Android APIs 84 - 85 - 8.1 Google Data APIs 86 - 87 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 88 - 89 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 90 - 91 - 92 - 9. Terminating the License Agreement 93 - 94 - 9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. 95 - 96 - 9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. 97 - 98 - 9.3 Google may at any time, terminate the License Agreement with you if: 99 - (A) you have breached any provision of the License Agreement; or 100 - (B) Google is required to do so by law; or 101 - (C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or 102 - (D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. 103 - 104 - 9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. 105 - 106 - 107 - 10. DISCLAIMER OF WARRANTIES 108 - 109 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 110 - 111 - 10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. 112 - 113 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 114 - 115 - 116 - 11. LIMITATION OF LIABILITY 117 - 118 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 119 - 120 - 121 - 12. Indemnification 122 - 123 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement. 124 - 125 - 126 - 13. Changes to the License Agreement 127 - 128 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. 129 - 130 - 131 - 14. General Legal Terms 132 - 133 - 14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. 134 - 135 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 136 - 137 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. 138 - 139 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 140 - 141 - 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 142 - 143 - 14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party. 144 - 145 - 14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 146 - 147 - 148 - November 20, 2015</sdk:license> 149 - <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions. 150 - As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. 151 - 152 - This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;). 153 - 154 - 1. Introduction 155 - 156 - 1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. 157 - 158 - 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 159 - 160 - 1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 161 - 162 - 2. Accepting the License Agreement 163 - 164 - 2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. 165 - 166 - 2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. 167 - 168 - 2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. 169 - 170 - 2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. 171 - 172 - 3. Preview License from Google 173 - 174 - 3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. 175 - 176 - 3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 177 - 178 - 3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. 179 - 180 - 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. 181 - 182 - 3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. 183 - 184 - 3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. 185 - 186 - 3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 187 - 188 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. 189 - 190 - 4. Use of the Preview by You 191 - 192 - 4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. 193 - 194 - 4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 195 - 196 - 4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. 197 - 198 - 4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. 199 - 200 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 201 - 202 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 203 - 204 - 4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. 205 - 206 - 5. Your Developer Credentials 207 - 208 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 209 - 210 - 6. Privacy and Information 211 - 212 - 6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. 213 - 214 - 6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. 215 - 216 - 7. Third Party Applications 217 - 218 - 7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 219 - 220 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 221 - 222 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. 223 - 224 - 8. Using Google APIs 225 - 226 - 8.1 Google APIs 227 - 228 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 229 - 230 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 231 - 232 - 9. Terminating the License Agreement 233 - 234 - 9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. 235 - 236 - 9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. 237 - 238 - 9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. 239 - 240 - 9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: 241 - (A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and 242 - (B) Google issues a final release version of the Android SDK. 243 - 244 - 9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. 245 - 246 - 10. DISCLAIMERS 247 - 248 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 249 - 250 - 10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. 251 - 252 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 253 - 254 - 11. LIMITATION OF LIABILITY 255 - 256 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 257 - 258 - 12. Indemnification 259 - 260 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. 261 - 262 - 13. Changes to the License Agreement 263 - 264 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. 265 - 266 - 14. General Legal Terms 267 - 268 - 14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. 269 - 270 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 271 - 272 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. 273 - 274 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 275 - 276 - 14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 277 - 278 - 14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. 279 - 280 - 14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 281 - 282 - June 2014.</sdk:license> 283 - <sdk:license id="android-googletv-license" type="text">Terms and Conditions 284 - 285 - This is the Google TV Add-on for the Android Software Development Kit License Agreement. 286 - 287 - 1. Introduction 288 - 289 - 1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on. 290 - 291 - 1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 292 - 293 - 2. Accepting this License Agreement 294 - 295 - 2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement. 296 - 297 - 2.2 You can accept this License Agreement by: 298 - 299 - (A) clicking to accept or agree to this License Agreement, where this option is made available to you; or 300 - 301 - (B) by actually using the Google TV Add-on. In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards. 302 - 303 - 2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on. 304 - 305 - 2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity. 306 - 307 - 3. Google TV Add-on License from Google 308 - 309 - 3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform. 310 - 311 - 3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 312 - 313 - 3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on. 314 - 315 - 3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. 316 - 317 - 3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you. 318 - 319 - 3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 320 - 321 - 3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on. 322 - 323 - 4. Use of the Google TV Add-on by You 324 - 325 - 4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications. 326 - 327 - 4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 328 - 329 - 4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so. 330 - 331 - 4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier. 332 - 333 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 334 - 335 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 336 - 337 - 5. Your Developer Credentials 338 - 339 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 340 - 341 - 6. Privacy and Information 342 - 343 - 6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected. 344 - 345 - 6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy. 346 - 347 - 7. Third Party Applications for the Google TV Platform 348 - 349 - 7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 350 - 351 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 352 - 353 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. 354 - 355 - 8. Using Google TV APIs 356 - 357 - 8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services 358 - 359 - 8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 360 - 361 - 8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must: 362 - 363 - (a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application; 364 - 365 - (b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or 366 - 367 - (c) not create any commercial audience measurement tool or service using the Google TV API Content 368 - 369 - 9. Terminating this License Agreement 370 - 371 - 9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. 372 - 373 - 9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials. 374 - 375 - 9.3 Google may at any time, terminate this License Agreement with you if: 376 - 377 - (A) you have breached any provision of this License Agreement; or 378 - 379 - (B) Google is required to do so by law; or 380 - 381 - (C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or 382 - 383 - (D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable. 384 - 385 - 9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. 386 - 387 - 10. DISCLAIMER OF WARRANTIES 388 - 389 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 390 - 391 - 10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. 392 - 393 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 394 - 395 - 11. LIMITATION OF LIABILITY 396 - 397 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 398 - 399 - 12. Indemnification 400 - 401 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. 402 - 403 - 13. Changes to the License Agreement 404 - 405 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on. 406 - 407 - 14. General Legal Terms 408 - 409 - 14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on. 410 - 411 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 412 - 413 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. 414 - 415 - 14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. 416 - 417 - 14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 418 - 419 - 14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. 420 - 421 - 14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 422 - 423 - 424 - August 15, 2011</sdk:license> 425 - <sdk:license id="google-gdk-license" type="text">This is a Developer Preview of the GDK that is subject to change. 426 - 427 - Terms and Conditions 428 - 429 - This is the Glass Development Kit License Agreement. 430 - 431 - 1. Introduction 432 - 433 - 1.1 The Glass Development Kit (referred to in this License Agreement as the &quot;GDK&quot; and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK. 434 - 435 - 1.2 &quot;Glass&quot; means Glass devices and the Glass software stack for use on Glass devices. 436 - 437 - 438 - 1.3 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 439 - 440 - 1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 441 - 442 - 2. Accepting this License Agreement 443 - 444 - 2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement. 445 - 446 - 2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. 447 - 448 - 2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK. 449 - 450 - 2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity. 451 - 452 - 3. GDK License from Google 453 - 454 - 3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices. 455 - 456 - 3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 457 - 458 - 3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK. 459 - 460 - 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK. 461 - 462 - 3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. 463 - 464 - 3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you. 465 - 466 - 3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 467 - 468 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK. 469 - 470 - 471 - 3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement. 472 - 473 - 4. Use of the GDK by You 474 - 475 - 4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications. 476 - 477 - 4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 478 - 479 - 4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. 480 - 481 - 4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google. 482 - 483 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 484 - 485 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 486 - 487 - 488 - 4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release. 489 - 490 - 5. Your Developer Credentials 491 - 492 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 493 - 494 - 6. Privacy and Information 495 - 496 - 497 - 6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected. 498 - 499 - 6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy. 500 - 501 - 7. Third Party Applications 502 - 503 - 7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 504 - 505 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 506 - 507 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. 508 - 509 - 8. Using Google APIs 510 - 511 - 8.1 Google APIs 512 - 513 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 514 - 515 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 516 - 517 - 9. Terminating this License Agreement 518 - 519 - 9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. 520 - 521 - 9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials. 522 - 523 - 9.3 Google may at any time, terminate this License Agreement with you if: 524 - (A) you have breached any provision of this License Agreement; or 525 - (B) Google is required to do so by law; or 526 - (C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or 527 - (D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable. 528 - 529 - 9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. 530 - 531 - 10. DISCLAIMER OF WARRANTIES 532 - 533 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 534 - 535 - 10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. 536 - 537 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 538 - 539 - 11. LIMITATION OF LIABILITY 540 - 541 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 542 - 543 - 12. Indemnification 544 - 545 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. 546 - 547 - 13. Changes to the License Agreement 548 - 549 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available. 550 - 551 - 14. General Legal Terms 552 - 553 - 14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK. 554 - 555 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 556 - 557 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. 558 - 559 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. 560 - 561 - 14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 562 - 563 - 14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. 564 - 565 - 14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 566 - 567 - November 19, 2013</sdk:license> 568 - <sdk:license id="intel-android-extra-license" type="text">Intel (R) Hardware Accelerated Execution Manager 569 - End-User License Agreement 570 - 571 - Copyright (c) 2012 Intel Corporation. 572 - All rights reserved. 573 - 574 - Redistribution. Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met: 575 - 576 - 1.Redistributions must reproduce the above copyright notice and the following disclaimer in the documentation and/or other materials provided with the distribution. 577 - 578 - 2.Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission. 579 - 580 - 3.No reverse engineering, de-compilation, or disassembly of this software is permitted. Limited patent license. Intel Corporation grants a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell (&quot;Utilize&quot;) this software, but solely to the extent that any such patent is necessary to Utilize the software alone. The patent license shall not apply to any combinations which include this software. No hardware per se is licensed hereunder. 581 - 582 - DISCLAIMER. 583 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</sdk:license> 584 - <sdk:add-on> 585 - <!--Generated from bid:12617722, branch:perforce--> 586 - <sdk:obsolete/> 587 - <sdk:revision>3</sdk:revision> 588 - <sdk:archives> 589 - <sdk:archive> 590 - <!--Built on: Sat May 19 22:41:19 2018.--> 591 - <sdk:size>34908058</sdk:size> 592 - <sdk:checksum type="sha1">1f92abf3a76be66ae8032257fc7620acbd2b2e3a</sdk:checksum> 593 - <sdk:url>google_apis-3-r03.zip</sdk:url> 594 - </sdk:archive> 595 - </sdk:archives> 596 - <sdk:uses-license ref="android-sdk-license"/> 597 - <sdk:vendor-id>google</sdk:vendor-id> 598 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 599 - <sdk:name-id>google_apis</sdk:name-id> 600 - <sdk:name-display>Google APIs</sdk:name-display> 601 - <sdk:api-level>3</sdk:api-level> 602 - <sdk:description>Android + Google APIs</sdk:description> 603 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 604 - <sdk:libs> 605 - <sdk:lib> 606 - <sdk:name>com.google.android.maps</sdk:name> 607 - <sdk:description>API for Google Maps</sdk:description> 608 - </sdk:lib> 609 - </sdk:libs> 610 - </sdk:add-on> 611 - <sdk:add-on> 612 - <!--Generated from bid:13752552, branch:perforce--> 613 - <sdk:obsolete/> 614 - <sdk:revision>2</sdk:revision> 615 - <sdk:archives> 616 - <sdk:archive> 617 - <!--Built on: Sun Jun 3 14:03:04 2018.--> 618 - <sdk:size>42435735</sdk:size> 619 - <sdk:checksum type="sha1">9b6e86d8568558de4d606a7debc4f6049608dbd0</sdk:checksum> 620 - <sdk:url>google_apis-4_r02.zip</sdk:url> 621 - </sdk:archive> 622 - </sdk:archives> 623 - <sdk:uses-license ref="android-sdk-license"/> 624 - <sdk:vendor-id>google</sdk:vendor-id> 625 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 626 - <sdk:name-id>google_apis</sdk:name-id> 627 - <sdk:name-display>Google APIs</sdk:name-display> 628 - <sdk:api-level>4</sdk:api-level> 629 - <sdk:description>Android + Google APIs</sdk:description> 630 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 631 - <sdk:libs> 632 - <sdk:lib> 633 - <sdk:name>com.google.android.maps</sdk:name> 634 - <sdk:description>API for Google Maps</sdk:description> 635 - </sdk:lib> 636 - </sdk:libs> 637 - </sdk:add-on> 638 - <sdk:add-on> 639 - <!--Generated from bid:13245770, branch:perforce--> 640 - <sdk:obsolete/> 641 - <sdk:revision>1</sdk:revision> 642 - <sdk:archives> 643 - <sdk:archive> 644 - <!--Built on: Tue Jun 5 17:50:33 2018.--> 645 - <sdk:size>49123776</sdk:size> 646 - <sdk:checksum type="sha1">46eaeb56b645ee7ffa24ede8fa17f3df70db0503</sdk:checksum> 647 - <sdk:url>google_apis-5_r01.zip</sdk:url> 648 - </sdk:archive> 649 - </sdk:archives> 650 - <sdk:uses-license ref="android-sdk-license"/> 651 - <sdk:vendor-id>google</sdk:vendor-id> 652 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 653 - <sdk:name-id>google_apis</sdk:name-id> 654 - <sdk:name-display>Google APIs</sdk:name-display> 655 - <sdk:api-level>5</sdk:api-level> 656 - <sdk:description>Android + Google APIs</sdk:description> 657 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 658 - <sdk:libs> 659 - <sdk:lib> 660 - <sdk:name>com.google.android.maps</sdk:name> 661 - <sdk:description>API for Google Maps</sdk:description> 662 - </sdk:lib> 663 - </sdk:libs> 664 - </sdk:add-on> 665 - <sdk:add-on> 666 - <!--Generated from bid:13752552, branch:perforce--> 667 - <sdk:obsolete/> 668 - <sdk:revision>1</sdk:revision> 669 - <sdk:archives> 670 - <sdk:archive> 671 - <!--Built on: Sun Jun 10 12:37:49 2018.--> 672 - <sdk:size>53382941</sdk:size> 673 - <sdk:checksum type="sha1">5ff545d96e031e09580a6cf55713015c7d4936b2</sdk:checksum> 674 - <sdk:url>google_apis-6_r01.zip</sdk:url> 675 - </sdk:archive> 676 - </sdk:archives> 677 - <sdk:uses-license ref="android-sdk-license"/> 678 - <sdk:vendor-id>google</sdk:vendor-id> 679 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 680 - <sdk:name-id>google_apis</sdk:name-id> 681 - <sdk:name-display>Google APIs</sdk:name-display> 682 - <sdk:api-level>6</sdk:api-level> 683 - <sdk:description>Android + Google APIs</sdk:description> 684 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 685 - <sdk:libs> 686 - <sdk:lib> 687 - <sdk:name>com.google.android.maps</sdk:name> 688 - <sdk:description>API for Google Maps</sdk:description> 689 - </sdk:lib> 690 - </sdk:libs> 691 - </sdk:add-on> 692 - <sdk:add-on> 693 - <!--Generated from bid:14140606, branch:perforce--> 694 - <sdk:obsolete/> 695 - <sdk:revision>1</sdk:revision> 696 - <sdk:archives> 697 - <sdk:archive> 698 - <!--Built on: Wed May 30 22:32:20 2018.--> 699 - <sdk:size>53691339</sdk:size> 700 - <sdk:checksum type="sha1">2e7f91e0fe34fef7f58aeced973c6ae52361b5ac</sdk:checksum> 701 - <sdk:url>google_apis-7_r01.zip</sdk:url> 702 - </sdk:archive> 703 - </sdk:archives> 704 - <sdk:uses-license ref="android-sdk-license"/> 705 - <sdk:vendor-id>google</sdk:vendor-id> 706 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 707 - <sdk:name-id>google_apis</sdk:name-id> 708 - <sdk:name-display>Google APIs</sdk:name-display> 709 - <sdk:api-level>7</sdk:api-level> 710 - <sdk:description>Android + Google APIs</sdk:description> 711 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 712 - <sdk:libs> 713 - <sdk:lib> 714 - <sdk:name>com.google.android.maps</sdk:name> 715 - <sdk:description>API for Google Maps</sdk:description> 716 - </sdk:lib> 717 - </sdk:libs> 718 - </sdk:add-on> 719 - <sdk:add-on> 720 - <!--Generated from bid:16286500, branch:perforce--> 721 - <sdk:obsolete/> 722 - <sdk:revision>2</sdk:revision> 723 - <sdk:archives> 724 - <sdk:archive> 725 - <!--Built on: Mon Jun 11 03:39:55 2018.--> 726 - <sdk:size>59505020</sdk:size> 727 - <sdk:checksum type="sha1">3079958e7ec87222cac1e6b27bc471b27bf2c352</sdk:checksum> 728 - <sdk:url>google_apis-8_r02.zip</sdk:url> 729 - </sdk:archive> 730 - </sdk:archives> 731 - <sdk:uses-license ref="android-sdk-license"/> 732 - <sdk:vendor-id>google</sdk:vendor-id> 733 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 734 - <sdk:name-id>google_apis</sdk:name-id> 735 - <sdk:name-display>Google APIs</sdk:name-display> 736 - <sdk:api-level>8</sdk:api-level> 737 - <sdk:description>Android + Google APIs</sdk:description> 738 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 739 - <sdk:libs> 740 - <sdk:lib> 741 - <sdk:name>com.google.android.maps</sdk:name> 742 - <sdk:description>API for Google Maps</sdk:description> 743 - </sdk:lib> 744 - </sdk:libs> 745 - </sdk:add-on> 746 - <sdk:add-on> 747 - <!--Generated from bid:19092731, branch:perforce--> 748 - <sdk:obsolete/> 749 - <sdk:revision>2</sdk:revision> 750 - <sdk:archives> 751 - <sdk:archive> 752 - <!--Built on: Wed May 23 15:52:14 2018.--> 753 - <sdk:size>63401546</sdk:size> 754 - <sdk:checksum type="sha1">78664645a1e9accea4430814f8694291a7f1ea5d</sdk:checksum> 755 - <sdk:url>google_apis-9_r02.zip</sdk:url> 756 - </sdk:archive> 757 - </sdk:archives> 758 - <sdk:uses-license ref="android-sdk-license"/> 759 - <sdk:vendor-id>google</sdk:vendor-id> 760 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 761 - <sdk:name-id>google_apis</sdk:name-id> 762 - <sdk:name-display>Google APIs</sdk:name-display> 763 - <sdk:api-level>9</sdk:api-level> 764 - <sdk:description>Android + Google APIs</sdk:description> 765 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 766 - <sdk:libs> 767 - <sdk:lib> 768 - <sdk:name>com.google.android.maps</sdk:name> 769 - <sdk:description>API for Google Maps</sdk:description> 770 - </sdk:lib> 771 - </sdk:libs> 772 - </sdk:add-on> 773 - <sdk:add-on> 774 - <!--Generated from bid:21121559, branch:perforce--> 775 - <sdk:obsolete/> 776 - <sdk:revision>2</sdk:revision> 777 - <sdk:archives> 778 - <sdk:archive> 779 - <!--Built on: Tue May 29 03:55:38 2018.--> 780 - <sdk:size>65781578</sdk:size> 781 - <sdk:checksum type="sha1">cc0711857c881fa7534f90cf8cc09b8fe985484d</sdk:checksum> 782 - <sdk:url>google_apis-10_r02.zip</sdk:url> 783 - </sdk:archive> 784 - </sdk:archives> 785 - <sdk:uses-license ref="android-sdk-license"/> 786 - <sdk:vendor-id>google</sdk:vendor-id> 787 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 788 - <sdk:name-id>google_apis</sdk:name-id> 789 - <sdk:name-display>Google APIs</sdk:name-display> 790 - <sdk:api-level>10</sdk:api-level> 791 - <sdk:description>Android + Google APIs</sdk:description> 792 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 793 - <sdk:libs> 794 - <sdk:lib> 795 - <sdk:name>com.google.android.maps</sdk:name> 796 - <sdk:description>API for Google Maps</sdk:description> 797 - </sdk:lib> 798 - <sdk:lib> 799 - <sdk:name>com.android.future.usb.accessory</sdk:name> 800 - <sdk:description>API for USB Accessories</sdk:description> 801 - </sdk:lib> 802 - </sdk:libs> 803 - </sdk:add-on> 804 - <sdk:add-on> 805 - <!--Generated from bid:19633933, branch:perforce--> 806 - <sdk:obsolete/> 807 - <sdk:revision>1</sdk:revision> 808 - <sdk:archives> 809 - <sdk:archive> 810 - <!--Built on: Thu Jun 14 15:13:30 2018.--> 811 - <sdk:size>83477179</sdk:size> 812 - <sdk:checksum type="sha1">5eab5e81addee9f3576d456d205208314b5146a5</sdk:checksum> 813 - <sdk:url>google_apis-11_r01.zip</sdk:url> 814 - </sdk:archive> 815 - </sdk:archives> 816 - <sdk:uses-license ref="android-sdk-license"/> 817 - <sdk:vendor-id>google</sdk:vendor-id> 818 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 819 - <sdk:name-id>google_apis</sdk:name-id> 820 - <sdk:name-display>Google APIs</sdk:name-display> 821 - <sdk:api-level>11</sdk:api-level> 822 - <sdk:description>Android + Google APIs</sdk:description> 823 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 824 - <sdk:libs> 825 - <sdk:lib> 826 - <sdk:name>com.google.android.maps</sdk:name> 827 - <sdk:description>API for Google Maps</sdk:description> 828 - </sdk:lib> 829 - </sdk:libs> 830 - </sdk:add-on> 831 - <sdk:add-on> 832 - <!--Generated from bid:21121559, branch:perforce--> 833 - <sdk:obsolete/> 834 - <sdk:revision>1</sdk:revision> 835 - <sdk:archives> 836 - <sdk:archive> 837 - <!--Built on: Mon Jun 11 10:52:20 2018.--> 838 - <sdk:size>86099835</sdk:size> 839 - <sdk:checksum type="sha1">e9999f4fa978812174dfeceec0721c793a636e5d</sdk:checksum> 840 - <sdk:url>google_apis-12_r01.zip</sdk:url> 841 - </sdk:archive> 842 - </sdk:archives> 843 - <sdk:uses-license ref="android-sdk-license"/> 844 - <sdk:vendor-id>google</sdk:vendor-id> 845 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 846 - <sdk:name-id>google_apis</sdk:name-id> 847 - <sdk:name-display>Google APIs</sdk:name-display> 848 - <sdk:api-level>12</sdk:api-level> 849 - <sdk:description>Android + Google APIs</sdk:description> 850 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 851 - <sdk:libs> 852 - <sdk:lib> 853 - <sdk:name>com.google.android.maps</sdk:name> 854 - <sdk:description>API for Google Maps</sdk:description> 855 - </sdk:lib> 856 - <sdk:lib> 857 - <sdk:name>com.android.future.usb.accessory</sdk:name> 858 - <sdk:description>API for USB Accessories</sdk:description> 859 - </sdk:lib> 860 - </sdk:libs> 861 - </sdk:add-on> 862 - <sdk:add-on> 863 - <!--Generated from bid:22531000, branch:perforce--> 864 - <sdk:obsolete/> 865 - <sdk:revision>1</sdk:revision> 866 - <sdk:archives> 867 - <sdk:archive> 868 - <!--Built on: Sun May 27 03:09:43 2018.--> 869 - <sdk:size>88615525</sdk:size> 870 - <sdk:checksum type="sha1">3b153edd211c27dc736c893c658418a4f9041417</sdk:checksum> 871 - <sdk:url>google_apis-13_r01.zip</sdk:url> 872 - </sdk:archive> 873 - </sdk:archives> 874 - <sdk:uses-license ref="android-sdk-license"/> 875 - <sdk:vendor-id>google</sdk:vendor-id> 876 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 877 - <sdk:name-id>google_apis</sdk:name-id> 878 - <sdk:name-display>Google APIs</sdk:name-display> 879 - <sdk:api-level>13</sdk:api-level> 880 - <sdk:description>Android + Google APIs</sdk:description> 881 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 882 - <sdk:libs> 883 - <sdk:lib> 884 - <sdk:name>com.google.android.maps</sdk:name> 885 - <sdk:description>API for Google Maps</sdk:description> 886 - </sdk:lib> 887 - <sdk:lib> 888 - <sdk:name>com.android.future.usb.accessory</sdk:name> 889 - <sdk:description>API for USB Accessories</sdk:description> 890 - </sdk:lib> 891 - </sdk:libs> 892 - </sdk:add-on> 893 - <sdk:add-on> 894 - <!--Generated from bid:26085354, branch:perforce--> 895 - <sdk:obsolete/> 896 - <sdk:revision>2</sdk:revision> 897 - <sdk:archives> 898 - <sdk:archive> 899 - <!--Built on: Wed Jun 13 22:44:43 2018.--> 900 - <sdk:size>106533714</sdk:size> 901 - <sdk:checksum type="sha1">f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39</sdk:checksum> 902 - <sdk:url>google_apis-14_r02.zip</sdk:url> 903 - </sdk:archive> 904 - </sdk:archives> 905 - <sdk:uses-license ref="android-sdk-license"/> 906 - <sdk:vendor-id>google</sdk:vendor-id> 907 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 908 - <sdk:name-id>google_apis</sdk:name-id> 909 - <sdk:name-display>Google APIs</sdk:name-display> 910 - <sdk:api-level>14</sdk:api-level> 911 - <sdk:description>Android + Google APIs</sdk:description> 912 - <sdk:libs> 913 - <sdk:lib> 914 - <sdk:name>com.google.android.maps</sdk:name> 915 - <sdk:description>API for Google Maps</sdk:description> 916 - </sdk:lib> 917 - <sdk:lib> 918 - <sdk:name>com.android.future.usb.accessory</sdk:name> 919 - <sdk:description>API for USB Accessories</sdk:description> 920 - </sdk:lib> 921 - </sdk:libs> 922 - </sdk:add-on> 923 - <sdk:add-on> 924 - <!--Generated from bid:95160078, branch:perforce--> 925 - <sdk:revision>3</sdk:revision> 926 - <sdk:archives> 927 - <sdk:archive> 928 - <!--Built on: Fri Jun 15 19:37:58 2018.--> 929 - <sdk:size>106624396</sdk:size> 930 - <sdk:checksum type="sha1">d0d2bf26805eb271693570a1aaec33e7dc3f45e9</sdk:checksum> 931 - <sdk:url>google_apis-15_r03.zip</sdk:url> 932 - </sdk:archive> 933 - </sdk:archives> 934 - <sdk:uses-license ref="android-sdk-license"/> 935 - <sdk:vendor-id>google</sdk:vendor-id> 936 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 937 - <sdk:name-id>google_apis</sdk:name-id> 938 - <sdk:name-display>Google APIs</sdk:name-display> 939 - <sdk:api-level>15</sdk:api-level> 940 - <sdk:description>Android + Google APIs</sdk:description> 941 - <sdk:libs> 942 - <sdk:lib> 943 - <sdk:name>com.google.android.maps</sdk:name> 944 - <sdk:description>API for Google Maps</sdk:description> 945 - </sdk:lib> 946 - <sdk:lib> 947 - <sdk:name>com.android.future.usb.accessory</sdk:name> 948 - <sdk:description>API for USB Accessories</sdk:description> 949 - </sdk:lib> 950 - <sdk:lib> 951 - <sdk:name>com.google.android.media.effects</sdk:name> 952 - <sdk:description>Collection of video effects</sdk:description> 953 - </sdk:lib> 954 - </sdk:libs> 955 - </sdk:add-on> 956 - <sdk:add-on> 957 - <!--Generated from bid:95160078, branch:perforce--> 958 - <sdk:revision>4</sdk:revision> 959 - <sdk:archives> 960 - <sdk:archive> 961 - <!--Built on: Sun Jun 10 20:07:39 2018.--> 962 - <sdk:size>127341982</sdk:size> 963 - <sdk:checksum type="sha1">ee6acf1b01020bfa8a8e24725dbc4478bee5e792</sdk:checksum> 964 - <sdk:url>google_apis-16_r04.zip</sdk:url> 965 - </sdk:archive> 966 - </sdk:archives> 967 - <sdk:uses-license ref="android-sdk-license"/> 968 - <sdk:vendor-id>google</sdk:vendor-id> 969 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 970 - <sdk:name-id>google_apis</sdk:name-id> 971 - <sdk:name-display>Google APIs</sdk:name-display> 972 - <sdk:api-level>16</sdk:api-level> 973 - <sdk:description>Android + Google APIs</sdk:description> 974 - <sdk:libs> 975 - <sdk:lib> 976 - <sdk:name>com.google.android.maps</sdk:name> 977 - <sdk:description>API for Google Maps</sdk:description> 978 - </sdk:lib> 979 - <sdk:lib> 980 - <sdk:name>com.android.future.usb.accessory</sdk:name> 981 - <sdk:description>API for USB Accessories</sdk:description> 982 - </sdk:lib> 983 - <sdk:lib> 984 - <sdk:name>com.google.android.media.effects</sdk:name> 985 - <sdk:description>Collection of video effects</sdk:description> 986 - </sdk:lib> 987 - </sdk:libs> 988 - </sdk:add-on> 989 - <sdk:add-on> 990 - <!--Generated from bid:94805340, branch:perforce--> 991 - <sdk:revision>4</sdk:revision> 992 - <sdk:archives> 993 - <sdk:archive> 994 - <!--Built on: Wed May 30 17:17:51 2018.--> 995 - <sdk:size>137231243</sdk:size> 996 - <sdk:checksum type="sha1">a076be0677f38df8ca5536b44dfb411a0c808c4f</sdk:checksum> 997 - <sdk:url>google_apis-17_r04.zip</sdk:url> 998 - </sdk:archive> 999 - </sdk:archives> 1000 - <sdk:uses-license ref="android-sdk-license"/> 1001 - <sdk:vendor-id>google</sdk:vendor-id> 1002 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1003 - <sdk:name-id>google_apis</sdk:name-id> 1004 - <sdk:name-display>Google APIs</sdk:name-display> 1005 - <sdk:api-level>17</sdk:api-level> 1006 - <sdk:description>Android + Google APIs</sdk:description> 1007 - <sdk:libs> 1008 - <sdk:lib> 1009 - <sdk:name>com.google.android.maps</sdk:name> 1010 - <sdk:description>API for Google Maps</sdk:description> 1011 - </sdk:lib> 1012 - <sdk:lib> 1013 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1014 - <sdk:description>API for USB Accessories</sdk:description> 1015 - </sdk:lib> 1016 - <sdk:lib> 1017 - <sdk:name>com.google.android.media.effects</sdk:name> 1018 - <sdk:description>Collection of video effects</sdk:description> 1019 - </sdk:lib> 1020 - </sdk:libs> 1021 - </sdk:add-on> 1022 - <sdk:add-on> 1023 - <!--Generated from bid:94805340, branch:perforce--> 1024 - <sdk:revision>4</sdk:revision> 1025 - <sdk:archives> 1026 - <sdk:archive> 1027 - <!--Built on: Sun May 27 23:13:56 2018.--> 1028 - <sdk:size>143195183</sdk:size> 1029 - <sdk:checksum type="sha1">6109603409debdd40854d4d4a92eaf8481462c8b</sdk:checksum> 1030 - <sdk:url>google_apis-18_r04.zip</sdk:url> 1031 - </sdk:archive> 1032 - </sdk:archives> 1033 - <sdk:uses-license ref="android-sdk-license"/> 1034 - <sdk:vendor-id>google</sdk:vendor-id> 1035 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1036 - <sdk:name-id>google_apis</sdk:name-id> 1037 - <sdk:name-display>Google APIs</sdk:name-display> 1038 - <sdk:api-level>18</sdk:api-level> 1039 - <sdk:description>Android + Google APIs</sdk:description> 1040 - <sdk:libs> 1041 - <sdk:lib> 1042 - <sdk:name>com.google.android.maps</sdk:name> 1043 - <sdk:description>API for Google Maps</sdk:description> 1044 - </sdk:lib> 1045 - <sdk:lib> 1046 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1047 - <sdk:description>API for USB Accessories</sdk:description> 1048 - </sdk:lib> 1049 - <sdk:lib> 1050 - <sdk:name>com.google.android.media.effects</sdk:name> 1051 - <sdk:description>Collection of video effects</sdk:description> 1052 - </sdk:lib> 1053 - </sdk:libs> 1054 - </sdk:add-on> 1055 - <sdk:add-on> 1056 - <!--Generated from bid:2884604, branch:git_klp-emu-release--> 1057 - <sdk:revision>20</sdk:revision> 1058 - <sdk:archives> 1059 - <sdk:archive> 1060 - <!--Built on: Sat Jun 2 14:21:02 2018.--> 1061 - <sdk:size>147081</sdk:size> 1062 - <sdk:checksum type="sha1">5b933abe830b2f25b4c0f171d45e9e0651e56311</sdk:checksum> 1063 - <sdk:url>google_apis-19_r20.zip</sdk:url> 1064 - </sdk:archive> 1065 - </sdk:archives> 1066 - <sdk:uses-license ref="android-sdk-license"/> 1067 - <sdk:vendor-id>google</sdk:vendor-id> 1068 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1069 - <sdk:name-id>google_apis</sdk:name-id> 1070 - <sdk:name-display>Google APIs</sdk:name-display> 1071 - <sdk:api-level>19</sdk:api-level> 1072 - <sdk:description>Android + Google APIs</sdk:description> 1073 - <sdk:libs> 1074 - <sdk:lib> 1075 - <sdk:name>com.google.android.maps</sdk:name> 1076 - <sdk:description>API for Google Maps</sdk:description> 1077 - </sdk:lib> 1078 - <sdk:lib> 1079 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1080 - <sdk:description>API for USB Accessories</sdk:description> 1081 - </sdk:lib> 1082 - <sdk:lib> 1083 - <sdk:name>com.google.android.media.effects</sdk:name> 1084 - <sdk:description>Collection of video effects</sdk:description> 1085 - </sdk:lib> 1086 - </sdk:libs> 1087 - </sdk:add-on> 1088 - <sdk:add-on> 1089 - <!--Generated from bid:3249234, branch:git_nyc-emu-release--> 1090 - <sdk:revision>1</sdk:revision> 1091 - <sdk:archives> 1092 - <sdk:archive> 1093 - <!--Built on: Fri Jun 1 04:12:18 2018.--> 1094 - <sdk:size>154865</sdk:size> 1095 - <sdk:checksum type="sha1">31361c2868f27343ee917fbd259c1463821b6145</sdk:checksum> 1096 - <sdk:url>google_apis-24_r1.zip</sdk:url> 1097 - </sdk:archive> 1098 - </sdk:archives> 1099 - <sdk:uses-license ref="android-sdk-license"/> 1100 - <sdk:vendor-id>google</sdk:vendor-id> 1101 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1102 - <sdk:name-id>google_apis</sdk:name-id> 1103 - <sdk:name-display>Google APIs</sdk:name-display> 1104 - <sdk:api-level>24</sdk:api-level> 1105 - <sdk:description>Android + Google APIs</sdk:description> 1106 - <sdk:libs> 1107 - <sdk:lib> 1108 - <sdk:name>com.google.android.maps</sdk:name> 1109 - <sdk:description>API for Google Maps</sdk:description> 1110 - </sdk:lib> 1111 - <sdk:lib> 1112 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1113 - <sdk:description>API for USB Accessories</sdk:description> 1114 - </sdk:lib> 1115 - <sdk:lib> 1116 - <sdk:name>com.google.android.media.effects</sdk:name> 1117 - <sdk:description>Collection of video effects</sdk:description> 1118 - </sdk:lib> 1119 - </sdk:libs> 1120 - </sdk:add-on> 1121 - <sdk:add-on> 1122 - <!--Generated from bid:3756122, branch:git_nyc-mr1-emu-release--> 1123 - <sdk:revision>1</sdk:revision> 1124 - <sdk:archives> 1125 - <sdk:archive> 1126 - <!--Built on: Tue Jun 12 20:09:06 2018.--> 1127 - <sdk:size>154871</sdk:size> 1128 - <sdk:checksum type="sha1">550e83eea9513ab11c44919ac6da54b36084a9f3</sdk:checksum> 1129 - <sdk:url>google_apis-25_r1.zip</sdk:url> 1130 - </sdk:archive> 1131 - </sdk:archives> 1132 - <sdk:uses-license ref="android-sdk-license"/> 1133 - <sdk:vendor-id>google</sdk:vendor-id> 1134 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1135 - <sdk:name-id>google_apis</sdk:name-id> 1136 - <sdk:name-display>Google APIs</sdk:name-display> 1137 - <sdk:api-level>23</sdk:api-level> 1138 - <sdk:description>Android + Google APIs</sdk:description> 1139 - <sdk:libs> 1140 - <sdk:lib> 1141 - <sdk:name>com.google.android.maps</sdk:name> 1142 - <sdk:description>API for Google Maps</sdk:description> 1143 - </sdk:lib> 1144 - <sdk:lib> 1145 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1146 - <sdk:description>API for USB Accessories</sdk:description> 1147 - </sdk:lib> 1148 - <sdk:lib> 1149 - <sdk:name>com.google.android.media.effects</sdk:name> 1150 - <sdk:description>Collection of video effects</sdk:description> 1151 - </sdk:lib> 1152 - </sdk:libs> 1153 - </sdk:add-on> 1154 - <sdk:add-on> 1155 - <!--Generated from bid:77907680, branch:perforce--> 1156 - <sdk:revision>1</sdk:revision> 1157 - <sdk:archives> 1158 - <sdk:archive> 1159 - <!--Built on: Mon Jun 11 05:08:59 2018.--> 1160 - <sdk:size>179499</sdk:size> 1161 - <sdk:checksum type="sha1">66a754efb24e9bb07cc51648426443c7586c9d4a</sdk:checksum> 1162 - <sdk:url>google_apis-21_r01.zip</sdk:url> 1163 - </sdk:archive> 1164 - </sdk:archives> 1165 - <sdk:uses-license ref="android-sdk-license"/> 1166 - <sdk:vendor-id>google</sdk:vendor-id> 1167 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1168 - <sdk:name-id>google_apis</sdk:name-id> 1169 - <sdk:name-display>Google APIs</sdk:name-display> 1170 - <sdk:api-level>21</sdk:api-level> 1171 - <sdk:description>Android + Google APIs</sdk:description> 1172 - <sdk:libs> 1173 - <sdk:lib> 1174 - <sdk:name>com.google.android.maps</sdk:name> 1175 - <sdk:description>API for Google Maps</sdk:description> 1176 - </sdk:lib> 1177 - <sdk:lib> 1178 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1179 - <sdk:description>API for USB Accessories</sdk:description> 1180 - </sdk:lib> 1181 - <sdk:lib> 1182 - <sdk:name>com.google.android.media.effects</sdk:name> 1183 - <sdk:description>Collection of video effects</sdk:description> 1184 - </sdk:lib> 1185 - </sdk:libs> 1186 - </sdk:add-on> 1187 - <sdk:add-on> 1188 - <!--Generated from bid:87569863, branch:perforce--> 1189 - <sdk:revision>1</sdk:revision> 1190 - <sdk:archives> 1191 - <sdk:archive> 1192 - <!--Built on: Fri Jun 15 06:11:24 2018.--> 1193 - <sdk:size>179259</sdk:size> 1194 - <sdk:checksum type="sha1">5def0f42160cba8acff51b9c0c7e8be313de84f5</sdk:checksum> 1195 - <sdk:url>google_apis-22_r01.zip</sdk:url> 1196 - </sdk:archive> 1197 - </sdk:archives> 1198 - <sdk:uses-license ref="android-sdk-license"/> 1199 - <sdk:vendor-id>google</sdk:vendor-id> 1200 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1201 - <sdk:name-id>google_apis</sdk:name-id> 1202 - <sdk:name-display>Google APIs</sdk:name-display> 1203 - <sdk:api-level>22</sdk:api-level> 1204 - <sdk:description>Android + Google APIs</sdk:description> 1205 - <sdk:libs> 1206 - <sdk:lib> 1207 - <sdk:name>com.google.android.maps</sdk:name> 1208 - <sdk:description>API for Google Maps</sdk:description> 1209 - </sdk:lib> 1210 - <sdk:lib> 1211 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1212 - <sdk:description>API for USB Accessories</sdk:description> 1213 - </sdk:lib> 1214 - <sdk:lib> 1215 - <sdk:name>com.google.android.media.effects</sdk:name> 1216 - <sdk:description>Collection of video effects</sdk:description> 1217 - </sdk:lib> 1218 - </sdk:libs> 1219 - </sdk:add-on> 1220 - <sdk:add-on> 1221 - <!--Generated from bid:100722913, branch:perforce--> 1222 - <sdk:revision>1</sdk:revision> 1223 - <sdk:archives> 1224 - <sdk:archive> 1225 - <!--Built on: Sun Jun 10 08:57:09 2018.--> 1226 - <sdk:size>179900</sdk:size> 1227 - <sdk:checksum type="sha1">04c5cc1a7c88967250ebba9561d81e24104167db</sdk:checksum> 1228 - <sdk:url>google_apis-23_r01.zip</sdk:url> 1229 - </sdk:archive> 1230 - </sdk:archives> 1231 - <sdk:uses-license ref="android-sdk-license"/> 1232 - <sdk:vendor-id>google</sdk:vendor-id> 1233 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1234 - <sdk:name-id>google_apis</sdk:name-id> 1235 - <sdk:name-display>Google APIs</sdk:name-display> 1236 - <sdk:api-level>23</sdk:api-level> 1237 - <sdk:description>Android + Google APIs</sdk:description> 1238 - <sdk:libs> 1239 - <sdk:lib> 1240 - <sdk:name>com.google.android.maps</sdk:name> 1241 - <sdk:description>API for Google Maps</sdk:description> 1242 - </sdk:lib> 1243 - <sdk:lib> 1244 - <sdk:name>com.android.future.usb.accessory</sdk:name> 1245 - <sdk:description>API for USB Accessories</sdk:description> 1246 - </sdk:lib> 1247 - <sdk:lib> 1248 - <sdk:name>com.google.android.media.effects</sdk:name> 1249 - <sdk:description>Collection of video effects</sdk:description> 1250 - </sdk:lib> 1251 - </sdk:libs> 1252 - </sdk:add-on> 1253 - <sdk:add-on> 1254 - <!--Generated from bid:24379226, branch:perforce--> 1255 - <sdk:obsolete/> 1256 - <sdk:revision>2</sdk:revision> 1257 - <sdk:archives> 1258 - <sdk:archive> 1259 - <!--Built on: Sun May 27 03:16:19 2018.--> 1260 - <sdk:size>78266751</sdk:size> 1261 - <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum> 1262 - <sdk:url>google_tv-12_r02.zip</sdk:url> 1263 - </sdk:archive> 1264 - </sdk:archives> 1265 - <sdk:uses-license ref="android-googletv-license"/> 1266 - <sdk:vendor-id>google</sdk:vendor-id> 1267 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1268 - <sdk:name-id>google_tv_addon</sdk:name-id> 1269 - <sdk:name-display>Google TV Addon</sdk:name-display> 1270 - <sdk:api-level>12</sdk:api-level> 1271 - <sdk:description></sdk:description> 1272 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 1273 - <sdk:libs/> 1274 - </sdk:add-on> 1275 - <sdk:add-on> 1276 - <!--Generated from bid:41196280, branch:perforce--> 1277 - <sdk:obsolete/> 1278 - <sdk:revision>1</sdk:revision> 1279 - <sdk:archives> 1280 - <sdk:archive> 1281 - <!--Built on: Tue Jun 19 05:04:20 2018.--> 1282 - <sdk:size>87721879</sdk:size> 1283 - <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum> 1284 - <sdk:url>google_tv-13_r01.zip</sdk:url> 1285 - </sdk:archive> 1286 - </sdk:archives> 1287 - <sdk:uses-license ref="android-googletv-license"/> 1288 - <sdk:vendor-id>google</sdk:vendor-id> 1289 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1290 - <sdk:name-id>google_tv_addon</sdk:name-id> 1291 - <sdk:name-display>Google TV Addon</sdk:name-display> 1292 - <sdk:api-level>13</sdk:api-level> 1293 - <sdk:description></sdk:description> 1294 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 1295 - <sdk:libs/> 1296 - </sdk:add-on> 1297 - <sdk:extra> 1298 - <!--Generated from bid:3841166, branch:git_nyc-support-release--> 1299 - <sdk:revision> 1300 - <sdk:major>47</sdk:major> 1301 - <sdk:minor>0</sdk:minor> 1302 - <sdk:micro>0</sdk:micro> 1303 - </sdk:revision> 1304 - <sdk:archives> 1305 - <sdk:archive> 1306 - <!--Built on: Mon Jun 11 04:51:54 2018.--> 1307 - <sdk:size>355529608</sdk:size> 1308 - <sdk:checksum type="sha1">a0d22beacc106a6977321f2b07d692ce4979e96a</sdk:checksum> 1309 - <sdk:url>android_m2repository_r47.zip</sdk:url> 1310 - </sdk:archive> 1311 - </sdk:archives> 1312 - <sdk:uses-license ref="android-sdk-license"/> 1313 - <sdk:vendor-id>android</sdk:vendor-id> 1314 - <sdk:vendor-display>Android</sdk:vendor-display> 1315 - <sdk:description>Local Maven repository for Support Libraries</sdk:description> 1316 - <sdk:name-display>Android Support Repository</sdk:name-display> 1317 - <sdk:path>m2repository</sdk:path> 1318 - </sdk:extra> 1319 - <sdk:extra> 1320 - <!--Generated from bid:167710051, branch:perforce--> 1321 - <sdk:revision> 1322 - <sdk:major>58</sdk:major> 1323 - </sdk:revision> 1324 - <sdk:archives> 1325 - <sdk:archive> 1326 - <!--Built on: Mon Jun 11 11:10:27 2018.--> 1327 - <sdk:size>215426029</sdk:size> 1328 - <sdk:checksum type="sha1">05086add9e3a0eb1b67111108d7757a4337c3f10</sdk:checksum> 1329 - <sdk:url>google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip</sdk:url> 1330 - </sdk:archive> 1331 - </sdk:archives> 1332 - <sdk:uses-license ref="android-sdk-license"/> 1333 - <sdk:vendor-id>google</sdk:vendor-id> 1334 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1335 - <sdk:description>Local Maven repository for Support Libraries</sdk:description> 1336 - <sdk:name-display>Google Repository</sdk:name-display> 1337 - <sdk:path>m2repository</sdk:path> 1338 - </sdk:extra> 1339 - <sdk:extra> 1340 - <!--Generated from bid:28113395, branch:perforce--> 1341 - <sdk:revision> 1342 - <sdk:major>1</sdk:major> 1343 - </sdk:revision> 1344 - <sdk:archives> 1345 - <sdk:archive> 1346 - <!--Built on: Sun Jun 10 01:20:16 2018.--> 1347 - <sdk:size>75109</sdk:size> 1348 - <sdk:checksum type="sha1">355e8dc304a92a5616db235af8ee7bd554356254</sdk:checksum> 1349 - <sdk:url>market_licensing-r02.zip</sdk:url> 1350 - </sdk:archive> 1351 - </sdk:archives> 1352 - <sdk:uses-license ref="android-sdk-license"/> 1353 - <sdk:vendor-id>google</sdk:vendor-id> 1354 - <sdk:vendor-display></sdk:vendor-display> 1355 - <sdk:description>Android Market Licensing client library</sdk:description> 1356 - <sdk:desc-url>http://developer.android.com/guide/publishing/licensing.html</sdk:desc-url> 1357 - <sdk:name-display>Google Play Licensing Library</sdk:name-display> 1358 - <sdk:path>market_licensing</sdk:path> 1359 - </sdk:extra> 1360 - <sdk:extra> 1361 - <!--Generated from bid:42096985, branch:perforce--> 1362 - <sdk:revision> 1363 - <sdk:major>1</sdk:major> 1364 - </sdk:revision> 1365 - <sdk:archives> 1366 - <sdk:archive> 1367 - <!--Built on: Sun Jun 17 19:31:02 2018.--> 1368 - <sdk:size>110201</sdk:size> 1369 - <sdk:checksum type="sha1">5305399dc1a56814e86b8459ce24871916f78b8c</sdk:checksum> 1370 - <sdk:url>market_apk_expansion-r03.zip</sdk:url> 1371 - </sdk:archive> 1372 - </sdk:archives> 1373 - <sdk:uses-license ref="android-sdk-license"/> 1374 - <sdk:vendor-id>google</sdk:vendor-id> 1375 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1376 - <sdk:description>Android Market APK Expansion library</sdk:description> 1377 - <sdk:desc-url>http://developer.android.com/guide/market/expansion-files.html</sdk:desc-url> 1378 - <sdk:name-display>Google Play APK Expansion library</sdk:name-display> 1379 - <sdk:path>market_apk_expansion</sdk:path> 1380 - </sdk:extra> 1381 - <sdk:extra> 1382 - <!--Generated from bid:52571120, branch:perforce--> 1383 - <sdk:obsolete/> 1384 - <sdk:revision> 1385 - <sdk:major>12</sdk:major> 1386 - </sdk:revision> 1387 - <sdk:archives> 1388 - <sdk:archive> 1389 - <!--Built on: Sun May 27 10:44:16 2018.--> 1390 - <sdk:size>5265389</sdk:size> 1391 - <sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum> 1392 - <sdk:url>google_play_services_3265130_r12.zip</sdk:url> 1393 - </sdk:archive> 1394 - </sdk:archives> 1395 - <sdk:uses-license ref="android-sdk-license"/> 1396 - <sdk:vendor-id>google</sdk:vendor-id> 1397 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1398 - <sdk:description>Google Play services client library and sample code</sdk:description> 1399 - <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url> 1400 - <sdk:name-display>Google Play services for Froyo</sdk:name-display> 1401 - <sdk:path>google_play_services_froyo</sdk:path> 1402 - </sdk:extra> 1403 - <sdk:extra> 1404 - <!--Generated from bid:189640690, branch:perforce--> 1405 - <sdk:revision> 1406 - <sdk:major>49</sdk:major> 1407 - </sdk:revision> 1408 - <sdk:archives> 1409 - <sdk:archive> 1410 - <!--Built on: Mon Jun 11 08:08:54 2018.--> 1411 - <sdk:size>15456884</sdk:size> 1412 - <sdk:checksum type="sha1">f95bf19634e2ab0430923247fe2c50246432d2e9</sdk:checksum> 1413 - <sdk:url>google_play_services_v16_1_rc09.zip</sdk:url> 1414 - </sdk:archive> 1415 - </sdk:archives> 1416 - <sdk:uses-license ref="android-sdk-license"/> 1417 - <sdk:vendor-id>google</sdk:vendor-id> 1418 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1419 - <sdk:description>Google Play services Javadocs and sample code</sdk:description> 1420 - <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url> 1421 - <sdk:name-display>Google Play services</sdk:name-display> 1422 - <sdk:path>google_play_services</sdk:path> 1423 - </sdk:extra> 1424 - <sdk:extra> 1425 - <!--Generated from bid:75820409, branch:perforce--> 1426 - <sdk:revision> 1427 - <sdk:major>11</sdk:major> 1428 - </sdk:revision> 1429 - <sdk:archives> 1430 - <sdk:archive> 1431 - <!--Built on: Thu Jun 7 01:53:27 2018.--> 1432 - <sdk:size>8682859</sdk:size> 1433 - <sdk:checksum type="sha1">dc8a2ed2fbd7246d4caf9ab10ffe7749dc35d1cc</sdk:checksum> 1434 - <sdk:url>usb_driver_r11-windows.zip</sdk:url> 1435 - <sdk:host-os>windows</sdk:host-os> 1436 - </sdk:archive> 1437 - </sdk:archives> 1438 - <sdk:uses-license ref="android-sdk-license"/> 1439 - <sdk:vendor-id>google</sdk:vendor-id> 1440 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1441 - <sdk:description>USB Driver for Windows, revision 11</sdk:description> 1442 - <sdk:desc-url>http://developer.android.com/</sdk:desc-url> 1443 - <sdk:name-display>Google USB Driver</sdk:name-display> 1444 - <sdk:path>usb_driver</sdk:path> 1445 - </sdk:extra> 1446 - <sdk:extra> 1447 - <!--Generated from bid:45484492, branch:perforce--> 1448 - <sdk:obsolete/> 1449 - <sdk:revision> 1450 - <sdk:major>11</sdk:major> 1451 - </sdk:revision> 1452 - <sdk:archives> 1453 - <sdk:archive> 1454 - <!--Built on: Thu Jun 7 11:48:51 2018.--> 1455 - <sdk:size>704512</sdk:size> 1456 - <sdk:checksum type="sha1">0102859d9575baa0bf4fd5eb422af2ad0fe6cb82</sdk:checksum> 1457 - <sdk:url>GoogleAdMobAdsSdkAndroid-6.4.1.zip</sdk:url> 1458 - </sdk:archive> 1459 - </sdk:archives> 1460 - <sdk:uses-license ref="android-sdk-license"/> 1461 - <sdk:vendor-id>google</sdk:vendor-id> 1462 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1463 - <sdk:description>AdMob Ads SDK</sdk:description> 1464 - <sdk:desc-url>https://developers.google.com/mobile-ads-sdk/docs/</sdk:desc-url> 1465 - <sdk:name-display>Google AdMob Ads SDK</sdk:name-display> 1466 - <sdk:path>admob_ads_sdk</sdk:path> 1467 - </sdk:extra> 1468 - <sdk:extra> 1469 - <!--Generated from bid:44867123, branch:perforce--> 1470 - <sdk:obsolete/> 1471 - <sdk:revision> 1472 - <sdk:major>3</sdk:major> 1473 - </sdk:revision> 1474 - <sdk:archives> 1475 - <sdk:archive> 1476 - <!--Built on: Tue Jun 5 05:29:27 2018.--> 1477 - <sdk:size>211432</sdk:size> 1478 - <sdk:checksum type="sha1">dc14026bf0ce78315cb5dd00552607de0894de83</sdk:checksum> 1479 - <sdk:url>GoogleAnalyticsAndroid_2.0beta5.zip</sdk:url> 1480 - </sdk:archive> 1481 - </sdk:archives> 1482 - <sdk:uses-license ref="android-sdk-license"/> 1483 - <sdk:vendor-id>google</sdk:vendor-id> 1484 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1485 - <sdk:description>Analytics App Tracking SDK</sdk:description> 1486 - <sdk:desc-url>http://developers.google.com/analytics/devguides/collection/</sdk:desc-url> 1487 - <sdk:name-display>Google Analytics App Tracking SDK</sdk:name-display> 1488 - <sdk:path>analytics_sdk_v2</sdk:path> 1489 - </sdk:extra> 1490 - <sdk:extra> 1491 - <!--Generated from bid:25118237, branch:perforce--> 1492 - <sdk:revision> 1493 - <sdk:major>2</sdk:major> 1494 - </sdk:revision> 1495 - <sdk:archives> 1496 - <sdk:archive> 1497 - <!--Built on: Thu May 31 20:21:33 2018.--> 1498 - <sdk:size>4055193</sdk:size> 1499 - <sdk:checksum type="sha1">13f3a3b2670a5fc04a7342861644be9a01b07e38</sdk:checksum> 1500 - <sdk:url>webdriver_r02.zip</sdk:url> 1501 - </sdk:archive> 1502 - </sdk:archives> 1503 - <sdk:uses-license ref="android-sdk-license"/> 1504 - <sdk:vendor-id>google</sdk:vendor-id> 1505 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1506 - <sdk:description></sdk:description> 1507 - <sdk:desc-url>http://selenium.googlecode.com</sdk:desc-url> 1508 - <sdk:name-display>Google Web Driver</sdk:name-display> 1509 - <sdk:path>webdriver</sdk:path> 1510 - </sdk:extra> 1511 - <sdk:extra> 1512 - <!--Generated from bid:32432700, branch:perforce--> 1513 - <sdk:obsolete/> 1514 - <sdk:revision> 1515 - <sdk:major>3</sdk:major> 1516 - </sdk:revision> 1517 - <sdk:archives> 1518 - <sdk:archive> 1519 - <!--Built on: Sun May 27 10:27:10 2018.--> 1520 - <sdk:size>5901400</sdk:size> 1521 - <sdk:checksum type="sha1">ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf</sdk:checksum> 1522 - <sdk:url>gcm_r03.zip</sdk:url> 1523 - </sdk:archive> 1524 - </sdk:archives> 1525 - <sdk:uses-license ref="android-sdk-license"/> 1526 - <sdk:vendor-id>google</sdk:vendor-id> 1527 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1528 - <sdk:description>GCM library has been moved to Google Play Services (com.google.android.gms.gcm) and this standalone version is no longer supported</sdk:description> 1529 - <sdk:desc-url>https://developers.google.com/android/gcm/index</sdk:desc-url> 1530 - <sdk:name-display>Google Cloud Messaging for Android Library</sdk:name-display> 1531 - <sdk:path>gcm</sdk:path> 1532 - </sdk:extra> 1533 - <sdk:extra> 1534 - <!--Generated from bid:80165500, branch:perforce--> 1535 - <sdk:revision> 1536 - <sdk:major>1</sdk:major> 1537 - </sdk:revision> 1538 - <sdk:archives> 1539 - <sdk:archive> 1540 - <!--Built on: Tue Jun 5 14:06:56 2018.--> 1541 - <sdk:size>2167286</sdk:size> 1542 - <sdk:checksum type="sha1">4fb5344e34e8faab4db18af07dace44c50db26a7</sdk:checksum> 1543 - <sdk:url>simulator_r01.zip</sdk:url> 1544 - </sdk:archive> 1545 - </sdk:archives> 1546 - <sdk:uses-license ref="android-sdk-license"/> 1547 - <sdk:vendor-id>google</sdk:vendor-id> 1548 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1549 - <sdk:description>Android Auto API testing simulators</sdk:description> 1550 - <sdk:desc-url>http://developer.android.com/auto</sdk:desc-url> 1551 - <sdk:name-display>Android Auto API Simulators</sdk:name-display> 1552 - <sdk:path>simulators</sdk:path> 1553 - </sdk:extra> 1554 - <sdk:extra> 1555 - <!--Generated from bid:107062527, branch:perforce--> 1556 - <sdk:revision> 1557 - <sdk:major>1</sdk:major> 1558 - <sdk:minor>1</sdk:minor> 1559 - </sdk:revision> 1560 - <sdk:archives> 1561 - <sdk:archive> 1562 - <!--Built on: Sat Jun 16 20:44:31 2018.--> 1563 - <sdk:size>1346009</sdk:size> 1564 - <sdk:checksum type="sha1">202a6e1b3009a0eb815f8c672d2d5b3717de6169</sdk:checksum> 1565 - <sdk:url>desktop-head-unit-linux_r01.1.zip</sdk:url> 1566 - <sdk:host-os>linux</sdk:host-os> 1567 - </sdk:archive> 1568 - <sdk:archive> 1569 - <!--Built on: Tue Jun 12 06:56:07 2018.--> 1570 - <sdk:size>2375533</sdk:size> 1571 - <sdk:checksum type="sha1">8179cbb3914493ebc5eb65b731cba061582f2e84</sdk:checksum> 1572 - <sdk:url>desktop-head-unit-macosx_r01.1.zip</sdk:url> 1573 - <sdk:host-os>macosx</sdk:host-os> 1574 - </sdk:archive> 1575 - <sdk:archive> 1576 - <!--Built on: Tue Jun 12 13:47:09 2018.--> 1577 - <sdk:size>2691901</sdk:size> 1578 - <sdk:checksum type="sha1">99c4a7172d73673552119347bc24c58b47da177b</sdk:checksum> 1579 - <sdk:url>desktop-head-unit-windows_r01.1.zip</sdk:url> 1580 - <sdk:host-os>windows</sdk:host-os> 1581 - </sdk:archive> 1582 - </sdk:archives> 1583 - <sdk:uses-license ref="android-sdk-license"/> 1584 - <sdk:vendor-id>google</sdk:vendor-id> 1585 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1586 - <sdk:description>Head unit emulator for developers targeting the Android Auto platform.</sdk:description> 1587 - <sdk:desc-url>http://developer.android.com/tools/help/desktop-head-unit.html</sdk:desc-url> 1588 - <sdk:name-display>Android Auto Desktop Head Unit emulator</sdk:name-display> 1589 - <sdk:path>auto</sdk:path> 1590 - </sdk:extra> 1591 - <sdk:extra> 1592 - <!--Generated from bid:214678223, branch:perforce--> 1593 - <sdk:revision> 1594 - <sdk:major>1</sdk:major> 1595 - <sdk:minor>5</sdk:minor> 1596 - <sdk:micro>0</sdk:micro> 1597 - </sdk:revision> 1598 - <sdk:archives> 1599 - <sdk:archive> 1600 - <!--Built on: Wed Sep 26 15:20:22 2018.--> 1601 - <sdk:size>33351418</sdk:size> 1602 - <sdk:checksum type="sha1">6c282b9c686e819fe7f5ac8f2249d2479acb63b4</sdk:checksum> 1603 - <sdk:url>iasdk-1.5.0-1538000167.zip</sdk:url> 1604 - </sdk:archive> 1605 - </sdk:archives> 1606 - <sdk:uses-license ref="android-sdk-license"/> 1607 - <sdk:vendor-id>google</sdk:vendor-id> 1608 - <sdk:vendor-display>Google Inc.</sdk:vendor-display> 1609 - <sdk:description>Google Play Instant Development SDK</sdk:description> 1610 - <sdk:desc-url>https://developer.android.com/topic/google-play-instant/</sdk:desc-url> 1611 - <sdk:name-display>Google Play Instant Development SDK</sdk:name-display> 1612 - <sdk:path>instantapps</sdk:path> 1613 - </sdk:extra> 1614 - </sdk:sdk-addon>
-321
pkgs/development/mobile/androidenv/addons.nix
··· 1 - 2 - # This file is generated from generate-addons.sh. DO NOT EDIT. 3 - # Execute generate-addons.sh or fetch.sh to update the file. 4 - {stdenv, fetchurl, unzip}: 5 - 6 - let 7 - buildGoogleApis = args: 8 - stdenv.mkDerivation (args // { 9 - buildInputs = [ unzip ]; 10 - buildCommand = '' 11 - mkdir -p $out 12 - cd $out 13 - unzip $src 14 - ''; 15 - }); 16 - in 17 - { 18 - 19 - google_apis_3 = buildGoogleApis { 20 - name = "google_apis-3"; 21 - src = fetchurl { 22 - url = https://dl.google.com/android/repository/google_apis-3-r03.zip; 23 - sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a"; 24 - }; 25 - meta = { 26 - description = "Android + Google APIs"; 27 - url = http://developer.android.com/; 28 - }; 29 - }; 30 - 31 - google_apis_4 = buildGoogleApis { 32 - name = "google_apis-4"; 33 - src = fetchurl { 34 - url = https://dl.google.com/android/repository/google_apis-4_r02.zip; 35 - sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0"; 36 - }; 37 - meta = { 38 - description = "Android + Google APIs"; 39 - url = http://developer.android.com/; 40 - }; 41 - }; 42 - 43 - google_apis_5 = buildGoogleApis { 44 - name = "google_apis-5"; 45 - src = fetchurl { 46 - url = https://dl.google.com/android/repository/google_apis-5_r01.zip; 47 - sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503"; 48 - }; 49 - meta = { 50 - description = "Android + Google APIs"; 51 - url = http://developer.android.com/; 52 - }; 53 - }; 54 - 55 - google_apis_6 = buildGoogleApis { 56 - name = "google_apis-6"; 57 - src = fetchurl { 58 - url = https://dl.google.com/android/repository/google_apis-6_r01.zip; 59 - sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2"; 60 - }; 61 - meta = { 62 - description = "Android + Google APIs"; 63 - url = http://developer.android.com/; 64 - }; 65 - }; 66 - 67 - google_apis_7 = buildGoogleApis { 68 - name = "google_apis-7"; 69 - src = fetchurl { 70 - url = https://dl.google.com/android/repository/google_apis-7_r01.zip; 71 - sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac"; 72 - }; 73 - meta = { 74 - description = "Android + Google APIs"; 75 - url = http://developer.android.com/; 76 - }; 77 - }; 78 - 79 - google_apis_8 = buildGoogleApis { 80 - name = "google_apis-8"; 81 - src = fetchurl { 82 - url = https://dl.google.com/android/repository/google_apis-8_r02.zip; 83 - sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352"; 84 - }; 85 - meta = { 86 - description = "Android + Google APIs"; 87 - url = http://developer.android.com/; 88 - }; 89 - }; 90 - 91 - google_apis_9 = buildGoogleApis { 92 - name = "google_apis-9"; 93 - src = fetchurl { 94 - url = https://dl.google.com/android/repository/google_apis-9_r02.zip; 95 - sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d"; 96 - }; 97 - meta = { 98 - description = "Android + Google APIs"; 99 - url = http://developer.android.com/; 100 - }; 101 - }; 102 - 103 - google_apis_10 = buildGoogleApis { 104 - name = "google_apis-10"; 105 - src = fetchurl { 106 - url = https://dl.google.com/android/repository/google_apis-10_r02.zip; 107 - sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d"; 108 - }; 109 - meta = { 110 - description = "Android + Google APIs"; 111 - url = http://developer.android.com/; 112 - }; 113 - }; 114 - 115 - google_apis_11 = buildGoogleApis { 116 - name = "google_apis-11"; 117 - src = fetchurl { 118 - url = https://dl.google.com/android/repository/google_apis-11_r01.zip; 119 - sha1 = "5eab5e81addee9f3576d456d205208314b5146a5"; 120 - }; 121 - meta = { 122 - description = "Android + Google APIs"; 123 - url = http://developer.android.com/; 124 - }; 125 - }; 126 - 127 - google_apis_12 = buildGoogleApis { 128 - name = "google_apis-12"; 129 - src = fetchurl { 130 - url = https://dl.google.com/android/repository/google_apis-12_r01.zip; 131 - sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d"; 132 - }; 133 - meta = { 134 - description = "Android + Google APIs"; 135 - url = http://developer.android.com/; 136 - }; 137 - }; 138 - 139 - google_apis_13 = buildGoogleApis { 140 - name = "google_apis-13"; 141 - src = fetchurl { 142 - url = https://dl.google.com/android/repository/google_apis-13_r01.zip; 143 - sha1 = "3b153edd211c27dc736c893c658418a4f9041417"; 144 - }; 145 - meta = { 146 - description = "Android + Google APIs"; 147 - url = http://developer.android.com/; 148 - }; 149 - }; 150 - 151 - google_apis_14 = buildGoogleApis { 152 - name = "google_apis-14"; 153 - src = fetchurl { 154 - url = https://dl.google.com/android/repository/google_apis-14_r02.zip; 155 - sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39"; 156 - }; 157 - meta = { 158 - description = "Android + Google APIs"; 159 - 160 - }; 161 - }; 162 - 163 - google_apis_15 = buildGoogleApis { 164 - name = "google_apis-15"; 165 - src = fetchurl { 166 - url = https://dl.google.com/android/repository/google_apis-15_r03.zip; 167 - sha1 = "d0d2bf26805eb271693570a1aaec33e7dc3f45e9"; 168 - }; 169 - meta = { 170 - description = "Android + Google APIs"; 171 - 172 - }; 173 - }; 174 - 175 - google_apis_16 = buildGoogleApis { 176 - name = "google_apis-16"; 177 - src = fetchurl { 178 - url = https://dl.google.com/android/repository/google_apis-16_r04.zip; 179 - sha1 = "ee6acf1b01020bfa8a8e24725dbc4478bee5e792"; 180 - }; 181 - meta = { 182 - description = "Android + Google APIs"; 183 - 184 - }; 185 - }; 186 - 187 - google_apis_17 = buildGoogleApis { 188 - name = "google_apis-17"; 189 - src = fetchurl { 190 - url = https://dl.google.com/android/repository/google_apis-17_r04.zip; 191 - sha1 = "a076be0677f38df8ca5536b44dfb411a0c808c4f"; 192 - }; 193 - meta = { 194 - description = "Android + Google APIs"; 195 - 196 - }; 197 - }; 198 - 199 - google_apis_18 = buildGoogleApis { 200 - name = "google_apis-18"; 201 - src = fetchurl { 202 - url = https://dl.google.com/android/repository/google_apis-18_r04.zip; 203 - sha1 = "6109603409debdd40854d4d4a92eaf8481462c8b"; 204 - }; 205 - meta = { 206 - description = "Android + Google APIs"; 207 - 208 - }; 209 - }; 210 - 211 - google_apis_19 = buildGoogleApis { 212 - name = "google_apis-19"; 213 - src = fetchurl { 214 - url = https://dl.google.com/android/repository/google_apis-19_r20.zip; 215 - sha1 = "5b933abe830b2f25b4c0f171d45e9e0651e56311"; 216 - }; 217 - meta = { 218 - description = "Android + Google APIs"; 219 - 220 - }; 221 - }; 222 - 223 - google_apis_21 = buildGoogleApis { 224 - name = "google_apis-21"; 225 - src = fetchurl { 226 - url = https://dl.google.com/android/repository/google_apis-21_r01.zip; 227 - sha1 = "66a754efb24e9bb07cc51648426443c7586c9d4a"; 228 - }; 229 - meta = { 230 - description = "Android + Google APIs"; 231 - 232 - }; 233 - }; 234 - 235 - google_apis_22 = buildGoogleApis { 236 - name = "google_apis-22"; 237 - src = fetchurl { 238 - url = https://dl.google.com/android/repository/google_apis-22_r01.zip; 239 - sha1 = "5def0f42160cba8acff51b9c0c7e8be313de84f5"; 240 - }; 241 - meta = { 242 - description = "Android + Google APIs"; 243 - 244 - }; 245 - }; 246 - 247 - google_apis_23 = buildGoogleApis { 248 - name = "google_apis-23"; 249 - src = fetchurl { 250 - url = https://dl.google.com/android/repository/google_apis-23_r01.zip; 251 - sha1 = "04c5cc1a7c88967250ebba9561d81e24104167db"; 252 - }; 253 - meta = { 254 - description = "Android + Google APIs"; 255 - 256 - }; 257 - }; 258 - 259 - google_apis_24 = buildGoogleApis { 260 - name = "google_apis-24"; 261 - src = fetchurl { 262 - url = https://dl.google.com/android/repository/google_apis-24_r1.zip; 263 - sha1 = "31361c2868f27343ee917fbd259c1463821b6145"; 264 - }; 265 - meta = { 266 - description = "Android + Google APIs"; 267 - 268 - }; 269 - }; 270 - 271 - google_apis_25 = buildGoogleApis { 272 - name = "google_apis-25"; 273 - src = fetchurl { 274 - url = https://dl.google.com/android/repository/google_apis-25_r1.zip; 275 - sha1 = "550e83eea9513ab11c44919ac6da54b36084a9f3"; 276 - }; 277 - meta = { 278 - description = "Android + Google APIs"; 279 - 280 - }; 281 - }; 282 - 283 - android_support_extra = buildGoogleApis { 284 - name = "android_support_extra"; 285 - src = fetchurl { 286 - url = https://dl.google.com/android/repository/support_r23.2.1.zip; 287 - sha1 = "41121bbc412c2fce0be170d589d20cfa3e78e857"; 288 - }; 289 - meta = { 290 - description = "Android Support Library"; 291 - url = http://developer.android.com/; 292 - }; 293 - }; 294 - 295 - 296 - google_play_services = buildGoogleApis { 297 - name = "google_play_services"; 298 - src = fetchurl { 299 - url = https://dl.google.com/android/repository/google_play_services_v16_1_rc09.zip; 300 - sha1 = "f95bf19634e2ab0430923247fe2c50246432d2e9"; 301 - }; 302 - meta = { 303 - description = "Google Play services client library and sample code"; 304 - url = http://developer.android.com/; 305 - }; 306 - }; 307 - 308 - instant_apps = buildGoogleApis { 309 - name = "instant_apps_sdk"; 310 - src = fetchurl { 311 - url = https://dl.google.com/android/repository/iasdk-1.5.0-1538000167.zip; 312 - sha1 = "6c282b9c686e819fe7f5ac8f2249d2479acb63b4"; 313 - }; 314 - meta = { 315 - description = "Android Instant Apps Development SDK"; 316 - url = "https://developer.android.com/"; 317 - }; 318 - }; 319 - 320 - 321 - }
-120
pkgs/development/mobile/androidenv/androidndk.nix
··· 1 - { stdenv, fetchurl, zlib, ncurses5, unzip, lib, makeWrapper 2 - , coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which 3 - , platformTools, python3, libcxx, version, sha1s, bash, runCommand 4 - , fullNDK ? false # set to true if you want other parts of the NDK 5 - # that is not used by Nixpkgs like sources, 6 - # examples, docs, or LLVM toolchains 7 - }: 8 - 9 - let 10 - makeStandaloneToolchain = api: arch: let 11 - full_ndk = (ndk true); 12 - in runCommand "makeStandaloneToolchain-${version}" {} '' 13 - ${full_ndk}/libexec/${full_ndk.name}/build/tools/make_standalone_toolchain.py --api ${toString api} --arch ${arch} --install-dir $out 14 - ''; 15 - ndk = fullNDK: stdenv.mkDerivation rec { 16 - name = "android-ndk-r${version}"; 17 - inherit version; 18 - 19 - src = fetchurl { 20 - url = "https://dl.google.com/android/repository/${name}-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}.zip"; 21 - sha1 = sha1s.${stdenv.hostPlatform.system} or (throw "platform ${stdenv.hostPlatform.system} not supported!"); 22 - }; 23 - 24 - phases = "buildPhase"; 25 - 26 - nativeBuildInputs = [ unzip makeWrapper file ]; 27 - 28 - buildCommand = let 29 - bin_path = "$out/bin"; 30 - pkg_path = "$out/libexec/${name}"; 31 - sed_script_1 = 32 - "'s|^PROGDIR=`dirname $0`" + 33 - "|PROGDIR=`dirname $(readlink -f $(which $0))`|'"; 34 - runtime_paths = (lib.makeBinPath [ 35 - coreutils file findutils 36 - gawk gnugrep gnused 37 - jdk python3 which 38 - ]) + ":${platformTools}/platform-tools"; 39 - in '' 40 - mkdir -pv $out/libexec 41 - cd $out/libexec 42 - unzip -qq $src 43 - 44 - # so that it doesn't fail because of read-only permissions set 45 - cd - 46 - ${if (version == "10e") then 47 - '' 48 - patch -p1 \ 49 - --no-backup-if-mismatch \ 50 - -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r10e.patch } 51 - '' 52 - else 53 - '' 54 - patch -p1 \ 55 - --no-backup-if-mismatch \ 56 - -d $out/libexec/${name} < ${ ./. + "/make_standalone_toolchain.py_" + "${version}" + ".patch" } 57 - 58 - sed -i 's,#!/usr/bin/env python,#!${python3}/bin/python,g' ${pkg_path}/build/tools/make_standalone_toolchain.py 59 - sed -i 's,#!/bin/bash,#!${bash}/bin/bash,g' ${pkg_path}/build/tools/make_standalone_toolchain.py 60 - wrapProgram ${pkg_path}/build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}" 61 - '' 62 - } 63 - 64 - patchShebangs ${pkg_path} 65 - 66 - cd ${pkg_path} 67 - 68 - '' + lib.optionalString (!fullNDK) '' 69 - # Steps to reduce output size 70 - rm -rf docs sources tests 71 - # We only support cross compiling with gcc for now 72 - rm -rf toolchains/*-clang* toolchains/llvm* 73 - '' + 74 - 75 - '' 76 - find ${pkg_path}/toolchains \( \ 77 - \( -type f -a -name "*.so*" \) -o \ 78 - \( -type f -a -perm -0100 \) \ 79 - \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ 80 - --set-rpath ${stdenv.lib.makeLibraryPath [ libcxx zlib ncurses5 ]} {} \; 81 - # fix ineffective PROGDIR / MYNDKDIR determination 82 - for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py"} 83 - do 84 - sed -i -e ${sed_script_1} $i 85 - done 86 - 87 - # wrap 88 - for i in ndk-build ${lib.optionalString (version == "10e") "ndk-gdb ndk-gdb-py ndk-which"} 89 - do 90 - wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" 91 - done 92 - 93 - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' 94 - for i in ${pkg_path}/prebuilt/linux-x86_64/bin/* 95 - do 96 - if ! isELF $i; then continue; fi 97 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i 98 - patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i 99 - done 100 - ''} 101 - 102 - # make some executables available in PATH 103 - mkdir -pv ${bin_path} 104 - for i in \ 105 - ndk-build ${lib.optionalString (version == "10e") "ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which"} 106 - do 107 - ln -sf ${pkg_path}/$i ${bin_path}/$i 108 - done 109 - ''; 110 - 111 - meta = { 112 - platforms = builtins.attrNames sha1s; 113 - hydraPlatforms = []; 114 - license = stdenv.lib.licenses.asl20; 115 - }; 116 - }; 117 - passthru = { 118 - inherit makeStandaloneToolchain; 119 - }; 120 - in lib.extendDerivation true passthru (ndk fullNDK)
-88
pkgs/development/mobile/androidenv/androidndk_r8e.nix
··· 1 - { stdenv, fetchurl, zlib, ncurses, lib, makeWrapper 2 - , coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which 3 - , platformTools 4 - , fullNDK ? false # set to true if you want other parts of the NDK 5 - # that is not used by Nixpkgs like sources, 6 - # examples, docs, or LLVM toolchains 7 - }: 8 - 9 - stdenv.mkDerivation rec { 10 - name = "android-ndk-r8e"; 11 - 12 - src = if stdenv.hostPlatform.system == "i686-linux" 13 - then fetchurl { 14 - url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2"; 15 - sha256 = "c2c4e0c8b3037149a0f5dbb08d72f814a52af4da9fff9d80328c675457e95a98"; 16 - } 17 - else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { 18 - url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2"; 19 - sha256 = "093gf55zbh38p2gk5bdykj1vg9p5l774wjdzw5mhk4144jm1wdq7"; 20 - } 21 - else throw "platform ${stdenv.hostPlatform.system} not supported!"; 22 - 23 - phases = "buildPhase"; 24 - 25 - nativeBuildInputs = [ makeWrapper ]; 26 - 27 - buildCommand = let 28 - bin_path = "$out/bin"; 29 - pkg_path = "$out/libexec/${name}"; 30 - sed_script_1 = 31 - "'s|^PROGDIR=`dirname $0`" + 32 - "|PROGDIR=`dirname $(readlink -f $(which $0))`|'"; 33 - sed_script_2 = 34 - "'s|^MYNDKDIR=`dirname $0`" + 35 - "|MYNDKDIR=`dirname $(readlink -f $(which $0))`|'"; 36 - runtime_paths = (lib.makeBinPath [ 37 - coreutils file findutils 38 - gawk gnugrep gnused 39 - jdk 40 - which 41 - ]) + ":${platformTools}/platform-tools"; 42 - in '' 43 - set -x 44 - mkdir -pv $out/libexec 45 - cd $out/libexec 46 - tar -xjf $src 47 - 48 - # so that it doesn't fail because of read-only permissions set 49 - cd - 50 - patch -p1 \ 51 - --no-backup-if-mismatch \ 52 - -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r8e.patch } 53 - cd ${pkg_path} 54 - 55 - '' + lib.optionalString (!fullNDK) '' 56 - # Steps to reduce output size 57 - rm -rf docs sources tests 58 - # We only support cross compiling with gcc for now 59 - rm -rf toolchains/*-clang* toolchains/llvm-* 60 - 61 - '' + '' 62 - find ${pkg_path}/toolchains \( \ 63 - \( -type f -a -name "*.so*" \) -o \ 64 - \( -type f -a -perm -0100 \) \ 65 - \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \ 66 - --set-rpath ${stdenv.lib.makeLibraryPath [ zlib ncurses ]} {} \; 67 - # fix ineffective PROGDIR / MYNDKDIR determination 68 - for i in ndk-build ndk-gdb ndk-gdb-py 69 - do 70 - sed -i -e ${sed_script_1} $i 71 - done 72 - sed -i -e ${sed_script_2} ndk-which 73 - # a bash script 74 - patchShebangs ndk-which 75 - # wrap 76 - for i in ndk-build ndk-gdb ndk-gdb-py ndk-which 77 - do 78 - wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" 79 - done 80 - # make some executables available in PATH 81 - mkdir -pv ${bin_path} 82 - for i in \ 83 - ndk-build ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which 84 - do 85 - ln -sf ${pkg_path}/$i ${bin_path}/$i 86 - done 87 - ''; 88 - }
-296
pkgs/development/mobile/androidenv/androidsdk.nix
··· 1 - { stdenv, stdenv_32bit, fetchurl, fetchzip, unzip, makeWrapper 2 - , platformTools, buildTools, support, supportRepository, platforms, sysimages, addons, sources 3 - , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, libGLU_combined, alsaLib 4 - , freetype, fontconfig, glib, gtk2, atk, file, jdk, coreutils, libpulseaudio, dbus 5 - , zlib, glxinfo, xkeyboardconfig 6 - , includeSources 7 - , licenseAccepted 8 - }: 9 - { platformVersions, abiVersions, useGoogleAPIs, buildToolsVersions ? [], useExtraSupportLibs ? false 10 - , useGooglePlayServices ? false, useInstantApps ? false }: 11 - 12 - if !licenseAccepted then throw '' 13 - You must accept the Android Software Development Kit License Agreement at 14 - https://developer.android.com/studio/terms 15 - by setting nixpkgs config option 'android_sdk.accept_license = true;' 16 - '' 17 - else assert licenseAccepted; 18 - 19 - let inherit (stdenv.lib) makeLibraryPath; 20 - 21 - googleRepository = let version = "gms_v9_rc41_wear_2_0_rc6"; 22 - in fetchzip rec { 23 - url = "https://dl-ssl.google.com/android/repository/google_m2repository_${version}.zip"; 24 - sha256 = "0k99xmynv0k62d301zx5jnjkddflr51i5lb02l9incg7m5cn8kzx"; 25 - }; 26 - 27 - in 28 - 29 - stdenv.mkDerivation rec { 30 - name = "android-sdk-${version}"; 31 - version = "26.1.1"; 32 - 33 - src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") 34 - then fetchurl { 35 - url = "https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip"; 36 - sha256 = "1yfy0qqxz1ixpsci1pizls1nrncmi8p16wcb9rimdn4q3mdfxzwj"; 37 - } 38 - else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl { 39 - url = "https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip"; 40 - sha256 = "0gl5c30m40kx0vvrpbaa8cw8wq2vb89r14hgzb1df4qgpic97cpc"; 41 - } 42 - else throw "platform not ${stdenv.hostPlatform.system} supported!"; 43 - 44 - emulator = fetchurl { 45 - url = "https://dl.google.com/android/repository/emulator-linux-4969155.zip"; 46 - sha256 = "0iw0j6j3w9zpfalsa7xq2czz4vzgq96zk2zddjhanwwx4p8fhrfd"; 47 - }; 48 - 49 - buildCommand = '' 50 - mkdir -p $out/libexec 51 - cd $out/libexec 52 - unpackFile $src 53 - unpackFile $emulator 54 - cd tools 55 - 56 - for f in monitor bin/monkeyrunner bin/uiautomatorviewer 57 - do 58 - sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" "$f" 59 - done 60 - 61 - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") 62 - '' 63 - # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++ 64 - 65 - for i in mksdcard 66 - do 67 - patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i 68 - patchelf --set-rpath ${stdenv_32bit.cc.cc.lib}/lib $i 69 - done 70 - 71 - # The following scripts used SWT and wants to dynamically load some GTK+ stuff. 72 - # Creating these wrappers ensure that they can be found: 73 - 74 - wrapProgram `pwd`/android \ 75 - --prefix PATH : ${jdk}/bin \ 76 - --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ glib gtk2 libXtst ]} 77 - 78 - wrapProgram `pwd`/bin/uiautomatorviewer \ 79 - --prefix PATH : ${jdk}/bin \ 80 - --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]} 81 - 82 - # The emulators need additional libraries, which are dynamically loaded => let's wrap them 83 - 84 - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' 85 - cd .. 86 - for i in emulator/emulator* emulator/qemu/linux-x86_64/qemu-system-* 87 - do 88 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i 89 - wrapProgram `pwd`/$i \ 90 - --prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \ 91 - --suffix LD_LIBRARY_PATH : `pwd`/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext libGLU_combined alsaLib zlib libpulseaudio dbus.lib ]} \ 92 - --suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb 93 - done 94 - cd tools 95 - ''} 96 - ''} 97 - 98 - patchShebangs . 99 - 100 - ${if stdenv.hostPlatform.system == "i686-linux" then 101 - '' 102 - # The monitor requires some more patching 103 - 104 - cd lib/monitor-x86 105 - patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 monitor 106 - patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so 107 - 108 - wrapProgram `pwd`/monitor \ 109 - --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk2 atk stdenv.cc.cc libXtst ]} 110 - 111 - cd ../.. 112 - '' 113 - else if stdenv.hostPlatform.system == "x86_64-linux" then 114 - '' 115 - # The monitor requires some more patching 116 - 117 - cd lib/monitor-x86_64 118 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 monitor 119 - patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so 120 - 121 - wrapProgram `pwd`/monitor \ 122 - --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk2 atk stdenv.cc.cc libXtst ]} 123 - 124 - cd ../.. 125 - '' 126 - else ""} 127 - 128 - # Symlink the other sub packages 129 - 130 - cd .. 131 - ln -s ${platformTools}/platform-tools 132 - ln -s ${support}/support 133 - 134 - mkdir -p build-tools 135 - cd build-tools 136 - 137 - ${stdenv.lib.concatMapStrings 138 - (v: "ln -s ${builtins.getAttr "v${builtins.replaceStrings ["."] ["_"] v}" buildTools}/build-tools/*") 139 - (if (builtins.length buildToolsVersions) == 0 then platformVersions else buildToolsVersions)} 140 - 141 - cd .. 142 - 143 - # Symlink required Google API add-ons 144 - 145 - mkdir -p add-ons 146 - cd add-ons 147 - 148 - ${if useGoogleAPIs then 149 - stdenv.lib.concatMapStrings (platformVersion: 150 - if (builtins.hasAttr ("google_apis_"+platformVersion) addons) then 151 - let 152 - googleApis = builtins.getAttr ("google_apis_"+platformVersion) addons; 153 - in 154 - "ln -s ${googleApis}/* addon-google_apis-${platformVersion}\n" 155 - else "") platformVersions 156 - else ""} 157 - 158 - cd .. 159 - 160 - # Symlink required extras 161 - 162 - mkdir -p extras/android 163 - cd extras/android 164 - 165 - ln -s ${supportRepository}/m2repository 166 - 167 - ${if useExtraSupportLibs then 168 - "ln -s ${addons.android_support_extra}/support ." 169 - else ""} 170 - 171 - cd .. 172 - mkdir -p google 173 - cd google 174 - 175 - ${if useGooglePlayServices then 176 - "ln -s ${addons.google_play_services}/google-play-services google_play_services" 177 - else ""} 178 - 179 - ${stdenv.lib.optionalString useInstantApps 180 - "ln -s ${addons.instant_apps}/whsdk instantapps"} 181 - 182 - ln -s ${googleRepository} m2repository 183 - 184 - cd ../.. 185 - 186 - # Symlink required sources 187 - mkdir -p sources 188 - cd sources 189 - 190 - ${if includeSources then 191 - stdenv.lib.concatMapStrings (platformVersion: 192 - if (builtins.hasAttr ("source_"+platformVersion) sources) then 193 - let 194 - source = builtins.getAttr ("source_"+platformVersion) sources; 195 - in 196 - "ln -s ${source}/* android-${platformVersion}\n" 197 - else "") platformVersions 198 - else ""} 199 - 200 - cd .. 201 - 202 - # Symlink required platforms 203 - 204 - mkdir -p platforms 205 - cd platforms 206 - 207 - ${stdenv.lib.concatMapStrings (platformVersion: 208 - if (builtins.hasAttr ("platform_"+platformVersion) platforms) then 209 - let 210 - platform = builtins.getAttr ("platform_"+platformVersion) platforms; 211 - in 212 - "ln -s ${platform}/* android-${platformVersion}\n" 213 - else "" 214 - ) platformVersions} 215 - 216 - cd .. 217 - 218 - # Symlink required system images 219 - 220 - mkdir -p system-images 221 - cd system-images 222 - 223 - ${stdenv.lib.concatMapStrings (abiVersion: 224 - stdenv.lib.concatMapStrings (platformVersion: 225 - if (builtins.hasAttr ("sysimg_" + abiVersion + "_" + platformVersion) sysimages) then 226 - let 227 - sysimg = builtins.getAttr ("sysimg_" + abiVersion + "_" + platformVersion) sysimages; 228 - in 229 - '' 230 - mkdir -p android-${platformVersion} 231 - cd android-${platformVersion} 232 - ln -s ${sysimg}/* 233 - cd .. 234 - '' 235 - else "" 236 - ) platformVersions 237 - ) abiVersions} 238 - 239 - # Create wrappers to the most important tools and platform tools so that we can run them if the SDK is in our PATH 240 - 241 - mkdir -p $out/bin 242 - 243 - for i in $out/libexec/tools/* 244 - do 245 - if [ ! -d $i ] && [ -x $i ] 246 - then 247 - ln -sf $i $out/bin/$(basename $i) 248 - fi 249 - done 250 - 251 - for i in $out/libexec/tools/bin/* 252 - do 253 - if [ ! -d $i ] && [ -x $i ] 254 - then 255 - ln -sf $i $out/bin/$(basename $i) 256 - fi 257 - done 258 - 259 - for i in $out/libexec/platform-tools/* 260 - do 261 - if [ ! -d $i ] && [ -x $i ] 262 - then 263 - ln -sf $i $out/bin/$(basename $i) 264 - fi 265 - done 266 - 267 - for i in $out/libexec/build-tools/*/* 268 - do 269 - if [ ! -d $i ] && [ -x $i ] 270 - then 271 - ln -sf $i $out/bin/$(basename $i) 272 - fi 273 - done 274 - 275 - for i in $out/libexec/emulator/* 276 - do 277 - if [ ! -d $i ] && [ -x $i ] 278 - then 279 - ln -sf $i $out/bin/$(basename $i) 280 - fi 281 - done 282 - 283 - wrapProgram $out/bin/sdkmanager \ 284 - --set JAVA_HOME ${jdk} 285 - 286 - yes | ANDROID_SDK_HOME=$(mktemp -d) $out/bin/sdkmanager --licenses || true 287 - ''; 288 - 289 - buildInputs = [ unzip makeWrapper ]; 290 - 291 - meta = { 292 - platforms = stdenv.lib.platforms.unix; 293 - hydraPlatforms = []; 294 - license = stdenv.lib.licenses.unfree; 295 - }; 296 - }
+22 -25
pkgs/development/mobile/androidenv/build-app.nix
··· 1 - { stdenv, androidsdk, jdk, ant, androidndk, gnumake, gawk, file, which }: 2 - args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false, antFlags ? "" 1 + { composeAndroidPackages, stdenv, ant, jdk, gnumake, gawk }: 2 + 3 + { name 3 4 , release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null 4 - , useNDK ? false, ... 5 - }: 5 + , antFlags ? "" 6 + , ... 7 + }@args: 6 8 7 9 assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null; 8 10 9 11 let 10 - androidsdkComposition = androidsdk { 11 - inherit platformVersions useGoogleAPIs; 12 - abiVersions = []; 13 - }; 12 + androidSdkFormalArgs = builtins.functionArgs composeAndroidPackages; 13 + androidArgs = builtins.intersectAttrs androidSdkFormalArgs args; 14 + androidsdk = (composeAndroidPackages androidArgs).androidsdk; 15 + 16 + extraArgs = removeAttrs args ([ "name" ] ++ builtins.attrNames androidSdkFormalArgs); 14 17 in 15 18 stdenv.mkDerivation ({ 16 - name = stdenv.lib.replaceChars [" "] [""] name; 17 - 18 - ANDROID_HOME = "${androidsdkComposition}/libexec"; 19 - 20 - buildInputs = [ jdk ant ] ++ 21 - stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ]; 22 - 19 + name = stdenv.lib.replaceChars [" "] [""] name; # Android APKs may contain white spaces in their names, but Nix store paths cannot 20 + ANDROID_HOME = "${androidsdk}/libexec/android-sdk"; 21 + buildInputs = [ jdk ant ]; 23 22 buildPhase = '' 24 23 ${stdenv.lib.optionalString release '' 25 - 26 24 # Provide key singing attributes 27 25 ( echo "key.store=${keyStore}" 28 26 echo "key.alias=${keyAlias}" ··· 32 30 ''} 33 31 34 32 export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it. 35 - ${if useNDK then '' 36 - export GNUMAKE=${gnumake}/bin/make 37 - export NDK_HOST_AWK=${gawk}/bin/gawk 38 - ${androidndk}/bin/ndk-build 39 - '' else ""} 33 + 34 + ${stdenv.lib.optionalString (args ? includeNDK && args.includeNDK) '' 35 + export GNUMAKE=${gnumake}/bin/make 36 + export NDK_HOST_AWK=${gawk}/bin/gawk 37 + ${androidsdk}/libexec/android-sdk/ndk-bundle/ndk-build 38 + ''} 40 39 ant ${antFlags} ${if release then "release" else "debug"} 41 40 ''; 42 - 43 41 installPhase = '' 44 42 mkdir -p $out 45 43 mv bin/*-${if release then "release" else "debug"}.apk $out 46 - 44 + 47 45 mkdir -p $out/nix-support 48 46 echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products 49 47 ''; 50 - } // 51 - builtins.removeAttrs args ["name"]) 48 + } // extraArgs)
-108
pkgs/development/mobile/androidenv/build-gradle-app.nix
··· 1 - { stdenv, androidsdk, jdk, androidndk, gnumake, gawk, file 2 - , which, gradle, fetchurl, buildEnv, runCommand }: 3 - 4 - args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false 5 - , useExtraSupportLibs ? false, useGooglePlayServices ? false 6 - , release ? false, keyStore ? null, keyAlias ? null 7 - , keyStorePassword ? null, keyAliasPassword ? null 8 - , useNDK ? false, buildInputs ? [], mavenDeps, gradleTask 9 - , buildDirectory ? "./.", acceptAndroidSdkLicenses ? false }: 10 - 11 - assert release -> keyStore != null; 12 - assert release -> keyAlias != null; 13 - assert release -> keyStorePassword != null; 14 - assert release -> keyAliasPassword != null; 15 - assert acceptAndroidSdkLicenses; 16 - 17 - let 18 - inherit (stdenv.lib) optionalString; 19 - 20 - m2install = { repo, version, artifactId, groupId 21 - , jarSha256, pomSha256, aarSha256, suffix ? "" }: 22 - let m2Name = "${artifactId}-${version}"; 23 - m2Path = "${builtins.replaceStrings ["."] ["/"] groupId}/${artifactId}/${version}"; 24 - in runCommand m2Name {} ('' 25 - mkdir -p $out/m2/${m2Path} 26 - '' + optionalString (jarSha256 != null) '' 27 - install -D ${fetchurl { 28 - url = "${repo}${m2Path}/${m2Name}${suffix}.jar"; 29 - sha256 = jarSha256; 30 - }} $out/m2/${m2Path}/${m2Name}${suffix}.jar 31 - '' + optionalString (pomSha256 != null) '' 32 - install -D ${fetchurl { 33 - url = "${repo}${m2Path}/${m2Name}${suffix}.pom"; 34 - sha256 = pomSha256; 35 - }} $out/m2/${m2Path}/${m2Name}${suffix}.pom 36 - '' + optionalString (aarSha256 != null) '' 37 - install -D ${fetchurl { 38 - url = "${repo}${m2Path}/${m2Name}${suffix}.aar"; 39 - sha256 = aarSha256; 40 - }} $out/m2/${m2Path}/${m2Name}${suffix}.aar 41 - ''); 42 - 43 - androidsdkComposition = androidsdk { 44 - inherit platformVersions useGoogleAPIs 45 - useExtraSupportLibs useGooglePlayServices; 46 - abiVersions = [ "armeabi-v7a" ]; 47 - }; 48 - in 49 - stdenv.mkDerivation ({ 50 - name = stdenv.lib.replaceChars [" "] [""] name; 51 - 52 - ANDROID_HOME = "${androidsdkComposition}/libexec"; 53 - ANDROID_NDK_HOME = "${androidndk}/libexec/${androidndk.name}"; 54 - 55 - buildInputs = [ jdk gradle ] ++ 56 - stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ] ++ 57 - buildInputs; 58 - 59 - DEPENDENCIES = buildEnv { name = "${name}-maven-deps"; 60 - paths = map m2install mavenDeps; 61 - }; 62 - 63 - buildPhase = '' 64 - ${optionalString release '' 65 - # Provide key signing attributes 66 - ( echo "RELEASE_STORE_FILE=${keyStore}" 67 - echo "RELEASE_KEY_ALIAS=${keyAlias}" 68 - echo "RELEASE_STORE_PASSWORD=${keyStorePassword}" 69 - echo "RELEASE_KEY_PASSWORD=${keyAliasPassword}" 70 - ) >> gradle.properties 71 - ''} 72 - buildDir=`pwd` 73 - cp -r $ANDROID_HOME $buildDir/local_sdk 74 - chmod -R 755 local_sdk 75 - export ANDROID_HOME=$buildDir/local_sdk 76 - # Key files cannot be stored in the user's home directory. This 77 - # overrides it. 78 - export ANDROID_SDK_HOME=`pwd` 79 - 80 - mkdir -p "$ANDROID_HOME/licenses" 81 - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" 82 - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" 83 - 84 - export APP_HOME=`pwd` 85 - 86 - mkdir -p .m2/repository 87 - if [ -d "$DEPENDENCIES/m2" ] ; then 88 - cp -RL "$DEPENDENCIES"/m2/* .m2/repository/ 89 - fi 90 - chmod -R 755 .m2 91 - mkdir -p .m2/repository/com/android/support 92 - cp -RL local_sdk/extras/android/m2repository/com/android/support/* .m2/repository/com/android/support/ 93 - cp -RL local_sdk/extras/google/m2repository/* .m2/repository/ 94 - gradle ${gradleTask} --offline --no-daemon -g ./tmp -Dmaven.repo.local=`pwd`/.m2/repository 95 - ''; 96 - 97 - installPhase = '' 98 - mkdir -p $out 99 - mv ${buildDirectory}/build/outputs/apk/*.apk $out 100 - 101 - mkdir -p $out/nix-support 102 - echo "file binary-dist \"$(echo $out/*.apk)\"" > $out/nix-support/hydra-build-products 103 - ''; 104 - 105 - meta = { 106 - license = stdenv.lib.licenses.unfree; 107 - }; 108 - } // builtins.removeAttrs args ["name" "mavenDeps"])
-376
pkgs/development/mobile/androidenv/build-tools-srcs-linux.nix
··· 1 - 2 - # This file is generated from generate-tools.sh. DO NOT EDIT. 3 - # Execute generate-tools.sh or fetch.sh to update the file. 4 - { fetchurl }: 5 - 6 - { 7 - 8 - v17 = { 9 - version = "17.0.0"; 10 - src = fetchurl { 11 - url = https://dl.google.com/android/repository/build-tools_r17-linux.zip; 12 - sha1 = "2c2872bc3806aabf16a12e3959c2183ddc866e6d"; 13 - }; 14 - }; 15 - 16 - v18_0_1 = { 17 - version = "18.0.1"; 18 - src = fetchurl { 19 - url = https://dl.google.com/android/repository/build-tools_r18.0.1-linux.zip; 20 - sha1 = "f11618492b0d2270c332325d45d752d3656a9640"; 21 - }; 22 - }; 23 - 24 - v18_1_0 = { 25 - version = "18.1.0"; 26 - src = fetchurl { 27 - url = https://dl.google.com/android/repository/build-tools_r18.1-linux.zip; 28 - sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8"; 29 - }; 30 - }; 31 - 32 - v18_1_1 = { 33 - version = "18.1.1"; 34 - src = fetchurl { 35 - url = https://dl.google.com/android/repository/build-tools_r18.1.1-linux.zip; 36 - sha1 = "68c9acbfc0cec2d51b19efaed39831a17055d998"; 37 - }; 38 - }; 39 - 40 - v19 = { 41 - version = "19.0.0"; 42 - src = fetchurl { 43 - url = https://dl.google.com/android/repository/build-tools_r19-linux.zip; 44 - sha1 = "55c1a6cf632e7d346f0002b275ec41fd3137fd83"; 45 - }; 46 - }; 47 - 48 - v19_0_1 = { 49 - version = "19.0.1"; 50 - src = fetchurl { 51 - url = https://dl.google.com/android/repository/build-tools_r19.0.1-linux.zip; 52 - sha1 = "18d2312dc4368858914213087f4e61445aca4517"; 53 - }; 54 - }; 55 - 56 - v19_0_2 = { 57 - version = "19.0.2"; 58 - src = fetchurl { 59 - url = https://dl.google.com/android/repository/build-tools_r19.0.2-linux.zip; 60 - sha1 = "a03a6bdea0091aea32e1b35b90a7294c9f04e3dd"; 61 - }; 62 - }; 63 - 64 - v19_0_3 = { 65 - version = "19.0.3"; 66 - src = fetchurl { 67 - url = https://dl.google.com/android/repository/build-tools_r19.0.3-linux.zip; 68 - sha1 = "c2d6055478e9d2d4fba476ee85f99181ddd1160c"; 69 - }; 70 - }; 71 - 72 - v19_1_0 = { 73 - version = "19.1.0"; 74 - src = fetchurl { 75 - url = https://dl.google.com/android/repository/build-tools_r19.1-linux.zip; 76 - sha1 = "1ff20ac15fa47a75d00346ec12f180d531b3ca89"; 77 - }; 78 - }; 79 - 80 - v20 = { 81 - version = "20.0.0"; 82 - src = fetchurl { 83 - url = https://dl.google.com/android/repository/build-tools_r20-linux.zip; 84 - sha1 = "b688905526a5584d1327a662d871a635ff502758"; 85 - }; 86 - }; 87 - 88 - v21 = { 89 - version = "21.0.0"; 90 - src = fetchurl { 91 - url = https://dl.google.com/android/repository/build-tools_r21-linux.zip; 92 - sha1 = "4933328fdeecbd554a29528f254f4993468e1cf4"; 93 - }; 94 - }; 95 - 96 - v21_0_1 = { 97 - version = "21.0.1"; 98 - src = fetchurl { 99 - url = https://dl.google.com/android/repository/build-tools_r21.0.1-linux.zip; 100 - sha1 = "e573069eea3e5255e7a65bedeb767f4fd0a5f49a"; 101 - }; 102 - }; 103 - 104 - v21_0_2 = { 105 - version = "21.0.2"; 106 - src = fetchurl { 107 - url = https://dl.google.com/android/repository/build-tools_r21.0.2-linux.zip; 108 - sha1 = "e1236ab8897b62b57414adcf04c132567b2612a5"; 109 - }; 110 - }; 111 - 112 - v21_1_0 = { 113 - version = "21.1.0"; 114 - src = fetchurl { 115 - url = https://dl.google.com/android/repository/build-tools_r21.1-linux.zip; 116 - sha1 = "b7455e543784d52a8925f960bc880493ed1478cb"; 117 - }; 118 - }; 119 - 120 - v21_1_1 = { 121 - version = "21.1.1"; 122 - src = fetchurl { 123 - url = https://dl.google.com/android/repository/build-tools_r21.1.1-linux.zip; 124 - sha1 = "1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d"; 125 - }; 126 - }; 127 - 128 - v21_1_2 = { 129 - version = "21.1.2"; 130 - src = fetchurl { 131 - url = https://dl.google.com/android/repository/build-tools_r21.1.2-linux.zip; 132 - sha1 = "5e35259843bf2926113a38368b08458735479658"; 133 - }; 134 - }; 135 - 136 - v22 = { 137 - version = "22.0.0"; 138 - src = fetchurl { 139 - url = https://dl.google.com/android/repository/build-tools_r22-linux.zip; 140 - sha1 = "a8a1619dd090e44fac957bce6842e62abf87965b"; 141 - }; 142 - }; 143 - 144 - v22_0_1 = { 145 - version = "22.0.1"; 146 - src = fetchurl { 147 - url = https://dl.google.com/android/repository/build-tools_r22.0.1-linux.zip; 148 - sha1 = "da8b9c5c3ede39298e6cf0283c000c2ee9029646"; 149 - }; 150 - }; 151 - 152 - v23 = { 153 - version = "23.0.0"; 154 - src = fetchurl { 155 - url = https://dl.google.com/android/repository/build-tools_r23-linux.zip; 156 - sha1 = "c1d6209212b01469f80fa804e0c1d39a06bc9060"; 157 - }; 158 - }; 159 - 160 - v23_0_1 = { 161 - version = "23.0.1"; 162 - src = fetchurl { 163 - url = https://dl.google.com/android/repository/build-tools_r23.0.1-linux.zip; 164 - sha1 = "b6ba7c399d5fa487d95289d8832e4ad943aed556"; 165 - }; 166 - }; 167 - 168 - v23_0_2 = { 169 - version = "23.0.2"; 170 - src = fetchurl { 171 - url = https://dl.google.com/android/repository/build-tools_r23.0.2-linux.zip; 172 - sha1 = "8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3"; 173 - }; 174 - }; 175 - 176 - v23_0_3 = { 177 - version = "23.0.3"; 178 - src = fetchurl { 179 - url = https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip; 180 - sha1 = "368f2600feac7e9b511b82f53d1f2240ae4a91a3"; 181 - }; 182 - }; 183 - 184 - v24 = { 185 - version = "24.0.0"; 186 - src = fetchurl { 187 - url = https://dl.google.com/android/repository/build-tools_r24-linux.zip; 188 - sha1 = "c6271c4d78a5612ea6c7150688bcd5b7313de8d1"; 189 - }; 190 - }; 191 - 192 - v24_0_1 = { 193 - version = "24.0.1"; 194 - src = fetchurl { 195 - url = https://dl.google.com/android/repository/build-tools_r24.0.1-linux.zip; 196 - sha1 = "84f18c392919a074fcbb9b1d967984e6b2fef8b4"; 197 - }; 198 - }; 199 - 200 - v24_0_2 = { 201 - version = "24.0.2"; 202 - src = fetchurl { 203 - url = https://dl.google.com/android/repository/build-tools_r24.0.2-linux.zip; 204 - sha1 = "f199a7a788c3fefbed102eea34d6007737b803cf"; 205 - }; 206 - }; 207 - 208 - v24_0_3 = { 209 - version = "24.0.3"; 210 - src = fetchurl { 211 - url = https://dl.google.com/android/repository/build-tools_r24.0.3-linux.zip; 212 - sha1 = "9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304"; 213 - }; 214 - }; 215 - 216 - v25 = { 217 - version = "25.0.0"; 218 - src = fetchurl { 219 - url = https://dl.google.com/android/repository/build-tools_r25-linux.zip; 220 - sha1 = "f2bbda60403e75cabd0f238598c3b4dfca56ea44"; 221 - }; 222 - }; 223 - 224 - v25_0_1 = { 225 - version = "25.0.1"; 226 - src = fetchurl { 227 - url = https://dl.google.com/android/repository/build-tools_r25.0.1-linux.zip; 228 - sha1 = "ff063d252ab750d339f5947d06ff782836f22bac"; 229 - }; 230 - }; 231 - 232 - v25_0_2 = { 233 - version = "25.0.2"; 234 - src = fetchurl { 235 - url = https://dl.google.com/android/repository/build-tools_r25.0.2-linux.zip; 236 - sha1 = "ff953c0177e317618fda40516f3e9d95fd43c7ae"; 237 - }; 238 - }; 239 - 240 - v25_0_3 = { 241 - version = "25.0.3"; 242 - src = fetchurl { 243 - url = https://dl.google.com/android/repository/build-tools_r25.0.3-linux.zip; 244 - sha1 = "db95f3a0ae376534d4d69f4cdb6fad20649f3509"; 245 - }; 246 - }; 247 - 248 - v26 = { 249 - version = "26.0.0"; 250 - src = fetchurl { 251 - url = https://dl.google.com/android/repository/build-tools_r26-linux.zip; 252 - sha1 = "1cbe72929876f8a872ab1f1b1040a9f720261f59"; 253 - }; 254 - }; 255 - 256 - v26_rc1 = { 257 - version = "26.0.0-rc1"; 258 - src = fetchurl { 259 - url = https://dl.google.com/android/repository/build-tools_r26-rc1-linux.zip; 260 - sha1 = "8cd6388dc96db2d7a49d06159cf990d3bbc78d04"; 261 - }; 262 - }; 263 - 264 - v26_rc2 = { 265 - version = "26.0.0-rc2"; 266 - src = fetchurl { 267 - url = https://dl.google.com/android/repository/build-tools_r26-rc2-linux.zip; 268 - sha1 = "629bbd8d2e415bf64871fb0b4c0540fd6d0347a0"; 269 - }; 270 - }; 271 - 272 - v26_0_1 = { 273 - version = "26.0.1"; 274 - src = fetchurl { 275 - url = https://dl.google.com/android/repository/build-tools_r26.0.1-linux.zip; 276 - sha1 = "5378c2c78091b414d0eac40a6bd37f2faa31a365"; 277 - }; 278 - }; 279 - 280 - v26_0_2 = { 281 - version = "26.0.2"; 282 - src = fetchurl { 283 - url = https://dl.google.com/android/repository/build-tools_r26.0.2-linux.zip; 284 - sha1 = "5b2b7b66c7bf2151f2af183b5b50a17808850592"; 285 - }; 286 - }; 287 - 288 - v26_0_3 = { 289 - version = "26.0.3"; 290 - src = fetchurl { 291 - url = https://dl.google.com/android/repository/build-tools_r26.0.3-linux.zip; 292 - sha1 = "8a2e6c1bcd845844523a68aa17e5442f0dce328c"; 293 - }; 294 - }; 295 - 296 - v27 = { 297 - version = "27.0.0"; 298 - src = fetchurl { 299 - url = https://dl.google.com/android/repository/build-tools_r27-linux.zip; 300 - sha1 = "28542332ba97cf4a08c3eddfcf5edd70e3cf1260"; 301 - }; 302 - }; 303 - 304 - v27_0_1 = { 305 - version = "27.0.1"; 306 - src = fetchurl { 307 - url = https://dl.google.com/android/repository/build-tools_r27.0.1-linux.zip; 308 - sha1 = "7f4eedb1077ef948b848040dcd15de9e8a759f4a"; 309 - }; 310 - }; 311 - 312 - v27_0_2 = { 313 - version = "27.0.2"; 314 - src = fetchurl { 315 - url = https://dl.google.com/android/repository/build-tools_r27.0.2-linux.zip; 316 - sha1 = "b687ddf6be84f11607871138aad32cf857d0b837"; 317 - }; 318 - }; 319 - 320 - v27_0_3 = { 321 - version = "27.0.3"; 322 - src = fetchurl { 323 - url = https://dl.google.com/android/repository/build-tools_r27.0.3-linux.zip; 324 - sha1 = "d85e7a6320eddffe7eeace3437605079dac938ca"; 325 - }; 326 - }; 327 - 328 - v28 = { 329 - version = "28.0.0"; 330 - src = fetchurl { 331 - url = https://dl.google.com/android/repository/build-tools_r28-linux.zip; 332 - sha1 = "d9f8a754d833ccd334f56fcc6089c5925cd82abb"; 333 - }; 334 - }; 335 - 336 - v28_rc1 = { 337 - version = "28.0.0-rc1"; 338 - src = fetchurl { 339 - url = https://dl.google.com/android/repository/build-tools_r28-rc1-linux.zip; 340 - sha1 = "1601977fae25fd478bcfaa0481ca5ea3c609d840"; 341 - }; 342 - }; 343 - 344 - v28_rc2 = { 345 - version = "28.0.0-rc2"; 346 - src = fetchurl { 347 - url = https://dl.google.com/android/repository/build-tools_r28-rc2-linux.zip; 348 - sha1 = "efe9c0dde0646a07544c864276390ca6e96b24dc"; 349 - }; 350 - }; 351 - 352 - v28_0_1 = { 353 - version = "28.0.1"; 354 - src = fetchurl { 355 - url = https://dl.google.com/android/repository/build-tools_r28.0.1-linux.zip; 356 - sha1 = "ee70dfa1fccb58b37cebc9544830511f36a137a0"; 357 - }; 358 - }; 359 - 360 - v28_0_2 = { 361 - version = "28.0.2"; 362 - src = fetchurl { 363 - url = https://dl.google.com/android/repository/build-tools_r28.0.2-linux.zip; 364 - sha1 = "b4492209810a3fd48deaa982f9852fef12433d55"; 365 - }; 366 - }; 367 - 368 - v28_0_3 = { 369 - version = "28.0.3"; 370 - src = fetchurl { 371 - url = https://dl.google.com/android/repository/build-tools_r28.0.3-linux.zip; 372 - sha1 = "ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165"; 373 - }; 374 - }; 375 - 376 - }
-376
pkgs/development/mobile/androidenv/build-tools-srcs-macosx.nix
··· 1 - 2 - # This file is generated from generate-tools.sh. DO NOT EDIT. 3 - # Execute generate-tools.sh or fetch.sh to update the file. 4 - { fetchurl }: 5 - 6 - { 7 - 8 - v17 = { 9 - version = "17.0.0"; 10 - src = fetchurl { 11 - url = https://dl.google.com/android/repository/build-tools_r17-macosx.zip; 12 - sha1 = "602ee709be9dbb8f179b1e4075148a57f9419930"; 13 - }; 14 - }; 15 - 16 - v18_0_1 = { 17 - version = "18.0.1"; 18 - src = fetchurl { 19 - url = https://dl.google.com/android/repository/build-tools_r18.0.1-macosx.zip; 20 - sha1 = "d84f5692fb44d60fc53e5b2507cebf9f24626902"; 21 - }; 22 - }; 23 - 24 - v18_1_0 = { 25 - version = "18.1.0"; 26 - src = fetchurl { 27 - url = https://dl.google.com/android/repository/build-tools_r18.1-macosx.zip; 28 - sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8"; 29 - }; 30 - }; 31 - 32 - v18_1_1 = { 33 - version = "18.1.1"; 34 - src = fetchurl { 35 - url = https://dl.google.com/android/repository/build-tools_r18.1.1-macosx.zip; 36 - sha1 = "a9d9d37f6ddf859e57abc78802a77aaa166e48d4"; 37 - }; 38 - }; 39 - 40 - v19 = { 41 - version = "19.0.0"; 42 - src = fetchurl { 43 - url = https://dl.google.com/android/repository/build-tools_r19-macosx.zip; 44 - sha1 = "86ec1c12db1bc446b7bcaefc5cc14eb361044e90"; 45 - }; 46 - }; 47 - 48 - v19_0_1 = { 49 - version = "19.0.1"; 50 - src = fetchurl { 51 - url = https://dl.google.com/android/repository/build-tools_r19.0.1-macosx.zip; 52 - sha1 = "efaf50fb19a3edb8d03efbff76f89a249ad2920b"; 53 - }; 54 - }; 55 - 56 - v19_0_2 = { 57 - version = "19.0.2"; 58 - src = fetchurl { 59 - url = https://dl.google.com/android/repository/build-tools_r19.0.2-macosx.zip; 60 - sha1 = "145bc43065d45f756d99d87329d899052b9a9288"; 61 - }; 62 - }; 63 - 64 - v19_0_3 = { 65 - version = "19.0.3"; 66 - src = fetchurl { 67 - url = https://dl.google.com/android/repository/build-tools_r19.0.3-macosx.zip; 68 - sha1 = "651cf8754373b2d52e7f6aab2c52eabffe4e9ea4"; 69 - }; 70 - }; 71 - 72 - v19_1_0 = { 73 - version = "19.1.0"; 74 - src = fetchurl { 75 - url = https://dl.google.com/android/repository/build-tools_r19.1-macosx.zip; 76 - sha1 = "0d11aae3417de1efb4b9a0e0a7855904a61bcec1"; 77 - }; 78 - }; 79 - 80 - v20 = { 81 - version = "20.0.0"; 82 - src = fetchurl { 83 - url = https://dl.google.com/android/repository/build-tools_r20-macosx.zip; 84 - sha1 = "1240f629411c108a714c4ddd756937c7fab93f83"; 85 - }; 86 - }; 87 - 88 - v21 = { 89 - version = "21.0.0"; 90 - src = fetchurl { 91 - url = https://dl.google.com/android/repository/build-tools_r21-macosx.zip; 92 - sha1 = "9bef7989b51436bd4e5114d8a0330359f077cbfa"; 93 - }; 94 - }; 95 - 96 - v21_0_1 = { 97 - version = "21.0.1"; 98 - src = fetchurl { 99 - url = https://dl.google.com/android/repository/build-tools_r21.0.1-macosx.zip; 100 - sha1 = "b60c8f9b810c980abafa04896706f3911be1ade7"; 101 - }; 102 - }; 103 - 104 - v21_0_2 = { 105 - version = "21.0.2"; 106 - src = fetchurl { 107 - url = https://dl.google.com/android/repository/build-tools_r21.0.2-macosx.zip; 108 - sha1 = "f17471c154058f3734729ef3cc363399b1cd3de1"; 109 - }; 110 - }; 111 - 112 - v21_1_0 = { 113 - version = "21.1.0"; 114 - src = fetchurl { 115 - url = https://dl.google.com/android/repository/build-tools_r21.1-macosx.zip; 116 - sha1 = "df619356c2359aa5eacdd48699d15b335d9bd246"; 117 - }; 118 - }; 119 - 120 - v21_1_1 = { 121 - version = "21.1.1"; 122 - src = fetchurl { 123 - url = https://dl.google.com/android/repository/build-tools_r21.1.1-macosx.zip; 124 - sha1 = "836a146eab0504aa9387a5132e986fe7c7381571"; 125 - }; 126 - }; 127 - 128 - v21_1_2 = { 129 - version = "21.1.2"; 130 - src = fetchurl { 131 - url = https://dl.google.com/android/repository/build-tools_r21.1.2-macosx.zip; 132 - sha1 = "e7c906b4ba0eea93b32ba36c610dbd6b204bff48"; 133 - }; 134 - }; 135 - 136 - v22 = { 137 - version = "22.0.0"; 138 - src = fetchurl { 139 - url = https://dl.google.com/android/repository/build-tools_r22-macosx.zip; 140 - sha1 = "af95429b24088d704bc5db9bd606e34ac1b82c0d"; 141 - }; 142 - }; 143 - 144 - v22_0_1 = { 145 - version = "22.0.1"; 146 - src = fetchurl { 147 - url = https://dl.google.com/android/repository/build-tools_r22.0.1-macosx.zip; 148 - sha1 = "53dad7f608e01d53b17176ba11165acbfccc5bbf"; 149 - }; 150 - }; 151 - 152 - v23 = { 153 - version = "23.0.0"; 154 - src = fetchurl { 155 - url = https://dl.google.com/android/repository/build-tools_r23-macosx.zip; 156 - sha1 = "90ba6e716f7703a236cd44b2e71c5ff430855a03"; 157 - }; 158 - }; 159 - 160 - v23_0_1 = { 161 - version = "23.0.1"; 162 - src = fetchurl { 163 - url = https://dl.google.com/android/repository/build-tools_r23.0.1-macosx.zip; 164 - sha1 = "d96ec1522721e9a179ae2c591c99f75d31d39718"; 165 - }; 166 - }; 167 - 168 - v23_0_2 = { 169 - version = "23.0.2"; 170 - src = fetchurl { 171 - url = https://dl.google.com/android/repository/build-tools_r23.0.2-macosx.zip; 172 - sha1 = "482c4cbceef8ff58aefd92d8155a38610158fdaf"; 173 - }; 174 - }; 175 - 176 - v23_0_3 = { 177 - version = "23.0.3"; 178 - src = fetchurl { 179 - url = https://dl.google.com/android/repository/build-tools_r23.0.3-macosx.zip; 180 - sha1 = "fbc98cd303fd15a31d472de6c03bd707829f00b0"; 181 - }; 182 - }; 183 - 184 - v24 = { 185 - version = "24.0.0"; 186 - src = fetchurl { 187 - url = https://dl.google.com/android/repository/build-tools_r24-macosx.zip; 188 - sha1 = "97fc4ed442f23989cc488d02c1d1de9bdde241de"; 189 - }; 190 - }; 191 - 192 - v24_0_1 = { 193 - version = "24.0.1"; 194 - src = fetchurl { 195 - url = https://dl.google.com/android/repository/build-tools_r24.0.1-macosx.zip; 196 - sha1 = "5c6457fcdfa07724fb086d8ff4e8316fc0742848"; 197 - }; 198 - }; 199 - 200 - v24_0_2 = { 201 - version = "24.0.2"; 202 - src = fetchurl { 203 - url = https://dl.google.com/android/repository/build-tools_r24.0.2-macosx.zip; 204 - sha1 = "8bb8fc575477491d5957de743089df412de55cda"; 205 - }; 206 - }; 207 - 208 - v24_0_3 = { 209 - version = "24.0.3"; 210 - src = fetchurl { 211 - url = https://dl.google.com/android/repository/build-tools_r24.0.3-macosx.zip; 212 - sha1 = "a01c15f1b105c34595681075e1895d58b3fff48c"; 213 - }; 214 - }; 215 - 216 - v25 = { 217 - version = "25.0.0"; 218 - src = fetchurl { 219 - url = https://dl.google.com/android/repository/build-tools_r25-macosx.zip; 220 - sha1 = "273c5c29a65cbed00e44f3aa470bbd7dce556606"; 221 - }; 222 - }; 223 - 224 - v25_0_1 = { 225 - version = "25.0.1"; 226 - src = fetchurl { 227 - url = https://dl.google.com/android/repository/build-tools_r25.0.1-macosx.zip; 228 - sha1 = "7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f"; 229 - }; 230 - }; 231 - 232 - v25_0_2 = { 233 - version = "25.0.2"; 234 - src = fetchurl { 235 - url = https://dl.google.com/android/repository/build-tools_r25.0.2-macosx.zip; 236 - sha1 = "12a5204bb3b6e39437535469fde7ddf42da46b16"; 237 - }; 238 - }; 239 - 240 - v25_0_3 = { 241 - version = "25.0.3"; 242 - src = fetchurl { 243 - url = https://dl.google.com/android/repository/build-tools_r25.0.3-macosx.zip; 244 - sha1 = "160d2fefb5ce68e443427fc30a793a703b63e26e"; 245 - }; 246 - }; 247 - 248 - v26 = { 249 - version = "26.0.0"; 250 - src = fetchurl { 251 - url = https://dl.google.com/android/repository/build-tools_r26-macosx.zip; 252 - sha1 = "d01a1aeca03747245f1f5936b3cb01759c66d086"; 253 - }; 254 - }; 255 - 256 - v26_rc1 = { 257 - version = "26.0.0-rc1"; 258 - src = fetchurl { 259 - url = https://dl.google.com/android/repository/build-tools_r26-rc1-macosx.zip; 260 - sha1 = "5c5a1de7d5f4f000d36ae349229fe0be846d6137"; 261 - }; 262 - }; 263 - 264 - v26_rc2 = { 265 - version = "26.0.0-rc2"; 266 - src = fetchurl { 267 - url = https://dl.google.com/android/repository/build-tools_r26-rc2-macosx.zip; 268 - sha1 = "cb1eb738a1f7003025af267a9b8cc2d259533c70"; 269 - }; 270 - }; 271 - 272 - v26_0_1 = { 273 - version = "26.0.1"; 274 - src = fetchurl { 275 - url = https://dl.google.com/android/repository/build-tools_r26.0.1-macosx.zip; 276 - sha1 = "cbde59de198916b390777dd0227921bfa2120832"; 277 - }; 278 - }; 279 - 280 - v26_0_2 = { 281 - version = "26.0.2"; 282 - src = fetchurl { 283 - url = https://dl.google.com/android/repository/build-tools_r26.0.2-macosx.zip; 284 - sha1 = "d9ed7c7f149ce38be5dc08979aea8acec1459ca0"; 285 - }; 286 - }; 287 - 288 - v26_0_3 = { 289 - version = "26.0.3"; 290 - src = fetchurl { 291 - url = https://dl.google.com/android/repository/build-tools_r26.0.3-macosx.zip; 292 - sha1 = "5bb90ed935d99e5bc90686f43b852e68c5ad40df"; 293 - }; 294 - }; 295 - 296 - v27 = { 297 - version = "27.0.0"; 298 - src = fetchurl { 299 - url = https://dl.google.com/android/repository/build-tools_r27-macosx.zip; 300 - sha1 = "fb4e8d7e6b8d29a77090e34024077a80458d5ae1"; 301 - }; 302 - }; 303 - 304 - v27_0_1 = { 305 - version = "27.0.1"; 306 - src = fetchurl { 307 - url = https://dl.google.com/android/repository/build-tools_r27.0.1-macosx.zip; 308 - sha1 = "1edd07bfdbadd95652d093040e16d858f7489594"; 309 - }; 310 - }; 311 - 312 - v27_0_2 = { 313 - version = "27.0.2"; 314 - src = fetchurl { 315 - url = https://dl.google.com/android/repository/build-tools_r27.0.2-macosx.zip; 316 - sha1 = "6d5d9cf2a47877f273f4b742b19e712a051a31be"; 317 - }; 318 - }; 319 - 320 - v27_0_3 = { 321 - version = "27.0.3"; 322 - src = fetchurl { 323 - url = https://dl.google.com/android/repository/build-tools_r27.0.3-macosx.zip; 324 - sha1 = "61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d"; 325 - }; 326 - }; 327 - 328 - v28 = { 329 - version = "28.0.0"; 330 - src = fetchurl { 331 - url = https://dl.google.com/android/repository/build-tools_r28-macosx.zip; 332 - sha1 = "72088d32d1d82cc3c2cf7cf6618b6130c0c84ade"; 333 - }; 334 - }; 335 - 336 - v28_rc1 = { 337 - version = "28.0.0-rc1"; 338 - src = fetchurl { 339 - url = https://dl.google.com/android/repository/build-tools_r28-rc1-macosx.zip; 340 - sha1 = "2c77821967a2330b7b227072d0b1c02ef19fe2fc"; 341 - }; 342 - }; 343 - 344 - v28_rc2 = { 345 - version = "28.0.0-rc2"; 346 - src = fetchurl { 347 - url = https://dl.google.com/android/repository/build-tools_r28-rc2-macosx.zip; 348 - sha1 = "0d0314b353589feb10e528b44c5a685b6658d797"; 349 - }; 350 - }; 351 - 352 - v28_0_1 = { 353 - version = "28.0.1"; 354 - src = fetchurl { 355 - url = https://dl.google.com/android/repository/build-tools_r28.0.1-macosx.zip; 356 - sha1 = "aeef42ad953f1630dd6f5d71eefdc0b825211462"; 357 - }; 358 - }; 359 - 360 - v28_0_2 = { 361 - version = "28.0.2"; 362 - src = fetchurl { 363 - url = https://dl.google.com/android/repository/build-tools_r28.0.2-macosx.zip; 364 - sha1 = "c10dd5a7825578622fb362a8a34f76eb3ba0c0a9"; 365 - }; 366 - }; 367 - 368 - v28_0_3 = { 369 - version = "28.0.3"; 370 - src = fetchurl { 371 - url = https://dl.google.com/android/repository/build-tools_r28.0.3-macosx.zip; 372 - sha1 = "f8c333a2991b1ab05a671bc6248b78e00edcd83a"; 373 - }; 374 - }; 375 - 376 - }
+17 -51
pkgs/development/mobile/androidenv/build-tools.nix
··· 1 - {stdenv, lib, stdenv_32bit, fetchurl, unzip, zlib_32bit, ncurses_32bit, file, zlib, ncurses, coreutils, buildToolsSources}: 2 - 3 - let buildBuildTools = name: { version, src }: 4 - stdenv.mkDerivation rec { 5 - inherit version src; 6 - name = "android-build-tools-r${version}"; 7 - buildCommand = '' 8 - mkdir -p $out/build-tools 9 - cd $out/build-tools 10 - unzip $src 11 - mv android-* ${version} 12 - 13 - cd ${version} 14 - 15 - for f in $(grep -Rl /bin/ls .); do 16 - sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" "$f" 17 - done 18 - 19 - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") 20 - '' 21 - 22 - ln -s ${ncurses.out}/lib/libncurses.so.5 `pwd`/lib64/libtinfo.so.5 23 - 24 - find . -type f -print0 | while IFS= read -r -d "" file 25 - do 26 - type=$(file "$file") 27 - ## Patch 64-bit binaries 28 - if grep -q "ELF 64-bit" <<< "$type" 29 - then 30 - if grep -q "interpreter" <<< "$type" 31 - then 32 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 "$file" 33 - fi 34 - patchelf --set-rpath `pwd`/lib64:${stdenv.cc.cc.lib.out}/lib:${zlib.out}/lib:${ncurses.out}/lib "$file" 35 - ## Patch 32-bit binaries 36 - elif grep -q "ELF 32-bit" <<< "$type" 37 - then 38 - if grep -q "interpreter" <<< "$type" 39 - then 40 - patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 "$file" 41 - fi 42 - patchelf --set-rpath ${stdenv_32bit.cc.cc.lib.out}/lib:${zlib_32bit.out}/lib:${ncurses_32bit.out}/lib "$file" 43 - fi 44 - done 45 - ''} 1 + {deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686}: 46 2 47 - patchShebangs . 48 - ''; 3 + deployAndroidPackage { 4 + inherit package os; 5 + buildInputs = [ autoPatchelfHook makeWrapper ] ++ 6 + lib.optional (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 pkgs_i686.glibc pkgs_i686.zlib pkgs_i686.ncurses5 ]; 7 + patchInstructions = '' 8 + ${lib.optionalString (os == "linux") '' 9 + addAutoPatchelfSearchPath $packageBaseDir/lib 10 + addAutoPatchelfSearchPath $packageBaseDir/lib64 11 + autoPatchelf --no-recurse $packageBaseDir/lib64 12 + autoPatchelf --no-recurse $packageBaseDir 13 + ''} 49 14 50 - buildInputs = [ unzip file ]; 51 - }; 52 - in 53 - lib.mapAttrs buildBuildTools buildToolsSources 15 + wrapProgram $PWD/mainDexClasses \ 16 + --prefix PATH : ${pkgs.jdk8}/bin 17 + ''; 18 + noAuditTmpdir = true; # The checker script gets confused by the build-tools path that is incorrectly identified as a reference to /build 19 + }
+10
pkgs/development/mobile/androidenv/cmake.nix
··· 1 + {deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs}: 2 + 3 + deployAndroidPackage { 4 + inherit package os; 5 + buildInputs = [ autoPatchelfHook ] 6 + ++ lib.optional (os == "linux") [ pkgs.stdenv.glibc pkgs.stdenv.cc.cc ]; 7 + patchInstructions = lib.optionalString (os == "linux") '' 8 + autoPatchelf $packageBaseDir/bin 9 + ''; 10 + }
+255
pkgs/development/mobile/androidenv/compose-android-packages.nix
··· 1 + {stdenv, fetchurl, requireFile, makeWrapper, unzip, autoPatchelfHook, pkgs, pkgs_i686}: 2 + 3 + { toolsVersion ? "25.2.5" 4 + , platformToolsVersion ? "28.0.1" 5 + , buildToolsVersions ? [ "28.0.3" ] 6 + , includeEmulator ? false 7 + , emulatorVersion ? "28.0.14" 8 + , platformVersions ? [] 9 + , includeSources ? false 10 + , includeDocs ? false 11 + , includeSystemImages ? false 12 + , systemImageTypes ? [ "default" ] 13 + , abiVersions ? [ "armeabi-v7a" ] 14 + , lldbVersions ? [ ] 15 + , cmakeVersions ? [ ] 16 + , includeNDK ? false 17 + , ndkVersion ? "18.1.5063045" 18 + , useGoogleAPIs ? false 19 + , useGoogleTVAddOns ? false 20 + , includeExtras ? [] 21 + }: 22 + 23 + let 24 + inherit (pkgs) stdenv fetchurl makeWrapper unzip; 25 + 26 + # Determine the Android os identifier from Nix's system identifier 27 + os = if stdenv.system == "x86_64-linux" then "linux" 28 + else if stdenv.system == "x86_64-darwin" then "macosx" 29 + else "No tarballs found for system architecture: ${stdenv.system}"; 30 + 31 + # Generated Nix packages 32 + packages = import ./generated/packages.nix { 33 + inherit fetchurl; 34 + }; 35 + 36 + # Generated system images 37 + system-images-packages-android = import ./generated/system-images-android.nix { 38 + inherit fetchurl; 39 + }; 40 + 41 + system-images-packages-android-tv = import ./generated/system-images-android-tv.nix { 42 + inherit fetchurl; 43 + }; 44 + 45 + system-images-packages-android-wear = import ./generated/system-images-android-wear.nix { 46 + inherit fetchurl; 47 + }; 48 + 49 + system-images-packages-android-wear-cn = import ./generated/system-images-android-wear-cn.nix { 50 + inherit fetchurl; 51 + }; 52 + 53 + system-images-packages-google_apis = import ./generated/system-images-google_apis.nix { 54 + inherit fetchurl; 55 + }; 56 + 57 + system-images-packages-google_apis_playstore = import ./generated/system-images-google_apis_playstore.nix { 58 + inherit fetchurl; 59 + }; 60 + 61 + system-images-packages = 62 + stdenv.lib.recursiveUpdate 63 + system-images-packages-android 64 + (stdenv.lib.recursiveUpdate system-images-packages-android-tv 65 + (stdenv.lib.recursiveUpdate system-images-packages-android-wear 66 + (stdenv.lib.recursiveUpdate system-images-packages-android-wear-cn 67 + (stdenv.lib.recursiveUpdate system-images-packages-google_apis system-images-packages-google_apis_playstore)))); 68 + 69 + # Generated addons 70 + addons = import ./generated/addons.nix { 71 + inherit fetchurl; 72 + }; 73 + in 74 + rec { 75 + deployAndroidPackage = import ./deploy-androidpackage.nix { 76 + inherit stdenv unzip; 77 + }; 78 + 79 + platform-tools = import ./platform-tools.nix { 80 + inherit deployAndroidPackage os autoPatchelfHook pkgs; 81 + inherit (stdenv) lib; 82 + package = packages.platform-tools."${platformToolsVersion}"; 83 + }; 84 + 85 + build-tools = map (version: 86 + import ./build-tools.nix { 87 + inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686; 88 + inherit (stdenv) lib; 89 + package = packages.build-tools."${version}"; 90 + } 91 + ) buildToolsVersions; 92 + 93 + docs = deployAndroidPackage { 94 + inherit os; 95 + package = packages.docs."1"; 96 + }; 97 + 98 + emulator = import ./emulator.nix { 99 + inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgs_i686; 100 + inherit (stdenv) lib; 101 + package = packages.emulator."${emulatorVersion}"."${os}"; 102 + }; 103 + 104 + platforms = map (version: 105 + deployAndroidPackage { 106 + inherit os; 107 + package = packages.platforms."${version}"; 108 + } 109 + ) platformVersions; 110 + 111 + sources = stdenv.lib.optional includeSources (map (version: 112 + deployAndroidPackage { 113 + inherit os; 114 + package = packages.sources."${version}"; 115 + } 116 + ) platformVersions); 117 + 118 + system-images = stdenv.lib.flatten (map (apiVersion: 119 + map (type: 120 + map (abiVersion: 121 + deployAndroidPackage { 122 + inherit os; 123 + package = system-images-packages.${apiVersion}.${type}.${abiVersion}; 124 + } 125 + ) abiVersions 126 + ) systemImageTypes 127 + ) platformVersions); 128 + 129 + lldb = map (version: 130 + import ./lldb.nix { 131 + inherit deployAndroidPackage os autoPatchelfHook pkgs; 132 + inherit (stdenv) lib; 133 + package = packages.lldb."${version}"; 134 + } 135 + ) lldbVersions; 136 + 137 + cmake = map (version: 138 + import ./cmake.nix { 139 + inherit deployAndroidPackage os autoPatchelfHook pkgs; 140 + inherit (stdenv) lib; 141 + package = packages.cmake."${version}"; 142 + } 143 + ) cmakeVersions; 144 + 145 + ndk-bundle = import ./ndk-bundle { 146 + inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs platform-tools; 147 + inherit (stdenv) lib; 148 + package = packages.ndk-bundle."${ndkVersion}"; 149 + }; 150 + 151 + google-apis = map (version: 152 + deployAndroidPackage { 153 + inherit os; 154 + package = addons.addons."${version}".google_apis; 155 + } 156 + ) (builtins.filter (platformVersion: platformVersion < "26") platformVersions); # API level 26 and higher include Google APIs by default 157 + 158 + google-tv-addons = map (version: 159 + deployAndroidPackage { 160 + inherit os; 161 + package = addons.addons."${version}".google_tv_addon; 162 + } 163 + ) platformVersions; 164 + 165 + # Function that automatically links all plugins for which multiple versions can coexist 166 + linkPlugins = {name, plugins}: 167 + stdenv.lib.optionalString (plugins != []) '' 168 + mkdir -p ${name} 169 + ${stdenv.lib.concatMapStrings (plugin: '' 170 + ln -s ${plugin}/libexec/android-sdk/${name}/* ${name} 171 + '') plugins} 172 + ''; 173 + 174 + # Function that automatically links a plugin for which only one version exists 175 + linkPlugin = {name, plugin, check ? true}: 176 + stdenv.lib.optionalString check '' 177 + ln -s ${plugin}/libexec/android-sdk/* ${name} 178 + ''; 179 + 180 + # Links all plugins related to a requested platform 181 + linkPlatformPlugins = {name, plugins, check}: 182 + stdenv.lib.optionalString check '' 183 + mkdir -p ${name} 184 + ${stdenv.lib.concatMapStrings (plugin: '' 185 + ln -s ${plugin}/libexec/android-sdk/${name}/* ${name} 186 + '') plugins} 187 + ''; # */ 188 + 189 + # This derivation deploys the tools package and symlinks all the desired 190 + # plugins that we want to use. 191 + 192 + androidsdk = import ./tools.nix { 193 + inherit deployAndroidPackage requireFile packages toolsVersion autoPatchelfHook makeWrapper os pkgs pkgs_i686; 194 + inherit (stdenv) lib; 195 + 196 + postInstall = '' 197 + # Symlink all requested plugins 198 + 199 + ${linkPlugin { name = "platform-tools"; plugin = platform-tools; }} 200 + ${linkPlugins { name = "build-tools"; plugins = build-tools; }} 201 + ${linkPlugin { name = "emulator"; plugin = emulator; check = includeEmulator; }} 202 + ${linkPlugin { name = "docs"; plugin = docs; check = includeDocs; }} 203 + ${linkPlugins { name = "platforms"; plugins = platforms; }} 204 + ${linkPlatformPlugins { name = "sources"; plugins = sources; check = includeSources; }} 205 + ${linkPlugins { name = "lldb"; plugins = lldb; }} 206 + ${linkPlugins { name = "cmake"; plugins = cmake; }} 207 + ${linkPlugin { name = "ndk-bundle"; plugin = ndk-bundle; check = includeNDK; }} 208 + 209 + ${stdenv.lib.optionalString includeSystemImages '' 210 + mkdir -p system-images 211 + ${stdenv.lib.concatMapStrings (system-image: '' 212 + apiVersion=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*)) 213 + type=$(basename $(echo ${system-image}/libexec/android-sdk/system-images/*/*)) 214 + mkdir -p system-images/$apiVersion/$type 215 + ln -s ${system-image}/libexec/android-sdk/system-images/$apiVersion/$type/* system-images/$apiVersion/$type 216 + '') system-images} 217 + ''} 218 + 219 + ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleAPIs; }} 220 + ${linkPlatformPlugins { name = "add-ons"; plugins = google-apis; check = useGoogleTVAddOns; }} 221 + 222 + # Link extras 223 + ${stdenv.lib.concatMapStrings (identifier: 224 + let 225 + path = addons.extras."${identifier}".path; 226 + addon = deployAndroidPackage { 227 + inherit os; 228 + package = addons.extras."${identifier}"; 229 + }; 230 + in 231 + '' 232 + targetDir=$(dirname ${path}) 233 + mkdir -p $targetDir 234 + ln -s ${addon}/libexec/android-sdk/${path} $targetDir 235 + '') includeExtras} 236 + 237 + # Expose common executables in bin/ 238 + mkdir -p $out/bin 239 + find $PWD/tools -not -path '*/\.*' -type f -executable -mindepth 1 -maxdepth 1 | while read i 240 + do 241 + ln -s $i $out/bin 242 + done 243 + 244 + find $PWD/tools/bin -not -path '*/\.*' -type f -executable -mindepth 1 -maxdepth 1 | while read i 245 + do 246 + ln -s $i $out/bin 247 + done 248 + 249 + for i in ${platform-tools}/bin/* 250 + do 251 + ln -s $i $out/bin 252 + done 253 + ''; 254 + }; 255 + }
+128
pkgs/development/mobile/androidenv/convertaddons.xsl
··· 1 + <?xml version="1.0"?> 2 + 3 + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 + xmlns:addon="http://schemas.android.com/sdk/android/repo/addon2/01" 5 + xmlns:sdk="http://schemas.android.com/repository/android/common/01" 6 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 7 + 8 + <xsl:output omit-xml-declaration="yes" indent="no" /> 9 + 10 + <!-- Template that puts a google HTTP prefix in front of relative URLs --> 11 + <xsl:template name="repository-url"> 12 + <xsl:variable name="raw-url" select="complete/url"/> 13 + <xsl:choose> 14 + <xsl:when test="starts-with($raw-url, 'http')"> 15 + <xsl:value-of select="$raw-url"/> 16 + </xsl:when> 17 + <xsl:otherwise> 18 + <xsl:text>https://dl.google.com/android/repository/</xsl:text> 19 + <xsl:value-of select="$raw-url"/> 20 + </xsl:otherwise> 21 + </xsl:choose> 22 + </xsl:template> 23 + 24 + <xsl:template match="/addon:sdk-addon"> 25 + {fetchurl}: 26 + 27 + { 28 + addons = { 29 + <!-- Convert all addons, but skip the entry for google APIs version 25 because it is inconsistent with the spec --> 30 + <xsl:for-each select="remotePackage[type-details/@xsi:type='addon:addonDetailsType' and archives/archive/complete/url != 'google_apis-25_r1.zip' ]"><xsl:sort select="@path" /> 31 + "<xsl:value-of select="type-details/api-level" />"."<xsl:value-of select="type-details/tag/id" />" = { 32 + name = "<xsl:value-of select="type-details/tag/id" />"; 33 + path = "<xsl:value-of select="translate(@path, ';', '/')" />"; 34 + revision = "<xsl:value-of select="type-details/api-level" />"; 35 + displayName = "<xsl:value-of select="display-name" />"; 36 + archives = { 37 + <xsl:for-each select="archives/archive[not(host-os)]"> 38 + all = fetchurl { 39 + url = <xsl:call-template name="repository-url"/>; 40 + sha1 = "<xsl:value-of select="complete/checksum" />"; 41 + }; 42 + </xsl:for-each> 43 + <xsl:for-each select="archives/archive[host-os and not(host-os = 'windows')]"> 44 + <xsl:value-of select="host-os" /> = fetchurl { 45 + url = <xsl:call-template name="repository-url"/>; 46 + sha1 = "<xsl:value-of select="complete/checksum" />"; 47 + }; 48 + </xsl:for-each> 49 + }; 50 + }; 51 + </xsl:for-each> 52 + 53 + <!-- Workaround to make google APIs version 25 work. Hopefully, we can get rid of this at some point --> 54 + <xsl:for-each select="remotePackage[type-details/@xsi:type='addon:addonDetailsType' and archives/archive/complete/url = 'google_apis-25_r1.zip' ]"> 55 + "<xsl:value-of select="25" />"."<xsl:value-of select="type-details/tag/id" />" = { 56 + name = "<xsl:value-of select="type-details/tag/id" />"; 57 + path = "add-ons/addon-google_apis-google-25"; 58 + revision = "<xsl:value-of select="25" />"; 59 + displayName = "<xsl:value-of select="display-name" />"; 60 + archives = { 61 + <xsl:for-each select="archives/archive[not(host-os)]"> 62 + all = fetchurl { 63 + url = <xsl:call-template name="repository-url"/>; 64 + sha1 = "<xsl:value-of select="complete/checksum" />"; 65 + }; 66 + </xsl:for-each> 67 + <xsl:for-each select="archives/archive[host-os and not(host-os = 'windows')]"> 68 + <xsl:value-of select="host-os" /> = fetchurl { 69 + url = <xsl:call-template name="repository-url"/>; 70 + sha1 = "<xsl:value-of select="complete/checksum" />"; 71 + }; 72 + </xsl:for-each> 73 + }; 74 + }; 75 + </xsl:for-each> 76 + }; 77 + 78 + extras = { 79 + <!-- Convert all extras and maven artefacts --> 80 + <xsl:for-each select="remotePackage[type-details/@xsi:type='addon:extraDetailsType' or type-details/@xsi:type='addon:mavenType']"><xsl:sort select="@path" /> 81 + 82 + <!-- Compose revision string from revision attributes --> 83 + <xsl:variable name="revision"> 84 + <xsl:choose> 85 + <xsl:when test="revision/major"> 86 + <xsl:value-of select="revision/major" /> 87 + </xsl:when> 88 + </xsl:choose> 89 + <xsl:choose> 90 + <xsl:when test="revision/minor">.<xsl:value-of select="revision/minor" /> 91 + </xsl:when> 92 + </xsl:choose> 93 + <xsl:choose> 94 + <xsl:when test="revision/micro">.<xsl:value-of select="revision/micro" /> 95 + </xsl:when> 96 + </xsl:choose> 97 + <xsl:choose> 98 + <xsl:when test="revision/preview">-rc<xsl:value-of select="revision/preview" /> 99 + </xsl:when> 100 + </xsl:choose> 101 + </xsl:variable> 102 + 103 + "<xsl:value-of select="@path" />" = { 104 + name = "<xsl:value-of select="translate(@path, ';', '-')" />"; 105 + path = "<xsl:value-of select="translate(@path, ';', '/')" />"; 106 + revision = "<xsl:value-of select="$revision" />"; 107 + displayName = "<xsl:value-of select="display-name" />"; 108 + archives = { 109 + <xsl:for-each select="archives/archive[not(host-os)]"> 110 + all = fetchurl { 111 + url = <xsl:call-template name="repository-url"/>; 112 + sha1 = "<xsl:value-of select="complete/checksum" />"; 113 + }; 114 + </xsl:for-each> 115 + <xsl:for-each select="archives/archive[host-os and not(host-os = 'windows')]"> 116 + <xsl:value-of select="host-os" /> = fetchurl { 117 + url = <xsl:call-template name="repository-url"/>; 118 + sha1 = "<xsl:value-of select="complete/checksum" />"; 119 + }; 120 + </xsl:for-each> 121 + }; 122 + }; 123 + </xsl:for-each> 124 + }; 125 + } 126 + </xsl:template> 127 + 128 + </xsl:stylesheet>
+116
pkgs/development/mobile/androidenv/convertpackages.xsl
··· 1 + <?xml version="1.0"?> 2 + 3 + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 + xmlns:common="http://schemas.android.com/repository/android/common/01" 5 + xmlns:generic="http://schemas.android.com/repository/android/generic/01" 6 + xmlns:sdk="http://schemas.android.com/sdk/android/repo/repository2/01" 7 + xmlns:sdk-common="http://schemas.android.com/sdk/android/repo/common/01" 8 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 9 + 10 + <xsl:output omit-xml-declaration="yes" indent="no" /> 11 + 12 + <!-- Template that puts a google HTTP prefix in front of relative URLs --> 13 + <xsl:template name="repository-url"> 14 + <xsl:variable name="raw-url" select="complete/url"/> 15 + <xsl:choose> 16 + <xsl:when test="starts-with($raw-url, 'http')"> 17 + <xsl:value-of select="$raw-url"/> 18 + </xsl:when> 19 + <xsl:otherwise> 20 + <xsl:text>https://dl.google.com/android/repository/</xsl:text> 21 + <xsl:value-of select="$raw-url"/> 22 + </xsl:otherwise> 23 + </xsl:choose> 24 + </xsl:template> 25 + 26 + <xsl:template match="/sdk:sdk-repository"> 27 + {fetchurl}: 28 + 29 + { 30 + <!-- Convert all remote packages --> 31 + <xsl:for-each select="remotePackage"><xsl:sort select="@path" /> 32 + 33 + <!-- Extract the package name from the path --> 34 + <xsl:variable name="name"> 35 + <xsl:choose> 36 + <xsl:when test="contains(@path, ';')"> 37 + <xsl:value-of select="substring-before(@path, ';')" /> 38 + </xsl:when> 39 + <xsl:otherwise> 40 + <xsl:value-of select="@path" /> 41 + </xsl:otherwise> 42 + </xsl:choose> 43 + </xsl:variable> 44 + 45 + <!-- Compose version string from version attributes --> 46 + <xsl:variable name="revision"> 47 + <xsl:choose> 48 + <!-- Compose revision for a generic package from the revision attributes --> 49 + <xsl:when test="type-details/@xsi:type='generic:genericDetailsType'"> 50 + <xsl:choose> 51 + <xsl:when test="revision/major"> 52 + <xsl:value-of select="revision/major" /> 53 + </xsl:when> 54 + </xsl:choose> 55 + <xsl:choose> 56 + <xsl:when test="revision/minor">.<xsl:value-of select="revision/minor" /> 57 + </xsl:when> 58 + </xsl:choose> 59 + <xsl:choose> 60 + <xsl:when test="revision/micro">.<xsl:value-of select="revision/micro" /> 61 + </xsl:when> 62 + </xsl:choose> 63 + <xsl:choose> 64 + <xsl:when test="revision/preview">-rc<xsl:value-of select="revision/preview" /> 65 + </xsl:when> 66 + </xsl:choose> 67 + </xsl:when> 68 + <!-- Compose revision of a platform SDK from the API-level or codename if the latter exists --> 69 + <xsl:when test="type-details/@xsi:type='sdk:platformDetailsType'"> 70 + <xsl:choose> 71 + <xsl:when test="not(type-details/codename='')"> 72 + <xsl:value-of select="type-details/codename" /> 73 + </xsl:when> 74 + <xsl:otherwise> 75 + <xsl:value-of select="type-details/api-level" /> 76 + </xsl:otherwise> 77 + </xsl:choose> 78 + </xsl:when> 79 + <!-- Compose revision of a source SDK from the API-level --> 80 + <xsl:when test="type-details/@xsi:type='sdk:sourceDetailsType'"> 81 + <xsl:value-of select="type-details/api-level" /> 82 + </xsl:when> 83 + </xsl:choose> 84 + </xsl:variable> 85 + 86 + <xsl:choose> 87 + <xsl:when test="@path='emulator'"> <!-- An emulator package provides one archive per operating system but the same versions --> 88 + "<xsl:value-of select="$name" />"."<xsl:value-of select="$revision" />".<xsl:value-of select="archives/archive/host-os" /> = { 89 + </xsl:when> 90 + <xsl:otherwise> 91 + "<xsl:value-of select="$name" />"."<xsl:value-of select="$revision" />" = { 92 + </xsl:otherwise> 93 + </xsl:choose> 94 + name = "<xsl:value-of select="$name" />"; 95 + path = "<xsl:value-of select="translate(@path, ';', '/')" />"; 96 + revision = "<xsl:value-of select="$revision" />"; 97 + displayName = "<xsl:value-of select="display-name" />"; 98 + archives = { 99 + <xsl:for-each select="archives/archive[not(host-os)]"> 100 + all = fetchurl { 101 + url = <xsl:call-template name="repository-url"/>; 102 + sha1 = "<xsl:value-of select="complete/checksum" />"; 103 + }; 104 + </xsl:for-each> 105 + <xsl:for-each select="archives/archive[host-os and not(host-os = 'windows')]"> 106 + <xsl:value-of select="host-os" /> = fetchurl { 107 + url = <xsl:call-template name="repository-url"/>; 108 + sha1 = "<xsl:value-of select="complete/checksum" />"; 109 + }; 110 + </xsl:for-each> 111 + }; 112 + }; 113 + </xsl:for-each> 114 + } 115 + </xsl:template> 116 + </xsl:stylesheet>
+47
pkgs/development/mobile/androidenv/convertsystemimages.xsl
··· 1 + <?xml version="1.0"?> 2 + 3 + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 + xmlns:sys-img="http://schemas.android.com/sdk/android/repo/sys-img2/01" 5 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 6 + 7 + <xsl:param name="imageType" /> 8 + 9 + <xsl:output omit-xml-declaration="yes" indent="no" /> 10 + 11 + <xsl:template name="repository-url"> 12 + <xsl:variable name="raw-url" select="complete/url"/> 13 + <xsl:choose> 14 + <xsl:when test="starts-with($raw-url, 'http')"> 15 + <xsl:value-of select="$raw-url"/> 16 + </xsl:when> 17 + <xsl:otherwise> 18 + https://dl.google.com/android/repository/sys-img/<xsl:value-of select="$imageType" />/<xsl:value-of select="$raw-url"/> 19 + </xsl:otherwise> 20 + </xsl:choose> 21 + </xsl:template> 22 + 23 + <xsl:template match="/sys-img:sdk-sys-img"> 24 + {fetchurl}: 25 + 26 + { 27 + <xsl:for-each select="remotePackage[starts-with(@path, 'system-images;')]"> 28 + <xsl:variable name="revision"> 29 + <xsl:value-of select="type-details/api-level" />-<xsl:value-of select="type-details/tag/id" />-<xsl:value-of select="type-details/abi" /> 30 + </xsl:variable> 31 + 32 + "<xsl:value-of select="type-details/api-level" />".<xsl:value-of select="type-details/tag/id" />."<xsl:value-of select="type-details/abi" />" = { 33 + name = "system-image-<xsl:value-of select="$revision" />"; 34 + path = "<xsl:value-of select="translate(@path, ';', '/')" />"; 35 + revision = "<xsl:value-of select="$revision" />"; 36 + displayName = "<xsl:value-of select="display-name" />"; 37 + archives.all = fetchurl { 38 + <xsl:for-each select="archives/archive"> 39 + url = <xsl:call-template name="repository-url"/>; 40 + sha1 = "<xsl:value-of select="complete/checksum" />"; 41 + </xsl:for-each> 42 + }; 43 + }; 44 + </xsl:for-each> 45 + } 46 + </xsl:template> 47 + </xsl:stylesheet>
+11 -335
pkgs/development/mobile/androidenv/default.nix
··· 1 - { pkgs, pkgs_i686, buildPackages 2 - , includeSources ? true, licenseAccepted ? false 1 + { pkgs ? import <nixpkgs> {} 2 + , pkgs_i686 ? import <nixpkgs> { system = "i686-linux"; } 3 3 }: 4 - 5 - # TODO: use callPackage instead of import to avoid so many inherits 6 4 7 5 rec { 8 - platformTools = import ./platform-tools.nix { 9 - inherit buildPackages pkgs; 10 - }; 11 - 12 - buildToolsSources = let 13 - system = pkgs.stdenv.hostPlatform.system; 14 - path = if (system == "i686-linux" || system == "x86_64-linux") 15 - then ./build-tools-srcs-linux.nix 16 - else if system == "x86_64-darwin" 17 - then ./build-tools-srcs-macosx.nix 18 - else throw "System: ${system} not supported!"; 19 - in 20 - import path { inherit (pkgs) fetchurl; }; 21 - 22 - buildTools = import ./build-tools.nix { 23 - inherit (pkgs) stdenv lib fetchurl unzip zlib file coreutils; 24 - inherit buildToolsSources; 25 - stdenv_32bit = pkgs_i686.stdenv; 26 - zlib_32bit = pkgs_i686.zlib; 27 - ncurses_32bit = pkgs_i686.ncurses5; 28 - ncurses = pkgs.ncurses5; 29 - }; 30 - 31 - support = import ./support.nix { 32 - inherit (pkgs) stdenv fetchurl unzip; 33 - }; 34 - 35 - supportRepository = import ./support-repository.nix { 36 - inherit (pkgs) stdenv fetchurl unzip; 37 - }; 38 - 39 - platforms = if (pkgs.stdenv.hostPlatform.system == "i686-linux" || pkgs.stdenv.hostPlatform.system == "x86_64-linux") 40 - then import ./platforms-linux.nix { 41 - inherit (pkgs) stdenv fetchurl unzip; 42 - } 43 - else if pkgs.stdenv.hostPlatform.system == "x86_64-darwin" 44 - then import ./platforms-macosx.nix { 45 - inherit (pkgs) stdenv fetchurl unzip; 46 - } 47 - else throw "Platform: ${pkgs.stdenv.hostPlatform.system} not supported!"; 48 - 49 - sysimages = import ./sysimages.nix { 50 - inherit (pkgs) stdenv fetchurl unzip; 51 - }; 52 - 53 - addons = import ./addons.nix { 54 - inherit (pkgs) stdenv fetchurl unzip; 55 - }; 56 - 57 - sources = import ./sources.nix { 58 - inherit (pkgs) stdenv fetchurl unzip; 59 - }; 60 - 61 - androidsdk = import ./androidsdk.nix { 62 - inherit (pkgs) stdenv fetchurl unzip makeWrapper zlib 63 - glxinfo freetype fontconfig glib gtk2 atk 64 - libGLU_combined file alsaLib jdk coreutils 65 - libpulseaudio dbus fetchzip; 66 - inherit (pkgs.xorg) libX11 libXext libXrender 67 - libxcb libXau libXdmcp libXtst xkeyboardconfig; 68 - 69 - inherit platformTools buildTools support 70 - supportRepository platforms sysimages 71 - addons sources includeSources licenseAccepted; 72 - 73 - stdenv_32bit = pkgs_i686.stdenv; 74 - }; 75 - 76 - androidsdk_2_1 = androidsdk { 77 - platformVersions = [ "7" ]; 78 - abiVersions = [ "armeabi-v7a" ]; 79 - useGoogleAPIs = true; 80 - }; 81 - 82 - androidsdk_2_2 = androidsdk { 83 - platformVersions = [ "8" ]; 84 - abiVersions = [ "armeabi-v7a" ]; 85 - useGoogleAPIs = true; 86 - }; 87 - 88 - androidsdk_2_3_3 = androidsdk { 89 - platformVersions = [ "10" ]; 90 - abiVersions = [ "armeabi-v7a" ]; 91 - useGoogleAPIs = true; 92 - }; 93 - 94 - androidsdk_3_0 = androidsdk { 95 - platformVersions = [ "11" ]; 96 - abiVersions = [ "armeabi-v7a" ]; 97 - useGoogleAPIs = true; 98 - }; 99 - 100 - androidsdk_3_1 = androidsdk { 101 - platformVersions = [ "12" ]; 102 - abiVersions = [ "armeabi-v7a" ]; 103 - useGoogleAPIs = true; 104 - }; 105 - 106 - androidsdk_3_2 = androidsdk { 107 - platformVersions = [ "13" ]; 108 - abiVersions = [ "armeabi-v7a" ]; 109 - useGoogleAPIs = true; 110 - }; 111 - 112 - androidsdk_4_0 = androidsdk { 113 - platformVersions = [ "14" ]; 114 - abiVersions = [ "armeabi-v7a" ]; 115 - useGoogleAPIs = true; 116 - }; 117 - 118 - androidsdk_4_0_3 = androidsdk { 119 - platformVersions = [ "15" ]; 120 - abiVersions = [ "armeabi-v7a" ]; 121 - useGoogleAPIs = true; 122 - }; 123 - 124 - androidsdk_4_1 = androidsdk { 125 - platformVersions = [ "16" ]; 126 - abiVersions = [ "armeabi-v7a" ]; 127 - useGoogleAPIs = true; 128 - }; 129 - 130 - androidsdk_4_2 = androidsdk { 131 - platformVersions = [ "17" ]; 132 - abiVersions = [ "armeabi-v7a" ]; 133 - useGoogleAPIs = true; 134 - }; 135 - 136 - androidsdk_4_3 = androidsdk { 137 - platformVersions = [ "18" ]; 138 - abiVersions = [ "armeabi-v7a" "x86" ]; 139 - useGoogleAPIs = true; 140 - }; 141 - 142 - androidsdk_4_4 = androidsdk { 143 - platformVersions = [ "19" ]; 144 - abiVersions = [ "armeabi-v7a" "x86" ]; 145 - useGoogleAPIs = true; 146 - }; 147 - 148 - androidsdk_5_0_1 = androidsdk { 149 - platformVersions = [ "21" ]; 150 - abiVersions = [ "armeabi-v7a" "x86" ]; 151 - useGoogleAPIs = true; 152 - }; 153 - 154 - androidsdk_5_0_1_extras = androidsdk { 155 - platformVersions = [ "21" ]; 156 - abiVersions = [ "armeabi-v7a" "x86" ]; 157 - useGoogleAPIs = true; 158 - useExtraSupportLibs = true; 159 - useGooglePlayServices = true; 160 - }; 161 - 162 - androidsdk_5_1_1 = androidsdk { 163 - platformVersions = [ "22" ]; 164 - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; 165 - useGoogleAPIs = true; 166 - }; 167 - 168 - androidsdk_5_1_1_extras = androidsdk { 169 - platformVersions = [ "22" ]; 170 - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; 171 - useGoogleAPIs = true; 172 - useExtraSupportLibs = true; 173 - useGooglePlayServices = true; 174 - }; 175 - 176 - androidsdk_6_0 = androidsdk { 177 - platformVersions = [ "23" ]; 178 - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; 179 - useGoogleAPIs = true; 180 - }; 181 - 182 - androidsdk_6_0_extras = androidsdk { 183 - platformVersions = [ "23" ]; 184 - abiVersions = [ "armeabi-v7a" "x86" "x86_64"]; 185 - useGoogleAPIs = true; 186 - useExtraSupportLibs = true; 187 - useGooglePlayServices = true; 188 - useInstantApps = true; 189 - }; 190 - 191 - androidsdk_7_0 = androidsdk { 192 - platformVersions = [ "24" ]; 193 - abiVersions = [ "x86" "x86_64"]; 194 - useGoogleAPIs = true; 195 - }; 196 - 197 - androidsdk_7_0_extras = androidsdk { 198 - platformVersions = [ "24" ]; 199 - abiVersions = [ "x86" "x86_64"]; 200 - useGoogleAPIs = true; 201 - useExtraSupportLibs = true; 202 - useGooglePlayServices = true; 203 - useInstantApps = true; 204 - }; 205 - 206 - androidsdk_7_1_1 = androidsdk { 207 - platformVersions = [ "25" ]; 208 - abiVersions = [ "x86" "x86_64"]; 209 - useGoogleAPIs = true; 210 - }; 211 - 212 - androidsdk_7_1_1_extras = androidsdk { 213 - platformVersions = [ "25" ]; 214 - abiVersions = [ "x86" "x86_64"]; 215 - useGoogleAPIs = true; 216 - useExtraSupportLibs = true; 217 - useGooglePlayServices = true; 218 - useInstantApps = true; 219 - }; 220 - 221 - androidsdk_8_0 = androidsdk { 222 - platformVersions = [ "26" ]; 223 - abiVersions = [ "x86" "x86_64"]; 224 - useGoogleAPIs = true; 225 - }; 226 - 227 - androidsdk_8_0_extras = androidsdk { 228 - platformVersions = [ "26" ]; 229 - abiVersions = [ "x86" "x86_64"]; 230 - useGoogleAPIs = true; 231 - useExtraSupportLibs = true; 232 - useGooglePlayServices = true; 233 - useInstantApps = true; 234 - }; 235 - 236 - androidsdk_8_1 = androidsdk { 237 - platformVersions = [ "27" ]; 238 - abiVersions = [ "x86" "x86_64"]; 239 - useGoogleAPIs = true; 240 - }; 241 - 242 - androidsdk_8_1_extras = androidsdk { 243 - platformVersions = [ "27" ]; 244 - abiVersions = [ "x86" "x86_64"]; 245 - useGoogleAPIs = true; 246 - useExtraSupportLibs = true; 247 - useGooglePlayServices = true; 248 - useInstantApps = true; 249 - }; 250 - 251 - androidsdk_9_0 = androidsdk { 252 - platformVersions = [ "28" ]; 253 - abiVersions = [ "x86" "x86_64"]; 254 - useGoogleAPIs = true; 255 - }; 256 - 257 - androidsdk_9_0_extras = androidsdk { 258 - platformVersions = [ "28" ]; 259 - abiVersions = [ "x86" "x86_64"]; 260 - useGoogleAPIs = true; 261 - useExtraSupportLibs = true; 262 - useGooglePlayServices = true; 263 - useInstantApps = true; 264 - }; 265 - 266 - androidsdk_latest = androidsdk_9_0; 267 - 268 - androidndk_10e = pkgs.callPackage ./androidndk.nix { 269 - inherit (buildPackages) 270 - unzip makeWrapper; 271 - inherit (pkgs) 272 - stdenv fetchurl zlib ncurses5 lib python3 libcxx 273 - coreutils file findutils gawk gnugrep gnused jdk which; 274 - inherit platformTools; 275 - version = "10e"; 276 - sha1s = { 277 - x86_64-darwin = "6be8598e4ed3d9dd42998c8cb666f0ee502b1294"; 278 - x86_64-linux = "f692681b007071103277f6edc6f91cb5c5494a32"; 279 - }; 280 - }; 281 - 282 - androidndk_16b = pkgs.callPackage ./androidndk.nix { 283 - inherit (buildPackages) 284 - unzip makeWrapper; 285 - inherit (pkgs) 286 - stdenv fetchurl zlib ncurses5 lib python3 libcxx 287 - coreutils file findutils gawk gnugrep gnused jdk which; 288 - inherit platformTools; 289 - version = "16b"; 290 - sha1s = { 291 - x86_64-darwin = "e51e615449b98c716cf912057e2682e75d55e2de"; 292 - x86_64-linux = "42aa43aae89a50d1c66c3f9fdecd676936da6128"; 293 - }; 294 - }; 295 - 296 - androidndk_17c = pkgs.callPackage ./androidndk.nix { 297 - inherit (buildPackages) 298 - unzip makeWrapper; 299 - inherit (pkgs) 300 - stdenv fetchurl zlib ncurses5 lib python3 libcxx 301 - coreutils file findutils gawk gnugrep gnused jdk which; 302 - inherit platformTools; 303 - version = "17c"; 304 - sha1s = { 305 - x86_64-darwin = "f97e3d7711497e3b4faf9e7b3fa0f0da90bb649c"; 306 - x86_64-linux = "12cacc70c3fd2f40574015631c00f41fb8a39048"; 307 - }; 308 - }; 309 - 310 - androidndk_18b = pkgs.callPackage ./androidndk.nix { 311 - inherit (buildPackages) 312 - unzip makeWrapper; 313 - inherit (pkgs) 314 - stdenv fetchurl zlib ncurses5 lib python3 libcxx 315 - coreutils file findutils gawk gnugrep gnused jdk which; 316 - inherit platformTools; 317 - version = "18b"; 318 - sha1s = { 319 - x86_64-darwin = "98cb9909aa8c2dab32db188bbdc3ac6207e09440"; 320 - x86_64-linux = "500679655da3a86aecf67007e8ab230ea9b4dd7b"; 321 - }; 322 - }; 323 - androidndk = androidndk_18b; 324 - 325 - androidndk_r8e = import ./androidndk_r8e.nix { 326 - inherit (buildPackages) 327 - makeWrapper; 328 - inherit (pkgs) 329 - stdenv fetchurl zlib ncurses lib 330 - coreutils file findutils gawk gnugrep gnused jdk which; 331 - inherit platformTools; 6 + composeAndroidPackages = import ./compose-android-packages.nix { 7 + inherit (pkgs) stdenv fetchurl requireFile makeWrapper unzip autoPatchelfHook; 8 + inherit pkgs pkgs_i686; 332 9 }; 333 10 334 11 buildApp = import ./build-app.nix { 335 - inherit (pkgs) stdenv jdk ant gnumake gawk file which; 336 - inherit androidsdk androidndk; 12 + inherit (pkgs) stdenv jdk ant gnumake gawk; 13 + inherit composeAndroidPackages; 337 14 }; 338 15 339 16 emulateApp = import ./emulate-app.nix { 340 17 inherit (pkgs) stdenv; 341 - inherit androidsdk; 18 + inherit composeAndroidPackages; 342 19 }; 343 20 344 - buildGradleApp = import ./build-gradle-app.nix { 345 - inherit (pkgs) stdenv jdk gnumake gawk file runCommand 346 - which gradle fetchurl buildEnv; 347 - inherit androidsdk androidndk; 21 + androidPkgs_9_0 = composeAndroidPackages { 22 + platformVersions = [ "28" ]; 23 + abiVersions = [ "x86" "x86_64"]; 348 24 }; 349 25 }
+44
pkgs/development/mobile/androidenv/deploy-androidpackage.nix
··· 1 + {stdenv, unzip}: 2 + {package, os ? null, buildInputs ? [], patchInstructions ? "", meta ? {}, ...}@args: 3 + 4 + let 5 + extraParams = removeAttrs args [ "package" "os" "buildInputs" "patchInstructions" ]; 6 + in 7 + stdenv.mkDerivation ({ 8 + name = package.name + "-" + package.revision; 9 + src = if os != null && builtins.hasAttr os package.archives then package.archives.${os} else package.archives.all; 10 + buildInputs = [ unzip ] ++ buildInputs; 11 + 12 + # Most Android Zip packages have a root folder, but some don't. We unpack 13 + # the zip file in a folder and we try to discover whether it has a single root 14 + # folder. If this is the case, we adjust the current working folder. 15 + unpackPhase = '' 16 + mkdir extractedzip 17 + cd extractedzip 18 + unpackFile "$src" 19 + if [ "$(find . -mindepth 1 -maxdepth 1 -type d | wc -l)" -eq 1 ] 20 + then 21 + cd "$(find . -mindepth 1 -maxdepth 1 -type d)" 22 + fi 23 + sourceRoot="$PWD" 24 + ''; 25 + 26 + installPhase = '' 27 + packageBaseDir=$out/libexec/android-sdk/${package.path} 28 + mkdir -p $packageBaseDir 29 + cd $packageBaseDir 30 + cp -av $sourceRoot/* . 31 + ${patchInstructions} 32 + ''; 33 + 34 + # We never attempt to strip. This is not required since we're doing binary 35 + # deployments. Moreover, some executables that have been patched with patchelf 36 + # may not work any longer after they have been stripped. 37 + dontStrip = true; 38 + dontPatchELF = true; 39 + dontAutoPatchelf = true; 40 + 41 + meta = { 42 + description = package.displayName; 43 + } // meta; 44 + } // extraParams)
+52 -41
pkgs/development/mobile/androidenv/emulate-app.nix
··· 1 - {stdenv, androidsdk}: 1 + { composeAndroidPackages, stdenv }: 2 2 { name, app ? null 3 - , platformVersion ? "8", abiVersion ? "armeabi-v7a", useGoogleAPIs ? false 3 + , platformVersion ? "16", abiVersion ? "armeabi-v7a", systemImageType ? "default", useGoogleAPIs ? false 4 4 , enableGPU ? false, extraAVDFiles ? [] 5 5 , package ? null, activity ? null 6 6 , avdHomeDir ? null 7 - }: 7 + }@args: 8 8 9 9 let 10 - androidsdkComposition = androidsdk { 11 - inherit useGoogleAPIs; 10 + androidSdkArgNames = builtins.attrNames (builtins.functionArgs composeAndroidPackages); 11 + extraParams = removeAttrs args ([ "name" ] ++ androidSdkArgNames); 12 + 13 + # Extract the parameters meant for the Android SDK 14 + androidParams = { 12 15 platformVersions = [ platformVersion ]; 16 + includeEmulator = true; 17 + includeSystemImages = true; 18 + systemImageTypes = [ systemImageType ]; 13 19 abiVersions = [ abiVersion ]; 14 20 }; 21 + 22 + androidsdkComposition = (composeAndroidPackages androidParams).androidsdk; 15 23 in 16 24 stdenv.mkDerivation { 17 25 inherit name; 18 - 26 + 19 27 buildCommand = '' 20 28 mkdir -p $out/bin 21 - 29 + 22 30 cat > $out/bin/run-test-emulator << "EOF" 23 31 #! ${stdenv.shell} -e 24 - 32 + 25 33 # We need a TMPDIR 26 34 if [ "$TMPDIR" = "" ] 27 35 then 28 36 export TMPDIR=/tmp 29 37 fi 30 - 38 + 31 39 ${if avdHomeDir == null then '' 32 40 # Store the virtual devices somewhere else, instead of polluting a user's HOME directory 33 41 export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX) ··· 35 43 mkdir -p "${avdHomeDir}" 36 44 export ANDROID_SDK_HOME="${avdHomeDir}" 37 45 ''} 38 - 46 + 47 + # We need to specify the location of the Android SDK root folder 48 + export ANDROID_SDK_ROOT=${androidsdkComposition}/libexec/android-sdk 49 + 39 50 # We have to look for a free TCP port 40 - 51 + 41 52 echo "Looking for a free TCP port in range 5554-5584" >&2 42 - 53 + 43 54 for i in $(seq 5554 2 5584) 44 55 do 45 - if [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb devices | grep emulator-$i)" ] 56 + if [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb devices | grep emulator-$i)" ] 46 57 then 47 58 port=$i 48 59 break 49 60 fi 50 61 done 51 - 62 + 52 63 if [ -z "$port" ] 53 64 then 54 65 echo "Unfortunately, the emulator port space is exhausted!" >&2 ··· 56 67 else 57 68 echo "We have a free TCP port: $port" >&2 58 69 fi 59 - 70 + 60 71 export ANDROID_SERIAL="emulator-$port" 61 - 72 + 62 73 # Create a virtual android device for testing if it does not exists 63 - 64 - if [ "$(${androidsdkComposition}/libexec/tools/android list avd | grep 'Name: device')" = "" ] 74 + ${androidsdkComposition}/libexec/android-sdk/tools/android list targets 75 + 76 + if [ "$(${androidsdkComposition}/libexec/android-sdk/tools/android list avd | grep 'Name: device')" = "" ] 65 77 then 66 78 # Create a virtual android device 67 - yes "" | ${androidsdkComposition}/libexec/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS 68 - 79 + yes "" | ${androidsdkComposition}/libexec/android-sdk/tools/android create avd -n device -t 1 --abi ${systemImageType}/${abiVersion} $NIX_ANDROID_AVD_FLAGS 80 + 69 81 ${stdenv.lib.optionalString enableGPU '' 70 82 # Enable GPU acceleration 71 83 echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini 72 84 ''} 73 - 85 + 74 86 ${stdenv.lib.concatMapStrings (extraAVDFile: '' 75 87 ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd 76 88 '') extraAVDFiles} 77 89 fi 78 - 90 + 79 91 # Launch the emulator 80 - ${androidsdkComposition}/libexec/tools/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & 92 + ${androidsdkComposition}/libexec/android-sdk/emulator/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & 81 93 82 94 # Wait until the device has completely booted 83 - 84 95 echo "Waiting until the emulator has booted the device and the package manager is ready..." >&2 85 - 86 - ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port wait-for-device 87 - 96 + 97 + ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port wait-for-device 98 + 88 99 echo "Device state has been reached" >&2 89 - 90 - while [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] 100 + 101 + while [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] 91 102 do 92 103 sleep 5 93 104 done 94 - 105 + 95 106 echo "dev.bootcomplete property is 1" >&2 96 - 97 - #while [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] 107 + 108 + #while [ -z "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] 98 109 #do 99 110 #sleep 5 100 111 #done 101 - 112 + 102 113 #echo "sys.boot_completed property is 1" >&2 103 - 114 + 104 115 echo "ready" >&2 105 - 116 + 106 117 ${stdenv.lib.optionalString (app != null) '' 107 118 # Install the App through the debugger, if it has not been installed yet 108 - 109 - if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] 119 + 120 + if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] 110 121 then 111 122 if [ -d "${app}" ] 112 123 then ··· 114 125 else 115 126 appPath="${app}" 116 127 fi 117 - 118 - ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port install "$appPath" 128 + 129 + ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port install "$appPath" 119 130 fi 120 - 131 + 121 132 # Start the application 122 133 ${stdenv.lib.optionalString (package != null && activity != null) '' 123 - ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} 134 + ${androidsdkComposition}/libexec/android-sdk/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} 124 135 ''} 125 136 ''} 126 137 EOF
+20
pkgs/development/mobile/androidenv/emulator.nix
··· 1 + {deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, pkgs_i686}: 2 + 3 + deployAndroidPackage { 4 + inherit package os; 5 + buildInputs = [ autoPatchelfHook makeWrapper ] 6 + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libXfixes pkgs.xlibs.libxcb pkgs.libGL pkgs.libpulseaudio pkgs.zlib pkgs.ncurses5 pkgs.stdenv.cc.cc pkgs_i686.glibc ]; 7 + patchInstructions = lib.optionalString (os == "linux") '' 8 + addAutoPatchelfSearchPath $packageBaseDir/lib 9 + addAutoPatchelfSearchPath $packageBaseDir/lib64 10 + addAutoPatchelfSearchPath $packageBaseDir/lib64/qt/lib 11 + autoPatchelf $out 12 + 13 + # Wrap emulator so that it can load libdbus-1.so at runtime and it no longer complains about XKB keymaps 14 + wrapProgram $out/libexec/android-sdk/emulator/emulator \ 15 + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.dbus ]} \ 16 + --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \ 17 + --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale 18 + ''; 19 + dontMoveLib64 = true; 20 + }
-14
pkgs/development/mobile/androidenv/fetch.sh
··· 1 - #! /usr/bin/env nix-shell 2 - #! nix-shell -i bash --pure -p curl libxslt 3 - 4 - # we skip the intel addons, as they are Windows+osX only 5 - # we skip the default sys-img (arm?) because it is empty 6 - curl -o repository-11.xml https://dl.google.com/android/repository/repository-11.xml 7 - curl -o addon.xml https://dl.google.com/android/repository/addon.xml 8 - curl -o sys-img.xml https://dl.google.com/android/repository/sys-img/android/sys-img.xml 9 - 10 - ./generate-addons.sh 11 - ./generate-platforms.sh 12 - ./generate-sysimages.sh 13 - ./generate-sources.sh 14 - ./generate-tools.sh
-3
pkgs/development/mobile/androidenv/generate-addons.sh
··· 1 - #!/bin/sh -e 2 - 3 - xsltproc generate-addons.xsl addon.xml > addons.nix
-82
pkgs/development/mobile/androidenv/generate-addons.xsl
··· 1 - <?xml version="1.0"?> 2 - 3 - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 - xmlns:sdk="http://schemas.android.com/sdk/android/addon/7"> 5 - 6 - <xsl:output omit-xml-declaration="yes" indent="no" /> 7 - <xsl:template match="/sdk:sdk-addon"> 8 - # This file is generated from generate-addons.sh. DO NOT EDIT. 9 - # Execute generate-addons.sh or fetch.sh to update the file. 10 - {stdenv, fetchurl, unzip}: 11 - 12 - let 13 - buildGoogleApis = args: 14 - stdenv.mkDerivation (args // { 15 - buildInputs = [ unzip ]; 16 - buildCommand = '' 17 - mkdir -p $out 18 - cd $out 19 - unzip $src 20 - ''; 21 - }); 22 - in 23 - { 24 - <xsl:for-each select="sdk:add-on[sdk:name-id='google_apis']"><xsl:sort select="sdk:api-level" data-type="number"/><xsl:sort select="sdk:revision" data-type="number"/> 25 - google_apis_<xsl:value-of select="sdk:api-level" /> = buildGoogleApis { 26 - name = "<xsl:value-of select="sdk:name-id" />-<xsl:value-of select="sdk:api-level" />"; 27 - src = fetchurl { 28 - url = https://dl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />; 29 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />"; 30 - }; 31 - meta = { 32 - description = "<xsl:value-of select="sdk:description" />"; 33 - <xsl:for-each select="sdk:desc-url"> url = <xsl:value-of select="." />;</xsl:for-each> 34 - }; 35 - }; 36 - </xsl:for-each> 37 - 38 - <xsl:for-each select="sdk:extra[sdk:path='support']"> 39 - android_support_extra = buildGoogleApis { 40 - name = "android_support_extra"; 41 - src = fetchurl { 42 - url = https://dl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url"/>; 43 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />"; 44 - }; 45 - meta = { 46 - description = "Android Support Library"; 47 - url = http://developer.android.com/; 48 - }; 49 - }; 50 - </xsl:for-each><xsl:for-each select="sdk:extra[sdk:path='google_play_services']"> 51 - google_play_services = buildGoogleApis { 52 - name = "google_play_services"; 53 - src = fetchurl { 54 - url = https://dl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url"/>; 55 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />"; 56 - }; 57 - meta = { 58 - description = "Google Play services client library and sample code"; 59 - url = http://developer.android.com/; 60 - }; 61 - }; 62 - </xsl:for-each> 63 - 64 - <!-- Instant apps --> 65 - <xsl:for-each select="sdk:extra[sdk:path='instantapps']"> 66 - instant_apps = buildGoogleApis { 67 - name = "instant_apps_sdk"; 68 - src = fetchurl { 69 - url = https://dl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url"/>; 70 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />"; 71 - }; 72 - meta = { 73 - description = "Android Instant Apps Development SDK"; 74 - url = "https://developer.android.com/"; 75 - }; 76 - }; 77 - </xsl:for-each> 78 - 79 - } 80 - </xsl:template> 81 - 82 - </xsl:stylesheet>
-4
pkgs/development/mobile/androidenv/generate-platforms.sh
··· 1 - #!/bin/sh -e 2 - 3 - xsltproc --stringparam os linux generate-platforms.xsl repository-11.xml > platforms-linux.nix 4 - xsltproc --stringparam os macosx generate-platforms.xsl repository-11.xml > platforms-macosx.nix
-54
pkgs/development/mobile/androidenv/generate-platforms.xsl
··· 1 - <?xml version="1.0"?> 2 - 3 - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 - xmlns:sdk="http://schemas.android.com/sdk/android/repository/11"> 5 - 6 - <xsl:param name="os" /> 7 - <xsl:output omit-xml-declaration="yes" indent="no" /> 8 - 9 - <xsl:template name="repository-url"> 10 - <xsl:variable name="raw-url" select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:url"/> 11 - <xsl:choose> 12 - <xsl:when test="starts-with($raw-url, 'http')"> 13 - <xsl:value-of select="$raw-url"/> 14 - </xsl:when> 15 - <xsl:otherwise> 16 - <xsl:text>https://dl.google.com/android/repository/</xsl:text> 17 - <xsl:value-of select="$raw-url"/> 18 - </xsl:otherwise> 19 - </xsl:choose> 20 - </xsl:template> 21 - 22 - <xsl:template match="/sdk:sdk-repository"> 23 - # This file is generated from generate-platforms.sh. DO NOT EDIT. 24 - # Execute generate-platforms.sh or fetch.sh to update the file. 25 - {stdenv, fetchurl, unzip}: 26 - 27 - let 28 - buildPlatform = args: 29 - stdenv.mkDerivation (args // { 30 - buildInputs = [ unzip ]; 31 - buildCommand = '' 32 - mkdir -p $out 33 - cd $out 34 - unzip $src 35 - ''; 36 - }); 37 - in 38 - { 39 - <xsl:for-each select="sdk:platform"><xsl:sort select="sdk:api-level" data-type="number"/> 40 - platform_<xsl:value-of select="sdk:api-level" /> = buildPlatform { 41 - name = "android-platform-<xsl:value-of select="sdk:version" />"; 42 - src = fetchurl { 43 - url = <xsl:call-template name="repository-url"/>; 44 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:checksum[@type='sha1']" />"; 45 - }; 46 - meta = { 47 - description = "<xsl:value-of select="sdk:description" />"; 48 - <xsl:for-each select="sdk:desc-url"> homepage = <xsl:value-of select="." />;</xsl:for-each> 49 - }; 50 - }; 51 - </xsl:for-each> 52 - } 53 - </xsl:template> 54 - </xsl:stylesheet>
-3
pkgs/development/mobile/androidenv/generate-sources.sh
··· 1 - #!/bin/sh -e 2 - 3 - xsltproc generate-sources.xsl repository-11.xml > sources.nix
-52
pkgs/development/mobile/androidenv/generate-sources.xsl
··· 1 - <?xml version="1.0"?> 2 - 3 - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 - xmlns:sdk="http://schemas.android.com/sdk/android/repository/11"> 5 - 6 - <xsl:output omit-xml-declaration="yes" indent="no" /> 7 - 8 - <xsl:template name="repository-url"> 9 - <xsl:variable name="raw-url" select="sdk:archives/sdk:archive/sdk:url"/> 10 - <xsl:choose> 11 - <xsl:when test="starts-with($raw-url, 'http')"> 12 - <xsl:value-of select="$raw-url"/> 13 - </xsl:when> 14 - <xsl:otherwise> 15 - <xsl:text>https://dl.google.com/android/repository/</xsl:text> 16 - <xsl:value-of select="$raw-url"/> 17 - </xsl:otherwise> 18 - </xsl:choose> 19 - </xsl:template> 20 - 21 - <xsl:template match="/sdk:sdk-repository"> 22 - # This file is generated from generate-sources.sh. DO NOT EDIT. 23 - # Execute generate-sources.sh or fetch.sh to update the file. 24 - {stdenv, fetchurl, unzip}: 25 - 26 - let 27 - buildSource = args: 28 - stdenv.mkDerivation (args // { 29 - buildInputs = [ unzip ]; 30 - buildCommand = '' 31 - mkdir -p $out 32 - cd $out 33 - unzip $src 34 - ''; 35 - }); 36 - in 37 - { 38 - <xsl:for-each select="sdk:source"><xsl:sort select="sdk:api-level" data-type="number"/> 39 - source_<xsl:value-of select="sdk:api-level" /> = buildSource { 40 - name = "android-source-<xsl:value-of select="sdk:api-level" />"; 41 - src = fetchurl { 42 - url = <xsl:call-template name="repository-url"/>; 43 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />"; 44 - }; 45 - meta = { 46 - description = "Source code for Android API <xsl:value-of select="sdk:api-level" />"; 47 - }; 48 - }; 49 - </xsl:for-each> 50 - } 51 - </xsl:template> 52 - </xsl:stylesheet>
-26
pkgs/development/mobile/androidenv/generate-sysimages.sh
··· 1 - #!/bin/sh -e 2 - 3 - cat > sysimages.nix << "EOF" 4 - # This file is generated from generate-sysimages.sh. DO NOT EDIT. 5 - # Execute generate-sysimages.sh or fetch.sh to update the file. 6 - {stdenv, fetchurl, unzip}: 7 - 8 - let 9 - buildSystemImage = args: 10 - stdenv.mkDerivation (args // { 11 - buildInputs = [ unzip ]; 12 - buildCommand = '' 13 - mkdir -p $out 14 - cd $out 15 - unzip $src 16 - ''; 17 - }); 18 - in 19 - { 20 - EOF 21 - 22 - xsltproc generate-sysimages.xsl sys-img.xml >> sysimages.nix 23 - 24 - cat >> sysimages.nix << "EOF" 25 - } 26 - EOF
-20
pkgs/development/mobile/androidenv/generate-sysimages.xsl
··· 1 - <?xml version="1.0"?> 2 - 3 - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 - xmlns:str="http://exslt.org/strings" 5 - xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 6 - 7 - <xsl:output omit-xml-declaration="yes" indent="no" /> 8 - 9 - <xsl:template match="/sdk:sdk-sys-img"> 10 - <xsl:for-each select="sdk:system-image"><xsl:sort select="sdk:api-level" data-type="number"/><xsl:sort select="sdk:abi"/> 11 - sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage { 12 - name = "sysimg-<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />"; 13 - src = fetchurl { 14 - url = <xsl:if test="not(starts-with(sdk:archives/sdk:archive/sdk:url, 'https://'))">https://dl.google.com/android/repository/sys-img/android/</xsl:if><xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />; 15 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />"; 16 - }; 17 - }; 18 - </xsl:for-each> 19 - </xsl:template> 20 - </xsl:stylesheet>
-4
pkgs/development/mobile/androidenv/generate-tools.sh
··· 1 - #!/bin/sh -e 2 - 3 - xsltproc --stringparam os linux generate-tools.xsl repository-11.xml > build-tools-srcs-linux.nix 4 - xsltproc --stringparam os macosx generate-tools.xsl repository-11.xml > build-tools-srcs-macosx.nix
-43
pkgs/development/mobile/androidenv/generate-tools.xsl
··· 1 - <?xml version="1.0"?> 2 - 3 - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 4 - xmlns:sdk="http://schemas.android.com/sdk/android/repository/11"> 5 - 6 - <xsl:param name="os" /> 7 - <xsl:output omit-xml-declaration="yes" indent="no" /> 8 - 9 - <xsl:template name="repository-url"> 10 - <xsl:variable name="raw-url" select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:url"/> 11 - <xsl:choose> 12 - <xsl:when test="starts-with($raw-url, 'http')"> 13 - <xsl:value-of select="$raw-url"/> 14 - </xsl:when> 15 - <xsl:otherwise> 16 - <xsl:text>https://dl.google.com/android/repository/</xsl:text> 17 - <xsl:value-of select="$raw-url"/> 18 - </xsl:otherwise> 19 - </xsl:choose> 20 - </xsl:template> 21 - 22 - <xsl:template match="/sdk:sdk-repository"> 23 - # This file is generated from generate-tools.sh. DO NOT EDIT. 24 - # Execute generate-tools.sh or fetch.sh to update the file. 25 - { fetchurl }: 26 - 27 - { 28 - <xsl:for-each select="sdk:build-tool"> 29 - <xsl:sort select="sdk:revision/sdk:major" data-type="number"/> 30 - <xsl:sort select="sdk:revision/sdk:minor" data-type="number"/> 31 - <xsl:sort select="sdk:revision/sdk:micro" data-type="number"/> 32 - <xsl:sort select="sdk:revision/sdk:preview" data-type="number"/> 33 - v<xsl:value-of select="sdk:revision/sdk:major"/><xsl:if test="sdk:revision/sdk:minor + sdk:revision/sdk:micro > 0">_<xsl:value-of select="sdk:revision/sdk:minor" />_<xsl:value-of select="sdk:revision/sdk:micro"/></xsl:if><xsl:if test="sdk:revision/sdk:preview > 0">_rc<xsl:value-of select="sdk:revision/sdk:preview"/></xsl:if> = { 34 - version = "<xsl:value-of select="sdk:revision/sdk:major"/>.<xsl:value-of select="sdk:revision/sdk:minor" />.<xsl:value-of select="sdk:revision/sdk:micro"/><xsl:if test="sdk:revision/sdk:preview > 0">-rc<xsl:value-of select="sdk:revision/sdk:preview"/></xsl:if>"; 35 - src = fetchurl { 36 - url = <xsl:call-template name="repository-url"/>; 37 - sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:checksum[@type='sha1']" />"; 38 - }; 39 - }; 40 - </xsl:for-each> 41 - } 42 - </xsl:template> 43 - </xsl:stylesheet>
+16
pkgs/development/mobile/androidenv/generate.sh
··· 1 + #!/bin/sh -e 2 + 3 + # Convert base packages 4 + curl https://dl.google.com/android/repository/repository2-1.xml -o xml/repository2-1.xml 5 + xsltproc convertpackages.xsl xml/repository2-1.xml > generated/packages.nix 6 + 7 + # Convert system images 8 + for img in android android-tv android-wear android-wear-cn google_apis google_apis_playstore 9 + do 10 + curl https://dl.google.com/android/repository/sys-img/$img/sys-img2-1.xml -o xml/$img-sys-img2-1.xml 11 + xsltproc --stringparam imageType $img convertsystemimages.xsl xml/$img-sys-img2-1.xml > generated/system-images-$img.nix 12 + done 13 + 14 + # Convert system addons 15 + curl https://dl.google.com/android/repository/addon2-1.xml -o xml/addon2-1.xml 16 + xsltproc convertaddons.xsl xml/addon2-1.xml > generated/addons.nix
+1145
pkgs/development/mobile/androidenv/generated/addons.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + addons = { 6 + 7 + "10"."google_apis" = { 8 + name = "google_apis"; 9 + path = "add-ons/addon-google_apis-google-10"; 10 + revision = "10"; 11 + displayName = "Google APIs"; 12 + archives = { 13 + 14 + all = fetchurl { 15 + url = https://dl.google.com/android/repository/google_apis-10_r02.zip; 16 + sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d"; 17 + }; 18 + 19 + }; 20 + }; 21 + 22 + "11"."google_apis" = { 23 + name = "google_apis"; 24 + path = "add-ons/addon-google_apis-google-11"; 25 + revision = "11"; 26 + displayName = "Google APIs"; 27 + archives = { 28 + 29 + all = fetchurl { 30 + url = https://dl.google.com/android/repository/google_apis-11_r01.zip; 31 + sha1 = "5eab5e81addee9f3576d456d205208314b5146a5"; 32 + }; 33 + 34 + }; 35 + }; 36 + 37 + "12"."google_apis" = { 38 + name = "google_apis"; 39 + path = "add-ons/addon-google_apis-google-12"; 40 + revision = "12"; 41 + displayName = "Google APIs"; 42 + archives = { 43 + 44 + all = fetchurl { 45 + url = https://dl.google.com/android/repository/google_apis-12_r01.zip; 46 + sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d"; 47 + }; 48 + 49 + }; 50 + }; 51 + 52 + "13"."google_apis" = { 53 + name = "google_apis"; 54 + path = "add-ons/addon-google_apis-google-13"; 55 + revision = "13"; 56 + displayName = "Google APIs"; 57 + archives = { 58 + 59 + all = fetchurl { 60 + url = https://dl.google.com/android/repository/google_apis-13_r01.zip; 61 + sha1 = "3b153edd211c27dc736c893c658418a4f9041417"; 62 + }; 63 + 64 + }; 65 + }; 66 + 67 + "14"."google_apis" = { 68 + name = "google_apis"; 69 + path = "add-ons/addon-google_apis-google-14"; 70 + revision = "14"; 71 + displayName = "Google APIs"; 72 + archives = { 73 + 74 + all = fetchurl { 75 + url = https://dl.google.com/android/repository/google_apis-14_r02.zip; 76 + sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39"; 77 + }; 78 + 79 + }; 80 + }; 81 + 82 + "15"."google_apis" = { 83 + name = "google_apis"; 84 + path = "add-ons/addon-google_apis-google-15"; 85 + revision = "15"; 86 + displayName = "Google APIs"; 87 + archives = { 88 + 89 + all = fetchurl { 90 + url = https://dl.google.com/android/repository/google_apis-15_r03.zip; 91 + sha1 = "d0d2bf26805eb271693570a1aaec33e7dc3f45e9"; 92 + }; 93 + 94 + }; 95 + }; 96 + 97 + "16"."google_apis" = { 98 + name = "google_apis"; 99 + path = "add-ons/addon-google_apis-google-16"; 100 + revision = "16"; 101 + displayName = "Google APIs"; 102 + archives = { 103 + 104 + all = fetchurl { 105 + url = https://dl.google.com/android/repository/google_apis-16_r04.zip; 106 + sha1 = "ee6acf1b01020bfa8a8e24725dbc4478bee5e792"; 107 + }; 108 + 109 + }; 110 + }; 111 + 112 + "17"."google_apis" = { 113 + name = "google_apis"; 114 + path = "add-ons/addon-google_apis-google-17"; 115 + revision = "17"; 116 + displayName = "Google APIs"; 117 + archives = { 118 + 119 + all = fetchurl { 120 + url = https://dl.google.com/android/repository/google_apis-17_r04.zip; 121 + sha1 = "a076be0677f38df8ca5536b44dfb411a0c808c4f"; 122 + }; 123 + 124 + }; 125 + }; 126 + 127 + "18"."google_apis" = { 128 + name = "google_apis"; 129 + path = "add-ons/addon-google_apis-google-18"; 130 + revision = "18"; 131 + displayName = "Google APIs"; 132 + archives = { 133 + 134 + all = fetchurl { 135 + url = https://dl.google.com/android/repository/google_apis-18_r04.zip; 136 + sha1 = "6109603409debdd40854d4d4a92eaf8481462c8b"; 137 + }; 138 + 139 + }; 140 + }; 141 + 142 + "19"."google_apis" = { 143 + name = "google_apis"; 144 + path = "add-ons/addon-google_apis-google-19"; 145 + revision = "19"; 146 + displayName = "Google APIs"; 147 + archives = { 148 + 149 + all = fetchurl { 150 + url = https://dl.google.com/android/repository/google_apis-19_r20.zip; 151 + sha1 = "5b933abe830b2f25b4c0f171d45e9e0651e56311"; 152 + }; 153 + 154 + }; 155 + }; 156 + 157 + "21"."google_apis" = { 158 + name = "google_apis"; 159 + path = "add-ons/addon-google_apis-google-21"; 160 + revision = "21"; 161 + displayName = "Google APIs"; 162 + archives = { 163 + 164 + all = fetchurl { 165 + url = https://dl.google.com/android/repository/google_apis-21_r01.zip; 166 + sha1 = "66a754efb24e9bb07cc51648426443c7586c9d4a"; 167 + }; 168 + 169 + }; 170 + }; 171 + 172 + "22"."google_apis" = { 173 + name = "google_apis"; 174 + path = "add-ons/addon-google_apis-google-22"; 175 + revision = "22"; 176 + displayName = "Google APIs"; 177 + archives = { 178 + 179 + all = fetchurl { 180 + url = https://dl.google.com/android/repository/google_apis-22_r01.zip; 181 + sha1 = "5def0f42160cba8acff51b9c0c7e8be313de84f5"; 182 + }; 183 + 184 + }; 185 + }; 186 + 187 + "23"."google_apis" = { 188 + name = "google_apis"; 189 + path = "add-ons/addon-google_apis-google-23"; 190 + revision = "23"; 191 + displayName = "Google APIs"; 192 + archives = { 193 + 194 + all = fetchurl { 195 + url = https://dl.google.com/android/repository/google_apis-23_r01.zip; 196 + sha1 = "04c5cc1a7c88967250ebba9561d81e24104167db"; 197 + }; 198 + 199 + }; 200 + }; 201 + 202 + "24"."google_apis" = { 203 + name = "google_apis"; 204 + path = "add-ons/addon-google_apis-google-24"; 205 + revision = "24"; 206 + displayName = "Google APIs"; 207 + archives = { 208 + 209 + all = fetchurl { 210 + url = https://dl.google.com/android/repository/google_apis-24_r1.zip; 211 + sha1 = "31361c2868f27343ee917fbd259c1463821b6145"; 212 + }; 213 + 214 + }; 215 + }; 216 + 217 + "3"."google_apis" = { 218 + name = "google_apis"; 219 + path = "add-ons/addon-google_apis-google-3"; 220 + revision = "3"; 221 + displayName = "Google APIs"; 222 + archives = { 223 + 224 + all = fetchurl { 225 + url = https://dl.google.com/android/repository/google_apis-3-r03.zip; 226 + sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a"; 227 + }; 228 + 229 + }; 230 + }; 231 + 232 + "4"."google_apis" = { 233 + name = "google_apis"; 234 + path = "add-ons/addon-google_apis-google-4"; 235 + revision = "4"; 236 + displayName = "Google APIs"; 237 + archives = { 238 + 239 + all = fetchurl { 240 + url = https://dl.google.com/android/repository/google_apis-4_r02.zip; 241 + sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0"; 242 + }; 243 + 244 + }; 245 + }; 246 + 247 + "5"."google_apis" = { 248 + name = "google_apis"; 249 + path = "add-ons/addon-google_apis-google-5"; 250 + revision = "5"; 251 + displayName = "Google APIs"; 252 + archives = { 253 + 254 + all = fetchurl { 255 + url = https://dl.google.com/android/repository/google_apis-5_r01.zip; 256 + sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503"; 257 + }; 258 + 259 + }; 260 + }; 261 + 262 + "6"."google_apis" = { 263 + name = "google_apis"; 264 + path = "add-ons/addon-google_apis-google-6"; 265 + revision = "6"; 266 + displayName = "Google APIs"; 267 + archives = { 268 + 269 + all = fetchurl { 270 + url = https://dl.google.com/android/repository/google_apis-6_r01.zip; 271 + sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2"; 272 + }; 273 + 274 + }; 275 + }; 276 + 277 + "7"."google_apis" = { 278 + name = "google_apis"; 279 + path = "add-ons/addon-google_apis-google-7"; 280 + revision = "7"; 281 + displayName = "Google APIs"; 282 + archives = { 283 + 284 + all = fetchurl { 285 + url = https://dl.google.com/android/repository/google_apis-7_r01.zip; 286 + sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac"; 287 + }; 288 + 289 + }; 290 + }; 291 + 292 + "8"."google_apis" = { 293 + name = "google_apis"; 294 + path = "add-ons/addon-google_apis-google-8"; 295 + revision = "8"; 296 + displayName = "Google APIs"; 297 + archives = { 298 + 299 + all = fetchurl { 300 + url = https://dl.google.com/android/repository/google_apis-8_r02.zip; 301 + sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352"; 302 + }; 303 + 304 + }; 305 + }; 306 + 307 + "9"."google_apis" = { 308 + name = "google_apis"; 309 + path = "add-ons/addon-google_apis-google-9"; 310 + revision = "9"; 311 + displayName = "Google APIs"; 312 + archives = { 313 + 314 + all = fetchurl { 315 + url = https://dl.google.com/android/repository/google_apis-9_r02.zip; 316 + sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d"; 317 + }; 318 + 319 + }; 320 + }; 321 + 322 + "12"."google_tv_addon" = { 323 + name = "google_tv_addon"; 324 + path = "add-ons/addon-google_tv_addon-google-12"; 325 + revision = "12"; 326 + displayName = "Google TV Addon"; 327 + archives = { 328 + 329 + all = fetchurl { 330 + url = https://dl.google.com/android/repository/google_tv-12_r02.zip; 331 + sha1 = "92128a12e7e8b0fb5bac59153d7779b717e7b840"; 332 + }; 333 + 334 + }; 335 + }; 336 + 337 + "13"."google_tv_addon" = { 338 + name = "google_tv_addon"; 339 + path = "add-ons/addon-google_tv_addon-google-13"; 340 + revision = "13"; 341 + displayName = "Google TV Addon"; 342 + archives = { 343 + 344 + all = fetchurl { 345 + url = https://dl.google.com/android/repository/google_tv-13_r01.zip; 346 + sha1 = "b73f7c66011ac8180b44aa4e83b8d78c66ea9a09"; 347 + }; 348 + 349 + }; 350 + }; 351 + 352 + "25"."google_apis" = { 353 + name = "google_apis"; 354 + path = "add-ons/addon-google_apis-google-25"; 355 + revision = "25"; 356 + displayName = "Google APIs"; 357 + archives = { 358 + 359 + all = fetchurl { 360 + url = https://dl.google.com/android/repository/google_apis-25_r1.zip; 361 + sha1 = "550e83eea9513ab11c44919ac6da54b36084a9f3"; 362 + }; 363 + 364 + }; 365 + }; 366 + 367 + }; 368 + 369 + extras = { 370 + 371 + 372 + "extras;android;gapid;1" = { 373 + name = "extras-android-gapid-1"; 374 + path = "extras/android/gapid/1"; 375 + revision = "1.0.3"; 376 + displayName = "GPU Debugging tools"; 377 + archives = { 378 + linux = fetchurl { 379 + url = https://dl.google.com/android/repository/gapid_r01_linux.zip; 380 + sha1 = "7c9ef7544cf0aea030bcc29bd8e12c04fd53e653"; 381 + }; 382 + macosx = fetchurl { 383 + url = https://dl.google.com/android/repository/gapid_r01_osx.zip; 384 + sha1 = "597eb271349d890566274861eba2770a84ee4c69"; 385 + }; 386 + 387 + }; 388 + }; 389 + 390 + 391 + "extras;android;gapid;3" = { 392 + name = "extras-android-gapid-3"; 393 + path = "extras/android/gapid/3"; 394 + revision = "3.1.0"; 395 + displayName = "GPU Debugging tools"; 396 + archives = { 397 + linux = fetchurl { 398 + url = https://dl.google.com/android/repository/gapid_2994895_linux.zip; 399 + sha1 = "e40371ba191f617e4e79bc760d0ab2948ba8cf46"; 400 + }; 401 + macosx = fetchurl { 402 + url = https://dl.google.com/android/repository/gapid_2994895_osx.zip; 403 + sha1 = "ad86a2350b7b9908300277bf03d41649659de384"; 404 + }; 405 + 406 + }; 407 + }; 408 + 409 + 410 + "extras;android;m2repository" = { 411 + name = "extras-android-m2repository"; 412 + path = "extras/android/m2repository"; 413 + revision = "47.0.0"; 414 + displayName = "Android Support Repository"; 415 + archives = { 416 + 417 + all = fetchurl { 418 + url = https://dl.google.com/android/repository/android_m2repository_r47.zip; 419 + sha1 = "a0d22beacc106a6977321f2b07d692ce4979e96a"; 420 + }; 421 + 422 + }; 423 + }; 424 + 425 + 426 + "extras;google;admob_ads_sdk" = { 427 + name = "extras-google-admob_ads_sdk"; 428 + path = "extras/google/admob_ads_sdk"; 429 + revision = "11"; 430 + displayName = "Google AdMob Ads SDK"; 431 + archives = { 432 + 433 + all = fetchurl { 434 + url = https://dl.google.com/android/repository/GoogleAdMobAdsSdkAndroid-6.4.1.zip; 435 + sha1 = "0102859d9575baa0bf4fd5eb422af2ad0fe6cb82"; 436 + }; 437 + 438 + }; 439 + }; 440 + 441 + 442 + "extras;google;analytics_sdk_v2" = { 443 + name = "extras-google-analytics_sdk_v2"; 444 + path = "extras/google/analytics_sdk_v2"; 445 + revision = "3"; 446 + displayName = "Google Analytics App Tracking SDK"; 447 + archives = { 448 + 449 + all = fetchurl { 450 + url = https://dl.google.com/android/repository/GoogleAnalyticsAndroid_2.0beta5.zip; 451 + sha1 = "dc14026bf0ce78315cb5dd00552607de0894de83"; 452 + }; 453 + 454 + }; 455 + }; 456 + 457 + 458 + "extras;google;auto" = { 459 + name = "extras-google-auto"; 460 + path = "extras/google/auto"; 461 + revision = "1.1"; 462 + displayName = "Android Auto Desktop Head Unit emulator"; 463 + archives = { 464 + linux = fetchurl { 465 + url = https://dl.google.com/android/repository/desktop-head-unit-linux_r01.1.zip; 466 + sha1 = "202a6e1b3009a0eb815f8c672d2d5b3717de6169"; 467 + }; 468 + macosx = fetchurl { 469 + url = https://dl.google.com/android/repository/desktop-head-unit-macosx_r01.1.zip; 470 + sha1 = "8179cbb3914493ebc5eb65b731cba061582f2e84"; 471 + }; 472 + 473 + }; 474 + }; 475 + 476 + 477 + "extras;google;gcm" = { 478 + name = "extras-google-gcm"; 479 + path = "extras/google/gcm"; 480 + revision = "3"; 481 + displayName = "Google Cloud Messaging for Android Library"; 482 + archives = { 483 + 484 + all = fetchurl { 485 + url = https://dl.google.com/android/repository/gcm_r03.zip; 486 + sha1 = "ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf"; 487 + }; 488 + 489 + }; 490 + }; 491 + 492 + 493 + "extras;google;google_play_services" = { 494 + name = "extras-google-google_play_services"; 495 + path = "extras/google/google_play_services"; 496 + revision = "49"; 497 + displayName = "Google Play services"; 498 + archives = { 499 + 500 + all = fetchurl { 501 + url = https://dl.google.com/android/repository/google_play_services_v16_1_rc09.zip; 502 + sha1 = "f95bf19634e2ab0430923247fe2c50246432d2e9"; 503 + }; 504 + 505 + }; 506 + }; 507 + 508 + 509 + "extras;google;google_play_services_froyo" = { 510 + name = "extras-google-google_play_services_froyo"; 511 + path = "extras/google/google_play_services_froyo"; 512 + revision = "12"; 513 + displayName = "Google Play services for Froyo"; 514 + archives = { 515 + 516 + all = fetchurl { 517 + url = https://dl.google.com/android/repository/google_play_services_3265130_r12.zip; 518 + sha1 = "92558dbc380bba3d55d0ec181167fb05ce7c79d9"; 519 + }; 520 + 521 + }; 522 + }; 523 + 524 + 525 + "extras;google;instantapps" = { 526 + name = "extras-google-instantapps"; 527 + path = "extras/google/instantapps"; 528 + revision = "1.5.0"; 529 + displayName = "Google Play Instant Development SDK"; 530 + archives = { 531 + 532 + all = fetchurl { 533 + url = https://dl.google.com/android/repository/iasdk-1.5.0-1538000167.zip; 534 + sha1 = "6c282b9c686e819fe7f5ac8f2249d2479acb63b4"; 535 + }; 536 + 537 + }; 538 + }; 539 + 540 + 541 + "extras;google;m2repository" = { 542 + name = "extras-google-m2repository"; 543 + path = "extras/google/m2repository"; 544 + revision = "58"; 545 + displayName = "Google Repository"; 546 + archives = { 547 + 548 + all = fetchurl { 549 + url = https://dl.google.com/android/repository/google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip; 550 + sha1 = "05086add9e3a0eb1b67111108d7757a4337c3f10"; 551 + }; 552 + 553 + }; 554 + }; 555 + 556 + 557 + "extras;google;market_apk_expansion" = { 558 + name = "extras-google-market_apk_expansion"; 559 + path = "extras/google/market_apk_expansion"; 560 + revision = "1"; 561 + displayName = "Google Play APK Expansion library"; 562 + archives = { 563 + 564 + all = fetchurl { 565 + url = https://dl.google.com/android/repository/market_apk_expansion-r03.zip; 566 + sha1 = "5305399dc1a56814e86b8459ce24871916f78b8c"; 567 + }; 568 + 569 + }; 570 + }; 571 + 572 + 573 + "extras;google;market_licensing" = { 574 + name = "extras-google-market_licensing"; 575 + path = "extras/google/market_licensing"; 576 + revision = "1"; 577 + displayName = "Google Play Licensing Library"; 578 + archives = { 579 + 580 + all = fetchurl { 581 + url = https://dl.google.com/android/repository/market_licensing-r02.zip; 582 + sha1 = "355e8dc304a92a5616db235af8ee7bd554356254"; 583 + }; 584 + 585 + }; 586 + }; 587 + 588 + 589 + "extras;google;simulators" = { 590 + name = "extras-google-simulators"; 591 + path = "extras/google/simulators"; 592 + revision = "1"; 593 + displayName = "Android Auto API Simulators"; 594 + archives = { 595 + 596 + all = fetchurl { 597 + url = https://dl.google.com/android/repository/simulator_r01.zip; 598 + sha1 = "4fb5344e34e8faab4db18af07dace44c50db26a7"; 599 + }; 600 + 601 + }; 602 + }; 603 + 604 + 605 + "extras;google;usb_driver" = { 606 + name = "extras-google-usb_driver"; 607 + path = "extras/google/usb_driver"; 608 + revision = "11"; 609 + displayName = "Google USB Driver"; 610 + archives = { 611 + 612 + }; 613 + }; 614 + 615 + 616 + "extras;google;webdriver" = { 617 + name = "extras-google-webdriver"; 618 + path = "extras/google/webdriver"; 619 + revision = "2"; 620 + displayName = "Google Web Driver"; 621 + archives = { 622 + 623 + all = fetchurl { 624 + url = https://dl.google.com/android/repository/webdriver_r02.zip; 625 + sha1 = "13f3a3b2670a5fc04a7342861644be9a01b07e38"; 626 + }; 627 + 628 + }; 629 + }; 630 + 631 + 632 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0" = { 633 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0"; 634 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0"; 635 + revision = "1"; 636 + displayName = "Solver for ConstraintLayout 1.0.0"; 637 + archives = { 638 + 639 + all = fetchurl { 640 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0.zip; 641 + sha1 = "b621b9d5adf273bb0725948589863e60e96eeaf1"; 642 + }; 643 + 644 + }; 645 + }; 646 + 647 + 648 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha2" = { 649 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha2"; 650 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha2"; 651 + revision = "1"; 652 + displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha2"; 653 + archives = { 654 + 655 + all = fetchurl { 656 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha2.zip; 657 + sha1 = "2e7fd5d8d158f4517ba52af824f84466ffede879"; 658 + }; 659 + 660 + }; 661 + }; 662 + 663 + 664 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha3" = { 665 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha3"; 666 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha3"; 667 + revision = "1"; 668 + displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha3"; 669 + archives = { 670 + 671 + all = fetchurl { 672 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha3.zip; 673 + sha1 = "cd1cbbb2621c9034b835e9b69243dc558cdee4dc"; 674 + }; 675 + 676 + }; 677 + }; 678 + 679 + 680 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4" = { 681 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha4"; 682 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha4"; 683 + revision = "1"; 684 + displayName = "com.android.support.constraint:constraint-layout-solver:1.0.0-alpha4"; 685 + archives = { 686 + 687 + all = fetchurl { 688 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha4.zip; 689 + sha1 = "2aa2aceecc6ba172742d0af0b43f11d03924eeb8"; 690 + }; 691 + 692 + }; 693 + }; 694 + 695 + 696 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha5" = { 697 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha5"; 698 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha5"; 699 + revision = "1"; 700 + displayName = "Solver for ConstraintLayout 1.0.0-alpha5"; 701 + archives = { 702 + 703 + all = fetchurl { 704 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha5.zip; 705 + sha1 = "7ba6c82c7645ac023cf45c1e27a6ae3added308a"; 706 + }; 707 + 708 + }; 709 + }; 710 + 711 + 712 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha6" = { 713 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha6"; 714 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha6"; 715 + revision = "1"; 716 + displayName = "Solver for ConstraintLayout 1.0.0-alpha6"; 717 + archives = { 718 + 719 + all = fetchurl { 720 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha6.zip; 721 + sha1 = "b7e390f940704f4f78e1eaa5f5a5dba3bc3e81ad"; 722 + }; 723 + 724 + }; 725 + }; 726 + 727 + 728 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha7" = { 729 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha7"; 730 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha7"; 731 + revision = "1"; 732 + displayName = "Solver for ConstraintLayout 1.0.0-alpha7"; 733 + archives = { 734 + 735 + all = fetchurl { 736 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha7.zip; 737 + sha1 = "f08be3c306bf878de31c465e46a266c52014a13f"; 738 + }; 739 + 740 + }; 741 + }; 742 + 743 + 744 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8" = { 745 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha8"; 746 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha8"; 747 + revision = "1"; 748 + displayName = "Solver for ConstraintLayout 1.0.0-alpha8"; 749 + archives = { 750 + 751 + all = fetchurl { 752 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha8.zip; 753 + sha1 = "cd13d16a8f0198c1d6040ec8b1d0d4e5bb7feb6a"; 754 + }; 755 + 756 + }; 757 + }; 758 + 759 + 760 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9" = { 761 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-alpha9"; 762 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-alpha9"; 763 + revision = "1"; 764 + displayName = "Solver for ConstraintLayout 1.0.0-alpha9"; 765 + archives = { 766 + 767 + all = fetchurl { 768 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-alpha9.zip; 769 + sha1 = "2c52ddd883d83230a17042b8f4ba03669f0f5f40"; 770 + }; 771 + 772 + }; 773 + }; 774 + 775 + 776 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1" = { 777 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta1"; 778 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta1"; 779 + revision = "1"; 780 + displayName = "Solver for ConstraintLayout 1.0.0-beta1"; 781 + archives = { 782 + 783 + all = fetchurl { 784 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta1.zip; 785 + sha1 = "042c25575e7650e96f0f5f5d1d3c54ed38eb821a"; 786 + }; 787 + 788 + }; 789 + }; 790 + 791 + 792 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2" = { 793 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta2"; 794 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta2"; 795 + revision = "1"; 796 + displayName = "Solver for ConstraintLayout 1.0.0-beta2"; 797 + archives = { 798 + 799 + all = fetchurl { 800 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta2.zip; 801 + sha1 = "28492fd42b20ae1586591ff906556d459cfdaae8"; 802 + }; 803 + 804 + }; 805 + }; 806 + 807 + 808 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3" = { 809 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta3"; 810 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta3"; 811 + revision = "1"; 812 + displayName = "Solver for ConstraintLayout 1.0.0-beta3"; 813 + archives = { 814 + 815 + all = fetchurl { 816 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta3.zip; 817 + sha1 = "268e763fa64bd217d8d830e59ce76be19aaba631"; 818 + }; 819 + 820 + }; 821 + }; 822 + 823 + 824 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4" = { 825 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta4"; 826 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta4"; 827 + revision = "1"; 828 + displayName = "Solver for ConstraintLayout 1.0.0-beta4"; 829 + archives = { 830 + 831 + all = fetchurl { 832 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta4.zip; 833 + sha1 = "2213bf37e7a2869db2635895b8e90ca6841e79d2"; 834 + }; 835 + 836 + }; 837 + }; 838 + 839 + 840 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5" = { 841 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.0-beta5"; 842 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.0-beta5"; 843 + revision = "1"; 844 + displayName = "Solver for ConstraintLayout 1.0.0-beta5"; 845 + archives = { 846 + 847 + all = fetchurl { 848 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.0-beta5.zip; 849 + sha1 = "3918cfef73e64048d0b3e048068e208b414e7e91"; 850 + }; 851 + 852 + }; 853 + }; 854 + 855 + 856 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1" = { 857 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.1"; 858 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.1"; 859 + revision = "1"; 860 + displayName = "Solver for ConstraintLayout 1.0.1"; 861 + archives = { 862 + 863 + all = fetchurl { 864 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.1.zip; 865 + sha1 = "76f8823def9a6da8954a54737762a6820bc1d043"; 866 + }; 867 + 868 + }; 869 + }; 870 + 871 + 872 + "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2" = { 873 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-solver-1.0.2"; 874 + path = "extras/m2repository/com/android/support/constraint/constraint-layout-solver/1.0.2"; 875 + revision = "1"; 876 + displayName = "Solver for ConstraintLayout 1.0.2"; 877 + archives = { 878 + 879 + all = fetchurl { 880 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-solver-1.0.2.zip; 881 + sha1 = "96d7ff669f0e808e9833b2c2e320702826ccc8be"; 882 + }; 883 + 884 + }; 885 + }; 886 + 887 + 888 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" = { 889 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0"; 890 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0"; 891 + revision = "1"; 892 + displayName = "ConstraintLayout for Android 1.0.0"; 893 + archives = { 894 + 895 + all = fetchurl { 896 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0.zip; 897 + sha1 = "70acf99689b933bc6735645d5c3d92b91954b6cb"; 898 + }; 899 + 900 + }; 901 + }; 902 + 903 + 904 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha2" = { 905 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha2"; 906 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha2"; 907 + revision = "1"; 908 + displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha2"; 909 + archives = { 910 + 911 + all = fetchurl { 912 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha2.zip; 913 + sha1 = "2edb4fc33745cc9d69d985f29fd48fefcd0aa9f0"; 914 + }; 915 + 916 + }; 917 + }; 918 + 919 + 920 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha3" = { 921 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha3"; 922 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha3"; 923 + revision = "1"; 924 + displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha3"; 925 + archives = { 926 + 927 + all = fetchurl { 928 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha3.zip; 929 + sha1 = "1a26fb79d98421f315ead7ad15be167727533026"; 930 + }; 931 + 932 + }; 933 + }; 934 + 935 + 936 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4" = { 937 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha4"; 938 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha4"; 939 + revision = "1"; 940 + displayName = "com.android.support.constraint:constraint-layout:1.0.0-alpha4"; 941 + archives = { 942 + 943 + all = fetchurl { 944 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha4.zip; 945 + sha1 = "645a9be1f0c1177301e71cd0ddccf1dd67c554fe"; 946 + }; 947 + 948 + }; 949 + }; 950 + 951 + 952 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha5" = { 953 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha5"; 954 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha5"; 955 + revision = "1"; 956 + displayName = "ConstraintLayout for Android 1.0.0-alpha5"; 957 + archives = { 958 + 959 + all = fetchurl { 960 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha5.zip; 961 + sha1 = "24f78daf491dcad74bcb2acfa79ea2d8e906f53b"; 962 + }; 963 + 964 + }; 965 + }; 966 + 967 + 968 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha6" = { 969 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha6"; 970 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha6"; 971 + revision = "1"; 972 + displayName = "ConstraintLayout for Android 1.0.0-alpha6"; 973 + archives = { 974 + 975 + all = fetchurl { 976 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha6.zip; 977 + sha1 = "cb60e9ad4f6d3cc3c5b1b98cd3610c8d3204e651"; 978 + }; 979 + 980 + }; 981 + }; 982 + 983 + 984 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha7" = { 985 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha7"; 986 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha7"; 987 + revision = "1"; 988 + displayName = "ConstraintLayout for Android 1.0.0-alpha7"; 989 + archives = { 990 + 991 + all = fetchurl { 992 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha7.zip; 993 + sha1 = "17ac210c85d24d7e8ace62847f05e4e45b640b73"; 994 + }; 995 + 996 + }; 997 + }; 998 + 999 + 1000 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8" = { 1001 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha8"; 1002 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha8"; 1003 + revision = "1"; 1004 + displayName = "ConstraintLayout for Android 1.0.0-alpha8"; 1005 + archives = { 1006 + 1007 + all = fetchurl { 1008 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha8.zip; 1009 + sha1 = "7912ba03b04831f918f523648f118c4ee4da7604"; 1010 + }; 1011 + 1012 + }; 1013 + }; 1014 + 1015 + 1016 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha9" = { 1017 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-alpha9"; 1018 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha9"; 1019 + revision = "1"; 1020 + displayName = "ConstraintLayout for Android 1.0.0-alpha9"; 1021 + archives = { 1022 + 1023 + all = fetchurl { 1024 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-alpha9.zip; 1025 + sha1 = "89c2bbc005d4731c7a830a4d5aa98dae121a46a4"; 1026 + }; 1027 + 1028 + }; 1029 + }; 1030 + 1031 + 1032 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1" = { 1033 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta1"; 1034 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta1"; 1035 + revision = "1"; 1036 + displayName = "ConstraintLayout for Android 1.0.0-beta1"; 1037 + archives = { 1038 + 1039 + all = fetchurl { 1040 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta1.zip; 1041 + sha1 = "11f2f5cec4ff02986bad75435e5be77b704b4c64"; 1042 + }; 1043 + 1044 + }; 1045 + }; 1046 + 1047 + 1048 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2" = { 1049 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta2"; 1050 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta2"; 1051 + revision = "1"; 1052 + displayName = "ConstraintLayout for Android 1.0.0-beta2"; 1053 + archives = { 1054 + 1055 + all = fetchurl { 1056 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta2.zip; 1057 + sha1 = "623939865ede2e5c2c975dc55963e0d182bcce95"; 1058 + }; 1059 + 1060 + }; 1061 + }; 1062 + 1063 + 1064 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3" = { 1065 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta3"; 1066 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta3"; 1067 + revision = "1"; 1068 + displayName = "ConstraintLayout for Android 1.0.0-beta3"; 1069 + archives = { 1070 + 1071 + all = fetchurl { 1072 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta3.zip; 1073 + sha1 = "d78bb6a8ce92005fb1e4ed55d892a65b4258c60b"; 1074 + }; 1075 + 1076 + }; 1077 + }; 1078 + 1079 + 1080 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4" = { 1081 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta4"; 1082 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta4"; 1083 + revision = "1"; 1084 + displayName = "ConstraintLayout for Android 1.0.0-beta4"; 1085 + archives = { 1086 + 1087 + all = fetchurl { 1088 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta4.zip; 1089 + sha1 = "dc60844aab93a09a54a3c107685a77b18d7c1c39"; 1090 + }; 1091 + 1092 + }; 1093 + }; 1094 + 1095 + 1096 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5" = { 1097 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.0-beta5"; 1098 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.0-beta5"; 1099 + revision = "1"; 1100 + displayName = "ConstraintLayout for Android 1.0.0-beta5"; 1101 + archives = { 1102 + 1103 + all = fetchurl { 1104 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.0-beta5.zip; 1105 + sha1 = "4660f6c7a576ea1364f0c3225db71c29ca660d9a"; 1106 + }; 1107 + 1108 + }; 1109 + }; 1110 + 1111 + 1112 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1" = { 1113 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.1"; 1114 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.1"; 1115 + revision = "1"; 1116 + displayName = "ConstraintLayout for Android 1.0.1"; 1117 + archives = { 1118 + 1119 + all = fetchurl { 1120 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.1.zip; 1121 + sha1 = "342b0894b8651fff37586f80f383733e97aba9f9"; 1122 + }; 1123 + 1124 + }; 1125 + }; 1126 + 1127 + 1128 + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" = { 1129 + name = "extras-m2repository-com-android-support-constraint-constraint-layout-1.0.2"; 1130 + path = "extras/m2repository/com/android/support/constraint/constraint-layout/1.0.2"; 1131 + revision = "1"; 1132 + displayName = "ConstraintLayout for Android 1.0.2"; 1133 + archives = { 1134 + 1135 + all = fetchurl { 1136 + url = https://dl.google.com/android/repository/com.android.support.constraint-constraint-layout-1.0.2.zip; 1137 + sha1 = "3d9688a50fe0ed7348275f85d1b02278f616d8a4"; 1138 + }; 1139 + 1140 + }; 1141 + }; 1142 + 1143 + }; 1144 + } 1145 +
+1910
pkgs/development/mobile/androidenv/generated/packages.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + "build-tools"."17.0.0" = { 7 + 8 + name = "build-tools"; 9 + path = "build-tools/17.0.0"; 10 + revision = "17.0.0"; 11 + displayName = "Android SDK Build-Tools 17"; 12 + archives = { 13 + linux = fetchurl { 14 + url = https://dl.google.com/android/repository/build-tools_r17-linux.zip; 15 + sha1 = "2c2872bc3806aabf16a12e3959c2183ddc866e6d"; 16 + }; 17 + macosx = fetchurl { 18 + url = https://dl.google.com/android/repository/build-tools_r17-macosx.zip; 19 + sha1 = "602ee709be9dbb8f179b1e4075148a57f9419930"; 20 + }; 21 + 22 + }; 23 + }; 24 + 25 + "build-tools"."18.0.1" = { 26 + 27 + name = "build-tools"; 28 + path = "build-tools/18.0.1"; 29 + revision = "18.0.1"; 30 + displayName = "Android SDK Build-Tools 18.0.1"; 31 + archives = { 32 + linux = fetchurl { 33 + url = https://dl.google.com/android/repository/build-tools_r18.0.1-linux.zip; 34 + sha1 = "f11618492b0d2270c332325d45d752d3656a9640"; 35 + }; 36 + macosx = fetchurl { 37 + url = https://dl.google.com/android/repository/build-tools_r18.0.1-macosx.zip; 38 + sha1 = "d84f5692fb44d60fc53e5b2507cebf9f24626902"; 39 + }; 40 + 41 + }; 42 + }; 43 + 44 + "build-tools"."18.1.0" = { 45 + 46 + name = "build-tools"; 47 + path = "build-tools/18.1.0"; 48 + revision = "18.1.0"; 49 + displayName = "Android SDK Build-Tools 18.1"; 50 + archives = { 51 + linux = fetchurl { 52 + url = https://dl.google.com/android/repository/build-tools_r18.1-linux.zip; 53 + sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8"; 54 + }; 55 + macosx = fetchurl { 56 + url = https://dl.google.com/android/repository/build-tools_r18.1-macosx.zip; 57 + sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8"; 58 + }; 59 + 60 + }; 61 + }; 62 + 63 + "build-tools"."18.1.1" = { 64 + 65 + name = "build-tools"; 66 + path = "build-tools/18.1.1"; 67 + revision = "18.1.1"; 68 + displayName = "Android SDK Build-Tools 18.1.1"; 69 + archives = { 70 + linux = fetchurl { 71 + url = https://dl.google.com/android/repository/build-tools_r18.1.1-linux.zip; 72 + sha1 = "68c9acbfc0cec2d51b19efaed39831a17055d998"; 73 + }; 74 + macosx = fetchurl { 75 + url = https://dl.google.com/android/repository/build-tools_r18.1.1-macosx.zip; 76 + sha1 = "a9d9d37f6ddf859e57abc78802a77aaa166e48d4"; 77 + }; 78 + 79 + }; 80 + }; 81 + 82 + "build-tools"."19.0.0" = { 83 + 84 + name = "build-tools"; 85 + path = "build-tools/19.0.0"; 86 + revision = "19.0.0"; 87 + displayName = "Android SDK Build-Tools 19"; 88 + archives = { 89 + linux = fetchurl { 90 + url = https://dl.google.com/android/repository/build-tools_r19-linux.zip; 91 + sha1 = "55c1a6cf632e7d346f0002b275ec41fd3137fd83"; 92 + }; 93 + macosx = fetchurl { 94 + url = https://dl.google.com/android/repository/build-tools_r19-macosx.zip; 95 + sha1 = "86ec1c12db1bc446b7bcaefc5cc14eb361044e90"; 96 + }; 97 + 98 + }; 99 + }; 100 + 101 + "build-tools"."19.0.1" = { 102 + 103 + name = "build-tools"; 104 + path = "build-tools/19.0.1"; 105 + revision = "19.0.1"; 106 + displayName = "Android SDK Build-Tools 19.0.1"; 107 + archives = { 108 + linux = fetchurl { 109 + url = https://dl.google.com/android/repository/build-tools_r19.0.1-linux.zip; 110 + sha1 = "18d2312dc4368858914213087f4e61445aca4517"; 111 + }; 112 + macosx = fetchurl { 113 + url = https://dl.google.com/android/repository/build-tools_r19.0.1-macosx.zip; 114 + sha1 = "efaf50fb19a3edb8d03efbff76f89a249ad2920b"; 115 + }; 116 + 117 + }; 118 + }; 119 + 120 + "build-tools"."19.0.2" = { 121 + 122 + name = "build-tools"; 123 + path = "build-tools/19.0.2"; 124 + revision = "19.0.2"; 125 + displayName = "Android SDK Build-Tools 19.0.2"; 126 + archives = { 127 + linux = fetchurl { 128 + url = https://dl.google.com/android/repository/build-tools_r19.0.2-linux.zip; 129 + sha1 = "a03a6bdea0091aea32e1b35b90a7294c9f04e3dd"; 130 + }; 131 + macosx = fetchurl { 132 + url = https://dl.google.com/android/repository/build-tools_r19.0.2-macosx.zip; 133 + sha1 = "145bc43065d45f756d99d87329d899052b9a9288"; 134 + }; 135 + 136 + }; 137 + }; 138 + 139 + "build-tools"."19.0.3" = { 140 + 141 + name = "build-tools"; 142 + path = "build-tools/19.0.3"; 143 + revision = "19.0.3"; 144 + displayName = "Android SDK Build-Tools 19.0.3"; 145 + archives = { 146 + linux = fetchurl { 147 + url = https://dl.google.com/android/repository/build-tools_r19.0.3-linux.zip; 148 + sha1 = "c2d6055478e9d2d4fba476ee85f99181ddd1160c"; 149 + }; 150 + macosx = fetchurl { 151 + url = https://dl.google.com/android/repository/build-tools_r19.0.3-macosx.zip; 152 + sha1 = "651cf8754373b2d52e7f6aab2c52eabffe4e9ea4"; 153 + }; 154 + 155 + }; 156 + }; 157 + 158 + "build-tools"."19.1.0" = { 159 + 160 + name = "build-tools"; 161 + path = "build-tools/19.1.0"; 162 + revision = "19.1.0"; 163 + displayName = "Android SDK Build-Tools 19.1"; 164 + archives = { 165 + linux = fetchurl { 166 + url = https://dl.google.com/android/repository/build-tools_r19.1-linux.zip; 167 + sha1 = "1ff20ac15fa47a75d00346ec12f180d531b3ca89"; 168 + }; 169 + macosx = fetchurl { 170 + url = https://dl.google.com/android/repository/build-tools_r19.1-macosx.zip; 171 + sha1 = "0d11aae3417de1efb4b9a0e0a7855904a61bcec1"; 172 + }; 173 + 174 + }; 175 + }; 176 + 177 + "build-tools"."20.0.0" = { 178 + 179 + name = "build-tools"; 180 + path = "build-tools/20.0.0"; 181 + revision = "20.0.0"; 182 + displayName = "Android SDK Build-Tools 20"; 183 + archives = { 184 + linux = fetchurl { 185 + url = https://dl.google.com/android/repository/build-tools_r20-linux.zip; 186 + sha1 = "b688905526a5584d1327a662d871a635ff502758"; 187 + }; 188 + macosx = fetchurl { 189 + url = https://dl.google.com/android/repository/build-tools_r20-macosx.zip; 190 + sha1 = "1240f629411c108a714c4ddd756937c7fab93f83"; 191 + }; 192 + 193 + }; 194 + }; 195 + 196 + "build-tools"."21.0.0" = { 197 + 198 + name = "build-tools"; 199 + path = "build-tools/21.0.0"; 200 + revision = "21.0.0"; 201 + displayName = "Android SDK Build-Tools 21"; 202 + archives = { 203 + linux = fetchurl { 204 + url = https://dl.google.com/android/repository/build-tools_r21-linux.zip; 205 + sha1 = "4933328fdeecbd554a29528f254f4993468e1cf4"; 206 + }; 207 + macosx = fetchurl { 208 + url = https://dl.google.com/android/repository/build-tools_r21-macosx.zip; 209 + sha1 = "9bef7989b51436bd4e5114d8a0330359f077cbfa"; 210 + }; 211 + 212 + }; 213 + }; 214 + 215 + "build-tools"."21.0.1" = { 216 + 217 + name = "build-tools"; 218 + path = "build-tools/21.0.1"; 219 + revision = "21.0.1"; 220 + displayName = "Android SDK Build-Tools 21.0.1"; 221 + archives = { 222 + linux = fetchurl { 223 + url = https://dl.google.com/android/repository/build-tools_r21.0.1-linux.zip; 224 + sha1 = "e573069eea3e5255e7a65bedeb767f4fd0a5f49a"; 225 + }; 226 + macosx = fetchurl { 227 + url = https://dl.google.com/android/repository/build-tools_r21.0.1-macosx.zip; 228 + sha1 = "b60c8f9b810c980abafa04896706f3911be1ade7"; 229 + }; 230 + 231 + }; 232 + }; 233 + 234 + "build-tools"."21.0.2" = { 235 + 236 + name = "build-tools"; 237 + path = "build-tools/21.0.2"; 238 + revision = "21.0.2"; 239 + displayName = "Android SDK Build-Tools 21.0.2"; 240 + archives = { 241 + linux = fetchurl { 242 + url = https://dl.google.com/android/repository/build-tools_r21.0.2-linux.zip; 243 + sha1 = "e1236ab8897b62b57414adcf04c132567b2612a5"; 244 + }; 245 + macosx = fetchurl { 246 + url = https://dl.google.com/android/repository/build-tools_r21.0.2-macosx.zip; 247 + sha1 = "f17471c154058f3734729ef3cc363399b1cd3de1"; 248 + }; 249 + 250 + }; 251 + }; 252 + 253 + "build-tools"."21.1.0" = { 254 + 255 + name = "build-tools"; 256 + path = "build-tools/21.1.0"; 257 + revision = "21.1.0"; 258 + displayName = "Android SDK Build-Tools 21.1"; 259 + archives = { 260 + linux = fetchurl { 261 + url = https://dl.google.com/android/repository/build-tools_r21.1-linux.zip; 262 + sha1 = "b7455e543784d52a8925f960bc880493ed1478cb"; 263 + }; 264 + macosx = fetchurl { 265 + url = https://dl.google.com/android/repository/build-tools_r21.1-macosx.zip; 266 + sha1 = "df619356c2359aa5eacdd48699d15b335d9bd246"; 267 + }; 268 + 269 + }; 270 + }; 271 + 272 + "build-tools"."21.1.1" = { 273 + 274 + name = "build-tools"; 275 + path = "build-tools/21.1.1"; 276 + revision = "21.1.1"; 277 + displayName = "Android SDK Build-Tools 21.1.1"; 278 + archives = { 279 + linux = fetchurl { 280 + url = https://dl.google.com/android/repository/build-tools_r21.1.1-linux.zip; 281 + sha1 = "1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d"; 282 + }; 283 + macosx = fetchurl { 284 + url = https://dl.google.com/android/repository/build-tools_r21.1.1-macosx.zip; 285 + sha1 = "836a146eab0504aa9387a5132e986fe7c7381571"; 286 + }; 287 + 288 + }; 289 + }; 290 + 291 + "build-tools"."21.1.2" = { 292 + 293 + name = "build-tools"; 294 + path = "build-tools/21.1.2"; 295 + revision = "21.1.2"; 296 + displayName = "Android SDK Build-Tools 21.1.2"; 297 + archives = { 298 + linux = fetchurl { 299 + url = https://dl.google.com/android/repository/build-tools_r21.1.2-linux.zip; 300 + sha1 = "5e35259843bf2926113a38368b08458735479658"; 301 + }; 302 + macosx = fetchurl { 303 + url = https://dl.google.com/android/repository/build-tools_r21.1.2-macosx.zip; 304 + sha1 = "e7c906b4ba0eea93b32ba36c610dbd6b204bff48"; 305 + }; 306 + 307 + }; 308 + }; 309 + 310 + "build-tools"."22.0.0" = { 311 + 312 + name = "build-tools"; 313 + path = "build-tools/22.0.0"; 314 + revision = "22.0.0"; 315 + displayName = "Android SDK Build-Tools 22"; 316 + archives = { 317 + linux = fetchurl { 318 + url = https://dl.google.com/android/repository/build-tools_r22-linux.zip; 319 + sha1 = "a8a1619dd090e44fac957bce6842e62abf87965b"; 320 + }; 321 + macosx = fetchurl { 322 + url = https://dl.google.com/android/repository/build-tools_r22-macosx.zip; 323 + sha1 = "af95429b24088d704bc5db9bd606e34ac1b82c0d"; 324 + }; 325 + 326 + }; 327 + }; 328 + 329 + "build-tools"."22.0.1" = { 330 + 331 + name = "build-tools"; 332 + path = "build-tools/22.0.1"; 333 + revision = "22.0.1"; 334 + displayName = "Android SDK Build-Tools 22.0.1"; 335 + archives = { 336 + linux = fetchurl { 337 + url = https://dl.google.com/android/repository/build-tools_r22.0.1-linux.zip; 338 + sha1 = "da8b9c5c3ede39298e6cf0283c000c2ee9029646"; 339 + }; 340 + macosx = fetchurl { 341 + url = https://dl.google.com/android/repository/build-tools_r22.0.1-macosx.zip; 342 + sha1 = "53dad7f608e01d53b17176ba11165acbfccc5bbf"; 343 + }; 344 + 345 + }; 346 + }; 347 + 348 + "build-tools"."23.0.0" = { 349 + 350 + name = "build-tools"; 351 + path = "build-tools/23.0.0"; 352 + revision = "23.0.0"; 353 + displayName = "Android SDK Build-Tools 23"; 354 + archives = { 355 + linux = fetchurl { 356 + url = https://dl.google.com/android/repository/build-tools_r23-linux.zip; 357 + sha1 = "c1d6209212b01469f80fa804e0c1d39a06bc9060"; 358 + }; 359 + macosx = fetchurl { 360 + url = https://dl.google.com/android/repository/build-tools_r23-macosx.zip; 361 + sha1 = "90ba6e716f7703a236cd44b2e71c5ff430855a03"; 362 + }; 363 + 364 + }; 365 + }; 366 + 367 + "build-tools"."23.0.1" = { 368 + 369 + name = "build-tools"; 370 + path = "build-tools/23.0.1"; 371 + revision = "23.0.1"; 372 + displayName = "Android SDK Build-Tools 23.0.1"; 373 + archives = { 374 + linux = fetchurl { 375 + url = https://dl.google.com/android/repository/build-tools_r23.0.1-linux.zip; 376 + sha1 = "b6ba7c399d5fa487d95289d8832e4ad943aed556"; 377 + }; 378 + macosx = fetchurl { 379 + url = https://dl.google.com/android/repository/build-tools_r23.0.1-macosx.zip; 380 + sha1 = "d96ec1522721e9a179ae2c591c99f75d31d39718"; 381 + }; 382 + 383 + }; 384 + }; 385 + 386 + "build-tools"."23.0.2" = { 387 + 388 + name = "build-tools"; 389 + path = "build-tools/23.0.2"; 390 + revision = "23.0.2"; 391 + displayName = "Android SDK Build-Tools 23.0.2"; 392 + archives = { 393 + linux = fetchurl { 394 + url = https://dl.google.com/android/repository/build-tools_r23.0.2-linux.zip; 395 + sha1 = "8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3"; 396 + }; 397 + macosx = fetchurl { 398 + url = https://dl.google.com/android/repository/build-tools_r23.0.2-macosx.zip; 399 + sha1 = "482c4cbceef8ff58aefd92d8155a38610158fdaf"; 400 + }; 401 + 402 + }; 403 + }; 404 + 405 + "build-tools"."23.0.3" = { 406 + 407 + name = "build-tools"; 408 + path = "build-tools/23.0.3"; 409 + revision = "23.0.3"; 410 + displayName = "Android SDK Build-Tools 23.0.3"; 411 + archives = { 412 + linux = fetchurl { 413 + url = https://dl.google.com/android/repository/build-tools_r23.0.3-linux.zip; 414 + sha1 = "368f2600feac7e9b511b82f53d1f2240ae4a91a3"; 415 + }; 416 + macosx = fetchurl { 417 + url = https://dl.google.com/android/repository/build-tools_r23.0.3-macosx.zip; 418 + sha1 = "fbc98cd303fd15a31d472de6c03bd707829f00b0"; 419 + }; 420 + 421 + }; 422 + }; 423 + 424 + "build-tools"."24.0.0" = { 425 + 426 + name = "build-tools"; 427 + path = "build-tools/24.0.0"; 428 + revision = "24.0.0"; 429 + displayName = "Android SDK Build-Tools 24"; 430 + archives = { 431 + linux = fetchurl { 432 + url = https://dl.google.com/android/repository/build-tools_r24-linux.zip; 433 + sha1 = "c6271c4d78a5612ea6c7150688bcd5b7313de8d1"; 434 + }; 435 + macosx = fetchurl { 436 + url = https://dl.google.com/android/repository/build-tools_r24-macosx.zip; 437 + sha1 = "97fc4ed442f23989cc488d02c1d1de9bdde241de"; 438 + }; 439 + 440 + }; 441 + }; 442 + 443 + "build-tools"."24.0.1" = { 444 + 445 + name = "build-tools"; 446 + path = "build-tools/24.0.1"; 447 + revision = "24.0.1"; 448 + displayName = "Android SDK Build-Tools 24.0.1"; 449 + archives = { 450 + linux = fetchurl { 451 + url = https://dl.google.com/android/repository/build-tools_r24.0.1-linux.zip; 452 + sha1 = "84f18c392919a074fcbb9b1d967984e6b2fef8b4"; 453 + }; 454 + macosx = fetchurl { 455 + url = https://dl.google.com/android/repository/build-tools_r24.0.1-macosx.zip; 456 + sha1 = "5c6457fcdfa07724fb086d8ff4e8316fc0742848"; 457 + }; 458 + 459 + }; 460 + }; 461 + 462 + "build-tools"."24.0.2" = { 463 + 464 + name = "build-tools"; 465 + path = "build-tools/24.0.2"; 466 + revision = "24.0.2"; 467 + displayName = "Android SDK Build-Tools 24.0.2"; 468 + archives = { 469 + linux = fetchurl { 470 + url = https://dl.google.com/android/repository/build-tools_r24.0.2-linux.zip; 471 + sha1 = "f199a7a788c3fefbed102eea34d6007737b803cf"; 472 + }; 473 + macosx = fetchurl { 474 + url = https://dl.google.com/android/repository/build-tools_r24.0.2-macosx.zip; 475 + sha1 = "8bb8fc575477491d5957de743089df412de55cda"; 476 + }; 477 + 478 + }; 479 + }; 480 + 481 + "build-tools"."24.0.3" = { 482 + 483 + name = "build-tools"; 484 + path = "build-tools/24.0.3"; 485 + revision = "24.0.3"; 486 + displayName = "Android SDK Build-Tools 24.0.3"; 487 + archives = { 488 + linux = fetchurl { 489 + url = https://dl.google.com/android/repository/build-tools_r24.0.3-linux.zip; 490 + sha1 = "9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304"; 491 + }; 492 + macosx = fetchurl { 493 + url = https://dl.google.com/android/repository/build-tools_r24.0.3-macosx.zip; 494 + sha1 = "a01c15f1b105c34595681075e1895d58b3fff48c"; 495 + }; 496 + 497 + }; 498 + }; 499 + 500 + "build-tools"."25.0.0" = { 501 + 502 + name = "build-tools"; 503 + path = "build-tools/25.0.0"; 504 + revision = "25.0.0"; 505 + displayName = "Android SDK Build-Tools 25"; 506 + archives = { 507 + linux = fetchurl { 508 + url = https://dl.google.com/android/repository/build-tools_r25-linux.zip; 509 + sha1 = "f2bbda60403e75cabd0f238598c3b4dfca56ea44"; 510 + }; 511 + macosx = fetchurl { 512 + url = https://dl.google.com/android/repository/build-tools_r25-macosx.zip; 513 + sha1 = "273c5c29a65cbed00e44f3aa470bbd7dce556606"; 514 + }; 515 + 516 + }; 517 + }; 518 + 519 + "build-tools"."25.0.1" = { 520 + 521 + name = "build-tools"; 522 + path = "build-tools/25.0.1"; 523 + revision = "25.0.1"; 524 + displayName = "Android SDK Build-Tools 25.0.1"; 525 + archives = { 526 + linux = fetchurl { 527 + url = https://dl.google.com/android/repository/build-tools_r25.0.1-linux.zip; 528 + sha1 = "ff063d252ab750d339f5947d06ff782836f22bac"; 529 + }; 530 + macosx = fetchurl { 531 + url = https://dl.google.com/android/repository/build-tools_r25.0.1-macosx.zip; 532 + sha1 = "7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f"; 533 + }; 534 + 535 + }; 536 + }; 537 + 538 + "build-tools"."25.0.2" = { 539 + 540 + name = "build-tools"; 541 + path = "build-tools/25.0.2"; 542 + revision = "25.0.2"; 543 + displayName = "Android SDK Build-Tools 25.0.2"; 544 + archives = { 545 + linux = fetchurl { 546 + url = https://dl.google.com/android/repository/build-tools_r25.0.2-linux.zip; 547 + sha1 = "ff953c0177e317618fda40516f3e9d95fd43c7ae"; 548 + }; 549 + macosx = fetchurl { 550 + url = https://dl.google.com/android/repository/build-tools_r25.0.2-macosx.zip; 551 + sha1 = "12a5204bb3b6e39437535469fde7ddf42da46b16"; 552 + }; 553 + 554 + }; 555 + }; 556 + 557 + "build-tools"."25.0.3" = { 558 + 559 + name = "build-tools"; 560 + path = "build-tools/25.0.3"; 561 + revision = "25.0.3"; 562 + displayName = "Android SDK Build-Tools 25.0.3"; 563 + archives = { 564 + linux = fetchurl { 565 + url = https://dl.google.com/android/repository/build-tools_r25.0.3-linux.zip; 566 + sha1 = "db95f3a0ae376534d4d69f4cdb6fad20649f3509"; 567 + }; 568 + macosx = fetchurl { 569 + url = https://dl.google.com/android/repository/build-tools_r25.0.3-macosx.zip; 570 + sha1 = "160d2fefb5ce68e443427fc30a793a703b63e26e"; 571 + }; 572 + 573 + }; 574 + }; 575 + 576 + "build-tools"."26.0.0" = { 577 + 578 + name = "build-tools"; 579 + path = "build-tools/26.0.0"; 580 + revision = "26.0.0"; 581 + displayName = "Android SDK Build-Tools 26"; 582 + archives = { 583 + linux = fetchurl { 584 + url = https://dl.google.com/android/repository/build-tools_r26-linux.zip; 585 + sha1 = "1cbe72929876f8a872ab1f1b1040a9f720261f59"; 586 + }; 587 + macosx = fetchurl { 588 + url = https://dl.google.com/android/repository/build-tools_r26-macosx.zip; 589 + sha1 = "d01a1aeca03747245f1f5936b3cb01759c66d086"; 590 + }; 591 + 592 + }; 593 + }; 594 + 595 + "build-tools"."26.0.0-rc1" = { 596 + 597 + name = "build-tools"; 598 + path = "build-tools/26.0.0-rc1"; 599 + revision = "26.0.0-rc1"; 600 + displayName = "Android SDK Build-Tools 26-rc1"; 601 + archives = { 602 + linux = fetchurl { 603 + url = https://dl.google.com/android/repository/build-tools_r26-rc1-linux.zip; 604 + sha1 = "8cd6388dc96db2d7a49d06159cf990d3bbc78d04"; 605 + }; 606 + macosx = fetchurl { 607 + url = https://dl.google.com/android/repository/build-tools_r26-rc1-macosx.zip; 608 + sha1 = "5c5a1de7d5f4f000d36ae349229fe0be846d6137"; 609 + }; 610 + 611 + }; 612 + }; 613 + 614 + "build-tools"."26.0.0-rc2" = { 615 + 616 + name = "build-tools"; 617 + path = "build-tools/26.0.0-rc2"; 618 + revision = "26.0.0-rc2"; 619 + displayName = "Android SDK Build-Tools 26-rc2"; 620 + archives = { 621 + linux = fetchurl { 622 + url = https://dl.google.com/android/repository/build-tools_r26-rc2-linux.zip; 623 + sha1 = "629bbd8d2e415bf64871fb0b4c0540fd6d0347a0"; 624 + }; 625 + macosx = fetchurl { 626 + url = https://dl.google.com/android/repository/build-tools_r26-rc2-macosx.zip; 627 + sha1 = "cb1eb738a1f7003025af267a9b8cc2d259533c70"; 628 + }; 629 + 630 + }; 631 + }; 632 + 633 + "build-tools"."26.0.1" = { 634 + 635 + name = "build-tools"; 636 + path = "build-tools/26.0.1"; 637 + revision = "26.0.1"; 638 + displayName = "Android SDK Build-Tools 26.0.1"; 639 + archives = { 640 + linux = fetchurl { 641 + url = https://dl.google.com/android/repository/build-tools_r26.0.1-linux.zip; 642 + sha1 = "5378c2c78091b414d0eac40a6bd37f2faa31a365"; 643 + }; 644 + macosx = fetchurl { 645 + url = https://dl.google.com/android/repository/build-tools_r26.0.1-macosx.zip; 646 + sha1 = "cbde59de198916b390777dd0227921bfa2120832"; 647 + }; 648 + 649 + }; 650 + }; 651 + 652 + "build-tools"."26.0.2" = { 653 + 654 + name = "build-tools"; 655 + path = "build-tools/26.0.2"; 656 + revision = "26.0.2"; 657 + displayName = "Android SDK Build-Tools 26.0.2"; 658 + archives = { 659 + linux = fetchurl { 660 + url = https://dl.google.com/android/repository/build-tools_r26.0.2-linux.zip; 661 + sha1 = "5b2b7b66c7bf2151f2af183b5b50a17808850592"; 662 + }; 663 + macosx = fetchurl { 664 + url = https://dl.google.com/android/repository/build-tools_r26.0.2-macosx.zip; 665 + sha1 = "d9ed7c7f149ce38be5dc08979aea8acec1459ca0"; 666 + }; 667 + 668 + }; 669 + }; 670 + 671 + "build-tools"."26.0.3" = { 672 + 673 + name = "build-tools"; 674 + path = "build-tools/26.0.3"; 675 + revision = "26.0.3"; 676 + displayName = "Android SDK Build-Tools 26.0.3"; 677 + archives = { 678 + linux = fetchurl { 679 + url = https://dl.google.com/android/repository/build-tools_r26.0.3-linux.zip; 680 + sha1 = "8a2e6c1bcd845844523a68aa17e5442f0dce328c"; 681 + }; 682 + macosx = fetchurl { 683 + url = https://dl.google.com/android/repository/build-tools_r26.0.3-macosx.zip; 684 + sha1 = "5bb90ed935d99e5bc90686f43b852e68c5ad40df"; 685 + }; 686 + 687 + }; 688 + }; 689 + 690 + "build-tools"."27.0.0" = { 691 + 692 + name = "build-tools"; 693 + path = "build-tools/27.0.0"; 694 + revision = "27.0.0"; 695 + displayName = "Android SDK Build-Tools 27"; 696 + archives = { 697 + linux = fetchurl { 698 + url = https://dl.google.com/android/repository/build-tools_r27-linux.zip; 699 + sha1 = "28542332ba97cf4a08c3eddfcf5edd70e3cf1260"; 700 + }; 701 + macosx = fetchurl { 702 + url = https://dl.google.com/android/repository/build-tools_r27-macosx.zip; 703 + sha1 = "fb4e8d7e6b8d29a77090e34024077a80458d5ae1"; 704 + }; 705 + 706 + }; 707 + }; 708 + 709 + "build-tools"."27.0.1" = { 710 + 711 + name = "build-tools"; 712 + path = "build-tools/27.0.1"; 713 + revision = "27.0.1"; 714 + displayName = "Android SDK Build-Tools 27.0.1"; 715 + archives = { 716 + linux = fetchurl { 717 + url = https://dl.google.com/android/repository/build-tools_r27.0.1-linux.zip; 718 + sha1 = "7f4eedb1077ef948b848040dcd15de9e8a759f4a"; 719 + }; 720 + macosx = fetchurl { 721 + url = https://dl.google.com/android/repository/build-tools_r27.0.1-macosx.zip; 722 + sha1 = "1edd07bfdbadd95652d093040e16d858f7489594"; 723 + }; 724 + 725 + }; 726 + }; 727 + 728 + "build-tools"."27.0.2" = { 729 + 730 + name = "build-tools"; 731 + path = "build-tools/27.0.2"; 732 + revision = "27.0.2"; 733 + displayName = "Android SDK Build-Tools 27.0.2"; 734 + archives = { 735 + linux = fetchurl { 736 + url = https://dl.google.com/android/repository/build-tools_r27.0.2-linux.zip; 737 + sha1 = "b687ddf6be84f11607871138aad32cf857d0b837"; 738 + }; 739 + macosx = fetchurl { 740 + url = https://dl.google.com/android/repository/build-tools_r27.0.2-macosx.zip; 741 + sha1 = "6d5d9cf2a47877f273f4b742b19e712a051a31be"; 742 + }; 743 + 744 + }; 745 + }; 746 + 747 + "build-tools"."27.0.3" = { 748 + 749 + name = "build-tools"; 750 + path = "build-tools/27.0.3"; 751 + revision = "27.0.3"; 752 + displayName = "Android SDK Build-Tools 27.0.3"; 753 + archives = { 754 + linux = fetchurl { 755 + url = https://dl.google.com/android/repository/build-tools_r27.0.3-linux.zip; 756 + sha1 = "d85e7a6320eddffe7eeace3437605079dac938ca"; 757 + }; 758 + macosx = fetchurl { 759 + url = https://dl.google.com/android/repository/build-tools_r27.0.3-macosx.zip; 760 + sha1 = "61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d"; 761 + }; 762 + 763 + }; 764 + }; 765 + 766 + "build-tools"."28.0.0" = { 767 + 768 + name = "build-tools"; 769 + path = "build-tools/28.0.0"; 770 + revision = "28.0.0"; 771 + displayName = "Android SDK Build-Tools 28"; 772 + archives = { 773 + linux = fetchurl { 774 + url = https://dl.google.com/android/repository/build-tools_r28-linux.zip; 775 + sha1 = "d9f8a754d833ccd334f56fcc6089c5925cd82abb"; 776 + }; 777 + macosx = fetchurl { 778 + url = https://dl.google.com/android/repository/build-tools_r28-macosx.zip; 779 + sha1 = "72088d32d1d82cc3c2cf7cf6618b6130c0c84ade"; 780 + }; 781 + 782 + }; 783 + }; 784 + 785 + "build-tools"."28.0.0-rc1" = { 786 + 787 + name = "build-tools"; 788 + path = "build-tools/28.0.0-rc1"; 789 + revision = "28.0.0-rc1"; 790 + displayName = "Android SDK Build-Tools 28-rc1"; 791 + archives = { 792 + linux = fetchurl { 793 + url = https://dl.google.com/android/repository/build-tools_r28-rc1-linux.zip; 794 + sha1 = "1601977fae25fd478bcfaa0481ca5ea3c609d840"; 795 + }; 796 + macosx = fetchurl { 797 + url = https://dl.google.com/android/repository/build-tools_r28-rc1-macosx.zip; 798 + sha1 = "2c77821967a2330b7b227072d0b1c02ef19fe2fc"; 799 + }; 800 + 801 + }; 802 + }; 803 + 804 + "build-tools"."28.0.0-rc2" = { 805 + 806 + name = "build-tools"; 807 + path = "build-tools/28.0.0-rc2"; 808 + revision = "28.0.0-rc2"; 809 + displayName = "Android SDK Build-Tools 28-rc2"; 810 + archives = { 811 + linux = fetchurl { 812 + url = https://dl.google.com/android/repository/build-tools_r28-rc2-linux.zip; 813 + sha1 = "efe9c0dde0646a07544c864276390ca6e96b24dc"; 814 + }; 815 + macosx = fetchurl { 816 + url = https://dl.google.com/android/repository/build-tools_r28-rc2-macosx.zip; 817 + sha1 = "0d0314b353589feb10e528b44c5a685b6658d797"; 818 + }; 819 + 820 + }; 821 + }; 822 + 823 + "build-tools"."28.0.1" = { 824 + 825 + name = "build-tools"; 826 + path = "build-tools/28.0.1"; 827 + revision = "28.0.1"; 828 + displayName = "Android SDK Build-Tools 28.0.1"; 829 + archives = { 830 + linux = fetchurl { 831 + url = https://dl.google.com/android/repository/build-tools_r28.0.1-linux.zip; 832 + sha1 = "ee70dfa1fccb58b37cebc9544830511f36a137a0"; 833 + }; 834 + macosx = fetchurl { 835 + url = https://dl.google.com/android/repository/build-tools_r28.0.1-macosx.zip; 836 + sha1 = "aeef42ad953f1630dd6f5d71eefdc0b825211462"; 837 + }; 838 + 839 + }; 840 + }; 841 + 842 + "build-tools"."28.0.2" = { 843 + 844 + name = "build-tools"; 845 + path = "build-tools/28.0.2"; 846 + revision = "28.0.2"; 847 + displayName = "Android SDK Build-Tools 28.0.2"; 848 + archives = { 849 + linux = fetchurl { 850 + url = https://dl.google.com/android/repository/build-tools_r28.0.2-linux.zip; 851 + sha1 = "b4492209810a3fd48deaa982f9852fef12433d55"; 852 + }; 853 + macosx = fetchurl { 854 + url = https://dl.google.com/android/repository/build-tools_r28.0.2-macosx.zip; 855 + sha1 = "c10dd5a7825578622fb362a8a34f76eb3ba0c0a9"; 856 + }; 857 + 858 + }; 859 + }; 860 + 861 + "build-tools"."28.0.3" = { 862 + 863 + name = "build-tools"; 864 + path = "build-tools/28.0.3"; 865 + revision = "28.0.3"; 866 + displayName = "Android SDK Build-Tools 28.0.3"; 867 + archives = { 868 + linux = fetchurl { 869 + url = https://dl.google.com/android/repository/build-tools_r28.0.3-linux.zip; 870 + sha1 = "ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165"; 871 + }; 872 + macosx = fetchurl { 873 + url = https://dl.google.com/android/repository/build-tools_r28.0.3-macosx.zip; 874 + sha1 = "f8c333a2991b1ab05a671bc6248b78e00edcd83a"; 875 + }; 876 + 877 + }; 878 + }; 879 + 880 + "cmake"."3.10.2" = { 881 + 882 + name = "cmake"; 883 + path = "cmake/3.10.2.4988404"; 884 + revision = "3.10.2"; 885 + displayName = "CMake 3.10.2.4988404"; 886 + archives = { 887 + macosx = fetchurl { 888 + url = https://dl.google.com/android/repository/cmake-3.10.2-darwin-x86_64.zip; 889 + sha1 = "f227a85cb53dcb927ac52a5a717f647c4a29bf3b"; 890 + }; 891 + linux = fetchurl { 892 + url = https://dl.google.com/android/repository/cmake-3.10.2-linux-x86_64.zip; 893 + sha1 = "439e8799bf59f724f104bf62784b2985f1bfe561"; 894 + }; 895 + 896 + }; 897 + }; 898 + 899 + "cmake"."3.6.4111459" = { 900 + 901 + name = "cmake"; 902 + path = "cmake/3.6.4111459"; 903 + revision = "3.6.4111459"; 904 + displayName = "CMake 3.6.4111459"; 905 + archives = { 906 + macosx = fetchurl { 907 + url = https://dl.google.com/android/repository/cmake-3.6.4111459-darwin-x86_64.zip; 908 + sha1 = "c9b02d630079783c6d67cb91488b622cfcd9765c"; 909 + }; 910 + linux = fetchurl { 911 + url = https://dl.google.com/android/repository/cmake-3.6.4111459-linux-x86_64.zip; 912 + sha1 = "71c539b9c33f0943e9ad6251fea0b161c0b70782"; 913 + }; 914 + 915 + }; 916 + }; 917 + 918 + "docs"."1" = { 919 + 920 + name = "docs"; 921 + path = "docs"; 922 + revision = "1"; 923 + displayName = "Documentation for Android SDK"; 924 + archives = { 925 + 926 + all = fetchurl { 927 + url = https://dl.google.com/android/repository/docs-24_r01.zip; 928 + sha1 = "eef58238949ee9544876cb3e002f2d58e4ee7b5d"; 929 + }; 930 + 931 + }; 932 + }; 933 + 934 + "emulator"."27.3.10".linux = { 935 + 936 + name = "emulator"; 937 + path = "emulator"; 938 + revision = "27.3.10"; 939 + displayName = "Android Emulator"; 940 + archives = { 941 + linux = fetchurl { 942 + url = https://dl.google.com/android/repository/emulator-linux-4969155.zip; 943 + sha1 = "5b037b25bc6567fda3071457f0009c057670d9e8"; 944 + }; 945 + 946 + }; 947 + }; 948 + 949 + "emulator"."27.3.10".macosx = { 950 + 951 + name = "emulator"; 952 + path = "emulator"; 953 + revision = "27.3.10"; 954 + displayName = "Android Emulator"; 955 + archives = { 956 + macosx = fetchurl { 957 + url = https://dl.google.com/android/repository/emulator-darwin-4969155.zip; 958 + sha1 = "28d2b51ee5c84bc544deee433419f33dc9e05b66"; 959 + }; 960 + 961 + }; 962 + }; 963 + 964 + "emulator"."27.3.10".windows = { 965 + 966 + name = "emulator"; 967 + path = "emulator"; 968 + revision = "27.3.10"; 969 + displayName = "Android Emulator"; 970 + archives = { 971 + 972 + }; 973 + }; 974 + 975 + "emulator"."28.0.14".linux = { 976 + 977 + name = "emulator"; 978 + path = "emulator"; 979 + revision = "28.0.14"; 980 + displayName = "Android Emulator"; 981 + archives = { 982 + linux = fetchurl { 983 + url = https://dl.google.com/android/repository/emulator-linux-5092175.zip; 984 + sha1 = "062ef9a1f6759481de897d6c5602d9d66e958a0b"; 985 + }; 986 + 987 + }; 988 + }; 989 + 990 + "emulator"."28.0.14".macosx = { 991 + 992 + name = "emulator"; 993 + path = "emulator"; 994 + revision = "28.0.14"; 995 + displayName = "Android Emulator"; 996 + archives = { 997 + macosx = fetchurl { 998 + url = https://dl.google.com/android/repository/emulator-darwin-5092175.zip; 999 + sha1 = "6dc13599bddd5c2acdb559b25201c92a801d157c"; 1000 + }; 1001 + 1002 + }; 1003 + }; 1004 + 1005 + "emulator"."28.0.14".windows = { 1006 + 1007 + name = "emulator"; 1008 + path = "emulator"; 1009 + revision = "28.0.14"; 1010 + displayName = "Android Emulator"; 1011 + archives = { 1012 + 1013 + }; 1014 + }; 1015 + 1016 + "lldb"."2.0.2558144" = { 1017 + 1018 + name = "lldb"; 1019 + path = "lldb/2.0"; 1020 + revision = "2.0.2558144"; 1021 + displayName = "LLDB 2.0"; 1022 + archives = { 1023 + macosx = fetchurl { 1024 + url = https://dl.google.com/android/repository/lldb-2.0.2558144-darwin-x86_64.zip; 1025 + sha1 = "d92e2f4c8284413eed4f27986e62b167d947033c"; 1026 + }; 1027 + linux = fetchurl { 1028 + url = https://dl.google.com/android/repository/lldb-2.0.2558144-linux-x86_64.zip; 1029 + sha1 = "e7060d9b2ba58b28fd7b1a0ea85a151c8371a326"; 1030 + }; 1031 + 1032 + }; 1033 + }; 1034 + 1035 + "lldb"."2.1.2852477" = { 1036 + 1037 + name = "lldb"; 1038 + path = "lldb/2.1"; 1039 + revision = "2.1.2852477"; 1040 + displayName = "LLDB 2.1"; 1041 + archives = { 1042 + macosx = fetchurl { 1043 + url = https://dl.google.com/android/repository/lldb-2.1.2852477-darwin-x86_64.zip; 1044 + sha1 = "d1e33880a53f1aa8c7e73534adef83a06f091185"; 1045 + }; 1046 + linux = fetchurl { 1047 + url = https://dl.google.com/android/repository/lldb-2.1.2852477-linux-x86_64.zip; 1048 + sha1 = "eb9b96d320210fdfe82495b0597ad43e77f1c240"; 1049 + }; 1050 + 1051 + }; 1052 + }; 1053 + 1054 + "lldb"."2.2.3271982" = { 1055 + 1056 + name = "lldb"; 1057 + path = "lldb/2.2"; 1058 + revision = "2.2.3271982"; 1059 + displayName = "LLDB 2.2"; 1060 + archives = { 1061 + macosx = fetchurl { 1062 + url = https://dl.google.com/android/repository/lldb-2.2.3271982-darwin-x86_64.zip; 1063 + sha1 = "62089f4e35775e6cedb82d1fa377fdc1de898005"; 1064 + }; 1065 + linux = fetchurl { 1066 + url = https://dl.google.com/android/repository/lldb-2.2.3271982-linux-x86_64.zip; 1067 + sha1 = "413649617d97dd9ef163528f64c0500e1b7c4113"; 1068 + }; 1069 + 1070 + }; 1071 + }; 1072 + 1073 + "lldb"."2.3.3614996" = { 1074 + 1075 + name = "lldb"; 1076 + path = "lldb/2.3"; 1077 + revision = "2.3.3614996"; 1078 + displayName = "LLDB 2.3"; 1079 + archives = { 1080 + macosx = fetchurl { 1081 + url = https://dl.google.com/android/repository/lldb-2.3.3614996-darwin-x86_64.zip; 1082 + sha1 = "6b0df112c7b9fa41654497fde2fcce990c831e52"; 1083 + }; 1084 + linux = fetchurl { 1085 + url = https://dl.google.com/android/repository/lldb-2.3.3614996-linux-x86_64.zip; 1086 + sha1 = "d7abe655650efe9f6989df31835fa3b3f95c2d13"; 1087 + }; 1088 + 1089 + }; 1090 + }; 1091 + 1092 + "lldb"."3.0.4213617" = { 1093 + 1094 + name = "lldb"; 1095 + path = "lldb/3.0"; 1096 + revision = "3.0.4213617"; 1097 + displayName = "LLDB 3.0"; 1098 + archives = { 1099 + macosx = fetchurl { 1100 + url = https://dl.google.com/android/repository/lldb-3.0.4213617-darwin-x86_64.zip; 1101 + sha1 = "2492651690a215317b86c755cd4d584ec9838677"; 1102 + }; 1103 + linux = fetchurl { 1104 + url = https://dl.google.com/android/repository/lldb-3.0.4213617-linux-x86_64.zip; 1105 + sha1 = "61d49b6a58953faa61546d631409af5f60d8d9db"; 1106 + }; 1107 + 1108 + }; 1109 + }; 1110 + 1111 + "lldb"."3.1.4508709" = { 1112 + 1113 + name = "lldb"; 1114 + path = "lldb/3.1"; 1115 + revision = "3.1.4508709"; 1116 + displayName = "LLDB 3.1"; 1117 + archives = { 1118 + macosx = fetchurl { 1119 + url = https://dl.google.com/android/repository/lldb-3.1.4508709-darwin-x86_64.zip; 1120 + sha1 = "2b37aa55b81a7e5b8a369febf1ac0bad6c7c5d58"; 1121 + }; 1122 + linux = fetchurl { 1123 + url = https://dl.google.com/android/repository/lldb-3.1.4508709-linux-x86_64.zip; 1124 + sha1 = "462711c9ee94fec9ff8be5fa8180afec04d1af6f"; 1125 + }; 1126 + 1127 + }; 1128 + }; 1129 + 1130 + "ndk-bundle"."18.1.5063045" = { 1131 + 1132 + name = "ndk-bundle"; 1133 + path = "ndk-bundle"; 1134 + revision = "18.1.5063045"; 1135 + displayName = "NDK"; 1136 + archives = { 1137 + macosx = fetchurl { 1138 + url = https://dl.google.com/android/repository/android-ndk-r18b-darwin-x86_64.zip; 1139 + sha1 = "98cb9909aa8c2dab32db188bbdc3ac6207e09440"; 1140 + }; 1141 + linux = fetchurl { 1142 + url = https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip; 1143 + sha1 = "500679655da3a86aecf67007e8ab230ea9b4dd7b"; 1144 + }; 1145 + 1146 + }; 1147 + }; 1148 + 1149 + "patcher"."1" = { 1150 + 1151 + name = "patcher"; 1152 + path = "patcher/v4"; 1153 + revision = "1"; 1154 + displayName = "SDK Patch Applier v4"; 1155 + archives = { 1156 + 1157 + all = fetchurl { 1158 + url = https://dl.google.com/android/repository/3534162-studio.sdk-patcher.zip.bak; 1159 + sha1 = "046699c5e2716ae11d77e0bad814f7f33fab261e"; 1160 + }; 1161 + 1162 + }; 1163 + }; 1164 + 1165 + "platform-tools"."28.0.1" = { 1166 + 1167 + name = "platform-tools"; 1168 + path = "platform-tools"; 1169 + revision = "28.0.1"; 1170 + displayName = "Android SDK Platform-Tools"; 1171 + archives = { 1172 + macosx = fetchurl { 1173 + url = https://dl.google.com/android/repository/platform-tools_r28.0.1-darwin.zip; 1174 + sha1 = "ed1edad4a48c27655ce98d0a5821e7296e9de145"; 1175 + }; 1176 + linux = fetchurl { 1177 + url = https://dl.google.com/android/repository/platform-tools_r28.0.1-linux.zip; 1178 + sha1 = "74ff83bc203f01c4f04bd9316ab5a2573f023fd1"; 1179 + }; 1180 + 1181 + }; 1182 + }; 1183 + 1184 + "platforms"."10" = { 1185 + 1186 + name = "platforms"; 1187 + path = "platforms/android-10"; 1188 + revision = "10"; 1189 + displayName = "Android SDK Platform 10"; 1190 + archives = { 1191 + 1192 + all = fetchurl { 1193 + url = https://dl.google.com/android/repository/android-2.3.3_r02.zip; 1194 + sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; 1195 + }; 1196 + 1197 + }; 1198 + }; 1199 + 1200 + "platforms"."11" = { 1201 + 1202 + name = "platforms"; 1203 + path = "platforms/android-11"; 1204 + revision = "11"; 1205 + displayName = "Android SDK Platform 11"; 1206 + archives = { 1207 + 1208 + all = fetchurl { 1209 + url = https://dl.google.com/android/repository/android-3.0_r02.zip; 1210 + sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; 1211 + }; 1212 + 1213 + }; 1214 + }; 1215 + 1216 + "platforms"."12" = { 1217 + 1218 + name = "platforms"; 1219 + path = "platforms/android-12"; 1220 + revision = "12"; 1221 + displayName = "Android SDK Platform 12"; 1222 + archives = { 1223 + 1224 + all = fetchurl { 1225 + url = https://dl.google.com/android/repository/android-3.1_r03.zip; 1226 + sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; 1227 + }; 1228 + 1229 + }; 1230 + }; 1231 + 1232 + "platforms"."13" = { 1233 + 1234 + name = "platforms"; 1235 + path = "platforms/android-13"; 1236 + revision = "13"; 1237 + displayName = "Android SDK Platform 13"; 1238 + archives = { 1239 + 1240 + all = fetchurl { 1241 + url = https://dl.google.com/android/repository/android-3.2_r01.zip; 1242 + sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; 1243 + }; 1244 + 1245 + }; 1246 + }; 1247 + 1248 + "platforms"."14" = { 1249 + 1250 + name = "platforms"; 1251 + path = "platforms/android-14"; 1252 + revision = "14"; 1253 + displayName = "Android SDK Platform 14"; 1254 + archives = { 1255 + 1256 + all = fetchurl { 1257 + url = https://dl.google.com/android/repository/android-14_r04.zip; 1258 + sha1 = "d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c"; 1259 + }; 1260 + 1261 + }; 1262 + }; 1263 + 1264 + "platforms"."15" = { 1265 + 1266 + name = "platforms"; 1267 + path = "platforms/android-15"; 1268 + revision = "15"; 1269 + displayName = "Android SDK Platform 15"; 1270 + archives = { 1271 + 1272 + all = fetchurl { 1273 + url = https://dl.google.com/android/repository/android-15_r05.zip; 1274 + sha1 = "69ab4c443b37184b2883af1fd38cc20cbeffd0f3"; 1275 + }; 1276 + 1277 + }; 1278 + }; 1279 + 1280 + "platforms"."16" = { 1281 + 1282 + name = "platforms"; 1283 + path = "platforms/android-16"; 1284 + revision = "16"; 1285 + displayName = "Android SDK Platform 16"; 1286 + archives = { 1287 + 1288 + all = fetchurl { 1289 + url = https://dl.google.com/android/repository/android-16_r05.zip; 1290 + sha1 = "12a5ce6235a76bc30f62c26bda1b680e336abd07"; 1291 + }; 1292 + 1293 + }; 1294 + }; 1295 + 1296 + "platforms"."17" = { 1297 + 1298 + name = "platforms"; 1299 + path = "platforms/android-17"; 1300 + revision = "17"; 1301 + displayName = "Android SDK Platform 17"; 1302 + archives = { 1303 + 1304 + all = fetchurl { 1305 + url = https://dl.google.com/android/repository/android-17_r03.zip; 1306 + sha1 = "dbe14101c06e6cdb34e300393e64e64f8c92168a"; 1307 + }; 1308 + 1309 + }; 1310 + }; 1311 + 1312 + "platforms"."18" = { 1313 + 1314 + name = "platforms"; 1315 + path = "platforms/android-18"; 1316 + revision = "18"; 1317 + displayName = "Android SDK Platform 18"; 1318 + archives = { 1319 + 1320 + all = fetchurl { 1321 + url = https://dl.google.com/android/repository/android-18_r03.zip; 1322 + sha1 = "e6b09b3505754cbbeb4a5622008b907262ee91cb"; 1323 + }; 1324 + 1325 + }; 1326 + }; 1327 + 1328 + "platforms"."19" = { 1329 + 1330 + name = "platforms"; 1331 + path = "platforms/android-19"; 1332 + revision = "19"; 1333 + displayName = "Android SDK Platform 19"; 1334 + archives = { 1335 + 1336 + all = fetchurl { 1337 + url = https://dl.google.com/android/repository/android-19_r04.zip; 1338 + sha1 = "2ff20d89e68f2f5390981342e009db5a2d456aaa"; 1339 + }; 1340 + 1341 + }; 1342 + }; 1343 + 1344 + "platforms"."2" = { 1345 + 1346 + name = "platforms"; 1347 + path = "platforms/android-2"; 1348 + revision = "2"; 1349 + displayName = "Android SDK Platform 2"; 1350 + archives = { 1351 + linux = fetchurl { 1352 + url = https://dl.google.com/android/repository/android-1.1_r1-linux.zip; 1353 + sha1 = "c054d25c9b4c6251fa49c2f9c54336998679d3fe"; 1354 + }; 1355 + macosx = fetchurl { 1356 + url = https://dl.google.com/android/repository/android-1.1_r1-macosx.zip; 1357 + sha1 = "e21dbcff45b7356657449ebb3c7e941be2bb5ebe"; 1358 + }; 1359 + 1360 + }; 1361 + }; 1362 + 1363 + "platforms"."20" = { 1364 + 1365 + name = "platforms"; 1366 + path = "platforms/android-20"; 1367 + revision = "20"; 1368 + displayName = "Android SDK Platform 20"; 1369 + archives = { 1370 + 1371 + all = fetchurl { 1372 + url = https://dl.google.com/android/repository/android-20_r02.zip; 1373 + sha1 = "a9251f8a3f313ab05834a07a963000927637e01d"; 1374 + }; 1375 + 1376 + }; 1377 + }; 1378 + 1379 + "platforms"."21" = { 1380 + 1381 + name = "platforms"; 1382 + path = "platforms/android-21"; 1383 + revision = "21"; 1384 + displayName = "Android SDK Platform 21"; 1385 + archives = { 1386 + 1387 + all = fetchurl { 1388 + url = https://dl.google.com/android/repository/android-21_r02.zip; 1389 + sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c"; 1390 + }; 1391 + 1392 + }; 1393 + }; 1394 + 1395 + "platforms"."22" = { 1396 + 1397 + name = "platforms"; 1398 + path = "platforms/android-22"; 1399 + revision = "22"; 1400 + displayName = "Android SDK Platform 22"; 1401 + archives = { 1402 + 1403 + all = fetchurl { 1404 + url = https://dl.google.com/android/repository/android-22_r02.zip; 1405 + sha1 = "5d1bd10fea962b216a0dece1247070164760a9fc"; 1406 + }; 1407 + 1408 + }; 1409 + }; 1410 + 1411 + "platforms"."23" = { 1412 + 1413 + name = "platforms"; 1414 + path = "platforms/android-23"; 1415 + revision = "23"; 1416 + displayName = "Android SDK Platform 23"; 1417 + archives = { 1418 + 1419 + all = fetchurl { 1420 + url = https://dl.google.com/android/repository/platform-23_r03.zip; 1421 + sha1 = "027fede3de6aa1649115bbd0bffff30ccd51c9a0"; 1422 + }; 1423 + 1424 + }; 1425 + }; 1426 + 1427 + "platforms"."24" = { 1428 + 1429 + name = "platforms"; 1430 + path = "platforms/android-24"; 1431 + revision = "24"; 1432 + displayName = "Android SDK Platform 24"; 1433 + archives = { 1434 + 1435 + all = fetchurl { 1436 + url = https://dl.google.com/android/repository/platform-24_r02.zip; 1437 + sha1 = "8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee"; 1438 + }; 1439 + 1440 + }; 1441 + }; 1442 + 1443 + "platforms"."25" = { 1444 + 1445 + name = "platforms"; 1446 + path = "platforms/android-25"; 1447 + revision = "25"; 1448 + displayName = "Android SDK Platform 25"; 1449 + archives = { 1450 + 1451 + all = fetchurl { 1452 + url = https://dl.google.com/android/repository/platform-25_r03.zip; 1453 + sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8"; 1454 + }; 1455 + 1456 + }; 1457 + }; 1458 + 1459 + "platforms"."26" = { 1460 + 1461 + name = "platforms"; 1462 + path = "platforms/android-26"; 1463 + revision = "26"; 1464 + displayName = "Android SDK Platform 26"; 1465 + archives = { 1466 + 1467 + all = fetchurl { 1468 + url = https://dl.google.com/android/repository/platform-26_r02.zip; 1469 + sha1 = "e4ae5d7aa557a3c827135838ee400da8443ac4ef"; 1470 + }; 1471 + 1472 + }; 1473 + }; 1474 + 1475 + "platforms"."27" = { 1476 + 1477 + name = "platforms"; 1478 + path = "platforms/android-27"; 1479 + revision = "27"; 1480 + displayName = "Android SDK Platform 27"; 1481 + archives = { 1482 + 1483 + all = fetchurl { 1484 + url = https://dl.google.com/android/repository/platform-27_r03.zip; 1485 + sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353"; 1486 + }; 1487 + 1488 + }; 1489 + }; 1490 + 1491 + "platforms"."28" = { 1492 + 1493 + name = "platforms"; 1494 + path = "platforms/android-28"; 1495 + revision = "28"; 1496 + displayName = "Android SDK Platform 28"; 1497 + archives = { 1498 + 1499 + all = fetchurl { 1500 + url = https://dl.google.com/android/repository/platform-28_r06.zip; 1501 + sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6"; 1502 + }; 1503 + 1504 + }; 1505 + }; 1506 + 1507 + "platforms"."3" = { 1508 + 1509 + name = "platforms"; 1510 + path = "platforms/android-3"; 1511 + revision = "3"; 1512 + displayName = "Android SDK Platform 3"; 1513 + archives = { 1514 + linux = fetchurl { 1515 + url = https://dl.google.com/android/repository/android-1.5_r04-linux.zip; 1516 + sha1 = "5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c"; 1517 + }; 1518 + macosx = fetchurl { 1519 + url = https://dl.google.com/android/repository/android-1.5_r04-macosx.zip; 1520 + sha1 = "d3a67c2369afa48b6c3c7624de5031c262018d1e"; 1521 + }; 1522 + 1523 + }; 1524 + }; 1525 + 1526 + "platforms"."4" = { 1527 + 1528 + name = "platforms"; 1529 + path = "platforms/android-4"; 1530 + revision = "4"; 1531 + displayName = "Android SDK Platform 4"; 1532 + archives = { 1533 + linux = fetchurl { 1534 + url = https://dl.google.com/android/repository/android-1.6_r03-linux.zip; 1535 + sha1 = "483ed088e45bbdf3444baaf9250c8b02e5383cb0"; 1536 + }; 1537 + macosx = fetchurl { 1538 + url = https://dl.google.com/android/repository/android-1.6_r03-macosx.zip; 1539 + sha1 = "bdafad44f5df9f127979bdb21a1fdd87ee3cd625"; 1540 + }; 1541 + 1542 + }; 1543 + }; 1544 + 1545 + "platforms"."5" = { 1546 + 1547 + name = "platforms"; 1548 + path = "platforms/android-5"; 1549 + revision = "5"; 1550 + displayName = "Android SDK Platform 5"; 1551 + archives = { 1552 + linux = fetchurl { 1553 + url = https://dl.google.com/android/repository/android-2.0_r01-linux.zip; 1554 + sha1 = "be9be6a99ca32875c96ec7f91160ca9fce7e3c7d"; 1555 + }; 1556 + macosx = fetchurl { 1557 + url = https://dl.google.com/android/repository/android-2.0_r01-macosx.zip; 1558 + sha1 = "2a866d0870dbba18e0503cd41e5fae988a21b314"; 1559 + }; 1560 + 1561 + }; 1562 + }; 1563 + 1564 + "platforms"."6" = { 1565 + 1566 + name = "platforms"; 1567 + path = "platforms/android-6"; 1568 + revision = "6"; 1569 + displayName = "Android SDK Platform 6"; 1570 + archives = { 1571 + linux = fetchurl { 1572 + url = https://dl.google.com/android/repository/android-2.0.1_r01-linux.zip; 1573 + sha1 = "ce2c971dce352aa28af06bda92a070116aa5ae1a"; 1574 + }; 1575 + macosx = fetchurl { 1576 + url = https://dl.google.com/android/repository/android-2.0.1_r01-macosx.zip; 1577 + sha1 = "c3096f80d75a6fc8cb38ef8a18aec920e53d42c0"; 1578 + }; 1579 + 1580 + }; 1581 + }; 1582 + 1583 + "platforms"."7" = { 1584 + 1585 + name = "platforms"; 1586 + path = "platforms/android-7"; 1587 + revision = "7"; 1588 + displayName = "Android SDK Platform 7"; 1589 + archives = { 1590 + 1591 + all = fetchurl { 1592 + url = https://dl.google.com/android/repository/android-2.1_r03.zip; 1593 + sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; 1594 + }; 1595 + 1596 + }; 1597 + }; 1598 + 1599 + "platforms"."8" = { 1600 + 1601 + name = "platforms"; 1602 + path = "platforms/android-8"; 1603 + revision = "8"; 1604 + displayName = "Android SDK Platform 8"; 1605 + archives = { 1606 + 1607 + all = fetchurl { 1608 + url = https://dl.google.com/android/repository/android-2.2_r03.zip; 1609 + sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; 1610 + }; 1611 + 1612 + }; 1613 + }; 1614 + 1615 + "platforms"."9" = { 1616 + 1617 + name = "platforms"; 1618 + path = "platforms/android-9"; 1619 + revision = "9"; 1620 + displayName = "Android SDK Platform 9"; 1621 + archives = { 1622 + 1623 + all = fetchurl { 1624 + url = https://dl.google.com/android/repository/android-2.3.1_r02.zip; 1625 + sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; 1626 + }; 1627 + 1628 + }; 1629 + }; 1630 + 1631 + "sources"."14" = { 1632 + 1633 + name = "sources"; 1634 + path = "sources/android-14"; 1635 + revision = "14"; 1636 + displayName = "Sources for Android 14"; 1637 + archives = { 1638 + 1639 + all = fetchurl { 1640 + url = https://dl.google.com/android/repository/sources-14_r01.zip; 1641 + sha1 = "eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555"; 1642 + }; 1643 + 1644 + }; 1645 + }; 1646 + 1647 + "sources"."15" = { 1648 + 1649 + name = "sources"; 1650 + path = "sources/android-15"; 1651 + revision = "15"; 1652 + displayName = "Sources for Android 15"; 1653 + archives = { 1654 + 1655 + all = fetchurl { 1656 + url = https://dl.google.com/android/repository/sources-15_r02.zip; 1657 + sha1 = "e5992a5747c9590783fbbdd700337bf0c9f6b1fa"; 1658 + }; 1659 + 1660 + }; 1661 + }; 1662 + 1663 + "sources"."16" = { 1664 + 1665 + name = "sources"; 1666 + path = "sources/android-16"; 1667 + revision = "16"; 1668 + displayName = "Sources for Android 16"; 1669 + archives = { 1670 + 1671 + all = fetchurl { 1672 + url = https://dl.google.com/android/repository/sources-16_r02.zip; 1673 + sha1 = "0f83c14ed333c45d962279ab5d6bc98a0269ef84"; 1674 + }; 1675 + 1676 + }; 1677 + }; 1678 + 1679 + "sources"."17" = { 1680 + 1681 + name = "sources"; 1682 + path = "sources/android-17"; 1683 + revision = "17"; 1684 + displayName = "Sources for Android 17"; 1685 + archives = { 1686 + 1687 + all = fetchurl { 1688 + url = https://dl.google.com/android/repository/sources-17_r01.zip; 1689 + sha1 = "6f1f18cd2d2b1852d7f6892df9cee3823349d43a"; 1690 + }; 1691 + 1692 + }; 1693 + }; 1694 + 1695 + "sources"."18" = { 1696 + 1697 + name = "sources"; 1698 + path = "sources/android-18"; 1699 + revision = "18"; 1700 + displayName = "Sources for Android 18"; 1701 + archives = { 1702 + 1703 + all = fetchurl { 1704 + url = https://dl.google.com/android/repository/sources-18_r01.zip; 1705 + sha1 = "8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78"; 1706 + }; 1707 + 1708 + }; 1709 + }; 1710 + 1711 + "sources"."19" = { 1712 + 1713 + name = "sources"; 1714 + path = "sources/android-19"; 1715 + revision = "19"; 1716 + displayName = "Sources for Android 19"; 1717 + archives = { 1718 + 1719 + all = fetchurl { 1720 + url = https://dl.google.com/android/repository/sources-19_r02.zip; 1721 + sha1 = "433a1d043ef77561571250e94cb7a0ef24a202e7"; 1722 + }; 1723 + 1724 + }; 1725 + }; 1726 + 1727 + "sources"."20" = { 1728 + 1729 + name = "sources"; 1730 + path = "sources/android-20"; 1731 + revision = "20"; 1732 + displayName = "Sources for Android 20"; 1733 + archives = { 1734 + 1735 + all = fetchurl { 1736 + url = https://dl.google.com/android/repository/sources-20_r01.zip; 1737 + sha1 = "8da3e40f2625f9f7ef38b7e403f49f67226c0d76"; 1738 + }; 1739 + 1740 + }; 1741 + }; 1742 + 1743 + "sources"."21" = { 1744 + 1745 + name = "sources"; 1746 + path = "sources/android-21"; 1747 + revision = "21"; 1748 + displayName = "Sources for Android 21"; 1749 + archives = { 1750 + 1751 + all = fetchurl { 1752 + url = https://dl.google.com/android/repository/sources-21_r01.zip; 1753 + sha1 = "137a5044915d32bea297a8c1552684802bbc2e25"; 1754 + }; 1755 + 1756 + }; 1757 + }; 1758 + 1759 + "sources"."22" = { 1760 + 1761 + name = "sources"; 1762 + path = "sources/android-22"; 1763 + revision = "22"; 1764 + displayName = "Sources for Android 22"; 1765 + archives = { 1766 + 1767 + all = fetchurl { 1768 + url = https://dl.google.com/android/repository/sources-22_r01.zip; 1769 + sha1 = "98320e13976d11597a4a730a8d203ac9a03ed5a6"; 1770 + }; 1771 + 1772 + }; 1773 + }; 1774 + 1775 + "sources"."23" = { 1776 + 1777 + name = "sources"; 1778 + path = "sources/android-23"; 1779 + revision = "23"; 1780 + displayName = "Sources for Android 23"; 1781 + archives = { 1782 + 1783 + all = fetchurl { 1784 + url = https://dl.google.com/android/repository/sources-23_r01.zip; 1785 + sha1 = "b0f15da2762b42f543c5e364c2b15b198cc99cc2"; 1786 + }; 1787 + 1788 + }; 1789 + }; 1790 + 1791 + "sources"."24" = { 1792 + 1793 + name = "sources"; 1794 + path = "sources/android-24"; 1795 + revision = "24"; 1796 + displayName = "Sources for Android 24"; 1797 + archives = { 1798 + 1799 + all = fetchurl { 1800 + url = https://dl.google.com/android/repository/sources-24_r01.zip; 1801 + sha1 = "6b96115830a83d654479f32ce4b724ca9011148b"; 1802 + }; 1803 + 1804 + }; 1805 + }; 1806 + 1807 + "sources"."25" = { 1808 + 1809 + name = "sources"; 1810 + path = "sources/android-25"; 1811 + revision = "25"; 1812 + displayName = "Sources for Android 25"; 1813 + archives = { 1814 + 1815 + all = fetchurl { 1816 + url = https://dl.google.com/android/repository/sources-25_r01.zip; 1817 + sha1 = "bbc72efd1a9bad87cc507e308f0d29aad438c52c"; 1818 + }; 1819 + 1820 + }; 1821 + }; 1822 + 1823 + "sources"."26" = { 1824 + 1825 + name = "sources"; 1826 + path = "sources/android-26"; 1827 + revision = "26"; 1828 + displayName = "Sources for Android 26"; 1829 + archives = { 1830 + 1831 + all = fetchurl { 1832 + url = https://dl.google.com/android/repository/sources-26_r01.zip; 1833 + sha1 = "2af701ee3223d580409288540b1d06932fd8f9b9"; 1834 + }; 1835 + 1836 + }; 1837 + }; 1838 + 1839 + "sources"."27" = { 1840 + 1841 + name = "sources"; 1842 + path = "sources/android-27"; 1843 + revision = "27"; 1844 + displayName = "Sources for Android 27"; 1845 + archives = { 1846 + 1847 + all = fetchurl { 1848 + url = https://dl.google.com/android/repository/sources-27_r01.zip; 1849 + sha1 = "7b714670561d08f54751af42aca929867b806596"; 1850 + }; 1851 + 1852 + }; 1853 + }; 1854 + 1855 + "sources"."28" = { 1856 + 1857 + name = "sources"; 1858 + path = "sources/android-28"; 1859 + revision = "28"; 1860 + displayName = "Sources for Android 28"; 1861 + archives = { 1862 + 1863 + all = fetchurl { 1864 + url = https://dl.google.com/android/repository/sources-28_r01.zip; 1865 + sha1 = "5610e0c24235ee3fa343c899ddd551be30315255"; 1866 + }; 1867 + 1868 + }; 1869 + }; 1870 + 1871 + "tools"."25.2.5" = { 1872 + 1873 + name = "tools"; 1874 + path = "tools"; 1875 + revision = "25.2.5"; 1876 + displayName = "Android SDK Tools 25.2.5"; 1877 + archives = { 1878 + linux = fetchurl { 1879 + url = https://dl.google.com/android/repository/tools_r25.2.5-linux.zip; 1880 + sha1 = "72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1"; 1881 + }; 1882 + macosx = fetchurl { 1883 + url = https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip; 1884 + sha1 = "d2168d963ac5b616e3d3ddaf21511d084baf3659"; 1885 + }; 1886 + 1887 + }; 1888 + }; 1889 + 1890 + "tools"."26.1.1" = { 1891 + 1892 + name = "tools"; 1893 + path = "tools"; 1894 + revision = "26.1.1"; 1895 + displayName = "Android SDK Tools"; 1896 + archives = { 1897 + macosx = fetchurl { 1898 + url = https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip; 1899 + sha1 = "ed85ea7b59bc3483ce0af4c198523ba044e083ad"; 1900 + }; 1901 + linux = fetchurl { 1902 + url = https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip; 1903 + sha1 = "8c7c28554a32318461802c1291d76fccfafde054"; 1904 + }; 1905 + 1906 + }; 1907 + }; 1908 + 1909 + } 1910 +
+157
pkgs/development/mobile/androidenv/generated/system-images-android-tv.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + 7 + "21".android-tv."x86" = { 8 + name = "system-image-21-android-tv-x86"; 9 + path = "system-images/android-21/android-tv/x86"; 10 + revision = "21-android-tv-x86"; 11 + displayName = "Android TV Intel x86 Atom System Image"; 12 + archives.all = fetchurl { 13 + 14 + url = 15 + https://dl.google.com/android/repository/sys-img/android-tv/x86-21_r03.zip; 16 + sha1 = "2f8a1988188d6abfd6c6395baeb4471a034dc1e8"; 17 + 18 + }; 19 + }; 20 + 21 + 22 + "21".android-tv."armeabi-v7a" = { 23 + name = "system-image-21-android-tv-armeabi-v7a"; 24 + path = "system-images/android-21/android-tv/armeabi-v7a"; 25 + revision = "21-android-tv-armeabi-v7a"; 26 + displayName = "Android TV ARM EABI v7a System Image"; 27 + archives.all = fetchurl { 28 + 29 + url = 30 + https://dl.google.com/android/repository/sys-img/android-tv/armeabi-v7a-21_r03.zip; 31 + sha1 = "b63e28a47f11b639dd94981a458b7abfa89ac331"; 32 + 33 + }; 34 + }; 35 + 36 + 37 + "22".android-tv."x86" = { 38 + name = "system-image-22-android-tv-x86"; 39 + path = "system-images/android-22/android-tv/x86"; 40 + revision = "22-android-tv-x86"; 41 + displayName = "Android TV Intel x86 Atom System Image"; 42 + archives.all = fetchurl { 43 + 44 + url = 45 + https://dl.google.com/android/repository/sys-img/android-tv/x86-22_r03.zip; 46 + sha1 = "c78efd5a155622eb490be9d326f5783993375c35"; 47 + 48 + }; 49 + }; 50 + 51 + 52 + "23".android-tv."x86" = { 53 + name = "system-image-23-android-tv-x86"; 54 + path = "system-images/android-23/android-tv/x86"; 55 + revision = "23-android-tv-x86"; 56 + displayName = "Android TV Intel x86 Atom System Image"; 57 + archives.all = fetchurl { 58 + 59 + url = 60 + https://dl.google.com/android/repository/sys-img/android-tv/x86-23_r17.zip; 61 + sha1 = "6d42eb8f07e1c49c000e530fdb7de894144ea19b"; 62 + 63 + }; 64 + }; 65 + 66 + 67 + "23".android-tv."armeabi-v7a" = { 68 + name = "system-image-23-android-tv-armeabi-v7a"; 69 + path = "system-images/android-23/android-tv/armeabi-v7a"; 70 + revision = "23-android-tv-armeabi-v7a"; 71 + displayName = "Android TV ARM EABI v7a System Image"; 72 + archives.all = fetchurl { 73 + 74 + url = 75 + https://dl.google.com/android/repository/sys-img/android-tv/armeabi-v7a-23_r12.zip; 76 + sha1 = "bd84678ae8caf71d584f5210e866b2807e7b4b52"; 77 + 78 + }; 79 + }; 80 + 81 + 82 + "24".android-tv."x86" = { 83 + name = "system-image-24-android-tv-x86"; 84 + path = "system-images/android-24/android-tv/x86"; 85 + revision = "24-android-tv-x86"; 86 + displayName = "Android TV Intel x86 Atom System Image"; 87 + archives.all = fetchurl { 88 + 89 + url = 90 + https://dl.google.com/android/repository/sys-img/android-tv/x86-24_r19.zip; 91 + sha1 = "478e7073f9fcd588bcce89946aa632fbf302ac6a"; 92 + 93 + }; 94 + }; 95 + 96 + 97 + "25".android-tv."x86" = { 98 + name = "system-image-25-android-tv-x86"; 99 + path = "system-images/android-25/android-tv/x86"; 100 + revision = "25-android-tv-x86"; 101 + displayName = "Android TV Intel x86 Atom System Image"; 102 + archives.all = fetchurl { 103 + 104 + url = 105 + https://dl.google.com/android/repository/sys-img/android-tv/x86-25_r13.zip; 106 + sha1 = "fda1743a87331b43b1ff35cd70f3276ae0b1836d"; 107 + 108 + }; 109 + }; 110 + 111 + 112 + "26".android-tv."x86" = { 113 + name = "system-image-26-android-tv-x86"; 114 + path = "system-images/android-26/android-tv/x86"; 115 + revision = "26-android-tv-x86"; 116 + displayName = "Android TV Intel x86 Atom System Image"; 117 + archives.all = fetchurl { 118 + 119 + url = 120 + https://dl.google.com/android/repository/sys-img/android-tv/x86-26_r11.zip; 121 + sha1 = "5c4b0b3c0b9d04a3364956a7ba31d30c33ea57e7"; 122 + 123 + }; 124 + }; 125 + 126 + 127 + "27".android-tv."x86" = { 128 + name = "system-image-27-android-tv-x86"; 129 + path = "system-images/android-27/android-tv/x86"; 130 + revision = "27-android-tv-x86"; 131 + displayName = "Android TV Intel x86 Atom System Image"; 132 + archives.all = fetchurl { 133 + 134 + url = 135 + https://dl.google.com/android/repository/sys-img/android-tv/x86-27_r06.zip; 136 + sha1 = "6b69f1e95a3db3d973e19a95ab5da1adc7750d54"; 137 + 138 + }; 139 + }; 140 + 141 + 142 + "28".android-tv."x86" = { 143 + name = "system-image-28-android-tv-x86"; 144 + path = "system-images/android-28/android-tv/x86"; 145 + revision = "28-android-tv-x86"; 146 + displayName = "Android TV Intel x86 Atom System Image"; 147 + archives.all = fetchurl { 148 + 149 + url = 150 + https://dl.google.com/android/repository/sys-img/android-tv/x86-28_r07.zip; 151 + sha1 = "3ed7e51036957cf350db7fa128cb485b61cbd061"; 152 + 153 + }; 154 + }; 155 + 156 + } 157 +
+67
pkgs/development/mobile/androidenv/generated/system-images-android-wear-cn.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + 7 + "25".android-wear."armeabi-v7a" = { 8 + name = "system-image-25-android-wear-armeabi-v7a"; 9 + path = "system-images/android-25/android-wear-cn/armeabi-v7a"; 10 + revision = "25-android-wear-armeabi-v7a"; 11 + displayName = "China version of Android Wear ARM EABI v7a System Image"; 12 + archives.all = fetchurl { 13 + 14 + url = 15 + https://dl.google.com/android/repository/sys-img/android-wear-cn/armeabi-v7a-25_r04.zip; 16 + sha1 = "02d7bc86df054d1e89fe5856b3af1d2c142cab41"; 17 + 18 + }; 19 + }; 20 + 21 + 22 + "25".android-wear."x86" = { 23 + name = "system-image-25-android-wear-x86"; 24 + path = "system-images/android-25/android-wear-cn/x86"; 25 + revision = "25-android-wear-x86"; 26 + displayName = "China version of Android Wear Intel x86 Atom System Image"; 27 + archives.all = fetchurl { 28 + 29 + url = 30 + https://dl.google.com/android/repository/sys-img/android-wear-cn/x86-25_r04.zip; 31 + sha1 = "73eab14c7cf2f6941e1fee61e0038ead7a2c7f4d"; 32 + 33 + }; 34 + }; 35 + 36 + 37 + "26".android-wear."x86" = { 38 + name = "system-image-26-android-wear-x86"; 39 + path = "system-images/android-26/android-wear-cn/x86"; 40 + revision = "26-android-wear-x86"; 41 + displayName = "China version of Android Wear Intel x86 Atom System Image"; 42 + archives.all = fetchurl { 43 + 44 + url = 45 + https://dl.google.com/android/repository/sys-img/android-wear-cn/x86-26_r04.zip; 46 + sha1 = "fdc8a313f889a2d6522de1fbc00ee9e13547d096"; 47 + 48 + }; 49 + }; 50 + 51 + 52 + "28".android-wear."x86" = { 53 + name = "system-image-28-android-wear-x86"; 54 + path = "system-images/android-P/android-wear-cn/x86"; 55 + revision = "28-android-wear-x86"; 56 + displayName = "China version of Wear OS Intel x86 Atom System Image"; 57 + archives.all = fetchurl { 58 + 59 + url = 60 + https://dl.google.com/android/repository/sys-img/android-wear-cn/x86-P_r02.zip; 61 + sha1 = "a61a2e453a11f77ab15b3e0bf1e017e0bb9d1bcc"; 62 + 63 + }; 64 + }; 65 + 66 + } 67 +
+97
pkgs/development/mobile/androidenv/generated/system-images-android-wear.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + 7 + "23".android-wear."armeabi-v7a" = { 8 + name = "system-image-23-android-wear-armeabi-v7a"; 9 + path = "system-images/android-23/android-wear/armeabi-v7a"; 10 + revision = "23-android-wear-armeabi-v7a"; 11 + displayName = "Android Wear ARM EABI v7a System Image"; 12 + archives.all = fetchurl { 13 + 14 + url = 15 + https://dl.google.com/android/repository/sys-img/android-wear/armeabi-v7a-23_r06.zip; 16 + sha1 = "0df5d34b1cdaaaa3805a2f06bb889901eabe2e71"; 17 + 18 + }; 19 + }; 20 + 21 + 22 + "23".android-wear."x86" = { 23 + name = "system-image-23-android-wear-x86"; 24 + path = "system-images/android-23/android-wear/x86"; 25 + revision = "23-android-wear-x86"; 26 + displayName = "Android Wear Intel x86 Atom System Image"; 27 + archives.all = fetchurl { 28 + 29 + url = 30 + https://dl.google.com/android/repository/sys-img/android-wear/x86-23_r06.zip; 31 + sha1 = "3b15c123f3f71459d5b60c1714d49c5d90a5525e"; 32 + 33 + }; 34 + }; 35 + 36 + 37 + "25".android-wear."armeabi-v7a" = { 38 + name = "system-image-25-android-wear-armeabi-v7a"; 39 + path = "system-images/android-25/android-wear/armeabi-v7a"; 40 + revision = "25-android-wear-armeabi-v7a"; 41 + displayName = "Android Wear ARM EABI v7a System Image"; 42 + archives.all = fetchurl { 43 + 44 + url = 45 + https://dl.google.com/android/repository/sys-img/android-wear/armeabi-v7a-25_r03.zip; 46 + sha1 = "76d3568a4e08023047af7d13025a35c9bf1d7e5c"; 47 + 48 + }; 49 + }; 50 + 51 + 52 + "25".android-wear."x86" = { 53 + name = "system-image-25-android-wear-x86"; 54 + path = "system-images/android-25/android-wear/x86"; 55 + revision = "25-android-wear-x86"; 56 + displayName = "Android Wear Intel x86 Atom System Image"; 57 + archives.all = fetchurl { 58 + 59 + url = 60 + https://dl.google.com/android/repository/sys-img/android-wear/x86-25_r03.zip; 61 + sha1 = "693fce7b487a65491a4e88e9f740959688c9dbe6"; 62 + 63 + }; 64 + }; 65 + 66 + 67 + "26".android-wear."x86" = { 68 + name = "system-image-26-android-wear-x86"; 69 + path = "system-images/android-26/android-wear/x86"; 70 + revision = "26-android-wear-x86"; 71 + displayName = "Android Wear Intel x86 Atom System Image"; 72 + archives.all = fetchurl { 73 + 74 + url = 75 + https://dl.google.com/android/repository/sys-img/android-wear/x86-26_r04.zip; 76 + sha1 = "fbffa91b936ca18fcc1e0bab2b52a8b0835cbb1c"; 77 + 78 + }; 79 + }; 80 + 81 + 82 + "28".android-wear."x86" = { 83 + name = "system-image-28-android-wear-x86"; 84 + path = "system-images/android-P/android-wear/x86"; 85 + revision = "28-android-wear-x86"; 86 + displayName = "Wear OS Intel x86 Atom System Image"; 87 + archives.all = fetchurl { 88 + 89 + url = 90 + https://dl.google.com/android/repository/sys-img/android-wear/x86-P_r02.zip; 91 + sha1 = "cd0d3a56e114dbb0a2a77d58942d344db464b514"; 92 + 93 + }; 94 + }; 95 + 96 + } 97 +
+547
pkgs/development/mobile/androidenv/generated/system-images-android.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + 7 + "10".default."armeabi-v7a" = { 8 + name = "system-image-10-default-armeabi-v7a"; 9 + path = "system-images/android-10/default/armeabi-v7a"; 10 + revision = "10-default-armeabi-v7a"; 11 + displayName = "ARM EABI v7a System Image"; 12 + archives.all = fetchurl { 13 + 14 + url = 15 + https://dl.google.com/android/repository/sys-img/android/armv7-10_r04.zip; 16 + sha1 = "54680383118eb5c95a11e1cc2a14aa572c86ee69"; 17 + 18 + }; 19 + }; 20 + 21 + 22 + "14".default."armeabi-v7a" = { 23 + name = "system-image-14-default-armeabi-v7a"; 24 + path = "system-images/android-14/default/armeabi-v7a"; 25 + revision = "14-default-armeabi-v7a"; 26 + displayName = "ARM EABI v7a System Image"; 27 + archives.all = fetchurl { 28 + 29 + url = 30 + https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip; 31 + sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b"; 32 + 33 + }; 34 + }; 35 + 36 + 37 + "15".default."armeabi-v7a" = { 38 + name = "system-image-15-default-armeabi-v7a"; 39 + path = "system-images/android-15/default/armeabi-v7a"; 40 + revision = "15-default-armeabi-v7a"; 41 + displayName = "ARM EABI v7a System Image"; 42 + archives.all = fetchurl { 43 + 44 + url = 45 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-15_r04.zip; 46 + sha1 = "363223bd62f5afc0b2bd760b54ce9d26b31eacf1"; 47 + 48 + }; 49 + }; 50 + 51 + 52 + "16".default."armeabi-v7a" = { 53 + name = "system-image-16-default-armeabi-v7a"; 54 + path = "system-images/android-16/default/armeabi-v7a"; 55 + revision = "16-default-armeabi-v7a"; 56 + displayName = "ARM EABI v7a System Image"; 57 + archives.all = fetchurl { 58 + 59 + url = 60 + https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r04.zip; 61 + sha1 = "39c093ea755098f0ee79f607be7df9e54ba4943f"; 62 + 63 + }; 64 + }; 65 + 66 + 67 + "17".default."armeabi-v7a" = { 68 + name = "system-image-17-default-armeabi-v7a"; 69 + path = "system-images/android-17/default/armeabi-v7a"; 70 + revision = "17-default-armeabi-v7a"; 71 + displayName = "ARM EABI v7a System Image"; 72 + archives.all = fetchurl { 73 + 74 + url = 75 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-17_r05.zip; 76 + sha1 = "7460e8110f4a87f9644f1bdb5511a66872d50fd9"; 77 + 78 + }; 79 + }; 80 + 81 + 82 + "18".default."armeabi-v7a" = { 83 + name = "system-image-18-default-armeabi-v7a"; 84 + path = "system-images/android-18/default/armeabi-v7a"; 85 + revision = "18-default-armeabi-v7a"; 86 + displayName = "ARM EABI v7a System Image"; 87 + archives.all = fetchurl { 88 + 89 + url = 90 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-18_r04.zip; 91 + sha1 = "0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642"; 92 + 93 + }; 94 + }; 95 + 96 + 97 + "19".default."armeabi-v7a" = { 98 + name = "system-image-19-default-armeabi-v7a"; 99 + path = "system-images/android-19/default/armeabi-v7a"; 100 + revision = "19-default-armeabi-v7a"; 101 + displayName = "ARM EABI v7a System Image"; 102 + archives.all = fetchurl { 103 + 104 + url = 105 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-19_r05.zip; 106 + sha1 = "d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa"; 107 + 108 + }; 109 + }; 110 + 111 + 112 + "21".default."armeabi-v7a" = { 113 + name = "system-image-21-default-armeabi-v7a"; 114 + path = "system-images/android-21/default/armeabi-v7a"; 115 + revision = "21-default-armeabi-v7a"; 116 + displayName = "ARM EABI v7a System Image"; 117 + archives.all = fetchurl { 118 + 119 + url = 120 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-21_r04.zip; 121 + sha1 = "8c606f81306564b65e41303d2603e4c42ded0d10"; 122 + 123 + }; 124 + }; 125 + 126 + 127 + "22".default."armeabi-v7a" = { 128 + name = "system-image-22-default-armeabi-v7a"; 129 + path = "system-images/android-22/default/armeabi-v7a"; 130 + revision = "22-default-armeabi-v7a"; 131 + displayName = "ARM EABI v7a System Image"; 132 + archives.all = fetchurl { 133 + 134 + url = 135 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-22_r02.zip; 136 + sha1 = "2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1"; 137 + 138 + }; 139 + }; 140 + 141 + 142 + "23".default."armeabi-v7a" = { 143 + name = "system-image-23-default-armeabi-v7a"; 144 + path = "system-images/android-23/default/armeabi-v7a"; 145 + revision = "23-default-armeabi-v7a"; 146 + displayName = "ARM EABI v7a System Image"; 147 + archives.all = fetchurl { 148 + 149 + url = 150 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-23_r06.zip; 151 + sha1 = "7cf2ad756e54a3acfd81064b63cb0cb9dff2798d"; 152 + 153 + }; 154 + }; 155 + 156 + 157 + "24".default."armeabi-v7a" = { 158 + name = "system-image-24-default-armeabi-v7a"; 159 + path = "system-images/android-24/default/armeabi-v7a"; 160 + revision = "24-default-armeabi-v7a"; 161 + displayName = "ARM EABI v7a System Image"; 162 + archives.all = fetchurl { 163 + 164 + url = 165 + https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-24_r07.zip; 166 + sha1 = "3454546b4eed2d6c3dd06d47757d6da9f4176033"; 167 + 168 + }; 169 + }; 170 + 171 + 172 + "24".default."arm64-v8a" = { 173 + name = "system-image-24-default-arm64-v8a"; 174 + path = "system-images/android-24/default/arm64-v8a"; 175 + revision = "24-default-arm64-v8a"; 176 + displayName = "ARM 64 v8a System Image"; 177 + archives.all = fetchurl { 178 + 179 + url = 180 + https://dl.google.com/android/repository/sys-img/android/arm64-v8a-24_r07.zip; 181 + sha1 = "e8ab2e49e4efe4b064232b33b5eeaded61437d7f"; 182 + 183 + }; 184 + }; 185 + 186 + 187 + "16".default."mips" = { 188 + name = "system-image-16-default-mips"; 189 + path = "system-images/android-16/default/mips"; 190 + revision = "16-default-mips"; 191 + displayName = "MIPS System Image"; 192 + archives.all = fetchurl { 193 + 194 + url = 195 + https://dl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip; 196 + sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e"; 197 + 198 + }; 199 + }; 200 + 201 + 202 + "17".default."mips" = { 203 + name = "system-image-17-default-mips"; 204 + path = "system-images/android-17/default/mips"; 205 + revision = "17-default-mips"; 206 + displayName = "MIPS System Image"; 207 + archives.all = fetchurl { 208 + 209 + url = 210 + https://dl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip; 211 + sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d"; 212 + 213 + }; 214 + }; 215 + 216 + 217 + "10".default."x86" = { 218 + name = "system-image-10-default-x86"; 219 + path = "system-images/android-10/default/x86"; 220 + revision = "10-default-x86"; 221 + displayName = "Intel x86 Atom System Image"; 222 + archives.all = fetchurl { 223 + 224 + url = 225 + https://dl.google.com/android/repository/sys-img/android/x86-10_r04.zip; 226 + sha1 = "655ffc5cc89dd45a3aca154b254009016e473aeb"; 227 + 228 + }; 229 + }; 230 + 231 + 232 + "15".default."x86" = { 233 + name = "system-image-15-default-x86"; 234 + path = "system-images/android-15/default/x86"; 235 + revision = "15-default-x86"; 236 + displayName = "Intel x86 Atom System Image"; 237 + archives.all = fetchurl { 238 + 239 + url = 240 + https://dl.google.com/android/repository/sys-img/android/x86-15_r04.zip; 241 + sha1 = "e45c728b64881c0e86529a8f7ea9c103a3cd14c1"; 242 + 243 + }; 244 + }; 245 + 246 + 247 + "16".default."x86" = { 248 + name = "system-image-16-default-x86"; 249 + path = "system-images/android-16/default/x86"; 250 + revision = "16-default-x86"; 251 + displayName = "Intel x86 Atom System Image"; 252 + archives.all = fetchurl { 253 + 254 + url = 255 + https://dl.google.com/android/repository/sys-img/android/x86-16_r06.zip; 256 + sha1 = "bf1bf8c5591346118d2235da1ad20e7be8a3e9cd"; 257 + 258 + }; 259 + }; 260 + 261 + 262 + "17".default."x86" = { 263 + name = "system-image-17-default-x86"; 264 + path = "system-images/android-17/default/x86"; 265 + revision = "17-default-x86"; 266 + displayName = "Intel x86 Atom System Image"; 267 + archives.all = fetchurl { 268 + 269 + url = 270 + https://dl.google.com/android/repository/sys-img/android/x86-17_r04.zip; 271 + sha1 = "03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec"; 272 + 273 + }; 274 + }; 275 + 276 + 277 + "18".default."x86" = { 278 + name = "system-image-18-default-x86"; 279 + path = "system-images/android-18/default/x86"; 280 + revision = "18-default-x86"; 281 + displayName = "Intel x86 Atom System Image"; 282 + archives.all = fetchurl { 283 + 284 + url = 285 + https://dl.google.com/android/repository/sys-img/android/x86-18_r03.zip; 286 + sha1 = "03a0cb23465c3de15215934a1dbc9715b56e9458"; 287 + 288 + }; 289 + }; 290 + 291 + 292 + "19".default."x86" = { 293 + name = "system-image-19-default-x86"; 294 + path = "system-images/android-19/default/x86"; 295 + revision = "19-default-x86"; 296 + displayName = "Intel x86 Atom System Image"; 297 + archives.all = fetchurl { 298 + 299 + url = 300 + https://dl.google.com/android/repository/sys-img/android/x86-19_r06.zip; 301 + sha1 = "2ac82153aae97f7eae4c5a0761224fe04321d03d"; 302 + 303 + }; 304 + }; 305 + 306 + 307 + "21".default."x86" = { 308 + name = "system-image-21-default-x86"; 309 + path = "system-images/android-21/default/x86"; 310 + revision = "21-default-x86"; 311 + displayName = "Intel x86 Atom System Image"; 312 + archives.all = fetchurl { 313 + 314 + url = 315 + https://dl.google.com/android/repository/sys-img/android/x86-21_r05.zip; 316 + sha1 = "00f0eb0a1003efe3316347f762e20a85d8749cff"; 317 + 318 + }; 319 + }; 320 + 321 + 322 + "22".default."x86" = { 323 + name = "system-image-22-default-x86"; 324 + path = "system-images/android-22/default/x86"; 325 + revision = "22-default-x86"; 326 + displayName = "Intel x86 Atom System Image"; 327 + archives.all = fetchurl { 328 + 329 + url = 330 + https://dl.google.com/android/repository/sys-img/android/x86-22_r06.zip; 331 + sha1 = "e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e"; 332 + 333 + }; 334 + }; 335 + 336 + 337 + "23".default."x86" = { 338 + name = "system-image-23-default-x86"; 339 + path = "system-images/android-23/default/x86"; 340 + revision = "23-default-x86"; 341 + displayName = "Intel x86 Atom System Image"; 342 + archives.all = fetchurl { 343 + 344 + url = 345 + https://dl.google.com/android/repository/sys-img/android/x86-23_r10.zip; 346 + sha1 = "f6c3e3dd7bd951454795aa75c3a145fd05ac25bb"; 347 + 348 + }; 349 + }; 350 + 351 + 352 + "24".default."x86" = { 353 + name = "system-image-24-default-x86"; 354 + path = "system-images/android-24/default/x86"; 355 + revision = "24-default-x86"; 356 + displayName = "Intel x86 Atom System Image"; 357 + archives.all = fetchurl { 358 + 359 + url = 360 + https://dl.google.com/android/repository/sys-img/android/x86-24_r08.zip; 361 + sha1 = "c1cae7634b0216c0b5990f2c144eb8ca948e3511"; 362 + 363 + }; 364 + }; 365 + 366 + 367 + "25".default."x86" = { 368 + name = "system-image-25-default-x86"; 369 + path = "system-images/android-25/default/x86"; 370 + revision = "25-default-x86"; 371 + displayName = "Intel x86 Atom System Image"; 372 + archives.all = fetchurl { 373 + 374 + url = 375 + https://dl.google.com/android/repository/sys-img/android/x86-25_r01.zip; 376 + sha1 = "78ce7eb1387d598685633b9f7cbb300c3d3aeb5f"; 377 + 378 + }; 379 + }; 380 + 381 + 382 + "26".default."x86" = { 383 + name = "system-image-26-default-x86"; 384 + path = "system-images/android-26/default/x86"; 385 + revision = "26-default-x86"; 386 + displayName = "Intel x86 Atom System Image"; 387 + archives.all = fetchurl { 388 + 389 + url = 390 + https://dl.google.com/android/repository/sys-img/android/x86-26_r01.zip; 391 + sha1 = "e613d6e0da668e30daf547f3c6627a6352846f90"; 392 + 393 + }; 394 + }; 395 + 396 + 397 + "27".default."x86" = { 398 + name = "system-image-27-default-x86"; 399 + path = "system-images/android-27/default/x86"; 400 + revision = "27-default-x86"; 401 + displayName = "Intel x86 Atom System Image"; 402 + archives.all = fetchurl { 403 + 404 + url = 405 + https://dl.google.com/android/repository/sys-img/android/x86-27_r01.zip; 406 + sha1 = "4ec990fac7b62958decd12e18a4cd389dfe7c582"; 407 + 408 + }; 409 + }; 410 + 411 + 412 + "28".default."x86" = { 413 + name = "system-image-28-default-x86"; 414 + path = "system-images/android-28/default/x86"; 415 + revision = "28-default-x86"; 416 + displayName = "Intel x86 Atom System Image"; 417 + archives.all = fetchurl { 418 + 419 + url = 420 + https://dl.google.com/android/repository/sys-img/android/x86-28_r04.zip; 421 + sha1 = "ce03c42d80c0fc6dc47f6455dbee7aa275d02780"; 422 + 423 + }; 424 + }; 425 + 426 + 427 + "21".default."x86_64" = { 428 + name = "system-image-21-default-x86_64"; 429 + path = "system-images/android-21/default/x86_64"; 430 + revision = "21-default-x86_64"; 431 + displayName = "Intel x86 Atom_64 System Image"; 432 + archives.all = fetchurl { 433 + 434 + url = 435 + https://dl.google.com/android/repository/sys-img/android/x86_64-21_r05.zip; 436 + sha1 = "9078a095825a69e5e215713f0866c83cef65a342"; 437 + 438 + }; 439 + }; 440 + 441 + 442 + "22".default."x86_64" = { 443 + name = "system-image-22-default-x86_64"; 444 + path = "system-images/android-22/default/x86_64"; 445 + revision = "22-default-x86_64"; 446 + displayName = "Intel x86 Atom_64 System Image"; 447 + archives.all = fetchurl { 448 + 449 + url = 450 + https://dl.google.com/android/repository/sys-img/android/x86_64-22_r06.zip; 451 + sha1 = "5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4"; 452 + 453 + }; 454 + }; 455 + 456 + 457 + "23".default."x86_64" = { 458 + name = "system-image-23-default-x86_64"; 459 + path = "system-images/android-23/default/x86_64"; 460 + revision = "23-default-x86_64"; 461 + displayName = "Intel x86 Atom_64 System Image"; 462 + archives.all = fetchurl { 463 + 464 + url = 465 + https://dl.google.com/android/repository/sys-img/android/x86_64-23_r10.zip; 466 + sha1 = "7cbc291483ca07dc67b71268c5f08a5755f50f51"; 467 + 468 + }; 469 + }; 470 + 471 + 472 + "24".default."x86_64" = { 473 + name = "system-image-24-default-x86_64"; 474 + path = "system-images/android-24/default/x86_64"; 475 + revision = "24-default-x86_64"; 476 + displayName = "Intel x86 Atom_64 System Image"; 477 + archives.all = fetchurl { 478 + 479 + url = 480 + https://dl.google.com/android/repository/sys-img/android/x86_64-24_r08.zip; 481 + sha1 = "f6559e1949a5879f31a9662f4f0e50ad60181684"; 482 + 483 + }; 484 + }; 485 + 486 + 487 + "25".default."x86_64" = { 488 + name = "system-image-25-default-x86_64"; 489 + path = "system-images/android-25/default/x86_64"; 490 + revision = "25-default-x86_64"; 491 + displayName = "Intel x86 Atom_64 System Image"; 492 + archives.all = fetchurl { 493 + 494 + url = 495 + https://dl.google.com/android/repository/sys-img/android/x86_64-25_r01.zip; 496 + sha1 = "7093d7b39216020226ff430a3b7b81c94d31ad37"; 497 + 498 + }; 499 + }; 500 + 501 + 502 + "26".default."x86_64" = { 503 + name = "system-image-26-default-x86_64"; 504 + path = "system-images/android-26/default/x86_64"; 505 + revision = "26-default-x86_64"; 506 + displayName = "Intel x86 Atom_64 System Image"; 507 + archives.all = fetchurl { 508 + 509 + url = 510 + https://dl.google.com/android/repository/sys-img/android/x86_64-26_r01.zip; 511 + sha1 = "432f149c048bffce7f9de526ec65b336daf7a0a3"; 512 + 513 + }; 514 + }; 515 + 516 + 517 + "27".default."x86_64" = { 518 + name = "system-image-27-default-x86_64"; 519 + path = "system-images/android-27/default/x86_64"; 520 + revision = "27-default-x86_64"; 521 + displayName = "Intel x86 Atom_64 System Image"; 522 + archives.all = fetchurl { 523 + 524 + url = 525 + https://dl.google.com/android/repository/sys-img/android/x86_64-27_r01.zip; 526 + sha1 = "2878261011a59ca3de29dc5b457a495fdb268d60"; 527 + 528 + }; 529 + }; 530 + 531 + 532 + "28".default."x86_64" = { 533 + name = "system-image-28-default-x86_64"; 534 + path = "system-images/android-28/default/x86_64"; 535 + revision = "28-default-x86_64"; 536 + displayName = "Intel x86 Atom_64 System Image"; 537 + archives.all = fetchurl { 538 + 539 + url = 540 + https://dl.google.com/android/repository/sys-img/android/x86_64-28_r04.zip; 541 + sha1 = "d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0"; 542 + 543 + }; 544 + }; 545 + 546 + } 547 +
+502
pkgs/development/mobile/androidenv/generated/system-images-google_apis.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + 7 + "10".google_apis."armeabi-v7a" = { 8 + name = "system-image-10-google_apis-armeabi-v7a"; 9 + path = "system-images/android-10/google_apis/armeabi-v7a"; 10 + revision = "10-google_apis-armeabi-v7a"; 11 + displayName = "Google APIs ARM EABI v7a System Image"; 12 + archives.all = fetchurl { 13 + 14 + url = 15 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-10_r05.zip; 16 + sha1 = "cb60221d4ff6686ae96560970d48d9aa60e80b3f"; 17 + 18 + }; 19 + }; 20 + 21 + 22 + "10".google_apis."x86" = { 23 + name = "system-image-10-google_apis-x86"; 24 + path = "system-images/android-10/google_apis/x86"; 25 + revision = "10-google_apis-x86"; 26 + displayName = "Google APIs Intel x86 Atom System Image"; 27 + archives.all = fetchurl { 28 + 29 + url = 30 + https://dl.google.com/android/repository/sys-img/google_apis/x86-10_r05.zip; 31 + sha1 = "b8e8a4ab26890c4a395fb796bf9cb7ceb51c880e"; 32 + 33 + }; 34 + }; 35 + 36 + 37 + "15".google_apis."armeabi-v7a" = { 38 + name = "system-image-15-google_apis-armeabi-v7a"; 39 + path = "system-images/android-15/google_apis/armeabi-v7a"; 40 + revision = "15-google_apis-armeabi-v7a"; 41 + displayName = "Google APIs ARM EABI v7a System Image"; 42 + archives.all = fetchurl { 43 + 44 + url = 45 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-15_r05.zip; 46 + sha1 = "1ec4e6f9014fcbe694511280f5b497aaf7dd750f"; 47 + 48 + }; 49 + }; 50 + 51 + 52 + "15".google_apis."x86" = { 53 + name = "system-image-15-google_apis-x86"; 54 + path = "system-images/android-15/google_apis/x86"; 55 + revision = "15-google_apis-x86"; 56 + displayName = "Google APIs Intel x86 Atom System Image"; 57 + archives.all = fetchurl { 58 + 59 + url = 60 + https://dl.google.com/android/repository/sys-img/google_apis/x86-15_r05.zip; 61 + sha1 = "f2b98baaf847ff5b82b82fdc6c396b229067307b"; 62 + 63 + }; 64 + }; 65 + 66 + 67 + "16".google_apis."x86" = { 68 + name = "system-image-16-google_apis-x86"; 69 + path = "system-images/android-16/google_apis/x86"; 70 + revision = "16-google_apis-x86"; 71 + displayName = "Google APIs Intel x86 Atom System Image"; 72 + archives.all = fetchurl { 73 + 74 + url = 75 + https://dl.google.com/android/repository/sys-img/google_apis/x86-16_r05.zip; 76 + sha1 = "7edc5c0836fa32f8d453788c002ca0ee1bc5a0a2"; 77 + 78 + }; 79 + }; 80 + 81 + 82 + "17".google_apis."armeabi-v7a" = { 83 + name = "system-image-17-google_apis-armeabi-v7a"; 84 + path = "system-images/android-17/google_apis/armeabi-v7a"; 85 + revision = "17-google_apis-armeabi-v7a"; 86 + displayName = "Google APIs ARM EABI v7a System Image"; 87 + archives.all = fetchurl { 88 + 89 + url = 90 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-17_r05.zip; 91 + sha1 = "c990f2a81c24a61f9f1da5d5d205f2924ce548ae"; 92 + 93 + }; 94 + }; 95 + 96 + 97 + "17".google_apis."x86" = { 98 + name = "system-image-17-google_apis-x86"; 99 + path = "system-images/android-17/google_apis/x86"; 100 + revision = "17-google_apis-x86"; 101 + displayName = "Google APIs Intel x86 Atom System Image"; 102 + archives.all = fetchurl { 103 + 104 + url = 105 + https://dl.google.com/android/repository/sys-img/google_apis/x86-17_r06.zip; 106 + sha1 = "7864c34faf0402b8923d8c6e609a5339f74cc8d6"; 107 + 108 + }; 109 + }; 110 + 111 + 112 + "18".google_apis."armeabi-v7a" = { 113 + name = "system-image-18-google_apis-armeabi-v7a"; 114 + path = "system-images/android-18/google_apis/armeabi-v7a"; 115 + revision = "18-google_apis-armeabi-v7a"; 116 + displayName = "Google APIs ARM EABI v7a System Image"; 117 + archives.all = fetchurl { 118 + 119 + url = 120 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-18_r05.zip; 121 + sha1 = "c4e69a96d4584f7e311e358fe4ad0e5d1bf1605b"; 122 + 123 + }; 124 + }; 125 + 126 + 127 + "18".google_apis."x86" = { 128 + name = "system-image-18-google_apis-x86"; 129 + path = "system-images/android-18/google_apis/x86"; 130 + revision = "18-google_apis-x86"; 131 + displayName = "Google APIs Intel x86 Atom System Image"; 132 + archives.all = fetchurl { 133 + 134 + url = 135 + https://dl.google.com/android/repository/sys-img/google_apis/x86-18_r05.zip; 136 + sha1 = "2b34741693eba9419cb6bf1a467596783234d37a"; 137 + 138 + }; 139 + }; 140 + 141 + 142 + "19".google_apis."x86" = { 143 + name = "system-image-19-google_apis-x86"; 144 + path = "system-images/android-19/google_apis/x86"; 145 + revision = "19-google_apis-x86"; 146 + displayName = "Google APIs Intel x86 Atom System Image"; 147 + archives.all = fetchurl { 148 + 149 + url = 150 + https://dl.google.com/android/repository/sys-img/google_apis/x86-19_r37.zip; 151 + sha1 = "f02473420a166b3df7821d8ae5a623524058b4b8"; 152 + 153 + }; 154 + }; 155 + 156 + 157 + "19".google_apis."armeabi-v7a" = { 158 + name = "system-image-19-google_apis-armeabi-v7a"; 159 + path = "system-images/android-19/google_apis/armeabi-v7a"; 160 + revision = "19-google_apis-armeabi-v7a"; 161 + displayName = "Google APIs ARM EABI v7a System Image"; 162 + archives.all = fetchurl { 163 + 164 + url = 165 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-19_r37.zip; 166 + sha1 = "b388072493ed010fe2ddf607c8c4239f54ce1a0b"; 167 + 168 + }; 169 + }; 170 + 171 + 172 + "21".google_apis."x86" = { 173 + name = "system-image-21-google_apis-x86"; 174 + path = "system-images/android-21/google_apis/x86"; 175 + revision = "21-google_apis-x86"; 176 + displayName = "Google APIs Intel x86 Atom System Image"; 177 + archives.all = fetchurl { 178 + 179 + url = 180 + https://dl.google.com/android/repository/sys-img/google_apis/x86-21_r29.zip; 181 + sha1 = "1f5ac49e0ae603b0bfeda0c94cd7e0b850b9b50e"; 182 + 183 + }; 184 + }; 185 + 186 + 187 + "21".google_apis."x86_64" = { 188 + name = "system-image-21-google_apis-x86_64"; 189 + path = "system-images/android-21/google_apis/x86_64"; 190 + revision = "21-google_apis-x86_64"; 191 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 192 + archives.all = fetchurl { 193 + 194 + url = 195 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-21_r29.zip; 196 + sha1 = "74ac387aec286fcee01259dcccd4762cbdb4b517"; 197 + 198 + }; 199 + }; 200 + 201 + 202 + "21".google_apis."armeabi-v7a" = { 203 + name = "system-image-21-google_apis-armeabi-v7a"; 204 + path = "system-images/android-21/google_apis/armeabi-v7a"; 205 + revision = "21-google_apis-armeabi-v7a"; 206 + displayName = "Google APIs ARM EABI v7a System Image"; 207 + archives.all = fetchurl { 208 + 209 + url = 210 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-21_r29.zip; 211 + sha1 = "1d0c428ac7f5eb49c7389ad0beb09f07cb989b45"; 212 + 213 + }; 214 + }; 215 + 216 + 217 + "22".google_apis."x86" = { 218 + name = "system-image-22-google_apis-x86"; 219 + path = "system-images/android-22/google_apis/x86"; 220 + revision = "22-google_apis-x86"; 221 + displayName = "Google APIs Intel x86 Atom System Image"; 222 + archives.all = fetchurl { 223 + 224 + url = 225 + https://dl.google.com/android/repository/sys-img/google_apis/x86-22_r23.zip; 226 + sha1 = "4ceda9ffd69d5b827a8cc2f56ccac62e72982b33"; 227 + 228 + }; 229 + }; 230 + 231 + 232 + "22".google_apis."armeabi-v7a" = { 233 + name = "system-image-22-google_apis-armeabi-v7a"; 234 + path = "system-images/android-22/google_apis/armeabi-v7a"; 235 + revision = "22-google_apis-armeabi-v7a"; 236 + displayName = "Google APIs ARM EABI v7a System Image"; 237 + archives.all = fetchurl { 238 + 239 + url = 240 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-22_r23.zip; 241 + sha1 = "0a11bdffa6132303baf87e4a531987a74d5f0792"; 242 + 243 + }; 244 + }; 245 + 246 + 247 + "22".google_apis."x86_64" = { 248 + name = "system-image-22-google_apis-x86_64"; 249 + path = "system-images/android-22/google_apis/x86_64"; 250 + revision = "22-google_apis-x86_64"; 251 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 252 + archives.all = fetchurl { 253 + 254 + url = 255 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-22_r23.zip; 256 + sha1 = "1dfee1c382574c18e3aa2bc2047793169f3ab125"; 257 + 258 + }; 259 + }; 260 + 261 + 262 + "23".google_apis."x86" = { 263 + name = "system-image-23-google_apis-x86"; 264 + path = "system-images/android-23/google_apis/x86"; 265 + revision = "23-google_apis-x86"; 266 + displayName = "Google APIs Intel x86 Atom System Image"; 267 + archives.all = fetchurl { 268 + 269 + url = 270 + https://dl.google.com/android/repository/sys-img/google_apis/x86-23_r30.zip; 271 + sha1 = "1b8fd61e7e7c76d8c05a41b19370edfb015ed240"; 272 + 273 + }; 274 + }; 275 + 276 + 277 + "23".google_apis."x86_64" = { 278 + name = "system-image-23-google_apis-x86_64"; 279 + path = "system-images/android-23/google_apis/x86_64"; 280 + revision = "23-google_apis-x86_64"; 281 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 282 + archives.all = fetchurl { 283 + 284 + url = 285 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-23_r30.zip; 286 + sha1 = "69a17c23c4e05e81a2820fe49884807fcebba546"; 287 + 288 + }; 289 + }; 290 + 291 + 292 + "23".google_apis."armeabi-v7a" = { 293 + name = "system-image-23-google_apis-armeabi-v7a"; 294 + path = "system-images/android-23/google_apis/armeabi-v7a"; 295 + revision = "23-google_apis-armeabi-v7a"; 296 + displayName = "Google APIs ARM EABI v7a System Image"; 297 + archives.all = fetchurl { 298 + 299 + url = 300 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-23_r30.zip; 301 + sha1 = "c3966e3a25623a915902d879f90f6d9253dbb619"; 302 + 303 + }; 304 + }; 305 + 306 + 307 + "24".google_apis."x86" = { 308 + name = "system-image-24-google_apis-x86"; 309 + path = "system-images/android-24/google_apis/x86"; 310 + revision = "24-google_apis-x86"; 311 + displayName = "Google APIs Intel x86 Atom System Image"; 312 + archives.all = fetchurl { 313 + 314 + url = 315 + https://dl.google.com/android/repository/sys-img/google_apis/x86-24_r24.zip; 316 + sha1 = "7a1adb4aa13946830763644d014fc9c6cc1f921d"; 317 + 318 + }; 319 + }; 320 + 321 + 322 + "24".google_apis."x86_64" = { 323 + name = "system-image-24-google_apis-x86_64"; 324 + path = "system-images/android-24/google_apis/x86_64"; 325 + revision = "24-google_apis-x86_64"; 326 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 327 + archives.all = fetchurl { 328 + 329 + url = 330 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-24_r24.zip; 331 + sha1 = "53b26e8868c7cd27dda31c71ee2bcf999d6b9ce2"; 332 + 333 + }; 334 + }; 335 + 336 + 337 + "24".google_apis."armeabi-v7a" = { 338 + name = "system-image-24-google_apis-armeabi-v7a"; 339 + path = "system-images/android-24/google_apis/armeabi-v7a"; 340 + revision = "24-google_apis-armeabi-v7a"; 341 + displayName = "Google APIs ARM EABI v7a System Image"; 342 + archives.all = fetchurl { 343 + 344 + url = 345 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-24_r24.zip; 346 + sha1 = "85068d55673bbf9417db8d70107ceed0952b5a28"; 347 + 348 + }; 349 + }; 350 + 351 + 352 + "24".google_apis."arm64-v8a" = { 353 + name = "system-image-24-google_apis-arm64-v8a"; 354 + path = "system-images/android-24/google_apis/arm64-v8a"; 355 + revision = "24-google_apis-arm64-v8a"; 356 + displayName = "Google APIs ARM 64 v8a System Image"; 357 + archives.all = fetchurl { 358 + 359 + url = 360 + https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-24_r24.zip; 361 + sha1 = "93ab33d90fcdbb30ca2e927cd3eea447e933dfd9"; 362 + 363 + }; 364 + }; 365 + 366 + 367 + "25".google_apis."x86" = { 368 + name = "system-image-25-google_apis-x86"; 369 + path = "system-images/android-25/google_apis/x86"; 370 + revision = "25-google_apis-x86"; 371 + displayName = "Google APIs Intel x86 Atom System Image"; 372 + archives.all = fetchurl { 373 + 374 + url = 375 + https://dl.google.com/android/repository/sys-img/google_apis/x86-25_r15.zip; 376 + sha1 = "5948473077341265a0b21a53a7e0afc2f980187c"; 377 + 378 + }; 379 + }; 380 + 381 + 382 + "25".google_apis."x86_64" = { 383 + name = "system-image-25-google_apis-x86_64"; 384 + path = "system-images/android-25/google_apis/x86_64"; 385 + revision = "25-google_apis-x86_64"; 386 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 387 + archives.all = fetchurl { 388 + 389 + url = 390 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-25_r15.zip; 391 + sha1 = "5a81fc218a7fe82cc6af01f7fae54a8000900443"; 392 + 393 + }; 394 + }; 395 + 396 + 397 + "25".google_apis."armeabi-v7a" = { 398 + name = "system-image-25-google_apis-armeabi-v7a"; 399 + path = "system-images/android-25/google_apis/armeabi-v7a"; 400 + revision = "25-google_apis-armeabi-v7a"; 401 + displayName = "Google APIs ARM EABI v7a System Image"; 402 + archives.all = fetchurl { 403 + 404 + url = 405 + https://dl.google.com/android/repository/sys-img/google_apis/armeabi-v7a-25_r15.zip; 406 + sha1 = "813e25f9a5f6d775670ed6c5e67a39bffa1411bf"; 407 + 408 + }; 409 + }; 410 + 411 + 412 + "25".google_apis."arm64-v8a" = { 413 + name = "system-image-25-google_apis-arm64-v8a"; 414 + path = "system-images/android-25/google_apis/arm64-v8a"; 415 + revision = "25-google_apis-arm64-v8a"; 416 + displayName = "Google APIs ARM 64 v8a System Image"; 417 + archives.all = fetchurl { 418 + 419 + url = 420 + https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-25_r15.zip; 421 + sha1 = "c3049e32f031140757f71acb5b8f0179e6f27303"; 422 + 423 + }; 424 + }; 425 + 426 + 427 + "26".google_apis."x86" = { 428 + name = "system-image-26-google_apis-x86"; 429 + path = "system-images/android-26/google_apis/x86"; 430 + revision = "26-google_apis-x86"; 431 + displayName = "Google APIs Intel x86 Atom System Image"; 432 + archives.all = fetchurl { 433 + 434 + url = 435 + https://dl.google.com/android/repository/sys-img/google_apis/x86-26_r12.zip; 436 + sha1 = "167c83bcfd87127c7376ce986b34701f74fe87ff"; 437 + 438 + }; 439 + }; 440 + 441 + 442 + "26".google_apis."x86_64" = { 443 + name = "system-image-26-google_apis-x86_64"; 444 + path = "system-images/android-26/google_apis/x86_64"; 445 + revision = "26-google_apis-x86_64"; 446 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 447 + archives.all = fetchurl { 448 + 449 + url = 450 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-26_r12.zip; 451 + sha1 = "fcd46121c3486e2a759d0707c015e0b12bbab9db"; 452 + 453 + }; 454 + }; 455 + 456 + 457 + "27".google_apis."x86" = { 458 + name = "system-image-27-google_apis-x86"; 459 + path = "system-images/android-27/google_apis/x86"; 460 + revision = "27-google_apis-x86"; 461 + displayName = "Google APIs Intel x86 Atom System Image"; 462 + archives.all = fetchurl { 463 + 464 + url = 465 + https://dl.google.com/android/repository/sys-img/google_apis/x86-27_r08.zip; 466 + sha1 = "623ee2638713b7dfde8044c91280c2afad5a1ade"; 467 + 468 + }; 469 + }; 470 + 471 + 472 + "28".google_apis."x86" = { 473 + name = "system-image-28-google_apis-x86"; 474 + path = "system-images/android-28/google_apis/x86"; 475 + revision = "28-google_apis-x86"; 476 + displayName = "Google APIs Intel x86 Atom System Image"; 477 + archives.all = fetchurl { 478 + 479 + url = 480 + https://dl.google.com/android/repository/sys-img/google_apis/x86-28_r07.zip; 481 + sha1 = "fe5d58355545ae82b0e6a55adc1d41573ac7dec1"; 482 + 483 + }; 484 + }; 485 + 486 + 487 + "28".google_apis."x86_64" = { 488 + name = "system-image-28-google_apis-x86_64"; 489 + path = "system-images/android-28/google_apis/x86_64"; 490 + revision = "28-google_apis-x86_64"; 491 + displayName = "Google APIs Intel x86 Atom_64 System Image"; 492 + archives.all = fetchurl { 493 + 494 + url = 495 + https://dl.google.com/android/repository/sys-img/google_apis/x86_64-28_r07.zip; 496 + sha1 = "068468683a56725326f741f75b6913ee1e7955ff"; 497 + 498 + }; 499 + }; 500 + 501 + } 502 +
+97
pkgs/development/mobile/androidenv/generated/system-images-google_apis_playstore.nix
··· 1 + 2 + {fetchurl}: 3 + 4 + { 5 + 6 + 7 + "24".google_apis_playstore."x86" = { 8 + name = "system-image-24-google_apis_playstore-x86"; 9 + path = "system-images/android-24/google_apis_playstore/x86"; 10 + revision = "24-google_apis_playstore-x86"; 11 + displayName = "Google Play Intel x86 Atom System Image"; 12 + archives.all = fetchurl { 13 + 14 + url = 15 + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-24_r19.zip; 16 + sha1 = "b52e9593ffdde65c1a0970256a32e8967c89cc22"; 17 + 18 + }; 19 + }; 20 + 21 + 22 + "25".google_apis_playstore."x86" = { 23 + name = "system-image-25-google_apis_playstore-x86"; 24 + path = "system-images/android-25/google_apis_playstore/x86"; 25 + revision = "25-google_apis_playstore-x86"; 26 + displayName = "Google Play Intel x86 Atom System Image"; 27 + archives.all = fetchurl { 28 + 29 + url = 30 + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-25_r09.zip; 31 + sha1 = "6f6668954f7fd52f896fe7528aa122028c9b026c"; 32 + 33 + }; 34 + }; 35 + 36 + 37 + "26".google_apis_playstore."x86" = { 38 + name = "system-image-26-google_apis_playstore-x86"; 39 + path = "system-images/android-26/google_apis_playstore/x86"; 40 + revision = "26-google_apis_playstore-x86"; 41 + displayName = "Google Play Intel x86 Atom System Image"; 42 + archives.all = fetchurl { 43 + 44 + url = 45 + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-26_r07.zip; 46 + sha1 = "2c8bee7b97a309f099941532e63c42a7d4a06e19"; 47 + 48 + }; 49 + }; 50 + 51 + 52 + "27".google_apis_playstore."x86" = { 53 + name = "system-image-27-google_apis_playstore-x86"; 54 + path = "system-images/android-27/google_apis_playstore/x86"; 55 + revision = "27-google_apis_playstore-x86"; 56 + displayName = "Google Play Intel x86 Atom System Image"; 57 + archives.all = fetchurl { 58 + 59 + url = 60 + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-27_r03.zip; 61 + sha1 = "eb5a944ceb691ca0648d0a6f0d93893a47223b5d"; 62 + 63 + }; 64 + }; 65 + 66 + 67 + "28".google_apis_playstore."x86" = { 68 + name = "system-image-28-google_apis_playstore-x86"; 69 + path = "system-images/android-28/google_apis_playstore/x86"; 70 + revision = "28-google_apis_playstore-x86"; 71 + displayName = "Google Play Intel x86 Atom System Image"; 72 + archives.all = fetchurl { 73 + 74 + url = 75 + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86-28_r05.zip; 76 + sha1 = "4c570d259e93b0b27f97bad1aca2ac47f1e9b51a"; 77 + 78 + }; 79 + }; 80 + 81 + 82 + "28".google_apis_playstore."x86_64" = { 83 + name = "system-image-28-google_apis_playstore-x86_64"; 84 + path = "system-images/android-28/google_apis_playstore/x86_64"; 85 + revision = "28-google_apis_playstore-x86_64"; 86 + displayName = "Google Play Intel x86 Atom_64 System Image"; 87 + archives.all = fetchurl { 88 + 89 + url = 90 + https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-28_r05.zip; 91 + sha1 = "5f6b238e4c7de41fd2a1c66841093bcf517255a1"; 92 + 93 + }; 94 + }; 95 + 96 + } 97 +
+12
pkgs/development/mobile/androidenv/lldb.nix
··· 1 + {deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs}: 2 + 3 + deployAndroidPackage { 4 + inherit package os; 5 + buildInputs = [ autoPatchelfHook ] 6 + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.zlib pkgs.openssl.out pkgs.ncurses5 ]; 7 + patchInstructions = lib.optionalString (os == "linux") '' 8 + addAutoPatchelfSearchPath $packageBaseDir/lib 9 + autoPatchelf $packageBaseDir/lib 10 + autoPatchelf $packageBaseDir/bin 11 + ''; 12 + }
-13
pkgs/development/mobile/androidenv/make-standalone-toolchain_r10e.patch
··· 1 - diff -ru android-ndk-r10c.old/build/tools/make-standalone-toolchain.sh android-ndk-r10c/build/tools/make-standalone-toolchain.sh 2 - --- android-ndk-r10c.old/build/tools/make-standalone-toolchain.sh 2014-10-16 03:46:32.000000000 +0200 3 - +++ android-ndk-r10c/build/tools/make-standalone-toolchain.sh 2014-10-24 23:46:22.544928306 +0200 4 - @@ -310,6 +310,9 @@ 5 - # Now copy the GCC toolchain prebuilt binaries 6 - run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR" 7 - 8 - +# Making it writable again 9 - +chmod -R +w "$TMPDIR" 10 - + 11 - # Replace soft-link mcld by real file 12 - ALL_LDS=`find $TMPDIR -name "*mcld"` 13 - for LD in $ALL_LDS; do
-13
pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch
··· 1 - diff -ru android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh android-ndk-r8e/build/tools/make-standalone-toolchain.sh 2 - --- android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh 2014-10-16 03:46:32.000000000 +0200 3 - +++ android-ndk-r8e/build/tools/make-standalone-toolchain.sh 2014-10-24 23:46:22.544928306 +0200 4 - @@ -194,6 +194,9 @@ 5 - # Now copy the GCC toolchain prebuilt binaries 6 - run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR" 7 - 8 - +# Making it writable again 9 - +chmod -R +w "$TMPDIR" 10 - + 11 - if [ -n "$LLVM_VERSION" ]; then 12 - # Copy the clang/llvm toolchain prebuilt binaries 13 - run copy_directory "$LLVM_TOOLCHAIN_PATH" "$TMPDIR"
-119
pkgs/development/mobile/androidenv/make_standalone_toolchain.py_16b.patch
··· 1 - diff --git a/build/tools/make_standalone_toolchain.py b/build/tools/make_standalone_toolchain.py 2 - index a6ae8448..2739912e 100755 3 - --- a/build/tools/make_standalone_toolchain.py 4 - +++ b/build/tools/make_standalone_toolchain.py 5 - @@ -398,7 +398,9 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 6 - sysroot_path, stl, host_tag): 7 - """Create a standalone toolchain.""" 8 - copy_directory_contents(gcc_path, install_path) 9 - + os.system('chmod -R +w "{}"'.format(install_path)) 10 - copy_directory_contents(clang_path, install_path) 11 - + os.system('chmod -R +w "{}"'.format(install_path)) 12 - triple = get_triple(arch) 13 - make_clang_scripts( 14 - install_path, triple, api, host_tag.startswith('windows')) 15 - @@ -406,23 +408,28 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 16 - sysroot = os.path.join(NDK_DIR, 'sysroot') 17 - install_sysroot = os.path.join(install_path, 'sysroot') 18 - shutil.copytree(sysroot, install_sysroot) 19 - + os.system('chmod -R +w "{}"'.format(install_path)) 20 - 21 - arch_headers = os.path.join(sysroot, 'usr/include', triple) 22 - copy_directory_contents( 23 - arch_headers, os.path.join(install_sysroot, 'usr/include')) 24 - + os.system('chmod -R +w "{}"'.format(install_path)) 25 - 26 - lib_path = os.path.join(sysroot_path, 'usr/lib') 27 - lib_install = os.path.join(install_sysroot, 'usr/lib') 28 - if os.path.exists(lib_path): 29 - shutil.copytree(lib_path, lib_install) 30 - + os.system('chmod -R +w "{}"'.format(install_path)) 31 - 32 - lib64_path = os.path.join(sysroot_path, 'usr/lib64') 33 - lib64_install = os.path.join(install_sysroot, 'usr/lib64') 34 - if os.path.exists(lib64_path): 35 - shutil.copytree(lib64_path, lib64_install) 36 - + os.system('chmod -R +w "{}"'.format(install_path)) 37 - 38 - prebuilt_path = os.path.join(NDK_DIR, 'prebuilt', host_tag) 39 - copy_directory_contents(prebuilt_path, install_path) 40 - + os.system('chmod -R +w "{}"'.format(install_path)) 41 - 42 - toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple) 43 - dirs = os.listdir(toolchain_lib_dir) 44 - @@ -444,29 +451,37 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 45 - if stl == 'gnustl': 46 - gnustl_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/gnu-libstdc++/4.9') 47 - shutil.copytree(os.path.join(gnustl_dir, 'include'), cxx_headers) 48 - + os.system('chmod -R +w "{}"'.format(install_path)) 49 - 50 - for abi in get_abis(arch): 51 - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, triple, 52 - abi) 53 - + os.system('chmod -R +w "{}"'.format(install_path)) 54 - copy_gnustl_libs(gnustl_dir, install_path, triple, abi) 55 - + os.system('chmod -R +w "{}"'.format(install_path)) 56 - if arch == 'arm': 57 - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, 58 - triple, abi, thumb=True) 59 - + os.system('chmod -R +w "{}"'.format(install_path)) 60 - copy_gnustl_libs(gnustl_dir, install_path, triple, abi, 61 - thumb=True) 62 - + os.system('chmod -R +w "{}"'.format(install_path)) 63 - elif stl == 'libc++': 64 - libcxx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++') 65 - libcxxabi_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++abi') 66 - support_dir = os.path.join(NDK_DIR, 'sources/android/support') 67 - copy_directory_contents(os.path.join(libcxx_dir, 'include'), 68 - cxx_headers) 69 - + os.system('chmod -R +w "{}"'.format(install_path)) 70 - copy_directory_contents(os.path.join(support_dir, 'include'), 71 - support_headers) 72 - + os.system('chmod -R +w "{}"'.format(install_path)) 73 - 74 - # I have no idea why we need this, but the old one does it too. 75 - copy_directory_contents( 76 - os.path.join(libcxxabi_dir, 'include'), 77 - os.path.join(install_path, 'include/llvm-libc++abi/include')) 78 - + os.system('chmod -R +w "{}"'.format(install_path)) 79 - 80 - headers = [ 81 - 'cxxabi.h', 82 - @@ -482,21 +497,25 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 83 - dest_libdir = get_dest_libdir(install_path, triple, abi) 84 - include_libunwind = arch == 'arm' 85 - copy_libcxx_libs(src_libdir, dest_libdir, include_libunwind) 86 - + os.system('chmod -R +w "{}"'.format(install_path)) 87 - if arch == 'arm': 88 - thumb_libdir = os.path.join(dest_libdir, 'thumb') 89 - copy_libcxx_libs(src_libdir, thumb_libdir, include_libunwind) 90 - + os.system('chmod -R +w "{}"'.format(install_path)) 91 - elif stl == 'stlport': 92 - stlport_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/stlport') 93 - gabixx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/gabi++') 94 - 95 - copy_directory_contents( 96 - os.path.join(stlport_dir, 'stlport'), cxx_headers) 97 - + os.system('chmod -R +w "{}"'.format(install_path)) 98 - 99 - # Same as for libc++. Not sure why we have this extra directory, but 100 - # keep the cruft for diff. 101 - copy_directory_contents( 102 - os.path.join(gabixx_dir, 'include'), 103 - os.path.join(install_path, 'include/gabi++/include')) 104 - + os.system('chmod -R +w "{}"'.format(install_path)) 105 - 106 - headers = [ 107 - 'cxxabi.h', 108 - @@ -512,9 +531,11 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 109 - 110 - for abi in get_abis(arch): 111 - copy_stlport_libs(stlport_dir, install_path, triple, abi) 112 - + os.system('chmod -R +w "{}"'.format(install_path)) 113 - if arch == 'arm': 114 - copy_stlport_libs(stlport_dir, install_path, triple, abi, 115 - thumb=True) 116 - + os.system('chmod -R +w "{}"'.format(install_path)) 117 - else: 118 - raise ValueError(stl) 119 -
-119
pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch
··· 1 - diff --git a/build/tools/make_standalone_toolchain.py b/build/tools/make_standalone_toolchain.py 2 - index daba3351..424b7fef 100755 3 - --- a/build/tools/make_standalone_toolchain.py 4 - +++ b/build/tools/make_standalone_toolchain.py 5 - @@ -421,7 +421,9 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 6 - platforms_path, stl, host_tag): 7 - """Create a standalone toolchain.""" 8 - copy_directory_contents(gcc_path, install_path) 9 - + os.system('chmod -R +w "{}"'.format(install_path)) 10 - copy_directory_contents(clang_path, install_path) 11 - + os.system('chmod -R +w "{}"'.format(install_path)) 12 - triple = get_triple(arch) 13 - make_clang_scripts( 14 - install_path, triple, api, host_tag.startswith('windows')) 15 - @@ -432,9 +434,11 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 16 - install_headers = os.path.join(install_sysroot, 'usr/include') 17 - os.makedirs(os.path.dirname(install_headers)) 18 - shutil.copytree(headers, install_headers) 19 - + os.system('chmod -R +w "{}"'.format(install_path)) 20 - 21 - arch_headers = os.path.join(sysroot, 'usr/include', triple) 22 - copy_directory_contents(arch_headers, os.path.join(install_headers)) 23 - + os.system('chmod -R +w "{}"'.format(install_path)) 24 - 25 - for lib_suffix in ('', '64'): 26 - lib_path = os.path.join(platforms_path, 'usr/lib{}'.format(lib_suffix)) 27 - @@ -442,20 +446,24 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 28 - install_sysroot, 'usr/lib{}'.format(lib_suffix)) 29 - if os.path.exists(lib_path): 30 - shutil.copytree(lib_path, lib_install) 31 - + os.system('chmod -R +w "{}"'.format(install_path)) 32 - 33 - static_lib_path = os.path.join(sysroot, 'usr/lib', triple) 34 - static_lib_install = os.path.join(install_sysroot, 'usr/lib') 35 - if arch == 'x86_64': 36 - static_lib_install += '64' 37 - copy_directory_contents(static_lib_path, static_lib_install) 38 - + os.system('chmod -R +w "{}"'.format(install_path)) 39 - 40 - prebuilt_path = os.path.join(NDK_DIR, 'prebuilt', host_tag) 41 - copy_directory_contents(prebuilt_path, install_path) 42 - + os.system('chmod -R +w "{}"'.format(install_path)) 43 - 44 - gdbserver_path = os.path.join( 45 - NDK_DIR, 'prebuilt', 'android-' + arch, 'gdbserver') 46 - gdbserver_install = os.path.join(install_path, 'share', 'gdbserver') 47 - shutil.copytree(gdbserver_path, gdbserver_install) 48 - + os.system('chmod -R +w "{}"'.format(install_path)) 49 - 50 - toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple) 51 - dirs = os.listdir(toolchain_lib_dir) 52 - @@ -481,26 +489,33 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 53 - for abi in get_abis(arch): 54 - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, triple, 55 - abi) 56 - + os.system('chmod -R +w "{}"'.format(install_path)) 57 - copy_gnustl_libs(gnustl_dir, install_path, triple, abi) 58 - + os.system('chmod -R +w "{}"'.format(install_path)) 59 - if arch == 'arm': 60 - copy_gnustl_abi_headers(gnustl_dir, install_path, gcc_ver, 61 - triple, abi, thumb=True) 62 - + os.system('chmod -R +w "{}"'.format(install_path)) 63 - copy_gnustl_libs(gnustl_dir, install_path, triple, abi, 64 - thumb=True) 65 - + os.system('chmod -R +w "{}"'.format(install_path)) 66 - elif stl == 'libc++': 67 - libcxx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++') 68 - libcxxabi_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/llvm-libc++abi') 69 - copy_directory_contents(os.path.join(libcxx_dir, 'include'), 70 - cxx_headers) 71 - + os.system('chmod -R +w "{}"'.format(install_path)) 72 - if api < 21: 73 - support_dir = os.path.join(NDK_DIR, 'sources/android/support') 74 - copy_directory_contents(os.path.join(support_dir, 'include'), 75 - support_headers) 76 - + os.system('chmod -R +w "{}"'.format(install_path)) 77 - 78 - # I have no idea why we need this, but the old one does it too. 79 - copy_directory_contents( 80 - os.path.join(libcxxabi_dir, 'include'), 81 - os.path.join(install_path, 'include/llvm-libc++abi/include')) 82 - + os.system('chmod -R +w "{}"'.format(install_path)) 83 - 84 - headers = [ 85 - 'cxxabi.h', 86 - @@ -515,21 +530,25 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 87 - src_libdir = get_src_libdir(libcxx_dir, abi) 88 - dest_libdir = get_dest_libdir(install_path, triple, abi) 89 - copy_libcxx_libs(src_libdir, dest_libdir, abi, api) 90 - + os.system('chmod -R +w "{}"'.format(install_path)) 91 - if arch == 'arm': 92 - thumb_libdir = os.path.join(dest_libdir, 'thumb') 93 - copy_libcxx_libs(src_libdir, thumb_libdir, abi, api) 94 - + os.system('chmod -R +w "{}"'.format(install_path)) 95 - elif stl == 'stlport': 96 - stlport_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/stlport') 97 - gabixx_dir = os.path.join(NDK_DIR, 'sources/cxx-stl/gabi++') 98 - 99 - copy_directory_contents( 100 - os.path.join(stlport_dir, 'stlport'), cxx_headers) 101 - + os.system('chmod -R +w "{}"'.format(install_path)) 102 - 103 - # Same as for libc++. Not sure why we have this extra directory, but 104 - # keep the cruft for diff. 105 - copy_directory_contents( 106 - os.path.join(gabixx_dir, 'include'), 107 - os.path.join(install_path, 'include/gabi++/include')) 108 - + os.system('chmod -R +w "{}"'.format(install_path)) 109 - 110 - headers = [ 111 - 'cxxabi.h', 112 - @@ -548,6 +567,7 @@ def create_toolchain(install_path, arch, api, gcc_path, clang_path, 113 - if arch == 'arm': 114 - copy_stlport_libs(stlport_dir, install_path, triple, abi, 115 - thumb=True) 116 - + os.system('chmod -R +w "{}"'.format(install_path)) 117 - else: 118 - raise ValueError(stl) 119 -
+50
pkgs/development/mobile/androidenv/ndk-bundle/default.nix
··· 1 + {deployAndroidPackage, lib, package, os, autoPatchelfHook, makeWrapper, pkgs, platform-tools}: 2 + 3 + let 4 + runtime_paths = lib.makeBinPath [ pkgs.coreutils pkgs.file pkgs.findutils pkgs.gawk pkgs.gnugrep pkgs.gnused pkgs.jdk pkgs.python3 pkgs.which ] + ":${platform-tools}/platform-tools"; 5 + in 6 + deployAndroidPackage { 7 + inherit package os; 8 + buildInputs = [ autoPatchelfHook makeWrapper ] 9 + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out ]; 10 + patchInstructions = lib.optionalString (os == "linux") '' 11 + patchShebangs . 12 + 13 + patch -p1 \ 14 + --no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} 15 + wrapProgram build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}" 16 + 17 + # TODO: allow this stuff 18 + rm -rf docs tests 19 + 20 + # Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling 21 + 22 + addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 23 + find toolchains -type d -name bin | while read dir 24 + do 25 + autoPatchelf "$dir" 26 + done 27 + 28 + # fix ineffective PROGDIR / MYNDKDIR determination 29 + for i in ndk-build 30 + do 31 + sed -i -e 's|^PROGDIR=`dirname $0`|PROGDIR=`dirname $(readlink -f $(which $0))`|' $i 32 + done 33 + 34 + # Patch executables 35 + autoPatchelf prebuilt/linux-x86_64 36 + 37 + # wrap 38 + for i in ndk-build 39 + do 40 + wrapProgram "$(pwd)/$i" --prefix PATH : "${runtime_paths}" 41 + done 42 + 43 + # make some executables available in PATH 44 + mkdir -p $out/bin 45 + for i in ndk-build 46 + do 47 + ln -sf ../../libexec/android-sdk/ndk-bundle/$i $out/bin/$i 48 + done 49 + ''; 50 + }
+44
pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch
··· 1 + diff -Naur android-ndk-r18b/build/tools/make_standalone_toolchain.py android-ndk-r18b-new/build/tools/make_standalone_toolchain.py 2 + --- android-ndk-r18b/build/tools/make_standalone_toolchain.py 2018-10-11 12:49:38.000000000 +0200 3 + +++ android-ndk-r18b-new/build/tools/make_standalone_toolchain.py 2018-11-20 21:55:52.689991420 +0100 4 + @@ -30,7 +30,7 @@ 5 + import sys 6 + import tempfile 7 + import textwrap 8 + - 9 + +import subprocess 10 + 11 + THIS_DIR = os.path.realpath(os.path.dirname(__file__)) 12 + NDK_DIR = os.path.realpath(os.path.join(THIS_DIR, '../..')) 13 + @@ -173,6 +173,7 @@ 14 + logger().debug('Copying %s', src_file) 15 + shutil.copy2(src_file, dst_dir) 16 + 17 + + subprocess.check_call(["chmod", "-R", "+w", dst]) 18 + 19 + def make_clang_scripts(install_dir, triple, api, windows): 20 + """Creates Clang wrapper scripts. 21 + @@ -365,6 +366,7 @@ 22 + install_headers = os.path.join(install_sysroot, 'usr/include') 23 + os.makedirs(os.path.dirname(install_headers)) 24 + shutil.copytree(headers, install_headers) 25 + + subprocess.check_call(["chmod", "-R", "+w", install_path]) 26 + 27 + arch_headers = os.path.join(sysroot, 'usr/include', triple) 28 + copy_directory_contents(arch_headers, os.path.join(install_headers)) 29 + @@ -375,6 +377,7 @@ 30 + install_sysroot, 'usr/lib{}'.format(lib_suffix)) 31 + if os.path.exists(lib_path): 32 + shutil.copytree(lib_path, lib_install) 33 + + subprocess.check_call(["chmod", "-R", "+w", install_path]) 34 + 35 + static_lib_path = os.path.join(sysroot, 'usr/lib', triple) 36 + static_lib_install = os.path.join(install_sysroot, 'usr/lib') 37 + @@ -389,6 +392,7 @@ 38 + NDK_DIR, 'prebuilt', 'android-' + arch, 'gdbserver') 39 + gdbserver_install = os.path.join(install_path, 'share', 'gdbserver') 40 + shutil.copytree(gdbserver_path, gdbserver_install) 41 + + subprocess.check_call(["chmod", "-R", "+w", install_path]) 42 + 43 + toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple) 44 + dirs = os.listdir(toolchain_lib_dir)
+12 -44
pkgs/development/mobile/androidenv/platform-tools.nix
··· 1 - { buildPackages, pkgs }: 2 - 3 - let 4 - inherit (buildPackages) fetchurl unzip; 5 - inherit (pkgs) stdenv zlib; 6 - in 7 - 8 - stdenv.mkDerivation rec { 9 - version = "28.0.1"; 10 - name = "android-platform-tools-r${version}"; 11 - src = if (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") 12 - then fetchurl { 13 - url = "https://dl.google.com/android/repository/platform-tools_r${version}-linux.zip"; 14 - sha256 = "14kkr9xib5drjjd0bclm0jn3f5xlmlg652mbv4xd83cv7a53a49y"; 15 - } 16 - else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchurl { 17 - url = "https://dl.google.com/android/repository/platform-tools_r${version}-darwin.zip"; 18 - sha256 = "117syrddq1haicwyjzd1p4pfphj0wldjs7w10fpk3n2b7yp37j1v"; 19 - } 20 - else throw "System ${stdenv.hostPlatform.system} not supported!"; 21 - 22 - buildCommand = '' 23 - mkdir -p $out 24 - cd $out 25 - unzip $src 26 - cd platform-tools 27 - 28 - ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") 29 - '' 30 - for i in adb dmtracedump e2fsdroid fastboot hprof-conv make_f2fs mke2fs sload_f2fs sqlite3 31 - do 32 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i 33 - patchelf --set-rpath ${stdenv.cc.cc.lib}/lib:`pwd`/lib64 $i 34 - done 1 + {deployAndroidPackage, lib, package, os, autoPatchelfHook, pkgs}: 35 2 36 - for i in etc1tool 37 - do 38 - patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i 39 - patchelf --set-rpath ${stdenv.cc.cc.lib}/lib:${zlib.out}/lib:`pwd`/lib64 $i 40 - done 41 - ''} 3 + deployAndroidPackage { 4 + inherit package os; 5 + buildInputs = [ autoPatchelfHook ] 6 + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.zlib pkgs.ncurses5 ]; 7 + patchInstructions = lib.optionalString (os == "linux") '' 8 + addAutoPatchelfSearchPath $packageBaseDir/lib64 9 + autoPatchelf --no-recurse $packageBaseDir/lib64 10 + autoPatchelf --no-recurse $packageBaseDir 42 11 43 12 mkdir -p $out/bin 44 - for i in adb fastboot 13 + cd $out/bin 14 + find $out/libexec/android-sdk/platform-tools -type f -executable -mindepth 1 -maxdepth 1 -not -name sqlite3 | while read i 45 15 do 46 - ln -sf $out/platform-tools/$i $out/bin/$i 16 + ln -s $i 47 17 done 48 18 ''; 49 - 50 - nativeBuildInputs = [ unzip ]; 51 19 }
-343
pkgs/development/mobile/androidenv/platforms-linux.nix
··· 1 - 2 - # This file is generated from generate-platforms.sh. DO NOT EDIT. 3 - # Execute generate-platforms.sh or fetch.sh to update the file. 4 - {stdenv, fetchurl, unzip}: 5 - 6 - let 7 - buildPlatform = args: 8 - stdenv.mkDerivation (args // { 9 - buildInputs = [ unzip ]; 10 - buildCommand = '' 11 - mkdir -p $out 12 - cd $out 13 - unzip $src 14 - ''; 15 - }); 16 - in 17 - { 18 - 19 - platform_2 = buildPlatform { 20 - name = "android-platform-1.1"; 21 - src = fetchurl { 22 - url = https://dl.google.com/android/repository/android-1.1_r1-linux.zip; 23 - sha1 = "c054d25c9b4c6251fa49c2f9c54336998679d3fe"; 24 - }; 25 - meta = { 26 - description = "Android SDK Platform 2"; 27 - homepage = http://developer.android.com/sdk/; 28 - }; 29 - }; 30 - 31 - platform_3 = buildPlatform { 32 - name = "android-platform-1.5"; 33 - src = fetchurl { 34 - url = https://dl.google.com/android/repository/android-1.5_r04-linux.zip; 35 - sha1 = "5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c"; 36 - }; 37 - meta = { 38 - description = "Android SDK Platform 3"; 39 - homepage = http://developer.android.com/sdk/; 40 - }; 41 - }; 42 - 43 - platform_4 = buildPlatform { 44 - name = "android-platform-1.6"; 45 - src = fetchurl { 46 - url = https://dl.google.com/android/repository/android-1.6_r03-linux.zip; 47 - sha1 = "483ed088e45bbdf3444baaf9250c8b02e5383cb0"; 48 - }; 49 - meta = { 50 - description = "Android SDK Platform 4"; 51 - homepage = http://developer.android.com/sdk/; 52 - }; 53 - }; 54 - 55 - platform_5 = buildPlatform { 56 - name = "android-platform-2.0"; 57 - src = fetchurl { 58 - url = https://dl.google.com/android/repository/android-2.0_r01-linux.zip; 59 - sha1 = "be9be6a99ca32875c96ec7f91160ca9fce7e3c7d"; 60 - }; 61 - meta = { 62 - description = "Android SDK Platform 5"; 63 - homepage = http://developer.android.com/sdk/; 64 - }; 65 - }; 66 - 67 - platform_6 = buildPlatform { 68 - name = "android-platform-2.0.1"; 69 - src = fetchurl { 70 - url = https://dl.google.com/android/repository/android-2.0.1_r01-linux.zip; 71 - sha1 = "ce2c971dce352aa28af06bda92a070116aa5ae1a"; 72 - }; 73 - meta = { 74 - description = "Android SDK Platform 6"; 75 - homepage = http://developer.android.com/sdk/; 76 - }; 77 - }; 78 - 79 - platform_7 = buildPlatform { 80 - name = "android-platform-2.1"; 81 - src = fetchurl { 82 - url = https://dl.google.com/android/repository/android-2.1_r03.zip; 83 - sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; 84 - }; 85 - meta = { 86 - description = "Android SDK Platform 7"; 87 - homepage = http://developer.android.com/sdk/; 88 - }; 89 - }; 90 - 91 - platform_8 = buildPlatform { 92 - name = "android-platform-2.2"; 93 - src = fetchurl { 94 - url = https://dl.google.com/android/repository/android-2.2_r03.zip; 95 - sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; 96 - }; 97 - meta = { 98 - description = "Android SDK Platform 8"; 99 - homepage = http://developer.android.com/sdk/; 100 - }; 101 - }; 102 - 103 - platform_9 = buildPlatform { 104 - name = "android-platform-2.3.1"; 105 - src = fetchurl { 106 - url = https://dl.google.com/android/repository/android-2.3.1_r02.zip; 107 - sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; 108 - }; 109 - meta = { 110 - description = "Android SDK Platform 9"; 111 - homepage = http://developer.android.com/sdk/; 112 - }; 113 - }; 114 - 115 - platform_10 = buildPlatform { 116 - name = "android-platform-2.3.3"; 117 - src = fetchurl { 118 - url = https://dl.google.com/android/repository/android-2.3.3_r02.zip; 119 - sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; 120 - }; 121 - meta = { 122 - description = "Android SDK Platform 10"; 123 - homepage = http://developer.android.com/sdk/; 124 - }; 125 - }; 126 - 127 - platform_11 = buildPlatform { 128 - name = "android-platform-3.0"; 129 - src = fetchurl { 130 - url = https://dl.google.com/android/repository/android-3.0_r02.zip; 131 - sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; 132 - }; 133 - meta = { 134 - description = "Android SDK Platform 11"; 135 - homepage = http://developer.android.com/sdk/; 136 - }; 137 - }; 138 - 139 - platform_12 = buildPlatform { 140 - name = "android-platform-3.1"; 141 - src = fetchurl { 142 - url = https://dl.google.com/android/repository/android-3.1_r03.zip; 143 - sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; 144 - }; 145 - meta = { 146 - description = "Android SDK Platform 12"; 147 - homepage = http://developer.android.com/sdk/; 148 - }; 149 - }; 150 - 151 - platform_13 = buildPlatform { 152 - name = "android-platform-3.2"; 153 - src = fetchurl { 154 - url = https://dl.google.com/android/repository/android-3.2_r01.zip; 155 - sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; 156 - }; 157 - meta = { 158 - description = "Android SDK Platform 13"; 159 - homepage = http://developer.android.com/sdk/; 160 - }; 161 - }; 162 - 163 - platform_14 = buildPlatform { 164 - name = "android-platform-4.0"; 165 - src = fetchurl { 166 - url = https://dl.google.com/android/repository/android-14_r04.zip; 167 - sha1 = "d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c"; 168 - }; 169 - meta = { 170 - description = "Android SDK Platform 14"; 171 - homepage = http://developer.android.com/sdk/; 172 - }; 173 - }; 174 - 175 - platform_15 = buildPlatform { 176 - name = "android-platform-4.0.3"; 177 - src = fetchurl { 178 - url = https://dl.google.com/android/repository/android-15_r05.zip; 179 - sha1 = "69ab4c443b37184b2883af1fd38cc20cbeffd0f3"; 180 - }; 181 - meta = { 182 - description = "Android SDK Platform 15"; 183 - homepage = http://developer.android.com/sdk/; 184 - }; 185 - }; 186 - 187 - platform_16 = buildPlatform { 188 - name = "android-platform-4.1.2"; 189 - src = fetchurl { 190 - url = https://dl.google.com/android/repository/android-16_r05.zip; 191 - sha1 = "12a5ce6235a76bc30f62c26bda1b680e336abd07"; 192 - }; 193 - meta = { 194 - description = "Android SDK Platform 16"; 195 - homepage = http://developer.android.com/sdk/; 196 - }; 197 - }; 198 - 199 - platform_17 = buildPlatform { 200 - name = "android-platform-4.2.2"; 201 - src = fetchurl { 202 - url = https://dl.google.com/android/repository/android-17_r03.zip; 203 - sha1 = "dbe14101c06e6cdb34e300393e64e64f8c92168a"; 204 - }; 205 - meta = { 206 - description = "Android SDK Platform 17"; 207 - homepage = http://developer.android.com/sdk/; 208 - }; 209 - }; 210 - 211 - platform_18 = buildPlatform { 212 - name = "android-platform-4.3.1"; 213 - src = fetchurl { 214 - url = https://dl.google.com/android/repository/android-18_r03.zip; 215 - sha1 = "e6b09b3505754cbbeb4a5622008b907262ee91cb"; 216 - }; 217 - meta = { 218 - description = "Android SDK Platform 18"; 219 - homepage = http://developer.android.com/sdk/; 220 - }; 221 - }; 222 - 223 - platform_19 = buildPlatform { 224 - name = "android-platform-4.4.2"; 225 - src = fetchurl { 226 - url = https://dl.google.com/android/repository/android-19_r04.zip; 227 - sha1 = "2ff20d89e68f2f5390981342e009db5a2d456aaa"; 228 - }; 229 - meta = { 230 - description = "Android SDK Platform 19"; 231 - homepage = http://developer.android.com/sdk/; 232 - }; 233 - }; 234 - 235 - platform_20 = buildPlatform { 236 - name = "android-platform-4.4W.2"; 237 - src = fetchurl { 238 - url = https://dl.google.com/android/repository/android-20_r02.zip; 239 - sha1 = "a9251f8a3f313ab05834a07a963000927637e01d"; 240 - }; 241 - meta = { 242 - description = "Android SDK Platform 20"; 243 - homepage = http://developer.android.com/sdk/; 244 - }; 245 - }; 246 - 247 - platform_21 = buildPlatform { 248 - name = "android-platform-5.0.1"; 249 - src = fetchurl { 250 - url = https://dl.google.com/android/repository/android-21_r02.zip; 251 - sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c"; 252 - }; 253 - meta = { 254 - description = "Android SDK Platform 21"; 255 - homepage = http://developer.android.com/sdk/; 256 - }; 257 - }; 258 - 259 - platform_22 = buildPlatform { 260 - name = "android-platform-5.1.1"; 261 - src = fetchurl { 262 - url = https://dl.google.com/android/repository/android-22_r02.zip; 263 - sha1 = "5d1bd10fea962b216a0dece1247070164760a9fc"; 264 - }; 265 - meta = { 266 - description = "Android SDK Platform 22"; 267 - homepage = http://developer.android.com/sdk/; 268 - }; 269 - }; 270 - 271 - platform_23 = buildPlatform { 272 - name = "android-platform-6.0"; 273 - src = fetchurl { 274 - url = https://dl.google.com/android/repository/platform-23_r03.zip; 275 - sha1 = "027fede3de6aa1649115bbd0bffff30ccd51c9a0"; 276 - }; 277 - meta = { 278 - description = "Android SDK Platform 23"; 279 - homepage = http://developer.android.com/sdk/; 280 - }; 281 - }; 282 - 283 - platform_24 = buildPlatform { 284 - name = "android-platform-7.0"; 285 - src = fetchurl { 286 - url = https://dl.google.com/android/repository/platform-24_r02.zip; 287 - sha1 = "8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee"; 288 - }; 289 - meta = { 290 - description = "Android SDK Platform 24"; 291 - homepage = http://developer.android.com/sdk/; 292 - }; 293 - }; 294 - 295 - platform_25 = buildPlatform { 296 - name = "android-platform-7.1.1"; 297 - src = fetchurl { 298 - url = https://dl.google.com/android/repository/platform-25_r03.zip; 299 - sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8"; 300 - }; 301 - meta = { 302 - description = "Android SDK Platform 25"; 303 - homepage = http://developer.android.com/sdk/; 304 - }; 305 - }; 306 - 307 - platform_26 = buildPlatform { 308 - name = "android-platform-8.0.0"; 309 - src = fetchurl { 310 - url = https://dl.google.com/android/repository/platform-26_r02.zip; 311 - sha1 = "e4ae5d7aa557a3c827135838ee400da8443ac4ef"; 312 - }; 313 - meta = { 314 - description = "Android SDK Platform 26"; 315 - homepage = http://developer.android.com/sdk/; 316 - }; 317 - }; 318 - 319 - platform_27 = buildPlatform { 320 - name = "android-platform-8.1.0"; 321 - src = fetchurl { 322 - url = https://dl.google.com/android/repository/platform-27_r03.zip; 323 - sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353"; 324 - }; 325 - meta = { 326 - description = "Android SDK Platform 27"; 327 - homepage = http://developer.android.com/sdk/; 328 - }; 329 - }; 330 - 331 - platform_28 = buildPlatform { 332 - name = "android-platform-9"; 333 - src = fetchurl { 334 - url = https://dl.google.com/android/repository/platform-28_r06.zip; 335 - sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6"; 336 - }; 337 - meta = { 338 - description = "Android SDK Platform 28"; 339 - homepage = http://developer.android.com/sdk/; 340 - }; 341 - }; 342 - 343 - }
-343
pkgs/development/mobile/androidenv/platforms-macosx.nix
··· 1 - 2 - # This file is generated from generate-platforms.sh. DO NOT EDIT. 3 - # Execute generate-platforms.sh or fetch.sh to update the file. 4 - {stdenv, fetchurl, unzip}: 5 - 6 - let 7 - buildPlatform = args: 8 - stdenv.mkDerivation (args // { 9 - buildInputs = [ unzip ]; 10 - buildCommand = '' 11 - mkdir -p $out 12 - cd $out 13 - unzip $src 14 - ''; 15 - }); 16 - in 17 - { 18 - 19 - platform_2 = buildPlatform { 20 - name = "android-platform-1.1"; 21 - src = fetchurl { 22 - url = https://dl.google.com/android/repository/android-1.1_r1-macosx.zip; 23 - sha1 = "e21dbcff45b7356657449ebb3c7e941be2bb5ebe"; 24 - }; 25 - meta = { 26 - description = "Android SDK Platform 2"; 27 - homepage = http://developer.android.com/sdk/; 28 - }; 29 - }; 30 - 31 - platform_3 = buildPlatform { 32 - name = "android-platform-1.5"; 33 - src = fetchurl { 34 - url = https://dl.google.com/android/repository/android-1.5_r04-macosx.zip; 35 - sha1 = "d3a67c2369afa48b6c3c7624de5031c262018d1e"; 36 - }; 37 - meta = { 38 - description = "Android SDK Platform 3"; 39 - homepage = http://developer.android.com/sdk/; 40 - }; 41 - }; 42 - 43 - platform_4 = buildPlatform { 44 - name = "android-platform-1.6"; 45 - src = fetchurl { 46 - url = https://dl.google.com/android/repository/android-1.6_r03-macosx.zip; 47 - sha1 = "bdafad44f5df9f127979bdb21a1fdd87ee3cd625"; 48 - }; 49 - meta = { 50 - description = "Android SDK Platform 4"; 51 - homepage = http://developer.android.com/sdk/; 52 - }; 53 - }; 54 - 55 - platform_5 = buildPlatform { 56 - name = "android-platform-2.0"; 57 - src = fetchurl { 58 - url = https://dl.google.com/android/repository/android-2.0_r01-macosx.zip; 59 - sha1 = "2a866d0870dbba18e0503cd41e5fae988a21b314"; 60 - }; 61 - meta = { 62 - description = "Android SDK Platform 5"; 63 - homepage = http://developer.android.com/sdk/; 64 - }; 65 - }; 66 - 67 - platform_6 = buildPlatform { 68 - name = "android-platform-2.0.1"; 69 - src = fetchurl { 70 - url = https://dl.google.com/android/repository/android-2.0.1_r01-macosx.zip; 71 - sha1 = "c3096f80d75a6fc8cb38ef8a18aec920e53d42c0"; 72 - }; 73 - meta = { 74 - description = "Android SDK Platform 6"; 75 - homepage = http://developer.android.com/sdk/; 76 - }; 77 - }; 78 - 79 - platform_7 = buildPlatform { 80 - name = "android-platform-2.1"; 81 - src = fetchurl { 82 - url = https://dl.google.com/android/repository/android-2.1_r03.zip; 83 - sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; 84 - }; 85 - meta = { 86 - description = "Android SDK Platform 7"; 87 - homepage = http://developer.android.com/sdk/; 88 - }; 89 - }; 90 - 91 - platform_8 = buildPlatform { 92 - name = "android-platform-2.2"; 93 - src = fetchurl { 94 - url = https://dl.google.com/android/repository/android-2.2_r03.zip; 95 - sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; 96 - }; 97 - meta = { 98 - description = "Android SDK Platform 8"; 99 - homepage = http://developer.android.com/sdk/; 100 - }; 101 - }; 102 - 103 - platform_9 = buildPlatform { 104 - name = "android-platform-2.3.1"; 105 - src = fetchurl { 106 - url = https://dl.google.com/android/repository/android-2.3.1_r02.zip; 107 - sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; 108 - }; 109 - meta = { 110 - description = "Android SDK Platform 9"; 111 - homepage = http://developer.android.com/sdk/; 112 - }; 113 - }; 114 - 115 - platform_10 = buildPlatform { 116 - name = "android-platform-2.3.3"; 117 - src = fetchurl { 118 - url = https://dl.google.com/android/repository/android-2.3.3_r02.zip; 119 - sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; 120 - }; 121 - meta = { 122 - description = "Android SDK Platform 10"; 123 - homepage = http://developer.android.com/sdk/; 124 - }; 125 - }; 126 - 127 - platform_11 = buildPlatform { 128 - name = "android-platform-3.0"; 129 - src = fetchurl { 130 - url = https://dl.google.com/android/repository/android-3.0_r02.zip; 131 - sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; 132 - }; 133 - meta = { 134 - description = "Android SDK Platform 11"; 135 - homepage = http://developer.android.com/sdk/; 136 - }; 137 - }; 138 - 139 - platform_12 = buildPlatform { 140 - name = "android-platform-3.1"; 141 - src = fetchurl { 142 - url = https://dl.google.com/android/repository/android-3.1_r03.zip; 143 - sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; 144 - }; 145 - meta = { 146 - description = "Android SDK Platform 12"; 147 - homepage = http://developer.android.com/sdk/; 148 - }; 149 - }; 150 - 151 - platform_13 = buildPlatform { 152 - name = "android-platform-3.2"; 153 - src = fetchurl { 154 - url = https://dl.google.com/android/repository/android-3.2_r01.zip; 155 - sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; 156 - }; 157 - meta = { 158 - description = "Android SDK Platform 13"; 159 - homepage = http://developer.android.com/sdk/; 160 - }; 161 - }; 162 - 163 - platform_14 = buildPlatform { 164 - name = "android-platform-4.0"; 165 - src = fetchurl { 166 - url = https://dl.google.com/android/repository/android-14_r04.zip; 167 - sha1 = "d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c"; 168 - }; 169 - meta = { 170 - description = "Android SDK Platform 14"; 171 - homepage = http://developer.android.com/sdk/; 172 - }; 173 - }; 174 - 175 - platform_15 = buildPlatform { 176 - name = "android-platform-4.0.3"; 177 - src = fetchurl { 178 - url = https://dl.google.com/android/repository/android-15_r05.zip; 179 - sha1 = "69ab4c443b37184b2883af1fd38cc20cbeffd0f3"; 180 - }; 181 - meta = { 182 - description = "Android SDK Platform 15"; 183 - homepage = http://developer.android.com/sdk/; 184 - }; 185 - }; 186 - 187 - platform_16 = buildPlatform { 188 - name = "android-platform-4.1.2"; 189 - src = fetchurl { 190 - url = https://dl.google.com/android/repository/android-16_r05.zip; 191 - sha1 = "12a5ce6235a76bc30f62c26bda1b680e336abd07"; 192 - }; 193 - meta = { 194 - description = "Android SDK Platform 16"; 195 - homepage = http://developer.android.com/sdk/; 196 - }; 197 - }; 198 - 199 - platform_17 = buildPlatform { 200 - name = "android-platform-4.2.2"; 201 - src = fetchurl { 202 - url = https://dl.google.com/android/repository/android-17_r03.zip; 203 - sha1 = "dbe14101c06e6cdb34e300393e64e64f8c92168a"; 204 - }; 205 - meta = { 206 - description = "Android SDK Platform 17"; 207 - homepage = http://developer.android.com/sdk/; 208 - }; 209 - }; 210 - 211 - platform_18 = buildPlatform { 212 - name = "android-platform-4.3.1"; 213 - src = fetchurl { 214 - url = https://dl.google.com/android/repository/android-18_r03.zip; 215 - sha1 = "e6b09b3505754cbbeb4a5622008b907262ee91cb"; 216 - }; 217 - meta = { 218 - description = "Android SDK Platform 18"; 219 - homepage = http://developer.android.com/sdk/; 220 - }; 221 - }; 222 - 223 - platform_19 = buildPlatform { 224 - name = "android-platform-4.4.2"; 225 - src = fetchurl { 226 - url = https://dl.google.com/android/repository/android-19_r04.zip; 227 - sha1 = "2ff20d89e68f2f5390981342e009db5a2d456aaa"; 228 - }; 229 - meta = { 230 - description = "Android SDK Platform 19"; 231 - homepage = http://developer.android.com/sdk/; 232 - }; 233 - }; 234 - 235 - platform_20 = buildPlatform { 236 - name = "android-platform-4.4W.2"; 237 - src = fetchurl { 238 - url = https://dl.google.com/android/repository/android-20_r02.zip; 239 - sha1 = "a9251f8a3f313ab05834a07a963000927637e01d"; 240 - }; 241 - meta = { 242 - description = "Android SDK Platform 20"; 243 - homepage = http://developer.android.com/sdk/; 244 - }; 245 - }; 246 - 247 - platform_21 = buildPlatform { 248 - name = "android-platform-5.0.1"; 249 - src = fetchurl { 250 - url = https://dl.google.com/android/repository/android-21_r02.zip; 251 - sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c"; 252 - }; 253 - meta = { 254 - description = "Android SDK Platform 21"; 255 - homepage = http://developer.android.com/sdk/; 256 - }; 257 - }; 258 - 259 - platform_22 = buildPlatform { 260 - name = "android-platform-5.1.1"; 261 - src = fetchurl { 262 - url = https://dl.google.com/android/repository/android-22_r02.zip; 263 - sha1 = "5d1bd10fea962b216a0dece1247070164760a9fc"; 264 - }; 265 - meta = { 266 - description = "Android SDK Platform 22"; 267 - homepage = http://developer.android.com/sdk/; 268 - }; 269 - }; 270 - 271 - platform_23 = buildPlatform { 272 - name = "android-platform-6.0"; 273 - src = fetchurl { 274 - url = https://dl.google.com/android/repository/platform-23_r03.zip; 275 - sha1 = "027fede3de6aa1649115bbd0bffff30ccd51c9a0"; 276 - }; 277 - meta = { 278 - description = "Android SDK Platform 23"; 279 - homepage = http://developer.android.com/sdk/; 280 - }; 281 - }; 282 - 283 - platform_24 = buildPlatform { 284 - name = "android-platform-7.0"; 285 - src = fetchurl { 286 - url = https://dl.google.com/android/repository/platform-24_r02.zip; 287 - sha1 = "8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee"; 288 - }; 289 - meta = { 290 - description = "Android SDK Platform 24"; 291 - homepage = http://developer.android.com/sdk/; 292 - }; 293 - }; 294 - 295 - platform_25 = buildPlatform { 296 - name = "android-platform-7.1.1"; 297 - src = fetchurl { 298 - url = https://dl.google.com/android/repository/platform-25_r03.zip; 299 - sha1 = "00c2c5765e8988504be10a1eb66ed71fcdbd7fe8"; 300 - }; 301 - meta = { 302 - description = "Android SDK Platform 25"; 303 - homepage = http://developer.android.com/sdk/; 304 - }; 305 - }; 306 - 307 - platform_26 = buildPlatform { 308 - name = "android-platform-8.0.0"; 309 - src = fetchurl { 310 - url = https://dl.google.com/android/repository/platform-26_r02.zip; 311 - sha1 = "e4ae5d7aa557a3c827135838ee400da8443ac4ef"; 312 - }; 313 - meta = { 314 - description = "Android SDK Platform 26"; 315 - homepage = http://developer.android.com/sdk/; 316 - }; 317 - }; 318 - 319 - platform_27 = buildPlatform { 320 - name = "android-platform-8.1.0"; 321 - src = fetchurl { 322 - url = https://dl.google.com/android/repository/platform-27_r03.zip; 323 - sha1 = "35f747e7e70b2d16e0e4246876be28d15ea1c353"; 324 - }; 325 - meta = { 326 - description = "Android SDK Platform 27"; 327 - homepage = http://developer.android.com/sdk/; 328 - }; 329 - }; 330 - 331 - platform_28 = buildPlatform { 332 - name = "android-platform-9"; 333 - src = fetchurl { 334 - url = https://dl.google.com/android/repository/platform-28_r06.zip; 335 - sha1 = "9a4e52b1d55bd2e24216b150aafae2503d3efba6"; 336 - }; 337 - meta = { 338 - description = "Android SDK Platform 28"; 339 - homepage = http://developer.android.com/sdk/; 340 - }; 341 - }; 342 - 343 - }
+27
pkgs/development/mobile/androidenv/querypackages.sh
··· 1 + #!/bin/sh -e 2 + 3 + if [ "$1" = "" ] 4 + then 5 + echo "Please select a package set: 'packages', 'addons', 'system-images'" >&2 6 + exit 1 7 + fi 8 + 9 + if [ "$2" = "" ] 10 + then 11 + echo "Please select a package group:" >&2 12 + ( cat <<EOF 13 + builtins.attrNames (import ./generated/$1.nix { 14 + fetchurl = null; 15 + }) 16 + EOF 17 + ) | nix-instantiate --eval-only - 18 + 19 + exit 1 20 + fi 21 + 22 + ( cat <<EOF 23 + builtins.attrNames (import ./generated/$1.nix { 24 + fetchurl = null; 25 + }).$2 26 + EOF 27 + ) | nix-instantiate --eval-only -
-2834
pkgs/development/mobile/androidenv/repository-11.xml
··· 1 - <?xml version="1.0" ?> 2 - <!-- 3 - * Copyright (C) 2009 The Android Open Source Project 4 - * 5 - * Licensed under the Apache License, version 2.0 (the "License"); 6 - * you may not use this file except in compliance with the License. 7 - * You may obtain a copy of the License at 8 - * 9 - * http://www.apache.org/licenses/LICENSE-2.0 10 - * 11 - * Unless required by applicable law or agreed to in writing, software 12 - * distributed under the License is distributed on an "AS IS" BASIS, 13 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 - * See the License for the specific language governing permissions and 15 - * limitations under the License. 16 - --> 17 - <sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 18 - <!--Generated on 2018-10-17 16:21:19.063228 with ADRT.--> 19 - <sdk:license id="android-sdk-license" type="text">Terms and Conditions 20 - 21 - This is the Android Software Development Kit License Agreement 22 - 23 - 1. Introduction 24 - 25 - 1.1 The Android Software Development Kit (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. 26 - 27 - 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 28 - 29 - 1.3 A &quot;compatible implementation&quot; means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS). 30 - 31 - 1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 32 - 33 - 34 - 2. Accepting the License Agreement 35 - 36 - 2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. 37 - 38 - 2.2 By clicking to accept, you hereby agree to the terms of the License Agreement. 39 - 40 - 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK. 41 - 42 - 2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. 43 - 44 - 45 - 3. SDK License from Google 46 - 47 - 3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. 48 - 49 - 3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose. 50 - 51 - 3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 52 - 53 - 3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. 54 - 55 - 3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. 56 - 57 - 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. 58 - 59 - 3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 60 - 61 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. 62 - 63 - 64 - 4. Use of the SDK by You 65 - 66 - 4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. 67 - 68 - 4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 69 - 70 - 4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. 71 - 72 - 4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. 73 - 74 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 75 - 76 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 77 - 78 - 5. Your Developer Credentials 79 - 80 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 81 - 82 - 6. Privacy and Information 83 - 84 - 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. 85 - 86 - 6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. 87 - 88 - 89 - 7. Third Party Applications 90 - 91 - 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 92 - 93 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 94 - 95 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties. 96 - 97 - 98 - 8. Using Android APIs 99 - 100 - 8.1 Google Data APIs 101 - 102 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 103 - 104 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 105 - 106 - 107 - 9. Terminating the License Agreement 108 - 109 - 9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. 110 - 111 - 9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. 112 - 113 - 9.3 Google may at any time, terminate the License Agreement with you if: 114 - (A) you have breached any provision of the License Agreement; or 115 - (B) Google is required to do so by law; or 116 - (C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or 117 - (D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. 118 - 119 - 9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. 120 - 121 - 122 - 10. DISCLAIMER OF WARRANTIES 123 - 124 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 125 - 126 - 10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. 127 - 128 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 129 - 130 - 131 - 11. LIMITATION OF LIABILITY 132 - 133 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 134 - 135 - 136 - 12. Indemnification 137 - 138 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement. 139 - 140 - 141 - 13. Changes to the License Agreement 142 - 143 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. 144 - 145 - 146 - 14. General Legal Terms 147 - 148 - 14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. 149 - 150 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 151 - 152 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. 153 - 154 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 155 - 156 - 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 157 - 158 - 14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party. 159 - 160 - 14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 161 - 162 - 163 - November 20, 2015</sdk:license> 164 - <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions. 165 - As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. 166 - 167 - This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;). 168 - 169 - 1. Introduction 170 - 171 - 1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. 172 - 173 - 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 174 - 175 - 1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 176 - 177 - 2. Accepting the License Agreement 178 - 179 - 2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. 180 - 181 - 2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. 182 - 183 - 2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. 184 - 185 - 2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. 186 - 187 - 3. Preview License from Google 188 - 189 - 3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. 190 - 191 - 3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 192 - 193 - 3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. 194 - 195 - 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. 196 - 197 - 3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. 198 - 199 - 3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. 200 - 201 - 3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 202 - 203 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. 204 - 205 - 4. Use of the Preview by You 206 - 207 - 4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. 208 - 209 - 4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 210 - 211 - 4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. 212 - 213 - 4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. 214 - 215 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 216 - 217 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 218 - 219 - 4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. 220 - 221 - 5. Your Developer Credentials 222 - 223 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 224 - 225 - 6. Privacy and Information 226 - 227 - 6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. 228 - 229 - 6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. 230 - 231 - 7. Third Party Applications 232 - 233 - 7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 234 - 235 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 236 - 237 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. 238 - 239 - 8. Using Google APIs 240 - 241 - 8.1 Google APIs 242 - 243 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 244 - 245 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 246 - 247 - 9. Terminating the License Agreement 248 - 249 - 9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. 250 - 251 - 9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. 252 - 253 - 9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. 254 - 255 - 9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: 256 - (A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and 257 - (B) Google issues a final release version of the Android SDK. 258 - 259 - 9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. 260 - 261 - 10. DISCLAIMERS 262 - 263 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 264 - 265 - 10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. 266 - 267 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 268 - 269 - 11. LIMITATION OF LIABILITY 270 - 271 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 272 - 273 - 12. Indemnification 274 - 275 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. 276 - 277 - 13. Changes to the License Agreement 278 - 279 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. 280 - 281 - 14. General Legal Terms 282 - 283 - 14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. 284 - 285 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 286 - 287 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. 288 - 289 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 290 - 291 - 14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 292 - 293 - 14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. 294 - 295 - 14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 296 - 297 - June 2014.</sdk:license> 298 - <sdk:ndk> 299 - <!--Generated from bid:5063045, branch:aosp-ndk-release-r18--> 300 - <sdk:description>NDK</sdk:description> 301 - <sdk:revision>18</sdk:revision> 302 - <sdk:archives> 303 - <sdk:archive> 304 - <!--Built on: Thu Oct 11 14:06:10 2018.--> 305 - <sdk:size>542911996</sdk:size> 306 - <sdk:checksum type="sha1">98cb9909aa8c2dab32db188bbdc3ac6207e09440</sdk:checksum> 307 - <sdk:url>android-ndk-r18b-darwin-x86_64.zip</sdk:url> 308 - <sdk:host-os>macosx</sdk:host-os> 309 - <sdk:host-bits>64</sdk:host-bits> 310 - </sdk:archive> 311 - <sdk:archive> 312 - <!--Built on: Thu Oct 11 14:06:26 2018.--> 313 - <sdk:size>557038702</sdk:size> 314 - <sdk:checksum type="sha1">500679655da3a86aecf67007e8ab230ea9b4dd7b</sdk:checksum> 315 - <sdk:url>android-ndk-r18b-linux-x86_64.zip</sdk:url> 316 - <sdk:host-os>linux</sdk:host-os> 317 - <sdk:host-bits>64</sdk:host-bits> 318 - </sdk:archive> 319 - <sdk:archive> 320 - <!--Built on: Thu Oct 11 14:05:37 2018.--> 321 - <sdk:size>504605336</sdk:size> 322 - <sdk:checksum type="sha1">4b8b6a4edc0fa967b429c1d6d25adf69acc28803</sdk:checksum> 323 - <sdk:url>android-ndk-r18b-windows-x86.zip</sdk:url> 324 - <sdk:host-os>windows</sdk:host-os> 325 - <sdk:host-bits>32</sdk:host-bits> 326 - </sdk:archive> 327 - <sdk:archive> 328 - <!--Built on: Thu Oct 11 14:05:53 2018.--> 329 - <sdk:size>522489470</sdk:size> 330 - <sdk:checksum type="sha1">6b6d4138aaaad7166679fdfa4780e177f95cee6f</sdk:checksum> 331 - <sdk:url>android-ndk-r18b-windows-x86_64.zip</sdk:url> 332 - <sdk:host-os>windows</sdk:host-os> 333 - <sdk:host-bits>64</sdk:host-bits> 334 - </sdk:archive> 335 - </sdk:archives> 336 - <sdk:uses-license ref="android-sdk-license"/> 337 - </sdk:ndk> 338 - <sdk:platform> 339 - <!--Generated from bid:4913185, branch:pi-sdk-release--> 340 - <sdk:version>9</sdk:version> 341 - <sdk:api-level>28</sdk:api-level> 342 - <sdk:description>Android SDK Platform 28</sdk:description> 343 - <sdk:revision>6</sdk:revision> 344 - <sdk:archives> 345 - <sdk:archive> 346 - <!--Built on: Wed Jul 25 20:19:20 2018.--> 347 - <sdk:size>75565084</sdk:size> 348 - <sdk:checksum type="sha1">9a4e52b1d55bd2e24216b150aafae2503d3efba6</sdk:checksum> 349 - <sdk:url>platform-28_r06.zip</sdk:url> 350 - </sdk:archive> 351 - </sdk:archives> 352 - <sdk:uses-license ref="android-sdk-license"/> 353 - <sdk:min-tools-rev> 354 - <sdk:major>22</sdk:major> 355 - </sdk:min-tools-rev> 356 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 357 - <sdk:layoutlib> 358 - <sdk:api>15</sdk:api> 359 - <sdk:revision>1</sdk:revision> 360 - </sdk:layoutlib> 361 - </sdk:platform> 362 - <sdk:platform> 363 - <!--Generated from bid:4774931, branch:git_oc-mr1-sdk-release--> 364 - <sdk:version>8.1.0</sdk:version> 365 - <sdk:api-level>27</sdk:api-level> 366 - <sdk:description>Android SDK Platform 27</sdk:description> 367 - <sdk:revision>3</sdk:revision> 368 - <sdk:archives> 369 - <sdk:archive> 370 - <!--Built on: Fri May 11 15:44:04 2018.--> 371 - <sdk:size>65635348</sdk:size> 372 - <sdk:checksum type="sha1">35f747e7e70b2d16e0e4246876be28d15ea1c353</sdk:checksum> 373 - <sdk:url>platform-27_r03.zip</sdk:url> 374 - </sdk:archive> 375 - </sdk:archives> 376 - <sdk:uses-license ref="android-sdk-license"/> 377 - <sdk:min-tools-rev> 378 - <sdk:major>22</sdk:major> 379 - </sdk:min-tools-rev> 380 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 381 - <sdk:layoutlib> 382 - <sdk:api>15</sdk:api> 383 - <sdk:revision>1</sdk:revision> 384 - </sdk:layoutlib> 385 - </sdk:platform> 386 - <sdk:platform> 387 - <!--Generated from bid:4187382, branch:git_oc-release--> 388 - <sdk:version>8.0.0</sdk:version> 389 - <sdk:api-level>26</sdk:api-level> 390 - <sdk:description>Android SDK Platform 26</sdk:description> 391 - <sdk:revision>2</sdk:revision> 392 - <sdk:archives> 393 - <sdk:archive> 394 - <!--Built on: Wed May 23 00:35:53 2018.--> 395 - <sdk:size>63623734</sdk:size> 396 - <sdk:checksum type="sha1">e4ae5d7aa557a3c827135838ee400da8443ac4ef</sdk:checksum> 397 - <sdk:url>platform-26_r02.zip</sdk:url> 398 - </sdk:archive> 399 - </sdk:archives> 400 - <sdk:uses-license ref="android-sdk-license"/> 401 - <sdk:min-tools-rev> 402 - <sdk:major>22</sdk:major> 403 - </sdk:min-tools-rev> 404 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 405 - <sdk:layoutlib> 406 - <sdk:api>15</sdk:api> 407 - <sdk:revision>1</sdk:revision> 408 - </sdk:layoutlib> 409 - </sdk:platform> 410 - <sdk:platform> 411 - <!--Generated from bid:3544217, branch:git_nyc-mr1-sdk-dev--> 412 - <sdk:version>7.1.1</sdk:version> 413 - <sdk:api-level>25</sdk:api-level> 414 - <sdk:description>Android SDK Platform 25</sdk:description> 415 - <sdk:revision>3</sdk:revision> 416 - <sdk:archives> 417 - <sdk:archive> 418 - <!--Built on: Sat May 26 06:47:38 2018.--> 419 - <sdk:size>85424763</sdk:size> 420 - <sdk:checksum type="sha1">00c2c5765e8988504be10a1eb66ed71fcdbd7fe8</sdk:checksum> 421 - <sdk:url>platform-25_r03.zip</sdk:url> 422 - </sdk:archive> 423 - </sdk:archives> 424 - <sdk:uses-license ref="android-sdk-license"/> 425 - <sdk:min-tools-rev> 426 - <sdk:major>22</sdk:major> 427 - </sdk:min-tools-rev> 428 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 429 - <sdk:layoutlib> 430 - <sdk:api>16</sdk:api> 431 - <sdk:revision>2</sdk:revision> 432 - </sdk:layoutlib> 433 - </sdk:platform> 434 - <sdk:platform> 435 - <!--Generated from bid:3209611, branch:git_nyc-sdk-dev--> 436 - <sdk:version>7.0</sdk:version> 437 - <sdk:api-level>24</sdk:api-level> 438 - <sdk:description>Android SDK Platform 24</sdk:description> 439 - <sdk:revision>2</sdk:revision> 440 - <sdk:archives> 441 - <sdk:archive> 442 - <!--Built on: Tue Jun 5 15:00:21 2018.--> 443 - <sdk:size>82648154</sdk:size> 444 - <sdk:checksum type="sha1">8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee</sdk:checksum> 445 - <sdk:url>platform-24_r02.zip</sdk:url> 446 - </sdk:archive> 447 - </sdk:archives> 448 - <sdk:uses-license ref="android-sdk-license"/> 449 - <sdk:min-tools-rev> 450 - <sdk:major>22</sdk:major> 451 - </sdk:min-tools-rev> 452 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 453 - <sdk:layoutlib> 454 - <sdk:api>16</sdk:api> 455 - <sdk:revision>2</sdk:revision> 456 - </sdk:layoutlib> 457 - </sdk:platform> 458 - <sdk:platform> 459 - <!--Generated from bid:2704002, branch:git_mnc-sdk-release--> 460 - <sdk:version>6.0</sdk:version> 461 - <sdk:api-level>23</sdk:api-level> 462 - <sdk:description>Android SDK Platform 23</sdk:description> 463 - <sdk:revision>3</sdk:revision> 464 - <sdk:archives> 465 - <sdk:archive> 466 - <!--Built on: Mon May 21 15:53:43 2018.--> 467 - <sdk:size>70433421</sdk:size> 468 - <sdk:checksum type="sha1">027fede3de6aa1649115bbd0bffff30ccd51c9a0</sdk:checksum> 469 - <sdk:url>platform-23_r03.zip</sdk:url> 470 - </sdk:archive> 471 - </sdk:archives> 472 - <sdk:uses-license ref="android-sdk-license"/> 473 - <sdk:min-tools-rev> 474 - <sdk:major>22</sdk:major> 475 - </sdk:min-tools-rev> 476 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 477 - <sdk:layoutlib> 478 - <sdk:api>16</sdk:api> 479 - <sdk:revision>3</sdk:revision> 480 - </sdk:layoutlib> 481 - </sdk:platform> 482 - <sdk:platform> 483 - <!--Generated from bid:1819727, branch:git_lmp-mr1-sdk-release--> 484 - <sdk:version>5.1.1</sdk:version> 485 - <sdk:api-level>22</sdk:api-level> 486 - <sdk:description>Android SDK Platform 22</sdk:description> 487 - <sdk:revision>2</sdk:revision> 488 - <sdk:archives> 489 - <sdk:archive> 490 - <!--Built on: Mon May 21 03:54:34 2018.--> 491 - <sdk:size>66852371</sdk:size> 492 - <sdk:checksum type="sha1">5d1bd10fea962b216a0dece1247070164760a9fc</sdk:checksum> 493 - <sdk:url>android-22_r02.zip</sdk:url> 494 - </sdk:archive> 495 - </sdk:archives> 496 - <sdk:uses-license ref="android-sdk-license"/> 497 - <sdk:min-tools-rev> 498 - <sdk:major>22</sdk:major> 499 - </sdk:min-tools-rev> 500 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 501 - <sdk:layoutlib> 502 - <sdk:api>14</sdk:api> 503 - <sdk:revision>2</sdk:revision> 504 - </sdk:layoutlib> 505 - </sdk:platform> 506 - <sdk:platform> 507 - <!--Generated from bid:1624448, branch:git_lmp-dev--> 508 - <sdk:version>5.0.1</sdk:version> 509 - <sdk:api-level>21</sdk:api-level> 510 - <sdk:description>Android SDK Platform 21</sdk:description> 511 - <sdk:revision>2</sdk:revision> 512 - <sdk:archives> 513 - <sdk:archive> 514 - <!--Built on: Tue Jun 19 02:28:04 2018.--> 515 - <sdk:size>65897960</sdk:size> 516 - <sdk:checksum type="sha1">53536556059bb29ae82f414fd2e14bc335a4eb4c</sdk:checksum> 517 - <sdk:url>android-21_r02.zip</sdk:url> 518 - </sdk:archive> 519 - </sdk:archives> 520 - <sdk:uses-license ref="android-sdk-license"/> 521 - <sdk:min-tools-rev> 522 - <sdk:major>22</sdk:major> 523 - </sdk:min-tools-rev> 524 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 525 - <sdk:layoutlib> 526 - <sdk:api>12</sdk:api> 527 - <sdk:revision>2</sdk:revision> 528 - </sdk:layoutlib> 529 - </sdk:platform> 530 - <sdk:platform> 531 - <!--Generated from bid:1537038, branch:git_klp-modular-dev--> 532 - <sdk:version>4.4W.2</sdk:version> 533 - <sdk:api-level>20</sdk:api-level> 534 - <sdk:description>Android SDK Platform 20</sdk:description> 535 - <sdk:revision>2</sdk:revision> 536 - <sdk:archives> 537 - <sdk:archive> 538 - <!--Built on: Sun Jun 3 18:11:51 2018.--> 539 - <sdk:size>63567784</sdk:size> 540 - <sdk:checksum type="sha1">a9251f8a3f313ab05834a07a963000927637e01d</sdk:checksum> 541 - <sdk:url>android-20_r02.zip</sdk:url> 542 - </sdk:archive> 543 - </sdk:archives> 544 - <sdk:uses-license ref="android-sdk-license"/> 545 - <sdk:min-tools-rev> 546 - <sdk:major>22</sdk:major> 547 - </sdk:min-tools-rev> 548 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 549 - <sdk:layoutlib> 550 - <sdk:api>12</sdk:api> 551 - <sdk:revision>1</sdk:revision> 552 - </sdk:layoutlib> 553 - </sdk:platform> 554 - <sdk:platform> 555 - <!--Generated from bid:1456859, branch:git_klp-sdk-release--> 556 - <sdk:version>4.4.2</sdk:version> 557 - <sdk:api-level>19</sdk:api-level> 558 - <sdk:description>Android SDK Platform 19</sdk:description> 559 - <sdk:revision>4</sdk:revision> 560 - <sdk:archives> 561 - <sdk:archive> 562 - <!--Built on: Fri May 25 15:40:05 2018.--> 563 - <sdk:size>63871092</sdk:size> 564 - <sdk:checksum type="sha1">2ff20d89e68f2f5390981342e009db5a2d456aaa</sdk:checksum> 565 - <sdk:url>android-19_r04.zip</sdk:url> 566 - </sdk:archive> 567 - </sdk:archives> 568 - <sdk:uses-license ref="android-sdk-license"/> 569 - <sdk:min-tools-rev> 570 - <sdk:major>22</sdk:major> 571 - </sdk:min-tools-rev> 572 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 573 - <sdk:layoutlib> 574 - <sdk:api>12</sdk:api> 575 - <sdk:revision>1</sdk:revision> 576 - </sdk:layoutlib> 577 - </sdk:platform> 578 - <sdk:platform> 579 - <!--Generated from bid:1425645, branch:git_jb-mr2-dev--> 580 - <sdk:version>4.3.1</sdk:version> 581 - <sdk:api-level>18</sdk:api-level> 582 - <sdk:description>Android SDK Platform 18</sdk:description> 583 - <sdk:revision>3</sdk:revision> 584 - <sdk:archives> 585 - <sdk:archive> 586 - <!--Built on: Fri May 18 13:24:37 2018.--> 587 - <sdk:size>57771739</sdk:size> 588 - <sdk:checksum type="sha1">e6b09b3505754cbbeb4a5622008b907262ee91cb</sdk:checksum> 589 - <sdk:url>android-18_r03.zip</sdk:url> 590 - </sdk:archive> 591 - </sdk:archives> 592 - <sdk:uses-license ref="android-sdk-license"/> 593 - <sdk:min-tools-rev> 594 - <sdk:major>21</sdk:major> 595 - </sdk:min-tools-rev> 596 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 597 - <sdk:layoutlib> 598 - <sdk:api>12</sdk:api> 599 - <sdk:revision>1</sdk:revision> 600 - </sdk:layoutlib> 601 - </sdk:platform> 602 - <sdk:platform> 603 - <!--Generated from bid:1425461, branch:git_jb-mr1.1-dev--> 604 - <sdk:version>4.2.2</sdk:version> 605 - <sdk:api-level>17</sdk:api-level> 606 - <sdk:description>Android SDK Platform 17</sdk:description> 607 - <sdk:revision>3</sdk:revision> 608 - <sdk:archives> 609 - <sdk:archive> 610 - <!--Built on: Sat May 26 21:15:56 2018.--> 611 - <sdk:size>57030216</sdk:size> 612 - <sdk:checksum type="sha1">dbe14101c06e6cdb34e300393e64e64f8c92168a</sdk:checksum> 613 - <sdk:url>android-17_r03.zip</sdk:url> 614 - </sdk:archive> 615 - </sdk:archives> 616 - <sdk:uses-license ref="android-sdk-license"/> 617 - <sdk:min-tools-rev> 618 - <sdk:major>21</sdk:major> 619 - </sdk:min-tools-rev> 620 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 621 - <sdk:layoutlib> 622 - <sdk:api>12</sdk:api> 623 - <sdk:revision>1</sdk:revision> 624 - </sdk:layoutlib> 625 - </sdk:platform> 626 - <sdk:platform> 627 - <!--Generated from bid:1425332, branch:git_jb-dev--> 628 - <sdk:version>4.1.2</sdk:version> 629 - <sdk:api-level>16</sdk:api-level> 630 - <sdk:description>Android SDK Platform 16</sdk:description> 631 - <sdk:revision>5</sdk:revision> 632 - <sdk:archives> 633 - <sdk:archive> 634 - <!--Built on: Wed May 23 08:20:21 2018.--> 635 - <sdk:size>48128695</sdk:size> 636 - <sdk:checksum type="sha1">12a5ce6235a76bc30f62c26bda1b680e336abd07</sdk:checksum> 637 - <sdk:url>android-16_r05.zip</sdk:url> 638 - </sdk:archive> 639 - </sdk:archives> 640 - <sdk:uses-license ref="android-sdk-license"/> 641 - <sdk:min-tools-rev> 642 - <sdk:major>21</sdk:major> 643 - </sdk:min-tools-rev> 644 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 645 - <sdk:layoutlib> 646 - <sdk:api>12</sdk:api> 647 - <sdk:revision>1</sdk:revision> 648 - </sdk:layoutlib> 649 - </sdk:platform> 650 - <sdk:platform> 651 - <!--Generated from bid:1406430, branch:git_ics-mr1--> 652 - <sdk:version>4.0.3</sdk:version> 653 - <sdk:api-level>15</sdk:api-level> 654 - <sdk:description>Android SDK Platform 15</sdk:description> 655 - <sdk:revision>5</sdk:revision> 656 - <sdk:archives> 657 - <sdk:archive> 658 - <!--Built on: Sat Jun 2 14:02:31 2018.--> 659 - <sdk:size>44533475</sdk:size> 660 - <sdk:checksum type="sha1">69ab4c443b37184b2883af1fd38cc20cbeffd0f3</sdk:checksum> 661 - <sdk:url>android-15_r05.zip</sdk:url> 662 - </sdk:archive> 663 - </sdk:archives> 664 - <sdk:uses-license ref="android-sdk-license"/> 665 - <sdk:min-tools-rev> 666 - <sdk:major>21</sdk:major> 667 - </sdk:min-tools-rev> 668 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 669 - <sdk:layoutlib> 670 - <sdk:api>12</sdk:api> 671 - <sdk:revision>1</sdk:revision> 672 - </sdk:layoutlib> 673 - </sdk:platform> 674 - <sdk:platform> 675 - <!--Generated from bid:1406408, branch:git_ics-mr0--> 676 - <sdk:version>4.0</sdk:version> 677 - <sdk:api-level>14</sdk:api-level> 678 - <sdk:description>Android SDK Platform 14</sdk:description> 679 - <sdk:revision>4</sdk:revision> 680 - <sdk:archives> 681 - <sdk:archive> 682 - <!--Built on: Mon Jun 4 10:33:42 2018.--> 683 - <sdk:size>46038082</sdk:size> 684 - <sdk:checksum type="sha1">d4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c</sdk:checksum> 685 - <sdk:url>android-14_r04.zip</sdk:url> 686 - </sdk:archive> 687 - </sdk:archives> 688 - <sdk:uses-license ref="android-sdk-license"/> 689 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 690 - <sdk:layoutlib> 691 - <sdk:api>12</sdk:api> 692 - <sdk:revision>1</sdk:revision> 693 - </sdk:layoutlib> 694 - </sdk:platform> 695 - <sdk:platform> 696 - <!--Generated from bid:140714, branch:honeycomb-mr2-release--> 697 - <sdk:version>3.2</sdk:version> 698 - <sdk:api-level>13</sdk:api-level> 699 - <sdk:description>Android SDK Platform 13</sdk:description> 700 - <sdk:revision>1</sdk:revision> 701 - <sdk:archives> 702 - <sdk:archive> 703 - <!--Built on: Sat Jun 2 07:27:36 2018.--> 704 - <sdk:size>108426536</sdk:size> 705 - <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum> 706 - <sdk:url>android-3.2_r01.zip</sdk:url> 707 - </sdk:archive> 708 - </sdk:archives> 709 - <sdk:uses-license ref="android-sdk-license"/> 710 - <sdk:min-tools-rev> 711 - <sdk:major>12</sdk:major> 712 - </sdk:min-tools-rev> 713 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 714 - <sdk:layoutlib> 715 - <sdk:api>4</sdk:api> 716 - </sdk:layoutlib> 717 - </sdk:platform> 718 - <sdk:platform> 719 - <!--Generated from bid:123685, branch:honeycomb-mr1--> 720 - <sdk:version>3.1</sdk:version> 721 - <sdk:api-level>12</sdk:api-level> 722 - <sdk:description>Android SDK Platform 12</sdk:description> 723 - <sdk:revision>3</sdk:revision> 724 - <sdk:archives> 725 - <sdk:archive> 726 - <!--Built on: Thu May 24 23:42:26 2018.--> 727 - <sdk:size>106472351</sdk:size> 728 - <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum> 729 - <sdk:url>android-3.1_r03.zip</sdk:url> 730 - </sdk:archive> 731 - </sdk:archives> 732 - <sdk:uses-license ref="android-sdk-license"/> 733 - <sdk:min-tools-rev> 734 - <sdk:major>11</sdk:major> 735 - </sdk:min-tools-rev> 736 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 737 - <sdk:layoutlib> 738 - <sdk:api>4</sdk:api> 739 - </sdk:layoutlib> 740 - </sdk:platform> 741 - <sdk:platform> 742 - <!--Generated from bid:104254, branch:honeycomb--> 743 - <sdk:version>3.0</sdk:version> 744 - <sdk:api-level>11</sdk:api-level> 745 - <sdk:description>Android SDK Platform 11</sdk:description> 746 - <sdk:revision>2</sdk:revision> 747 - <sdk:archives> 748 - <sdk:archive> 749 - <!--Built on: Sun Jun 17 05:58:58 2018.--> 750 - <sdk:size>104513908</sdk:size> 751 - <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum> 752 - <sdk:url>android-3.0_r02.zip</sdk:url> 753 - </sdk:archive> 754 - </sdk:archives> 755 - <sdk:uses-license ref="android-sdk-license"/> 756 - <sdk:min-tools-rev> 757 - <sdk:major>10</sdk:major> 758 - </sdk:min-tools-rev> 759 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 760 - <sdk:layoutlib> 761 - <sdk:api>4</sdk:api> 762 - </sdk:layoutlib> 763 - </sdk:platform> 764 - <sdk:platform> 765 - <!--Generated from bid:101070, branch:gingerbread-release--> 766 - <sdk:version>2.3.3</sdk:version> 767 - <sdk:api-level>10</sdk:api-level> 768 - <sdk:description>Android SDK Platform 10</sdk:description> 769 - <sdk:revision>2</sdk:revision> 770 - <sdk:archives> 771 - <sdk:archive> 772 - <!--Built on: Wed Jun 13 04:35:13 2018.--> 773 - <sdk:size>85470907</sdk:size> 774 - <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum> 775 - <sdk:url>android-2.3.3_r02.zip</sdk:url> 776 - </sdk:archive> 777 - </sdk:archives> 778 - <sdk:uses-license ref="android-sdk-license"/> 779 - <sdk:min-tools-rev> 780 - <sdk:major>4</sdk:major> 781 - </sdk:min-tools-rev> 782 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 783 - <sdk:layoutlib> 784 - <sdk:api>4</sdk:api> 785 - </sdk:layoutlib> 786 - </sdk:platform> 787 - <sdk:platform> 788 - <!--Generated from bid:93351, branch:gingerbread-sdk-release--> 789 - <sdk:version>2.3.1</sdk:version> 790 - <sdk:api-level>9</sdk:api-level> 791 - <sdk:description>Android SDK Platform 9</sdk:description> 792 - <sdk:revision>2</sdk:revision> 793 - <sdk:archives> 794 - <sdk:archive> 795 - <!--Built on: Tue Jun 19 00:10:28 2018.--> 796 - <sdk:size>78732563</sdk:size> 797 - <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum> 798 - <sdk:url>android-2.3.1_r02.zip</sdk:url> 799 - </sdk:archive> 800 - </sdk:archives> 801 - <sdk:uses-license ref="android-sdk-license"/> 802 - <sdk:min-tools-rev> 803 - <sdk:major>4</sdk:major> 804 - </sdk:min-tools-rev> 805 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 806 - <sdk:layoutlib> 807 - <sdk:api>4</sdk:api> 808 - </sdk:layoutlib> 809 - </sdk:platform> 810 - <sdk:platform> 811 - <!--Generated from bid:43546, branch:froyo-release--> 812 - <sdk:version>2.2</sdk:version> 813 - <sdk:api-level>8</sdk:api-level> 814 - <sdk:description>Android SDK Platform 8</sdk:description> 815 - <sdk:revision>3</sdk:revision> 816 - <sdk:archives> 817 - <sdk:archive> 818 - <!--Built on: Mon Jun 11 13:26:30 2018.--> 819 - <sdk:size>74652366</sdk:size> 820 - <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum> 821 - <sdk:url>android-2.2_r03.zip</sdk:url> 822 - </sdk:archive> 823 - </sdk:archives> 824 - <sdk:uses-license ref="android-sdk-license"/> 825 - <sdk:min-tools-rev> 826 - <sdk:major>4</sdk:major> 827 - </sdk:min-tools-rev> 828 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 829 - <sdk:layoutlib> 830 - <sdk:api>4</sdk:api> 831 - </sdk:layoutlib> 832 - </sdk:platform> 833 - <sdk:platform> 834 - <!--Generated from bid:35983, branch:eclair--> 835 - <sdk:version>2.1</sdk:version> 836 - <sdk:api-level>7</sdk:api-level> 837 - <sdk:description>Android SDK Platform 7</sdk:description> 838 - <sdk:revision>3</sdk:revision> 839 - <sdk:archives> 840 - <sdk:archive> 841 - <!--Built on: Fri May 25 18:43:17 2018.--> 842 - <sdk:size>70142829</sdk:size> 843 - <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum> 844 - <sdk:url>android-2.1_r03.zip</sdk:url> 845 - </sdk:archive> 846 - </sdk:archives> 847 - <sdk:uses-license ref="android-sdk-license"/> 848 - <sdk:min-tools-rev> 849 - <sdk:major>8</sdk:major> 850 - </sdk:min-tools-rev> 851 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 852 - <sdk:layoutlib> 853 - <sdk:api>4</sdk:api> 854 - </sdk:layoutlib> 855 - </sdk:platform> 856 - <sdk:platform> 857 - <!--Generated from bid:20723, branch:unknown--> 858 - <sdk:version>2.0.1</sdk:version> 859 - <sdk:api-level>6</sdk:api-level> 860 - <sdk:description>Android SDK Platform 6</sdk:description> 861 - <sdk:obsolete/> 862 - <sdk:revision>1</sdk:revision> 863 - <sdk:archives> 864 - <sdk:archive> 865 - <!--Built on: Sun May 27 03:48:57 2018.--> 866 - <sdk:size>79192618</sdk:size> 867 - <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum> 868 - <sdk:url>android-2.0.1_r01-linux.zip</sdk:url> 869 - <sdk:host-os>linux</sdk:host-os> 870 - </sdk:archive> 871 - <sdk:archive> 872 - <!--Built on: Fri Jun 15 10:07:34 2018.--> 873 - <sdk:size>79035527</sdk:size> 874 - <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum> 875 - <sdk:url>android-2.0.1_r01-macosx.zip</sdk:url> 876 - <sdk:host-os>macosx</sdk:host-os> 877 - </sdk:archive> 878 - <sdk:archive> 879 - <!--Built on: Fri Jun 8 14:23:45 2018.--> 880 - <sdk:size>80385601</sdk:size> 881 - <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum> 882 - <sdk:url>android-2.0.1_r01-windows.zip</sdk:url> 883 - <sdk:host-os>windows</sdk:host-os> 884 - </sdk:archive> 885 - </sdk:archives> 886 - <sdk:uses-license ref="android-sdk-license"/> 887 - <sdk:min-tools-rev> 888 - <sdk:major>4</sdk:major> 889 - </sdk:min-tools-rev> 890 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 891 - <sdk:layoutlib> 892 - <sdk:api>4</sdk:api> 893 - </sdk:layoutlib> 894 - </sdk:platform> 895 - <sdk:platform> 896 - <!--Generated from bid:17704, branch:unknown--> 897 - <sdk:version>2.0</sdk:version> 898 - <sdk:api-level>5</sdk:api-level> 899 - <sdk:description>Android SDK Platform 5</sdk:description> 900 - <sdk:obsolete/> 901 - <sdk:revision>1</sdk:revision> 902 - <sdk:archives> 903 - <sdk:archive> 904 - <!--Built on: Sat May 19 10:03:45 2018.--> 905 - <sdk:size>75095268</sdk:size> 906 - <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum> 907 - <sdk:url>android-2.0_r01-linux.zip</sdk:url> 908 - <sdk:host-os>linux</sdk:host-os> 909 - </sdk:archive> 910 - <sdk:archive> 911 - <!--Built on: Sat May 19 16:50:28 2018.--> 912 - <sdk:size>74956356</sdk:size> 913 - <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum> 914 - <sdk:url>android-2.0_r01-macosx.zip</sdk:url> 915 - <sdk:host-os>macosx</sdk:host-os> 916 - </sdk:archive> 917 - <sdk:archive> 918 - <!--Built on: Thu Jun 14 00:45:58 2018.--> 919 - <sdk:size>76288040</sdk:size> 920 - <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum> 921 - <sdk:url>android-2.0_r01-windows.zip</sdk:url> 922 - <sdk:host-os>windows</sdk:host-os> 923 - </sdk:archive> 924 - </sdk:archives> 925 - <sdk:uses-license ref="android-sdk-license"/> 926 - <sdk:min-tools-rev> 927 - <sdk:major>3</sdk:major> 928 - </sdk:min-tools-rev> 929 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 930 - <sdk:layoutlib> 931 - <sdk:api>4</sdk:api> 932 - </sdk:layoutlib> 933 - </sdk:platform> 934 - <sdk:platform> 935 - <!--Generated from bid:3, branch:unknown--> 936 - <sdk:version>1.6</sdk:version> 937 - <sdk:api-level>4</sdk:api-level> 938 - <sdk:description>Android SDK Platform 4</sdk:description> 939 - <sdk:obsolete/> 940 - <sdk:revision>3</sdk:revision> 941 - <sdk:archives> 942 - <sdk:archive> 943 - <!--Built on: Sat May 26 23:29:51 2018.--> 944 - <sdk:size>63454485</sdk:size> 945 - <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum> 946 - <sdk:url>android-1.6_r03-linux.zip</sdk:url> 947 - <sdk:host-os>linux</sdk:host-os> 948 - </sdk:archive> 949 - <sdk:archive> 950 - <!--Built on: Sat Jun 2 07:57:24 2018.--> 951 - <sdk:size>62418496</sdk:size> 952 - <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum> 953 - <sdk:url>android-1.6_r03-macosx.zip</sdk:url> 954 - <sdk:host-os>macosx</sdk:host-os> 955 - </sdk:archive> 956 - <sdk:archive> 957 - <!--Built on: Mon Jun 4 04:34:06 2018.--> 958 - <sdk:size>64654625</sdk:size> 959 - <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum> 960 - <sdk:url>android-1.6_r03-windows.zip</sdk:url> 961 - <sdk:host-os>windows</sdk:host-os> 962 - </sdk:archive> 963 - </sdk:archives> 964 - <sdk:uses-license ref="android-sdk-license"/> 965 - <sdk:min-tools-rev> 966 - <sdk:major>6</sdk:major> 967 - </sdk:min-tools-rev> 968 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 969 - <sdk:layoutlib> 970 - <sdk:api>4</sdk:api> 971 - </sdk:layoutlib> 972 - </sdk:platform> 973 - <sdk:platform> 974 - <!--Generated from bid:2, branch:unknown--> 975 - <sdk:version>1.5</sdk:version> 976 - <sdk:api-level>3</sdk:api-level> 977 - <sdk:description>Android SDK Platform 3</sdk:description> 978 - <sdk:obsolete/> 979 - <sdk:revision>4</sdk:revision> 980 - <sdk:archives> 981 - <sdk:archive> 982 - <!--Built on: Thu May 17 22:23:16 2018.--> 983 - <sdk:size>53348669</sdk:size> 984 - <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum> 985 - <sdk:url>android-1.5_r04-linux.zip</sdk:url> 986 - <sdk:host-os>linux</sdk:host-os> 987 - </sdk:archive> 988 - <sdk:archive> 989 - <!--Built on: Mon Jun 4 15:31:36 2018.--> 990 - <sdk:size>52440607</sdk:size> 991 - <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum> 992 - <sdk:url>android-1.5_r04-macosx.zip</sdk:url> 993 - <sdk:host-os>macosx</sdk:host-os> 994 - </sdk:archive> 995 - <sdk:archive> 996 - <!--Built on: Thu Jun 14 02:58:08 2018.--> 997 - <sdk:size>54624370</sdk:size> 998 - <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum> 999 - <sdk:url>android-1.5_r04-windows.zip</sdk:url> 1000 - <sdk:host-os>windows</sdk:host-os> 1001 - </sdk:archive> 1002 - </sdk:archives> 1003 - <sdk:uses-license ref="android-sdk-license"/> 1004 - <sdk:min-tools-rev> 1005 - <sdk:major>6</sdk:major> 1006 - </sdk:min-tools-rev> 1007 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 1008 - <sdk:layoutlib> 1009 - <sdk:api>4</sdk:api> 1010 - </sdk:layoutlib> 1011 - </sdk:platform> 1012 - <sdk:platform> 1013 - <!--Generated from bid:1, branch:unknown--> 1014 - <sdk:version>1.1</sdk:version> 1015 - <sdk:api-level>2</sdk:api-level> 1016 - <sdk:description>Android SDK Platform 2</sdk:description> 1017 - <sdk:obsolete/> 1018 - <sdk:revision>1</sdk:revision> 1019 - <sdk:archives> 1020 - <sdk:archive> 1021 - <!--Built on: Sun May 20 23:48:42 2018.--> 1022 - <sdk:size>45476658</sdk:size> 1023 - <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum> 1024 - <sdk:url>android-1.1_r1-linux.zip</sdk:url> 1025 - <sdk:host-os>linux</sdk:host-os> 1026 - </sdk:archive> 1027 - <sdk:archive> 1028 - <!--Built on: Sat May 19 16:29:20 2018.--> 1029 - <sdk:size>45584305</sdk:size> 1030 - <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum> 1031 - <sdk:url>android-1.1_r1-macosx.zip</sdk:url> 1032 - <sdk:host-os>macosx</sdk:host-os> 1033 - </sdk:archive> 1034 - <sdk:archive> 1035 - <!--Built on: Fri Jun 8 18:57:19 2018.--> 1036 - <sdk:size>46828615</sdk:size> 1037 - <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum> 1038 - <sdk:url>android-1.1_r1-windows.zip</sdk:url> 1039 - <sdk:host-os>windows</sdk:host-os> 1040 - </sdk:archive> 1041 - </sdk:archives> 1042 - <sdk:uses-license ref="android-sdk-license"/> 1043 - <sdk:min-tools-rev> 1044 - <sdk:major>6</sdk:major> 1045 - </sdk:min-tools-rev> 1046 - <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url> 1047 - <sdk:layoutlib> 1048 - <sdk:api>4</sdk:api> 1049 - </sdk:layoutlib> 1050 - </sdk:platform> 1051 - <sdk:source> 1052 - <!--Generated from bid:4898911, branch:git_pi-release--> 1053 - <sdk:api-level>28</sdk:api-level> 1054 - <sdk:revision>1</sdk:revision> 1055 - <sdk:archives> 1056 - <sdk:archive> 1057 - <!--Built on: Wed Aug 8 15:54:23 2018.--> 1058 - <sdk:size>42552241</sdk:size> 1059 - <sdk:checksum type="sha1">5610e0c24235ee3fa343c899ddd551be30315255</sdk:checksum> 1060 - <sdk:url>sources-28_r01.zip</sdk:url> 1061 - </sdk:archive> 1062 - </sdk:archives> 1063 - <sdk:uses-license ref="android-sdk-license"/> 1064 - </sdk:source> 1065 - <sdk:source> 1066 - <!--Generated from bid:4402310, branch:git_oc-mr1-release--> 1067 - <sdk:api-level>27</sdk:api-level> 1068 - <sdk:revision>1</sdk:revision> 1069 - <sdk:archives> 1070 - <sdk:archive> 1071 - <!--Built on: Fri Jun 8 01:46:30 2018.--> 1072 - <sdk:size>36997618</sdk:size> 1073 - <sdk:checksum type="sha1">7b714670561d08f54751af42aca929867b806596</sdk:checksum> 1074 - <sdk:url>sources-27_r01.zip</sdk:url> 1075 - </sdk:archive> 1076 - </sdk:archives> 1077 - <sdk:uses-license ref="android-sdk-license"/> 1078 - </sdk:source> 1079 - <sdk:source> 1080 - <!--Generated from bid:4187382, branch:git_oc-release--> 1081 - <sdk:api-level>26</sdk:api-level> 1082 - <sdk:revision>1</sdk:revision> 1083 - <sdk:archives> 1084 - <sdk:archive> 1085 - <!--Built on: Fri Jun 8 01:15:38 2018.--> 1086 - <sdk:size>35138547</sdk:size> 1087 - <sdk:checksum type="sha1">2af701ee3223d580409288540b1d06932fd8f9b9</sdk:checksum> 1088 - <sdk:url>sources-26_r01.zip</sdk:url> 1089 - </sdk:archive> 1090 - </sdk:archives> 1091 - <sdk:uses-license ref="android-sdk-license"/> 1092 - </sdk:source> 1093 - <sdk:source> 1094 - <!--Generated from bid:3544217, branch:git_nyc-mr1-sdk-dev--> 1095 - <sdk:api-level>25</sdk:api-level> 1096 - <sdk:revision>1</sdk:revision> 1097 - <sdk:archives> 1098 - <sdk:archive> 1099 - <!--Built on: Tue Jun 5 06:06:13 2018.--> 1100 - <sdk:size>30822685</sdk:size> 1101 - <sdk:checksum type="sha1">bbc72efd1a9bad87cc507e308f0d29aad438c52c</sdk:checksum> 1102 - <sdk:url>sources-25_r01.zip</sdk:url> 1103 - </sdk:archive> 1104 - </sdk:archives> 1105 - <sdk:uses-license ref="android-sdk-license"/> 1106 - </sdk:source> 1107 - <sdk:source> 1108 - <!--Generated from bid:3209611, branch:git_nyc-sdk-dev--> 1109 - <sdk:api-level>24</sdk:api-level> 1110 - <sdk:revision>1</sdk:revision> 1111 - <sdk:archives> 1112 - <sdk:archive> 1113 - <!--Built on: Fri Jun 8 14:43:03 2018.--> 1114 - <sdk:size>30270410</sdk:size> 1115 - <sdk:checksum type="sha1">6b96115830a83d654479f32ce4b724ca9011148b</sdk:checksum> 1116 - <sdk:url>sources-24_r01.zip</sdk:url> 1117 - </sdk:archive> 1118 - </sdk:archives> 1119 - <sdk:uses-license ref="android-sdk-license"/> 1120 - </sdk:source> 1121 - <sdk:source> 1122 - <!--Generated from bid:2166767, branch:git_mnc-release--> 1123 - <sdk:api-level>23</sdk:api-level> 1124 - <sdk:revision>1</sdk:revision> 1125 - <sdk:archives> 1126 - <sdk:archive> 1127 - <!--Built on: Sun Jun 10 14:12:23 2018.--> 1128 - <sdk:size>31771965</sdk:size> 1129 - <sdk:checksum type="sha1">b0f15da2762b42f543c5e364c2b15b198cc99cc2</sdk:checksum> 1130 - <sdk:url>sources-23_r01.zip</sdk:url> 1131 - </sdk:archive> 1132 - </sdk:archives> 1133 - <sdk:uses-license ref="android-sdk-license"/> 1134 - </sdk:source> 1135 - <sdk:source> 1136 - <!--Generated from bid:1737576, branch:git_lmp-mr1-sdk-release--> 1137 - <sdk:api-level>22</sdk:api-level> 1138 - <sdk:revision>1</sdk:revision> 1139 - <sdk:archives> 1140 - <sdk:archive> 1141 - <!--Built on: Mon Jun 4 23:43:02 2018.--> 1142 - <sdk:size>28861236</sdk:size> 1143 - <sdk:checksum type="sha1">98320e13976d11597a4a730a8d203ac9a03ed5a6</sdk:checksum> 1144 - <sdk:url>sources-22_r01.zip</sdk:url> 1145 - </sdk:archive> 1146 - </sdk:archives> 1147 - <sdk:uses-license ref="android-sdk-license"/> 1148 - </sdk:source> 1149 - <sdk:source> 1150 - <!--Generated from bid:1521886, branch:git_lmp-release--> 1151 - <sdk:api-level>21</sdk:api-level> 1152 - <sdk:revision>1</sdk:revision> 1153 - <sdk:archives> 1154 - <sdk:archive> 1155 - <!--Built on: Sat Jun 16 09:12:37 2018.--> 1156 - <sdk:size>28274751</sdk:size> 1157 - <sdk:checksum type="sha1">137a5044915d32bea297a8c1552684802bbc2e25</sdk:checksum> 1158 - <sdk:url>sources-21_r01.zip</sdk:url> 1159 - </sdk:archive> 1160 - </sdk:archives> 1161 - <sdk:uses-license ref="android-sdk-license"/> 1162 - </sdk:source> 1163 - <sdk:source> 1164 - <!--Generated from bid:1246132, branch:git_klp-modular-release--> 1165 - <sdk:api-level>20</sdk:api-level> 1166 - <sdk:revision>1</sdk:revision> 1167 - <sdk:archives> 1168 - <sdk:archive> 1169 - <!--Built on: Sat Jun 2 19:46:05 2018.--> 1170 - <sdk:size>23367603</sdk:size> 1171 - <sdk:checksum type="sha1">8da3e40f2625f9f7ef38b7e403f49f67226c0d76</sdk:checksum> 1172 - <sdk:url>sources-20_r01.zip</sdk:url> 1173 - </sdk:archive> 1174 - </sdk:archives> 1175 - <sdk:uses-license ref="android-sdk-license"/> 1176 - </sdk:source> 1177 - <sdk:source> 1178 - <!--Generated from bid:938007, branch:git_klp-dev--> 1179 - <sdk:api-level>19</sdk:api-level> 1180 - <sdk:revision>2</sdk:revision> 1181 - <sdk:archives> 1182 - <sdk:archive> 1183 - <!--Built on: Tue May 29 10:39:58 2018.--> 1184 - <sdk:size>21819439</sdk:size> 1185 - <sdk:checksum type="sha1">433a1d043ef77561571250e94cb7a0ef24a202e7</sdk:checksum> 1186 - <sdk:url>sources-19_r02.zip</sdk:url> 1187 - </sdk:archive> 1188 - </sdk:archives> 1189 - <sdk:uses-license ref="android-sdk-license"/> 1190 - </sdk:source> 1191 - <sdk:source> 1192 - <!--Generated from bid:737497, branch:git_jb-mr2-release--> 1193 - <sdk:api-level>18</sdk:api-level> 1194 - <sdk:revision>1</sdk:revision> 1195 - <sdk:archives> 1196 - <sdk:archive> 1197 - <!--Built on: Fri May 18 03:14:54 2018.--> 1198 - <sdk:size>20226735</sdk:size> 1199 - <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum> 1200 - <sdk:url>sources-18_r01.zip</sdk:url> 1201 - </sdk:archive> 1202 - </sdk:archives> 1203 - <sdk:uses-license ref="android-sdk-license"/> 1204 - </sdk:source> 1205 - <sdk:source> 1206 - <!--Generated from bid:526865, branch:git_jb-mr1-dev--> 1207 - <sdk:api-level>17</sdk:api-level> 1208 - <sdk:revision>1</sdk:revision> 1209 - <sdk:archives> 1210 - <sdk:archive> 1211 - <!--Built on: Thu May 17 17:14:50 2018.--> 1212 - <sdk:size>18976816</sdk:size> 1213 - <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum> 1214 - <sdk:url>sources-17_r01.zip</sdk:url> 1215 - </sdk:archive> 1216 - </sdk:archives> 1217 - <sdk:uses-license ref="android-sdk-license"/> 1218 - </sdk:source> 1219 - <sdk:source> 1220 - <!--Generated from bid:403059, branch:git_jb-release--> 1221 - <sdk:api-level>16</sdk:api-level> 1222 - <sdk:revision>2</sdk:revision> 1223 - <sdk:archives> 1224 - <sdk:archive> 1225 - <!--Built on: Wed May 30 05:17:35 2018.--> 1226 - <sdk:size>17876720</sdk:size> 1227 - <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum> 1228 - <sdk:url>sources-16_r02.zip</sdk:url> 1229 - </sdk:archive> 1230 - </sdk:archives> 1231 - <sdk:uses-license ref="android-sdk-license"/> 1232 - </sdk:source> 1233 - <sdk:source> 1234 - <!--Generated from bid:302030, branch:git_ics-mr1--> 1235 - <sdk:api-level>15</sdk:api-level> 1236 - <sdk:revision>2</sdk:revision> 1237 - <sdk:archives> 1238 - <sdk:archive> 1239 - <!--Built on: Sat Jun 16 23:00:27 2018.--> 1240 - <sdk:size>16468746</sdk:size> 1241 - <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum> 1242 - <sdk:url>sources-15_r02.zip</sdk:url> 1243 - </sdk:archive> 1244 - </sdk:archives> 1245 - <sdk:uses-license ref="android-sdk-license"/> 1246 - </sdk:source> 1247 - <sdk:source> 1248 - <!--Generated from bid:234950, branch:git_ics-mr0--> 1249 - <sdk:api-level>14</sdk:api-level> 1250 - <sdk:obsolete/> 1251 - <sdk:revision>1</sdk:revision> 1252 - <sdk:archives> 1253 - <sdk:archive> 1254 - <!--Built on: Sat Jun 9 09:00:50 2018.--> 1255 - <sdk:size>16152383</sdk:size> 1256 - <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum> 1257 - <sdk:url>sources-14_r01.zip</sdk:url> 1258 - </sdk:archive> 1259 - </sdk:archives> 1260 - <sdk:uses-license ref="android-sdk-license"/> 1261 - </sdk:source> 1262 - <sdk:build-tool> 1263 - <!--Generated from bid:5016651, branch:pi-sdk-release--> 1264 - <sdk:revision> 1265 - <sdk:major>28</sdk:major> 1266 - <sdk:minor>0</sdk:minor> 1267 - <sdk:micro>3</sdk:micro> 1268 - </sdk:revision> 1269 - <sdk:archives> 1270 - <sdk:archive> 1271 - <!--Built on: Tue Sep 18 17:02:14 2018.--> 1272 - <sdk:size>57830695</sdk:size> 1273 - <sdk:checksum type="sha1">ea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165</sdk:checksum> 1274 - <sdk:url>build-tools_r28.0.3-linux.zip</sdk:url> 1275 - <sdk:host-os>linux</sdk:host-os> 1276 - </sdk:archive> 1277 - <sdk:archive> 1278 - <!--Built on: Tue Sep 18 17:02:10 2018.--> 1279 - <sdk:size>57133581</sdk:size> 1280 - <sdk:checksum type="sha1">f8c333a2991b1ab05a671bc6248b78e00edcd83a</sdk:checksum> 1281 - <sdk:url>build-tools_r28.0.3-macosx.zip</sdk:url> 1282 - <sdk:host-os>macosx</sdk:host-os> 1283 - </sdk:archive> 1284 - <sdk:archive> 1285 - <!--Built on: Tue Sep 18 17:02:07 2018.--> 1286 - <sdk:size>58393729</sdk:size> 1287 - <sdk:checksum type="sha1">05bd35bb48d11c848da2b393c6f864eb609aacba</sdk:checksum> 1288 - <sdk:url>build-tools_r28.0.3-windows.zip</sdk:url> 1289 - <sdk:host-os>windows</sdk:host-os> 1290 - </sdk:archive> 1291 - </sdk:archives> 1292 - <sdk:uses-license ref="android-sdk-license"/> 1293 - </sdk:build-tool> 1294 - <sdk:build-tool> 1295 - <!--Generated from bid:4913185, branch:pi-sdk-release--> 1296 - <sdk:revision> 1297 - <sdk:major>28</sdk:major> 1298 - <sdk:minor>0</sdk:minor> 1299 - <sdk:micro>2</sdk:micro> 1300 - </sdk:revision> 1301 - <sdk:archives> 1302 - <sdk:archive> 1303 - <!--Built on: Wed Jul 25 20:19:09 2018.--> 1304 - <sdk:size>57754663</sdk:size> 1305 - <sdk:checksum type="sha1">b4492209810a3fd48deaa982f9852fef12433d55</sdk:checksum> 1306 - <sdk:url>build-tools_r28.0.2-linux.zip</sdk:url> 1307 - <sdk:host-os>linux</sdk:host-os> 1308 - </sdk:archive> 1309 - <sdk:archive> 1310 - <!--Built on: Wed Jul 25 20:19:05 2018.--> 1311 - <sdk:size>57057554</sdk:size> 1312 - <sdk:checksum type="sha1">c10dd5a7825578622fb362a8a34f76eb3ba0c0a9</sdk:checksum> 1313 - <sdk:url>build-tools_r28.0.2-macosx.zip</sdk:url> 1314 - <sdk:host-os>macosx</sdk:host-os> 1315 - </sdk:archive> 1316 - <sdk:archive> 1317 - <!--Built on: Wed Jul 25 20:19:01 2018.--> 1318 - <sdk:size>58317692</sdk:size> 1319 - <sdk:checksum type="sha1">e9c570c568a0c2a32e88ee3204279019ebefd949</sdk:checksum> 1320 - <sdk:url>build-tools_r28.0.2-windows.zip</sdk:url> 1321 - <sdk:host-os>windows</sdk:host-os> 1322 - </sdk:archive> 1323 - </sdk:archives> 1324 - <sdk:uses-license ref="android-sdk-license"/> 1325 - </sdk:build-tool> 1326 - <sdk:build-tool> 1327 - <!--Generated from bid:4860066, branch:pi-preview4-release--> 1328 - <sdk:revision> 1329 - <sdk:major>28</sdk:major> 1330 - <sdk:minor>0</sdk:minor> 1331 - <sdk:micro>1</sdk:micro> 1332 - </sdk:revision> 1333 - <sdk:archives> 1334 - <sdk:archive> 1335 - <!--Built on: Tue Jun 26 16:23:22 2018.--> 1336 - <sdk:size>57610954</sdk:size> 1337 - <sdk:checksum type="sha1">ee70dfa1fccb58b37cebc9544830511f36a137a0</sdk:checksum> 1338 - <sdk:url>build-tools_r28.0.1-linux.zip</sdk:url> 1339 - <sdk:host-os>linux</sdk:host-os> 1340 - </sdk:archive> 1341 - <sdk:archive> 1342 - <!--Built on: Tue Jun 26 16:23:20 2018.--> 1343 - <sdk:size>56913869</sdk:size> 1344 - <sdk:checksum type="sha1">aeef42ad953f1630dd6f5d71eefdc0b825211462</sdk:checksum> 1345 - <sdk:url>build-tools_r28.0.1-macosx.zip</sdk:url> 1346 - <sdk:host-os>macosx</sdk:host-os> 1347 - </sdk:archive> 1348 - <sdk:archive> 1349 - <!--Built on: Tue Jun 26 16:23:17 2018.--> 1350 - <sdk:size>58173989</sdk:size> 1351 - <sdk:checksum type="sha1">29c6342835734be25b9e458ab3fad5750ad6a355</sdk:checksum> 1352 - <sdk:url>build-tools_r28.0.1-windows.zip</sdk:url> 1353 - <sdk:host-os>windows</sdk:host-os> 1354 - </sdk:archive> 1355 - </sdk:archives> 1356 - <sdk:uses-license ref="android-sdk-license"/> 1357 - </sdk:build-tool> 1358 - <sdk:build-tool> 1359 - <!--Generated from bid:4799589, branch:pi-preview3-release--> 1360 - <sdk:revision> 1361 - <sdk:major>28</sdk:major> 1362 - <sdk:minor>0</sdk:minor> 1363 - <sdk:micro>0</sdk:micro> 1364 - </sdk:revision> 1365 - <sdk:archives> 1366 - <sdk:archive> 1367 - <!--Built on: Wed May 23 16:22:51 2018.--> 1368 - <sdk:size>37157769</sdk:size> 1369 - <sdk:checksum type="sha1">d9f8a754d833ccd334f56fcc6089c5925cd82abb</sdk:checksum> 1370 - <sdk:url>build-tools_r28-linux.zip</sdk:url> 1371 - <sdk:host-os>linux</sdk:host-os> 1372 - </sdk:archive> 1373 - <sdk:archive> 1374 - <!--Built on: Wed May 23 16:22:49 2018.--> 1375 - <sdk:size>36458977</sdk:size> 1376 - <sdk:checksum type="sha1">72088d32d1d82cc3c2cf7cf6618b6130c0c84ade</sdk:checksum> 1377 - <sdk:url>build-tools_r28-macosx.zip</sdk:url> 1378 - <sdk:host-os>macosx</sdk:host-os> 1379 - </sdk:archive> 1380 - <sdk:archive> 1381 - <!--Built on: Wed May 23 16:22:47 2018.--> 1382 - <sdk:size>37718995</sdk:size> 1383 - <sdk:checksum type="sha1">d4b0638a877ed570e07876264e69fdbd86409610</sdk:checksum> 1384 - <sdk:url>build-tools_r28-windows.zip</sdk:url> 1385 - <sdk:host-os>windows</sdk:host-os> 1386 - </sdk:archive> 1387 - </sdk:archives> 1388 - <sdk:uses-license ref="android-sdk-license"/> 1389 - </sdk:build-tool> 1390 - <sdk:build-tool> 1391 - <!--Generated from bid:4758566, branch:pi-preview2-release--> 1392 - <sdk:revision> 1393 - <sdk:major>28</sdk:major> 1394 - <sdk:minor>0</sdk:minor> 1395 - <sdk:micro>0</sdk:micro> 1396 - <sdk:preview>2</sdk:preview> 1397 - </sdk:revision> 1398 - <sdk:archives> 1399 - <sdk:archive> 1400 - <!--Built on: Thu May 3 14:26:31 2018.--> 1401 - <sdk:size>37151124</sdk:size> 1402 - <sdk:checksum type="sha1">efe9c0dde0646a07544c864276390ca6e96b24dc</sdk:checksum> 1403 - <sdk:url>build-tools_r28-rc2-linux.zip</sdk:url> 1404 - <sdk:host-os>linux</sdk:host-os> 1405 - </sdk:archive> 1406 - <sdk:archive> 1407 - <!--Built on: Thu May 3 14:26:27 2018.--> 1408 - <sdk:size>36449480</sdk:size> 1409 - <sdk:checksum type="sha1">0d0314b353589feb10e528b44c5a685b6658d797</sdk:checksum> 1410 - <sdk:url>build-tools_r28-rc2-macosx.zip</sdk:url> 1411 - <sdk:host-os>macosx</sdk:host-os> 1412 - </sdk:archive> 1413 - <sdk:archive> 1414 - <!--Built on: Thu May 3 14:26:24 2018.--> 1415 - <sdk:size>37716459</sdk:size> 1416 - <sdk:checksum type="sha1">a94bfb52b4ec74b95c116236c3e382e923cad6c4</sdk:checksum> 1417 - <sdk:url>build-tools_r28-rc2-windows.zip</sdk:url> 1418 - <sdk:host-os>windows</sdk:host-os> 1419 - </sdk:archive> 1420 - </sdk:archives> 1421 - <sdk:uses-license ref="android-sdk-license"/> 1422 - </sdk:build-tool> 1423 - <sdk:build-tool> 1424 - <!--Generated from bid:4614665, branch:git_pi-release--> 1425 - <sdk:revision> 1426 - <sdk:major>28</sdk:major> 1427 - <sdk:minor>0</sdk:minor> 1428 - <sdk:micro>0</sdk:micro> 1429 - <sdk:preview>1</sdk:preview> 1430 - </sdk:revision> 1431 - <sdk:archives> 1432 - <sdk:archive> 1433 - <!--Built on: Sat Jun 16 20:06:20 2018.--> 1434 - <sdk:size>38703535</sdk:size> 1435 - <sdk:checksum type="sha1">1601977fae25fd478bcfaa0481ca5ea3c609d840</sdk:checksum> 1436 - <sdk:url>build-tools_r28-rc1-linux.zip</sdk:url> 1437 - <sdk:host-os>linux</sdk:host-os> 1438 - </sdk:archive> 1439 - <sdk:archive> 1440 - <!--Built on: Sun Jun 10 21:05:54 2018.--> 1441 - <sdk:size>38004795</sdk:size> 1442 - <sdk:checksum type="sha1">2c77821967a2330b7b227072d0b1c02ef19fe2fc</sdk:checksum> 1443 - <sdk:url>build-tools_r28-rc1-macosx.zip</sdk:url> 1444 - <sdk:host-os>macosx</sdk:host-os> 1445 - </sdk:archive> 1446 - <sdk:archive> 1447 - <!--Built on: Sat Jun 9 11:13:53 2018.--> 1448 - <sdk:size>39273232</sdk:size> 1449 - <sdk:checksum type="sha1">fbf46c33d1268f6532911707b2a05033fd5c5b41</sdk:checksum> 1450 - <sdk:url>build-tools_r28-rc1-windows.zip</sdk:url> 1451 - <sdk:host-os>windows</sdk:host-os> 1452 - </sdk:archive> 1453 - </sdk:archives> 1454 - <sdk:uses-license ref="android-sdk-license"/> 1455 - </sdk:build-tool> 1456 - <sdk:build-tool> 1457 - <!--Generated from bid:4507799, branch:git_oc-mr1-sdk-release--> 1458 - <sdk:revision> 1459 - <sdk:major>27</sdk:major> 1460 - <sdk:minor>0</sdk:minor> 1461 - <sdk:micro>3</sdk:micro> 1462 - </sdk:revision> 1463 - <sdk:archives> 1464 - <sdk:archive> 1465 - <!--Built on: Fri Jun 15 01:14:40 2018.--> 1466 - <sdk:size>54478554</sdk:size> 1467 - <sdk:checksum type="sha1">d85e7a6320eddffe7eeace3437605079dac938ca</sdk:checksum> 1468 - <sdk:url>build-tools_r27.0.3-linux.zip</sdk:url> 1469 - <sdk:host-os>linux</sdk:host-os> 1470 - </sdk:archive> 1471 - <sdk:archive> 1472 - <!--Built on: Fri Jun 15 02:46:10 2018.--> 1473 - <sdk:size>53867966</sdk:size> 1474 - <sdk:checksum type="sha1">61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d</sdk:checksum> 1475 - <sdk:url>build-tools_r27.0.3-macosx.zip</sdk:url> 1476 - <sdk:host-os>macosx</sdk:host-os> 1477 - </sdk:archive> 1478 - <sdk:archive> 1479 - <!--Built on: Mon Jun 18 21:09:43 2018.--> 1480 - <sdk:size>55194255</sdk:size> 1481 - <sdk:checksum type="sha1">0df61e11713a2838d2cc9a911219dddf5e6a2749</sdk:checksum> 1482 - <sdk:url>build-tools_r27.0.3-windows.zip</sdk:url> 1483 - <sdk:host-os>windows</sdk:host-os> 1484 - </sdk:archive> 1485 - </sdk:archives> 1486 - <sdk:uses-license ref="android-sdk-license"/> 1487 - </sdk:build-tool> 1488 - <sdk:build-tool> 1489 - <!--Generated from bid:4458339, branch:git_oc-mr1-sdk-release--> 1490 - <sdk:revision> 1491 - <sdk:major>27</sdk:major> 1492 - <sdk:minor>0</sdk:minor> 1493 - <sdk:micro>2</sdk:micro> 1494 - </sdk:revision> 1495 - <sdk:archives> 1496 - <sdk:archive> 1497 - <!--Built on: Mon Jun 4 08:42:16 2018.--> 1498 - <sdk:size>54458153</sdk:size> 1499 - <sdk:checksum type="sha1">b687ddf6be84f11607871138aad32cf857d0b837</sdk:checksum> 1500 - <sdk:url>build-tools_r27.0.2-linux.zip</sdk:url> 1501 - <sdk:host-os>linux</sdk:host-os> 1502 - </sdk:archive> 1503 - <sdk:archive> 1504 - <!--Built on: Mon Jun 11 15:49:30 2018.--> 1505 - <sdk:size>53846615</sdk:size> 1506 - <sdk:checksum type="sha1">6d5d9cf2a47877f273f4b742b19e712a051a31be</sdk:checksum> 1507 - <sdk:url>build-tools_r27.0.2-macosx.zip</sdk:url> 1508 - <sdk:host-os>macosx</sdk:host-os> 1509 - </sdk:archive> 1510 - <sdk:archive> 1511 - <!--Built on: Mon May 21 01:11:23 2018.--> 1512 - <sdk:size>55173070</sdk:size> 1513 - <sdk:checksum type="sha1">b80466c13b75e3ebf3c546964f40775db5898b2a</sdk:checksum> 1514 - <sdk:url>build-tools_r27.0.2-windows.zip</sdk:url> 1515 - <sdk:host-os>windows</sdk:host-os> 1516 - </sdk:archive> 1517 - </sdk:archives> 1518 - <sdk:uses-license ref="android-sdk-license"/> 1519 - </sdk:build-tool> 1520 - <sdk:build-tool> 1521 - <!--Generated from bid:4429804, branch:git_oc-mr1-release--> 1522 - <sdk:revision> 1523 - <sdk:major>27</sdk:major> 1524 - <sdk:minor>0</sdk:minor> 1525 - <sdk:micro>1</sdk:micro> 1526 - </sdk:revision> 1527 - <sdk:archives> 1528 - <sdk:archive> 1529 - <!--Built on: Wed Jun 13 21:53:36 2018.--> 1530 - <sdk:size>54450260</sdk:size> 1531 - <sdk:checksum type="sha1">7f4eedb1077ef948b848040dcd15de9e8a759f4a</sdk:checksum> 1532 - <sdk:url>build-tools_r27.0.1-linux.zip</sdk:url> 1533 - <sdk:host-os>linux</sdk:host-os> 1534 - </sdk:archive> 1535 - <sdk:archive> 1536 - <!--Built on: Thu May 17 21:44:36 2018.--> 1537 - <sdk:size>53838762</sdk:size> 1538 - <sdk:checksum type="sha1">1edd07bfdbadd95652d093040e16d858f7489594</sdk:checksum> 1539 - <sdk:url>build-tools_r27.0.1-macosx.zip</sdk:url> 1540 - <sdk:host-os>macosx</sdk:host-os> 1541 - </sdk:archive> 1542 - <sdk:archive> 1543 - <!--Built on: Sun Jun 10 07:28:26 2018.--> 1544 - <sdk:size>55171114</sdk:size> 1545 - <sdk:checksum type="sha1">18109db020c6d088d0157d1df201d31bc6970875</sdk:checksum> 1546 - <sdk:url>build-tools_r27.0.1-windows.zip</sdk:url> 1547 - <sdk:host-os>windows</sdk:host-os> 1548 - </sdk:archive> 1549 - </sdk:archives> 1550 - <sdk:uses-license ref="android-sdk-license"/> 1551 - </sdk:build-tool> 1552 - <sdk:build-tool> 1553 - <!--Generated from bid:4402310, branch:git_oc-mr1-release--> 1554 - <sdk:revision> 1555 - <sdk:major>27</sdk:major> 1556 - <sdk:minor>0</sdk:minor> 1557 - <sdk:micro>0</sdk:micro> 1558 - </sdk:revision> 1559 - <sdk:archives> 1560 - <sdk:archive> 1561 - <!--Built on: Sun Jun 3 03:24:44 2018.--> 1562 - <sdk:size>54441725</sdk:size> 1563 - <sdk:checksum type="sha1">28542332ba97cf4a08c3eddfcf5edd70e3cf1260</sdk:checksum> 1564 - <sdk:url>build-tools_r27-linux.zip</sdk:url> 1565 - <sdk:host-os>linux</sdk:host-os> 1566 - </sdk:archive> 1567 - <sdk:archive> 1568 - <!--Built on: Sat Jun 9 15:50:22 2018.--> 1569 - <sdk:size>53831513</sdk:size> 1570 - <sdk:checksum type="sha1">fb4e8d7e6b8d29a77090e34024077a80458d5ae1</sdk:checksum> 1571 - <sdk:url>build-tools_r27-macosx.zip</sdk:url> 1572 - <sdk:host-os>macosx</sdk:host-os> 1573 - </sdk:archive> 1574 - <sdk:archive> 1575 - <!--Built on: Wed Jun 13 05:13:49 2018.--> 1576 - <sdk:size>55163097</sdk:size> 1577 - <sdk:checksum type="sha1">4f1df22a6d99261d2160d624b81445da0a027dbe</sdk:checksum> 1578 - <sdk:url>build-tools_r27-windows.zip</sdk:url> 1579 - <sdk:host-os>windows</sdk:host-os> 1580 - </sdk:archive> 1581 - </sdk:archives> 1582 - <sdk:uses-license ref="android-sdk-license"/> 1583 - </sdk:build-tool> 1584 - <sdk:build-tool> 1585 - <!--Generated from bid:4420879, branch:git_oc-mr1-release--> 1586 - <sdk:revision> 1587 - <sdk:major>26</sdk:major> 1588 - <sdk:minor>0</sdk:minor> 1589 - <sdk:micro>3</sdk:micro> 1590 - </sdk:revision> 1591 - <sdk:archives> 1592 - <sdk:archive> 1593 - <!--Built on: Fri May 18 19:01:05 2018.--> 1594 - <sdk:size>54449983</sdk:size> 1595 - <sdk:checksum type="sha1">8a2e6c1bcd845844523a68aa17e5442f0dce328c</sdk:checksum> 1596 - <sdk:url>build-tools_r26.0.3-linux.zip</sdk:url> 1597 - <sdk:host-os>linux</sdk:host-os> 1598 - </sdk:archive> 1599 - <sdk:archive> 1600 - <!--Built on: Sat May 26 11:11:32 2018.--> 1601 - <sdk:size>53839758</sdk:size> 1602 - <sdk:checksum type="sha1">5bb90ed935d99e5bc90686f43b852e68c5ad40df</sdk:checksum> 1603 - <sdk:url>build-tools_r26.0.3-macosx.zip</sdk:url> 1604 - <sdk:host-os>macosx</sdk:host-os> 1605 - </sdk:archive> 1606 - <sdk:archive> 1607 - <!--Built on: Mon Jun 4 23:32:18 2018.--> 1608 - <sdk:size>55170919</sdk:size> 1609 - <sdk:checksum type="sha1">460e511a9616b4661cc8dba0102d9d990ae60160</sdk:checksum> 1610 - <sdk:url>build-tools_r26.0.3-windows.zip</sdk:url> 1611 - <sdk:host-os>windows</sdk:host-os> 1612 - </sdk:archive> 1613 - </sdk:archives> 1614 - <sdk:uses-license ref="android-sdk-license"/> 1615 - </sdk:build-tool> 1616 - <sdk:build-tool> 1617 - <!--Generated from bid:4355572, branch:git_oc-mr1-release--> 1618 - <sdk:revision> 1619 - <sdk:major>26</sdk:major> 1620 - <sdk:minor>0</sdk:minor> 1621 - <sdk:micro>2</sdk:micro> 1622 - </sdk:revision> 1623 - <sdk:archives> 1624 - <sdk:archive> 1625 - <!--Built on: Wed May 23 14:33:19 2018.--> 1626 - <sdk:size>54440678</sdk:size> 1627 - <sdk:checksum type="sha1">5b2b7b66c7bf2151f2af183b5b50a17808850592</sdk:checksum> 1628 - <sdk:url>build-tools_r26.0.2-linux.zip</sdk:url> 1629 - <sdk:host-os>linux</sdk:host-os> 1630 - </sdk:archive> 1631 - <sdk:archive> 1632 - <!--Built on: Wed Jun 6 07:17:54 2018.--> 1633 - <sdk:size>53830573</sdk:size> 1634 - <sdk:checksum type="sha1">d9ed7c7f149ce38be5dc08979aea8acec1459ca0</sdk:checksum> 1635 - <sdk:url>build-tools_r26.0.2-macosx.zip</sdk:url> 1636 - <sdk:host-os>macosx</sdk:host-os> 1637 - </sdk:archive> 1638 - <sdk:archive> 1639 - <!--Built on: Mon Jun 11 07:41:38 2018.--> 1640 - <sdk:size>55161474</sdk:size> 1641 - <sdk:checksum type="sha1">39ca02d3faa49859cd9d1bc0adc2f331017b699b</sdk:checksum> 1642 - <sdk:url>build-tools_r26.0.2-windows.zip</sdk:url> 1643 - <sdk:host-os>windows</sdk:host-os> 1644 - </sdk:archive> 1645 - </sdk:archives> 1646 - <sdk:uses-license ref="android-sdk-license"/> 1647 - </sdk:build-tool> 1648 - <sdk:build-tool> 1649 - <!--Generated from bid:4187382, branch:git_oc-release--> 1650 - <sdk:revision> 1651 - <sdk:major>26</sdk:major> 1652 - <sdk:minor>0</sdk:minor> 1653 - <sdk:micro>1</sdk:micro> 1654 - </sdk:revision> 1655 - <sdk:archives> 1656 - <sdk:archive> 1657 - <!--Built on: Fri Jun 8 18:48:52 2018.--> 1658 - <sdk:size>54113329</sdk:size> 1659 - <sdk:checksum type="sha1">5378c2c78091b414d0eac40a6bd37f2faa31a365</sdk:checksum> 1660 - <sdk:url>build-tools_r26.0.1-linux.zip</sdk:url> 1661 - <sdk:host-os>linux</sdk:host-os> 1662 - </sdk:archive> 1663 - <sdk:archive> 1664 - <!--Built on: Wed Jun 13 12:42:53 2018.--> 1665 - <sdk:size>53266653</sdk:size> 1666 - <sdk:checksum type="sha1">cbde59de198916b390777dd0227921bfa2120832</sdk:checksum> 1667 - <sdk:url>build-tools_r26.0.1-macosx.zip</sdk:url> 1668 - <sdk:host-os>macosx</sdk:host-os> 1669 - </sdk:archive> 1670 - <sdk:archive> 1671 - <!--Built on: Tue Jun 5 10:41:28 2018.--> 1672 - <sdk:size>54936185</sdk:size> 1673 - <sdk:checksum type="sha1">02494c80ffbe65bfff0aaa7463c9692693327b7d</sdk:checksum> 1674 - <sdk:url>build-tools_r26.0.1-windows.zip</sdk:url> 1675 - <sdk:host-os>windows</sdk:host-os> 1676 - </sdk:archive> 1677 - </sdk:archives> 1678 - <sdk:uses-license ref="android-sdk-license"/> 1679 - </sdk:build-tool> 1680 - <sdk:build-tool> 1681 - <!--Generated from bid:4062713, branch:git_oc-preview3-sdk--> 1682 - <sdk:revision> 1683 - <sdk:major>26</sdk:major> 1684 - <sdk:minor>0</sdk:minor> 1685 - <sdk:micro>0</sdk:micro> 1686 - </sdk:revision> 1687 - <sdk:archives> 1688 - <sdk:archive> 1689 - <!--Built on: Sat May 26 02:59:29 2018.--> 1690 - <sdk:size>53854197</sdk:size> 1691 - <sdk:checksum type="sha1">1cbe72929876f8a872ab1f1b1040a9f720261f59</sdk:checksum> 1692 - <sdk:url>build-tools_r26-linux.zip</sdk:url> 1693 - <sdk:host-os>linux</sdk:host-os> 1694 - </sdk:archive> 1695 - <sdk:archive> 1696 - <!--Built on: Sat Jun 9 20:38:32 2018.--> 1697 - <sdk:size>53010814</sdk:size> 1698 - <sdk:checksum type="sha1">d01a1aeca03747245f1f5936b3cb01759c66d086</sdk:checksum> 1699 - <sdk:url>build-tools_r26-macosx.zip</sdk:url> 1700 - <sdk:host-os>macosx</sdk:host-os> 1701 - </sdk:archive> 1702 - <sdk:archive> 1703 - <!--Built on: Thu May 31 06:40:23 2018.--> 1704 - <sdk:size>54681641</sdk:size> 1705 - <sdk:checksum type="sha1">896ebd31117c09db220f7a3116cc0e5121c78b9d</sdk:checksum> 1706 - <sdk:url>build-tools_r26-windows.zip</sdk:url> 1707 - <sdk:host-os>windows</sdk:host-os> 1708 - </sdk:archive> 1709 - </sdk:archives> 1710 - <sdk:uses-license ref="android-sdk-license"/> 1711 - </sdk:build-tool> 1712 - <sdk:build-tool> 1713 - <!--Generated from bid:4004883, branch:git_oc-preview2-sdk--> 1714 - <sdk:revision> 1715 - <sdk:major>26</sdk:major> 1716 - <sdk:minor>0</sdk:minor> 1717 - <sdk:micro>0</sdk:micro> 1718 - <sdk:preview>2</sdk:preview> 1719 - </sdk:revision> 1720 - <sdk:archives> 1721 - <sdk:archive> 1722 - <!--Built on: Tue May 22 14:01:05 2018.--> 1723 - <sdk:size>53847560</sdk:size> 1724 - <sdk:checksum type="sha1">629bbd8d2e415bf64871fb0b4c0540fd6d0347a0</sdk:checksum> 1725 - <sdk:url>build-tools_r26-rc2-linux.zip</sdk:url> 1726 - <sdk:host-os>linux</sdk:host-os> 1727 - </sdk:archive> 1728 - <sdk:archive> 1729 - <!--Built on: Sat May 26 08:16:12 2018.--> 1730 - <sdk:size>53003874</sdk:size> 1731 - <sdk:checksum type="sha1">cb1eb738a1f7003025af267a9b8cc2d259533c70</sdk:checksum> 1732 - <sdk:url>build-tools_r26-rc2-macosx.zip</sdk:url> 1733 - <sdk:host-os>macosx</sdk:host-os> 1734 - </sdk:archive> 1735 - <sdk:archive> 1736 - <!--Built on: Mon Jun 18 00:43:07 2018.--> 1737 - <sdk:size>54678375</sdk:size> 1738 - <sdk:checksum type="sha1">ddaba77db0557a98f6330fbd579ad0bd12cbb152</sdk:checksum> 1739 - <sdk:url>build-tools_r26-rc2-windows.zip</sdk:url> 1740 - <sdk:host-os>windows</sdk:host-os> 1741 - </sdk:archive> 1742 - </sdk:archives> 1743 - <sdk:uses-license ref="android-sdk-preview-license"/> 1744 - </sdk:build-tool> 1745 - <sdk:build-tool> 1746 - <!--Generated from bid:3821161, branch:git_oc-preview-release--> 1747 - <sdk:revision> 1748 - <sdk:major>26</sdk:major> 1749 - <sdk:minor>0</sdk:minor> 1750 - <sdk:micro>0</sdk:micro> 1751 - <sdk:preview>1</sdk:preview> 1752 - </sdk:revision> 1753 - <sdk:archives> 1754 - <sdk:archive> 1755 - <!--Built on: Sun May 27 22:43:40 2018.--> 1756 - <sdk:size>53648603</sdk:size> 1757 - <sdk:checksum type="sha1">8cd6388dc96db2d7a49d06159cf990d3bbc78d04</sdk:checksum> 1758 - <sdk:url>build-tools_r26-rc1-linux.zip</sdk:url> 1759 - <sdk:host-os>linux</sdk:host-os> 1760 - </sdk:archive> 1761 - <sdk:archive> 1762 - <!--Built on: Tue Jun 12 18:41:58 2018.--> 1763 - <sdk:size>52821129</sdk:size> 1764 - <sdk:checksum type="sha1">5c5a1de7d5f4f000d36ae349229fe0be846d6137</sdk:checksum> 1765 - <sdk:url>build-tools_r26-rc1-macosx.zip</sdk:url> 1766 - <sdk:host-os>macosx</sdk:host-os> 1767 - </sdk:archive> 1768 - <sdk:archive> 1769 - <!--Built on: Sat May 26 12:23:48 2018.--> 1770 - <sdk:size>54379108</sdk:size> 1771 - <sdk:checksum type="sha1">43c2ddad3b67a5c33712ae14331a60673e69be91</sdk:checksum> 1772 - <sdk:url>build-tools_r26-rc1-windows.zip</sdk:url> 1773 - <sdk:host-os>windows</sdk:host-os> 1774 - </sdk:archive> 1775 - </sdk:archives> 1776 - <sdk:uses-license ref="android-sdk-preview-license"/> 1777 - </sdk:build-tool> 1778 - <sdk:build-tool> 1779 - <!--Generated from bid:3907386, branch:git_nyc-mr1-sdk-dev--> 1780 - <sdk:revision> 1781 - <sdk:major>25</sdk:major> 1782 - <sdk:minor>0</sdk:minor> 1783 - <sdk:micro>3</sdk:micro> 1784 - </sdk:revision> 1785 - <sdk:archives> 1786 - <sdk:archive> 1787 - <!--Built on: Mon Jun 4 10:03:34 2018.--> 1788 - <sdk:size>50757258</sdk:size> 1789 - <sdk:checksum type="sha1">db95f3a0ae376534d4d69f4cdb6fad20649f3509</sdk:checksum> 1790 - <sdk:url>build-tools_r25.0.3-linux.zip</sdk:url> 1791 - <sdk:host-os>linux</sdk:host-os> 1792 - </sdk:archive> 1793 - <sdk:archive> 1794 - <!--Built on: Sat Jun 16 17:57:45 2018.--> 1795 - <sdk:size>50545085</sdk:size> 1796 - <sdk:checksum type="sha1">160d2fefb5ce68e443427fc30a793a703b63e26e</sdk:checksum> 1797 - <sdk:url>build-tools_r25.0.3-macosx.zip</sdk:url> 1798 - <sdk:host-os>macosx</sdk:host-os> 1799 - </sdk:archive> 1800 - <sdk:archive> 1801 - <!--Built on: Sat Jun 2 16:26:03 2018.--> 1802 - <sdk:size>51337442</sdk:size> 1803 - <sdk:checksum type="sha1">1edcb109ae5133aebfed573cf0bc84e0c353c28d</sdk:checksum> 1804 - <sdk:url>build-tools_r25.0.3-windows.zip</sdk:url> 1805 - <sdk:host-os>windows</sdk:host-os> 1806 - </sdk:archive> 1807 - </sdk:archives> 1808 - <sdk:uses-license ref="android-sdk-license"/> 1809 - </sdk:build-tool> 1810 - <sdk:build-tool> 1811 - <!--Generated from bid:3544217, branch:git_nyc-mr1-sdk-dev--> 1812 - <sdk:revision> 1813 - <sdk:major>25</sdk:major> 1814 - <sdk:minor>0</sdk:minor> 1815 - <sdk:micro>2</sdk:micro> 1816 - </sdk:revision> 1817 - <sdk:archives> 1818 - <sdk:archive> 1819 - <!--Built on: Wed Jun 13 09:54:19 2018.--> 1820 - <sdk:size>49880329</sdk:size> 1821 - <sdk:checksum type="sha1">ff953c0177e317618fda40516f3e9d95fd43c7ae</sdk:checksum> 1822 - <sdk:url>build-tools_r25.0.2-linux.zip</sdk:url> 1823 - <sdk:host-os>linux</sdk:host-os> 1824 - </sdk:archive> 1825 - <sdk:archive> 1826 - <!--Built on: Tue May 29 08:01:46 2018.--> 1827 - <sdk:size>49667185</sdk:size> 1828 - <sdk:checksum type="sha1">12a5204bb3b6e39437535469fde7ddf42da46b16</sdk:checksum> 1829 - <sdk:url>build-tools_r25.0.2-macosx.zip</sdk:url> 1830 - <sdk:host-os>macosx</sdk:host-os> 1831 - </sdk:archive> 1832 - <sdk:archive> 1833 - <!--Built on: Thu Jun 7 23:11:35 2018.--> 1834 - <sdk:size>50458908</sdk:size> 1835 - <sdk:checksum type="sha1">2fee3c0704d6ecc480570450d8b8069b2c4a2dd4</sdk:checksum> 1836 - <sdk:url>build-tools_r25.0.2-windows.zip</sdk:url> 1837 - <sdk:host-os>windows</sdk:host-os> 1838 - </sdk:archive> 1839 - </sdk:archives> 1840 - <sdk:uses-license ref="android-sdk-license"/> 1841 - </sdk:build-tool> 1842 - <sdk:build-tool> 1843 - <!--Generated from bid:3485210, branch:git_nyc-mr1-sdk-dev--> 1844 - <sdk:revision> 1845 - <sdk:major>25</sdk:major> 1846 - <sdk:minor>0</sdk:minor> 1847 - <sdk:micro>1</sdk:micro> 1848 - </sdk:revision> 1849 - <sdk:archives> 1850 - <sdk:archive> 1851 - <!--Built on: Fri May 25 11:51:28 2018.--> 1852 - <sdk:size>49880178</sdk:size> 1853 - <sdk:checksum type="sha1">ff063d252ab750d339f5947d06ff782836f22bac</sdk:checksum> 1854 - <sdk:url>build-tools_r25.0.1-linux.zip</sdk:url> 1855 - <sdk:host-os>linux</sdk:host-os> 1856 - </sdk:archive> 1857 - <sdk:archive> 1858 - <!--Built on: Mon May 21 03:26:16 2018.--> 1859 - <sdk:size>49667353</sdk:size> 1860 - <sdk:checksum type="sha1">7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f</sdk:checksum> 1861 - <sdk:url>build-tools_r25.0.1-macosx.zip</sdk:url> 1862 - <sdk:host-os>macosx</sdk:host-os> 1863 - </sdk:archive> 1864 - <sdk:archive> 1865 - <!--Built on: Wed May 30 20:26:28 2018.--> 1866 - <sdk:size>50458759</sdk:size> 1867 - <sdk:checksum type="sha1">c6c61393565ccf46349e7f44511e5db7c1c6169d</sdk:checksum> 1868 - <sdk:url>build-tools_r25.0.1-windows.zip</sdk:url> 1869 - <sdk:host-os>windows</sdk:host-os> 1870 - </sdk:archive> 1871 - </sdk:archives> 1872 - <sdk:uses-license ref="android-sdk-license"/> 1873 - </sdk:build-tool> 1874 - <sdk:build-tool> 1875 - <!--Generated from bid:3359293, branch:git_nyc-mr1-sdk-dev--> 1876 - <sdk:revision> 1877 - <sdk:major>25</sdk:major> 1878 - <sdk:minor>0</sdk:minor> 1879 - <sdk:micro>0</sdk:micro> 1880 - </sdk:revision> 1881 - <sdk:archives> 1882 - <sdk:archive> 1883 - <!--Built on: Sun Jun 3 08:35:42 2018.--> 1884 - <sdk:size>49872921</sdk:size> 1885 - <sdk:checksum type="sha1">f2bbda60403e75cabd0f238598c3b4dfca56ea44</sdk:checksum> 1886 - <sdk:url>build-tools_r25-linux.zip</sdk:url> 1887 - <sdk:host-os>linux</sdk:host-os> 1888 - </sdk:archive> 1889 - <sdk:archive> 1890 - <!--Built on: Tue Jun 5 22:55:37 2018.--> 1891 - <sdk:size>49659466</sdk:size> 1892 - <sdk:checksum type="sha1">273c5c29a65cbed00e44f3aa470bbd7dce556606</sdk:checksum> 1893 - <sdk:url>build-tools_r25-macosx.zip</sdk:url> 1894 - <sdk:host-os>macosx</sdk:host-os> 1895 - </sdk:archive> 1896 - <sdk:archive> 1897 - <!--Built on: Fri Jun 1 02:28:01 2018.--> 1898 - <sdk:size>50451378</sdk:size> 1899 - <sdk:checksum type="sha1">f9258f2308ff8b62cfc4513d40cb961612d07b6a</sdk:checksum> 1900 - <sdk:url>build-tools_r25-windows.zip</sdk:url> 1901 - <sdk:host-os>windows</sdk:host-os> 1902 - </sdk:archive> 1903 - </sdk:archives> 1904 - <sdk:uses-license ref="android-sdk-license"/> 1905 - </sdk:build-tool> 1906 - <sdk:build-tool> 1907 - <!--Generated from bid:3303571, branch:git_nyc-sdk-dev--> 1908 - <sdk:revision> 1909 - <sdk:major>24</sdk:major> 1910 - <sdk:minor>0</sdk:minor> 1911 - <sdk:micro>3</sdk:micro> 1912 - </sdk:revision> 1913 - <sdk:archives> 1914 - <sdk:archive> 1915 - <!--Built on: Sun Jun 10 09:52:06 2018.--> 1916 - <sdk:size>49779151</sdk:size> 1917 - <sdk:checksum type="sha1">9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304</sdk:checksum> 1918 - <sdk:url>build-tools_r24.0.3-linux.zip</sdk:url> 1919 - <sdk:host-os>linux</sdk:host-os> 1920 - </sdk:archive> 1921 - <sdk:archive> 1922 - <!--Built on: Tue May 22 10:05:55 2018.--> 1923 - <sdk:size>49568967</sdk:size> 1924 - <sdk:checksum type="sha1">a01c15f1b105c34595681075e1895d58b3fff48c</sdk:checksum> 1925 - <sdk:url>build-tools_r24.0.3-macosx.zip</sdk:url> 1926 - <sdk:host-os>macosx</sdk:host-os> 1927 - </sdk:archive> 1928 - <sdk:archive> 1929 - <!--Built on: Thu May 17 23:44:20 2018.--> 1930 - <sdk:size>50354788</sdk:size> 1931 - <sdk:checksum type="sha1">8b960d693fd4163caeb8dc5f5f5f80b10987089c</sdk:checksum> 1932 - <sdk:url>build-tools_r24.0.3-windows.zip</sdk:url> 1933 - <sdk:host-os>windows</sdk:host-os> 1934 - </sdk:archive> 1935 - </sdk:archives> 1936 - <sdk:uses-license ref="android-sdk-license"/> 1937 - </sdk:build-tool> 1938 - <sdk:build-tool> 1939 - <!--Generated from bid:3209611, branch:git_nyc-sdk-dev--> 1940 - <sdk:revision> 1941 - <sdk:major>24</sdk:major> 1942 - <sdk:minor>0</sdk:minor> 1943 - <sdk:micro>2</sdk:micro> 1944 - </sdk:revision> 1945 - <sdk:archives> 1946 - <sdk:archive> 1947 - <!--Built on: Fri Jun 15 23:52:09 2018.--> 1948 - <sdk:size>48936295</sdk:size> 1949 - <sdk:checksum type="sha1">f199a7a788c3fefbed102eea34d6007737b803cf</sdk:checksum> 1950 - <sdk:url>build-tools_r24.0.2-linux.zip</sdk:url> 1951 - <sdk:host-os>linux</sdk:host-os> 1952 - </sdk:archive> 1953 - <sdk:archive> 1954 - <!--Built on: Fri Jun 8 05:11:05 2018.--> 1955 - <sdk:size>48726190</sdk:size> 1956 - <sdk:checksum type="sha1">8bb8fc575477491d5957de743089df412de55cda</sdk:checksum> 1957 - <sdk:url>build-tools_r24.0.2-macosx.zip</sdk:url> 1958 - <sdk:host-os>macosx</sdk:host-os> 1959 - </sdk:archive> 1960 - <sdk:archive> 1961 - <!--Built on: Fri Jun 15 23:26:15 2018.--> 1962 - <sdk:size>49512513</sdk:size> 1963 - <sdk:checksum type="sha1">09586a1f1c39bcfa7db5205c9a07837247deb67e</sdk:checksum> 1964 - <sdk:url>build-tools_r24.0.2-windows.zip</sdk:url> 1965 - <sdk:host-os>windows</sdk:host-os> 1966 - </sdk:archive> 1967 - </sdk:archives> 1968 - <sdk:uses-license ref="android-sdk-license"/> 1969 - </sdk:build-tool> 1970 - <sdk:build-tool> 1971 - <!--Generated from bid:3208200, branch:git_nyc-dev--> 1972 - <sdk:revision> 1973 - <sdk:major>24</sdk:major> 1974 - <sdk:minor>0</sdk:minor> 1975 - <sdk:micro>1</sdk:micro> 1976 - </sdk:revision> 1977 - <sdk:archives> 1978 - <sdk:archive> 1979 - <!--Built on: Mon May 28 07:24:53 2018.--> 1980 - <sdk:size>48936286</sdk:size> 1981 - <sdk:checksum type="sha1">84f18c392919a074fcbb9b1d967984e6b2fef8b4</sdk:checksum> 1982 - <sdk:url>build-tools_r24.0.1-linux.zip</sdk:url> 1983 - <sdk:host-os>linux</sdk:host-os> 1984 - </sdk:archive> 1985 - <sdk:archive> 1986 - <!--Built on: Thu Jun 14 02:41:05 2018.--> 1987 - <sdk:size>48726085</sdk:size> 1988 - <sdk:checksum type="sha1">5c6457fcdfa07724fb086d8ff4e8316fc0742848</sdk:checksum> 1989 - <sdk:url>build-tools_r24.0.1-macosx.zip</sdk:url> 1990 - <sdk:host-os>macosx</sdk:host-os> 1991 - </sdk:archive> 1992 - <sdk:archive> 1993 - <!--Built on: Tue Jun 12 21:59:52 2018.--> 1994 - <sdk:size>49511883</sdk:size> 1995 - <sdk:checksum type="sha1">ac4a7cea42c3ef74d7fbf1b992fad311c550034e</sdk:checksum> 1996 - <sdk:url>build-tools_r24.0.1-windows.zip</sdk:url> 1997 - <sdk:host-os>windows</sdk:host-os> 1998 - </sdk:archive> 1999 - </sdk:archives> 2000 - <sdk:uses-license ref="android-sdk-license"/> 2001 - </sdk:build-tool> 2002 - <sdk:build-tool> 2003 - <!--Generated from bid:2964546, branch:git_nyc-preview-release--> 2004 - <sdk:revision> 2005 - <sdk:major>24</sdk:major> 2006 - <sdk:minor>0</sdk:minor> 2007 - <sdk:micro>0</sdk:micro> 2008 - </sdk:revision> 2009 - <sdk:archives> 2010 - <sdk:archive> 2011 - <!--Built on: Thu May 31 15:18:44 2018.--> 2012 - <sdk:size>48960919</sdk:size> 2013 - <sdk:checksum type="sha1">c6271c4d78a5612ea6c7150688bcd5b7313de8d1</sdk:checksum> 2014 - <sdk:url>build-tools_r24-linux.zip</sdk:url> 2015 - <sdk:host-os>linux</sdk:host-os> 2016 - </sdk:archive> 2017 - <sdk:archive> 2018 - <!--Built on: Sun Jun 10 20:05:01 2018.--> 2019 - <sdk:size>48747930</sdk:size> 2020 - <sdk:checksum type="sha1">97fc4ed442f23989cc488d02c1d1de9bdde241de</sdk:checksum> 2021 - <sdk:url>build-tools_r24-macosx.zip</sdk:url> 2022 - <sdk:host-os>macosx</sdk:host-os> 2023 - </sdk:archive> 2024 - <sdk:archive> 2025 - <!--Built on: Sun Jun 10 15:13:01 2018.--> 2026 - <sdk:size>49535326</sdk:size> 2027 - <sdk:checksum type="sha1">dc61b9e5b451a0c3ec42ae2b1ce27c4d3c8da9f7</sdk:checksum> 2028 - <sdk:url>build-tools_r24-windows.zip</sdk:url> 2029 - <sdk:host-os>windows</sdk:host-os> 2030 - </sdk:archive> 2031 - </sdk:archives> 2032 - <sdk:uses-license ref="android-sdk-license"/> 2033 - </sdk:build-tool> 2034 - <sdk:build-tool> 2035 - <!--Generated from bid:2355899, branch:git_mnc-dev--> 2036 - <sdk:revision> 2037 - <sdk:major>23</sdk:major> 2038 - <sdk:minor>0</sdk:minor> 2039 - <sdk:micro>2</sdk:micro> 2040 - </sdk:revision> 2041 - <sdk:archives> 2042 - <sdk:archive> 2043 - <!--Built on: Sat May 19 00:00:21 2018.--> 2044 - <sdk:size>39071201</sdk:size> 2045 - <sdk:checksum type="sha1">8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3</sdk:checksum> 2046 - <sdk:url>build-tools_r23.0.2-linux.zip</sdk:url> 2047 - <sdk:host-os>linux</sdk:host-os> 2048 - </sdk:archive> 2049 - <sdk:archive> 2050 - <!--Built on: Sun May 27 14:18:27 2018.--> 2051 - <sdk:size>38060914</sdk:size> 2052 - <sdk:checksum type="sha1">482c4cbceef8ff58aefd92d8155a38610158fdaf</sdk:checksum> 2053 - <sdk:url>build-tools_r23.0.2-macosx.zip</sdk:url> 2054 - <sdk:host-os>macosx</sdk:host-os> 2055 - </sdk:archive> 2056 - <sdk:archive> 2057 - <!--Built on: Mon Jun 18 16:23:02 2018.--> 2058 - <sdk:size>38217626</sdk:size> 2059 - <sdk:checksum type="sha1">fc3a92c744d3ba0a16ccb5d2b41eea5974ce0a96</sdk:checksum> 2060 - <sdk:url>build-tools_r23.0.2-windows.zip</sdk:url> 2061 - <sdk:host-os>windows</sdk:host-os> 2062 - </sdk:archive> 2063 - </sdk:archives> 2064 - <sdk:uses-license ref="android-sdk-license"/> 2065 - </sdk:build-tool> 2066 - <sdk:build-tool> 2067 - <!--Generated from bid:2679779, branch:git_mnc-dev--> 2068 - <sdk:revision> 2069 - <sdk:major>23</sdk:major> 2070 - <sdk:minor>0</sdk:minor> 2071 - <sdk:micro>3</sdk:micro> 2072 - </sdk:revision> 2073 - <sdk:archives> 2074 - <sdk:archive> 2075 - <!--Built on: Tue Jun 12 12:39:27 2018.--> 2076 - <sdk:size>40733174</sdk:size> 2077 - <sdk:checksum type="sha1">368f2600feac7e9b511b82f53d1f2240ae4a91a3</sdk:checksum> 2078 - <sdk:url>build-tools_r23.0.3-linux.zip</sdk:url> 2079 - <sdk:host-os>linux</sdk:host-os> 2080 - </sdk:archive> 2081 - <sdk:archive> 2082 - <!--Built on: Fri Jun 8 14:28:55 2018.--> 2083 - <sdk:size>39679533</sdk:size> 2084 - <sdk:checksum type="sha1">fbc98cd303fd15a31d472de6c03bd707829f00b0</sdk:checksum> 2085 - <sdk:url>build-tools_r23.0.3-macosx.zip</sdk:url> 2086 - <sdk:host-os>macosx</sdk:host-os> 2087 - </sdk:archive> 2088 - <sdk:archive> 2089 - <!--Built on: Sat Jun 9 16:05:42 2018.--> 2090 - <sdk:size>39869945</sdk:size> 2091 - <sdk:checksum type="sha1">c6d8266c6a3243c8f1e41b786c0e3cee4c781263</sdk:checksum> 2092 - <sdk:url>build-tools_r23.0.3-windows.zip</sdk:url> 2093 - <sdk:host-os>windows</sdk:host-os> 2094 - </sdk:archive> 2095 - </sdk:archives> 2096 - <sdk:uses-license ref="android-sdk-license"/> 2097 - </sdk:build-tool> 2098 - <sdk:build-tool> 2099 - <!--Generated from bid:2201634, branch:git_mnc-sdk-release--> 2100 - <sdk:revision> 2101 - <sdk:major>23</sdk:major> 2102 - <sdk:minor>0</sdk:minor> 2103 - <sdk:micro>1</sdk:micro> 2104 - </sdk:revision> 2105 - <sdk:archives> 2106 - <sdk:archive> 2107 - <!--Built on: Sun Jun 17 12:24:05 2018.--> 2108 - <sdk:size>39069295</sdk:size> 2109 - <sdk:checksum type="sha1">b6ba7c399d5fa487d95289d8832e4ad943aed556</sdk:checksum> 2110 - <sdk:url>build-tools_r23.0.1-linux.zip</sdk:url> 2111 - <sdk:host-os>linux</sdk:host-os> 2112 - </sdk:archive> 2113 - <sdk:archive> 2114 - <!--Built on: Tue Jun 12 04:52:07 2018.--> 2115 - <sdk:size>38059328</sdk:size> 2116 - <sdk:checksum type="sha1">d96ec1522721e9a179ae2c591c99f75d31d39718</sdk:checksum> 2117 - <sdk:url>build-tools_r23.0.1-macosx.zip</sdk:url> 2118 - <sdk:host-os>macosx</sdk:host-os> 2119 - </sdk:archive> 2120 - <sdk:archive> 2121 - <!--Built on: Sat May 26 01:11:05 2018.--> 2122 - <sdk:size>38558889</sdk:size> 2123 - <sdk:checksum type="sha1">cc1d37231d228f7a6f130e1f8d8c940052f0f8ab</sdk:checksum> 2124 - <sdk:url>build-tools_r23.0.1-windows.zip</sdk:url> 2125 - <sdk:host-os>windows</sdk:host-os> 2126 - </sdk:archive> 2127 - </sdk:archives> 2128 - <sdk:uses-license ref="android-sdk-license"/> 2129 - </sdk:build-tool> 2130 - <sdk:build-tool> 2131 - <!--Generated from bid:2166767, branch:git_mnc-release--> 2132 - <sdk:obsolete/> 2133 - <sdk:revision> 2134 - <sdk:major>23</sdk:major> 2135 - <sdk:minor>0</sdk:minor> 2136 - <sdk:micro>0</sdk:micro> 2137 - </sdk:revision> 2138 - <sdk:archives> 2139 - <sdk:archive> 2140 - <!--Built on: Sat Jun 2 10:17:50 2018.--> 2141 - <sdk:size>39080519</sdk:size> 2142 - <sdk:checksum type="sha1">c1d6209212b01469f80fa804e0c1d39a06bc9060</sdk:checksum> 2143 - <sdk:url>build-tools_r23-linux.zip</sdk:url> 2144 - <sdk:host-os>linux</sdk:host-os> 2145 - </sdk:archive> 2146 - <sdk:archive> 2147 - <!--Built on: Wed Jun 13 23:09:27 2018.--> 2148 - <sdk:size>38070540</sdk:size> 2149 - <sdk:checksum type="sha1">90ba6e716f7703a236cd44b2e71c5ff430855a03</sdk:checksum> 2150 - <sdk:url>build-tools_r23-macosx.zip</sdk:url> 2151 - <sdk:host-os>macosx</sdk:host-os> 2152 - </sdk:archive> 2153 - <sdk:archive> 2154 - <!--Built on: Sat May 19 18:49:10 2018.--> 2155 - <sdk:size>38570715</sdk:size> 2156 - <sdk:checksum type="sha1">3874948f35f2f8946597679cc6e9151449f23b5d</sdk:checksum> 2157 - <sdk:url>build-tools_r23-windows.zip</sdk:url> 2158 - <sdk:host-os>windows</sdk:host-os> 2159 - </sdk:archive> 2160 - </sdk:archives> 2161 - <sdk:uses-license ref="android-sdk-license"/> 2162 - </sdk:build-tool> 2163 - <sdk:build-tool> 2164 - <!--Generated from bid:1793126, branch:git_lmp-mr1-sdk-release--> 2165 - <sdk:revision> 2166 - <sdk:major>22</sdk:major> 2167 - <sdk:minor>0</sdk:minor> 2168 - <sdk:micro>1</sdk:micro> 2169 - </sdk:revision> 2170 - <sdk:archives> 2171 - <sdk:archive> 2172 - <!--Built on: Thu Jun 14 19:03:49 2018.--> 2173 - <sdk:size>33104577</sdk:size> 2174 - <sdk:checksum type="sha1">da8b9c5c3ede39298e6cf0283c000c2ee9029646</sdk:checksum> 2175 - <sdk:url>build-tools_r22.0.1-linux.zip</sdk:url> 2176 - <sdk:host-os>linux</sdk:host-os> 2177 - </sdk:archive> 2178 - <sdk:archive> 2179 - <!--Built on: Mon Jun 11 09:42:44 2018.--> 2180 - <sdk:size>33646102</sdk:size> 2181 - <sdk:checksum type="sha1">53dad7f608e01d53b17176ba11165acbfccc5bbf</sdk:checksum> 2182 - <sdk:url>build-tools_r22.0.1-macosx.zip</sdk:url> 2183 - <sdk:host-os>macosx</sdk:host-os> 2184 - </sdk:archive> 2185 - <sdk:archive> 2186 - <!--Built on: Sat Jun 2 09:57:53 2018.--> 2187 - <sdk:size>33254137</sdk:size> 2188 - <sdk:checksum type="sha1">61d8cbe069d9e0a57872a83e5e5abe164b7d52cf</sdk:checksum> 2189 - <sdk:url>build-tools_r22.0.1-windows.zip</sdk:url> 2190 - <sdk:host-os>windows</sdk:host-os> 2191 - </sdk:archive> 2192 - </sdk:archives> 2193 - <sdk:uses-license ref="android-sdk-license"/> 2194 - </sdk:build-tool> 2195 - <sdk:build-tool> 2196 - <!--Generated from bid:1764203, branch:git_lmp-mr1-sdk-release--> 2197 - <sdk:obsolete/> 2198 - <sdk:revision> 2199 - <sdk:major>22</sdk:major> 2200 - <sdk:minor>0</sdk:minor> 2201 - <sdk:micro>0</sdk:micro> 2202 - </sdk:revision> 2203 - <sdk:archives> 2204 - <sdk:archive> 2205 - <!--Built on: Wed May 30 05:04:37 2018.--> 2206 - <sdk:size>33104280</sdk:size> 2207 - <sdk:checksum type="sha1">a8a1619dd090e44fac957bce6842e62abf87965b</sdk:checksum> 2208 - <sdk:url>build-tools_r22-linux.zip</sdk:url> 2209 - <sdk:host-os>linux</sdk:host-os> 2210 - </sdk:archive> 2211 - <sdk:archive> 2212 - <!--Built on: Sat May 26 11:13:48 2018.--> 2213 - <sdk:size>33646090</sdk:size> 2214 - <sdk:checksum type="sha1">af95429b24088d704bc5db9bd606e34ac1b82c0d</sdk:checksum> 2215 - <sdk:url>build-tools_r22-macosx.zip</sdk:url> 2216 - <sdk:host-os>macosx</sdk:host-os> 2217 - </sdk:archive> 2218 - <sdk:archive> 2219 - <!--Built on: Sat May 26 03:19:55 2018.--> 2220 - <sdk:size>33254114</sdk:size> 2221 - <sdk:checksum type="sha1">08fcca41e81b172bd9f570963b90d3a84929e043</sdk:checksum> 2222 - <sdk:url>build-tools_r22-windows.zip</sdk:url> 2223 - <sdk:host-os>windows</sdk:host-os> 2224 - </sdk:archive> 2225 - </sdk:archives> 2226 - <sdk:uses-license ref="android-sdk-license"/> 2227 - </sdk:build-tool> 2228 - <sdk:build-tool> 2229 - <!--Generated from bid:1635773, branch:git_lmp-sdk-release--> 2230 - <sdk:revision> 2231 - <sdk:major>21</sdk:major> 2232 - <sdk:minor>1</sdk:minor> 2233 - <sdk:micro>2</sdk:micro> 2234 - </sdk:revision> 2235 - <sdk:archives> 2236 - <sdk:archive> 2237 - <!--Built on: Wed Jun 13 11:02:29 2018.--> 2238 - <sdk:size>32637678</sdk:size> 2239 - <sdk:checksum type="sha1">5e35259843bf2926113a38368b08458735479658</sdk:checksum> 2240 - <sdk:url>build-tools_r21.1.2-linux.zip</sdk:url> 2241 - <sdk:host-os>linux</sdk:host-os> 2242 - </sdk:archive> 2243 - <sdk:archive> 2244 - <!--Built on: Tue May 29 13:57:42 2018.--> 2245 - <sdk:size>33152878</sdk:size> 2246 - <sdk:checksum type="sha1">e7c906b4ba0eea93b32ba36c610dbd6b204bff48</sdk:checksum> 2247 - <sdk:url>build-tools_r21.1.2-macosx.zip</sdk:url> 2248 - <sdk:host-os>macosx</sdk:host-os> 2249 - </sdk:archive> 2250 - <sdk:archive> 2251 - <!--Built on: Tue May 29 12:10:34 2018.--> 2252 - <sdk:size>32792587</sdk:size> 2253 - <sdk:checksum type="sha1">1d944759c47f60e634d2b8a1f3a4259be2f8d652</sdk:checksum> 2254 - <sdk:url>build-tools_r21.1.2-windows.zip</sdk:url> 2255 - <sdk:host-os>windows</sdk:host-os> 2256 - </sdk:archive> 2257 - </sdk:archives> 2258 - <sdk:uses-license ref="android-sdk-license"/> 2259 - </sdk:build-tool> 2260 - <sdk:build-tool> 2261 - <!--Generated from bid:1559046, branch:git_lmp-sdk-release--> 2262 - <sdk:obsolete/> 2263 - <sdk:revision> 2264 - <sdk:major>21</sdk:major> 2265 - <sdk:minor>1</sdk:minor> 2266 - <sdk:micro>1</sdk:micro> 2267 - </sdk:revision> 2268 - <sdk:archives> 2269 - <sdk:archive> 2270 - <!--Built on: Sun Jun 3 21:41:00 2018.--> 2271 - <sdk:size>32642454</sdk:size> 2272 - <sdk:checksum type="sha1">1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d</sdk:checksum> 2273 - <sdk:url>build-tools_r21.1.1-linux.zip</sdk:url> 2274 - <sdk:host-os>linux</sdk:host-os> 2275 - </sdk:archive> 2276 - <sdk:archive> 2277 - <!--Built on: Mon May 28 13:35:06 2018.--> 2278 - <sdk:size>33157676</sdk:size> 2279 - <sdk:checksum type="sha1">836a146eab0504aa9387a5132e986fe7c7381571</sdk:checksum> 2280 - <sdk:url>build-tools_r21.1.1-macosx.zip</sdk:url> 2281 - <sdk:host-os>macosx</sdk:host-os> 2282 - </sdk:archive> 2283 - <sdk:archive> 2284 - <!--Built on: Thu Jun 14 17:16:57 2018.--> 2285 - <sdk:size>32797356</sdk:size> 2286 - <sdk:checksum type="sha1">53fc4201237f899d5cd92f0b76ad41fb89da188b</sdk:checksum> 2287 - <sdk:url>build-tools_r21.1.1-windows.zip</sdk:url> 2288 - <sdk:host-os>windows</sdk:host-os> 2289 - </sdk:archive> 2290 - </sdk:archives> 2291 - <sdk:uses-license ref="android-sdk-license"/> 2292 - </sdk:build-tool> 2293 - <sdk:build-tool> 2294 - <!--Generated from bid:1552913, branch:git_lmp-sdk-release--> 2295 - <sdk:obsolete/> 2296 - <sdk:revision> 2297 - <sdk:major>21</sdk:major> 2298 - <sdk:minor>1</sdk:minor> 2299 - <sdk:micro>0</sdk:micro> 2300 - </sdk:revision> 2301 - <sdk:archives> 2302 - <sdk:archive> 2303 - <!--Built on: Tue Jun 12 23:37:47 2018.--> 2304 - <sdk:size>32642820</sdk:size> 2305 - <sdk:checksum type="sha1">b7455e543784d52a8925f960bc880493ed1478cb</sdk:checksum> 2306 - <sdk:url>build-tools_r21.1-linux.zip</sdk:url> 2307 - <sdk:host-os>linux</sdk:host-os> 2308 - </sdk:archive> 2309 - <sdk:archive> 2310 - <!--Built on: Sun Jun 3 03:22:22 2018.--> 2311 - <sdk:size>33158159</sdk:size> 2312 - <sdk:checksum type="sha1">df619356c2359aa5eacdd48699d15b335d9bd246</sdk:checksum> 2313 - <sdk:url>build-tools_r21.1-macosx.zip</sdk:url> 2314 - <sdk:host-os>macosx</sdk:host-os> 2315 - </sdk:archive> 2316 - <sdk:archive> 2317 - <!--Built on: Wed Jun 13 10:53:39 2018.--> 2318 - <sdk:size>32797810</sdk:size> 2319 - <sdk:checksum type="sha1">c79d63ac6b713a1e326ad4dae43f2ee76708a2f4</sdk:checksum> 2320 - <sdk:url>build-tools_r21.1-windows.zip</sdk:url> 2321 - <sdk:host-os>windows</sdk:host-os> 2322 - </sdk:archive> 2323 - </sdk:archives> 2324 - <sdk:uses-license ref="android-sdk-license"/> 2325 - </sdk:build-tool> 2326 - <sdk:build-tool> 2327 - <!--Generated from bid:1532339, branch:git_lmp-release--> 2328 - <sdk:obsolete/> 2329 - <sdk:revision> 2330 - <sdk:major>21</sdk:major> 2331 - <sdk:minor>0</sdk:minor> 2332 - <sdk:micro>2</sdk:micro> 2333 - </sdk:revision> 2334 - <sdk:archives> 2335 - <sdk:archive> 2336 - <!--Built on: Sat May 26 15:43:32 2018.--> 2337 - <sdk:size>22153122</sdk:size> 2338 - <sdk:checksum type="sha1">e1236ab8897b62b57414adcf04c132567b2612a5</sdk:checksum> 2339 - <sdk:url>build-tools_r21.0.2-linux.zip</sdk:url> 2340 - <sdk:host-os>linux</sdk:host-os> 2341 - </sdk:archive> 2342 - <sdk:archive> 2343 - <!--Built on: Sun Jun 10 08:07:31 2018.--> 2344 - <sdk:size>22668597</sdk:size> 2345 - <sdk:checksum type="sha1">f17471c154058f3734729ef3cc363399b1cd3de1</sdk:checksum> 2346 - <sdk:url>build-tools_r21.0.2-macosx.zip</sdk:url> 2347 - <sdk:host-os>macosx</sdk:host-os> 2348 - </sdk:archive> 2349 - <sdk:archive> 2350 - <!--Built on: Mon Jun 4 04:34:43 2018.--> 2351 - <sdk:size>22306371</sdk:size> 2352 - <sdk:checksum type="sha1">37496141b23cbe633167927b7abe6e22d9f1a1c1</sdk:checksum> 2353 - <sdk:url>build-tools_r21.0.2-windows.zip</sdk:url> 2354 - <sdk:host-os>windows</sdk:host-os> 2355 - </sdk:archive> 2356 - </sdk:archives> 2357 - <sdk:uses-license ref="android-sdk-license"/> 2358 - </sdk:build-tool> 2359 - <sdk:build-tool> 2360 - <!--Generated from bid:1525922, branch:git_lmp-release--> 2361 - <sdk:obsolete/> 2362 - <sdk:revision> 2363 - <sdk:major>21</sdk:major> 2364 - <sdk:minor>0</sdk:minor> 2365 - <sdk:micro>1</sdk:micro> 2366 - </sdk:revision> 2367 - <sdk:archives> 2368 - <sdk:archive> 2369 - <!--Built on: Mon May 21 01:06:40 2018.--> 2370 - <sdk:size>22153013</sdk:size> 2371 - <sdk:checksum type="sha1">e573069eea3e5255e7a65bedeb767f4fd0a5f49a</sdk:checksum> 2372 - <sdk:url>build-tools_r21.0.1-linux.zip</sdk:url> 2373 - <sdk:host-os>linux</sdk:host-os> 2374 - </sdk:archive> 2375 - <sdk:archive> 2376 - <!--Built on: Sat Jun 9 12:04:35 2018.--> 2377 - <sdk:size>22668616</sdk:size> 2378 - <sdk:checksum type="sha1">b60c8f9b810c980abafa04896706f3911be1ade7</sdk:checksum> 2379 - <sdk:url>build-tools_r21.0.1-macosx.zip</sdk:url> 2380 - <sdk:host-os>macosx</sdk:host-os> 2381 - </sdk:archive> 2382 - <sdk:archive> 2383 - <!--Built on: Mon Jun 11 17:48:54 2018.--> 2384 - <sdk:size>22306243</sdk:size> 2385 - <sdk:checksum type="sha1">d68e7e6fd7a48c8759aa41d713c9d4f0e4c1c1df</sdk:checksum> 2386 - <sdk:url>build-tools_r21.0.1-windows.zip</sdk:url> 2387 - <sdk:host-os>windows</sdk:host-os> 2388 - </sdk:archive> 2389 - </sdk:archives> 2390 - <sdk:uses-license ref="android-sdk-license"/> 2391 - </sdk:build-tool> 2392 - <sdk:build-tool> 2393 - <!--Generated from bid:1521886, branch:git_lmp-release--> 2394 - <sdk:obsolete/> 2395 - <sdk:revision> 2396 - <sdk:major>21</sdk:major> 2397 - <sdk:minor>0</sdk:minor> 2398 - <sdk:micro>0</sdk:micro> 2399 - </sdk:revision> 2400 - <sdk:archives> 2401 - <sdk:archive> 2402 - <!--Built on: Tue Jun 12 23:16:22 2018.--> 2403 - <sdk:size>22153145</sdk:size> 2404 - <sdk:checksum type="sha1">4933328fdeecbd554a29528f254f4993468e1cf4</sdk:checksum> 2405 - <sdk:url>build-tools_r21-linux.zip</sdk:url> 2406 - <sdk:host-os>linux</sdk:host-os> 2407 - </sdk:archive> 2408 - <sdk:archive> 2409 - <!--Built on: Mon Jun 4 10:47:41 2018.--> 2410 - <sdk:size>22668456</sdk:size> 2411 - <sdk:checksum type="sha1">9bef7989b51436bd4e5114d8a0330359f077cbfa</sdk:checksum> 2412 - <sdk:url>build-tools_r21-macosx.zip</sdk:url> 2413 - <sdk:host-os>macosx</sdk:host-os> 2414 - </sdk:archive> 2415 - <sdk:archive> 2416 - <!--Built on: Mon Jun 4 08:31:36 2018.--> 2417 - <sdk:size>22306371</sdk:size> 2418 - <sdk:checksum type="sha1">5bc8fd399bc0135a9bc91eec78ddc5af4f54bf32</sdk:checksum> 2419 - <sdk:url>build-tools_r21-windows.zip</sdk:url> 2420 - <sdk:host-os>windows</sdk:host-os> 2421 - </sdk:archive> 2422 - </sdk:archives> 2423 - <sdk:uses-license ref="android-sdk-license"/> 2424 - </sdk:build-tool> 2425 - <sdk:build-tool> 2426 - <!--Generated from bid:1246132, branch:git_klp-modular-release--> 2427 - <sdk:revision> 2428 - <sdk:major>20</sdk:major> 2429 - <sdk:minor>0</sdk:minor> 2430 - <sdk:micro>0</sdk:micro> 2431 - </sdk:revision> 2432 - <sdk:archives> 2433 - <sdk:archive> 2434 - <!--Built on: Wed May 30 04:41:59 2018.--> 2435 - <sdk:size>21445463</sdk:size> 2436 - <sdk:checksum type="sha1">b688905526a5584d1327a662d871a635ff502758</sdk:checksum> 2437 - <sdk:url>build-tools_r20-linux.zip</sdk:url> 2438 - <sdk:host-os>linux</sdk:host-os> 2439 - </sdk:archive> 2440 - <sdk:archive> 2441 - <!--Built on: Thu Jun 7 14:45:22 2018.--> 2442 - <sdk:size>21650508</sdk:size> 2443 - <sdk:checksum type="sha1">1240f629411c108a714c4ddd756937c7fab93f83</sdk:checksum> 2444 - <sdk:url>build-tools_r20-macosx.zip</sdk:url> 2445 - <sdk:host-os>macosx</sdk:host-os> 2446 - </sdk:archive> 2447 - <sdk:archive> 2448 - <!--Built on: Mon Jun 4 07:14:07 2018.--> 2449 - <sdk:size>20828006</sdk:size> 2450 - <sdk:checksum type="sha1">cf20720e452b642d5eb59dabe05c0c729b36ec75</sdk:checksum> 2451 - <sdk:url>build-tools_r20-windows.zip</sdk:url> 2452 - <sdk:host-os>windows</sdk:host-os> 2453 - </sdk:archive> 2454 - </sdk:archives> 2455 - <sdk:uses-license ref="android-sdk-license"/> 2456 - </sdk:build-tool> 2457 - <sdk:build-tool> 2458 - <!--Generated from bid:1153987, branch:git_klp-sdk-release--> 2459 - <sdk:revision> 2460 - <sdk:major>19</sdk:major> 2461 - <sdk:minor>1</sdk:minor> 2462 - <sdk:micro>0</sdk:micro> 2463 - </sdk:revision> 2464 - <sdk:archives> 2465 - <sdk:archive> 2466 - <!--Built on: Mon May 21 21:37:00 2018.--> 2467 - <sdk:size>21490972</sdk:size> 2468 - <sdk:checksum type="sha1">1ff20ac15fa47a75d00346ec12f180d531b3ca89</sdk:checksum> 2469 - <sdk:url>build-tools_r19.1-linux.zip</sdk:url> 2470 - <sdk:host-os>linux</sdk:host-os> 2471 - </sdk:archive> 2472 - <sdk:archive> 2473 - <!--Built on: Tue May 29 05:26:30 2018.--> 2474 - <sdk:size>21590160</sdk:size> 2475 - <sdk:checksum type="sha1">0d11aae3417de1efb4b9a0e0a7855904a61bcec1</sdk:checksum> 2476 - <sdk:url>build-tools_r19.1-macosx.zip</sdk:url> 2477 - <sdk:host-os>macosx</sdk:host-os> 2478 - </sdk:archive> 2479 - <sdk:archive> 2480 - <!--Built on: Fri Jun 1 00:37:10 2018.--> 2481 - <sdk:size>20812533</sdk:size> 2482 - <sdk:checksum type="sha1">13b367fbdbff8132cb4356f716e8dc8a8df745c5</sdk:checksum> 2483 - <sdk:url>build-tools_r19.1-windows.zip</sdk:url> 2484 - <sdk:host-os>windows</sdk:host-os> 2485 - </sdk:archive> 2486 - </sdk:archives> 2487 - <sdk:uses-license ref="android-sdk-license"/> 2488 - </sdk:build-tool> 2489 - <sdk:build-tool> 2490 - <!--Generated from bid:1035858, branch:git_klp-sdk-release--> 2491 - <sdk:obsolete/> 2492 - <sdk:revision> 2493 - <sdk:major>19</sdk:major> 2494 - <sdk:minor>0</sdk:minor> 2495 - <sdk:micro>3</sdk:micro> 2496 - </sdk:revision> 2497 - <sdk:archives> 2498 - <sdk:archive> 2499 - <!--Built on: Sat May 26 14:59:05 2018.--> 2500 - <sdk:size>21462150</sdk:size> 2501 - <sdk:checksum type="sha1">c2d6055478e9d2d4fba476ee85f99181ddd1160c</sdk:checksum> 2502 - <sdk:url>build-tools_r19.0.3-linux.zip</sdk:url> 2503 - <sdk:host-os>linux</sdk:host-os> 2504 - </sdk:archive> 2505 - <sdk:archive> 2506 - <!--Built on: Sun May 20 19:28:53 2018.--> 2507 - <sdk:size>21563992</sdk:size> 2508 - <sdk:checksum type="sha1">651cf8754373b2d52e7f6aab2c52eabffe4e9ea4</sdk:checksum> 2509 - <sdk:url>build-tools_r19.0.3-macosx.zip</sdk:url> 2510 - <sdk:host-os>macosx</sdk:host-os> 2511 - </sdk:archive> 2512 - <sdk:archive> 2513 - <!--Built on: Wed Jun 13 12:26:28 2018.--> 2514 - <sdk:size>20730715</sdk:size> 2515 - <sdk:checksum type="sha1">cb46b433b67a0a6910ff00db84be8b527ea3102f</sdk:checksum> 2516 - <sdk:url>build-tools_r19.0.3-windows.zip</sdk:url> 2517 - <sdk:host-os>windows</sdk:host-os> 2518 - </sdk:archive> 2519 - </sdk:archives> 2520 - <sdk:uses-license ref="android-sdk-license"/> 2521 - </sdk:build-tool> 2522 - <sdk:build-tool> 2523 - <!--Generated from bid:1009316, branch:git_klp-sdk-release--> 2524 - <sdk:obsolete/> 2525 - <sdk:revision> 2526 - <sdk:major>19</sdk:major> 2527 - <sdk:minor>0</sdk:minor> 2528 - <sdk:micro>2</sdk:micro> 2529 - </sdk:revision> 2530 - <sdk:archives> 2531 - <sdk:archive> 2532 - <!--Built on: Mon Jun 4 07:15:16 2018.--> 2533 - <sdk:size>21352552</sdk:size> 2534 - <sdk:checksum type="sha1">a03a6bdea0091aea32e1b35b90a7294c9f04e3dd</sdk:checksum> 2535 - <sdk:url>build-tools_r19.0.2-linux.zip</sdk:url> 2536 - <sdk:host-os>linux</sdk:host-os> 2537 - </sdk:archive> 2538 - <sdk:archive> 2539 - <!--Built on: Wed Jun 13 06:24:09 2018.--> 2540 - <sdk:size>21453726</sdk:size> 2541 - <sdk:checksum type="sha1">145bc43065d45f756d99d87329d899052b9a9288</sdk:checksum> 2542 - <sdk:url>build-tools_r19.0.2-macosx.zip</sdk:url> 2543 - <sdk:host-os>macosx</sdk:host-os> 2544 - </sdk:archive> 2545 - <sdk:archive> 2546 - <!--Built on: Sat May 19 22:57:09 2018.--> 2547 - <sdk:size>20621117</sdk:size> 2548 - <sdk:checksum type="sha1">af664672d0d709c9ae30937b1062317d3ade7f95</sdk:checksum> 2549 - <sdk:url>build-tools_r19.0.2-windows.zip</sdk:url> 2550 - <sdk:host-os>windows</sdk:host-os> 2551 - </sdk:archive> 2552 - </sdk:archives> 2553 - <sdk:uses-license ref="android-sdk-license"/> 2554 - </sdk:build-tool> 2555 - <sdk:build-tool> 2556 - <!--Generated from bid:938007, branch:git_klp-dev--> 2557 - <sdk:obsolete/> 2558 - <sdk:revision> 2559 - <sdk:major>19</sdk:major> 2560 - <sdk:minor>0</sdk:minor> 2561 - <sdk:micro>1</sdk:micro> 2562 - </sdk:revision> 2563 - <sdk:archives> 2564 - <sdk:archive> 2565 - <!--Built on: Sat Jun 2 09:30:45 2018.--> 2566 - <sdk:size>21229048</sdk:size> 2567 - <sdk:checksum type="sha1">18d2312dc4368858914213087f4e61445aca4517</sdk:checksum> 2568 - <sdk:url>build-tools_r19.0.1-linux.zip</sdk:url> 2569 - <sdk:host-os>linux</sdk:host-os> 2570 - </sdk:archive> 2571 - <sdk:archive> 2572 - <!--Built on: Fri Jun 15 19:07:47 2018.--> 2573 - <sdk:size>21450597</sdk:size> 2574 - <sdk:checksum type="sha1">efaf50fb19a3edb8d03efbff76f89a249ad2920b</sdk:checksum> 2575 - <sdk:url>build-tools_r19.0.1-macosx.zip</sdk:url> 2576 - <sdk:host-os>macosx</sdk:host-os> 2577 - </sdk:archive> 2578 - <sdk:archive> 2579 - <!--Built on: Sun Jun 10 05:45:57 2018.--> 2580 - <sdk:size>20500648</sdk:size> 2581 - <sdk:checksum type="sha1">5ef422bac5b28f4ced108319ed4a6bc7050a6234</sdk:checksum> 2582 - <sdk:url>build-tools_r19.0.1-windows.zip</sdk:url> 2583 - <sdk:host-os>windows</sdk:host-os> 2584 - </sdk:archive> 2585 - </sdk:archives> 2586 - <sdk:uses-license ref="android-sdk-license"/> 2587 - </sdk:build-tool> 2588 - <sdk:build-tool> 2589 - <!--Generated from bid:886418, branch:git_klp-release--> 2590 - <sdk:obsolete/> 2591 - <sdk:revision> 2592 - <sdk:major>19</sdk:major> 2593 - <sdk:minor>0</sdk:minor> 2594 - <sdk:micro>0</sdk:micro> 2595 - </sdk:revision> 2596 - <sdk:archives> 2597 - <sdk:archive> 2598 - <!--Built on: Wed May 30 04:04:22 2018.--> 2599 - <sdk:size>21339943</sdk:size> 2600 - <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum> 2601 - <sdk:url>build-tools_r19-linux.zip</sdk:url> 2602 - <sdk:host-os>linux</sdk:host-os> 2603 - </sdk:archive> 2604 - <sdk:archive> 2605 - <!--Built on: Fri Jun 15 01:37:33 2018.--> 2606 - <sdk:size>21441270</sdk:size> 2607 - <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum> 2608 - <sdk:url>build-tools_r19-macosx.zip</sdk:url> 2609 - <sdk:host-os>macosx</sdk:host-os> 2610 - </sdk:archive> 2611 - <sdk:archive> 2612 - <!--Built on: Wed Jun 6 05:47:57 2018.--> 2613 - <sdk:size>20611447</sdk:size> 2614 - <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum> 2615 - <sdk:url>build-tools_r19-windows.zip</sdk:url> 2616 - <sdk:host-os>windows</sdk:host-os> 2617 - </sdk:archive> 2618 - </sdk:archives> 2619 - <sdk:uses-license ref="android-sdk-license"/> 2620 - </sdk:build-tool> 2621 - <sdk:build-tool> 2622 - <!--Generated from bid:867478, branch:git_jb-mr2-dev--> 2623 - <sdk:obsolete/> 2624 - <sdk:revision> 2625 - <sdk:major>18</sdk:major> 2626 - <sdk:minor>1</sdk:minor> 2627 - <sdk:micro>1</sdk:micro> 2628 - </sdk:revision> 2629 - <sdk:archives> 2630 - <sdk:archive> 2631 - <!--Built on: Thu May 24 00:01:04 2018.--> 2632 - <sdk:size>20229760</sdk:size> 2633 - <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum> 2634 - <sdk:url>build-tools_r18.1.1-linux.zip</sdk:url> 2635 - <sdk:host-os>linux</sdk:host-os> 2636 - </sdk:archive> 2637 - <sdk:archive> 2638 - <!--Built on: Tue May 22 07:45:01 2018.--> 2639 - <sdk:size>20452157</sdk:size> 2640 - <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum> 2641 - <sdk:url>build-tools_r18.1.1-macosx.zip</sdk:url> 2642 - <sdk:host-os>macosx</sdk:host-os> 2643 - </sdk:archive> 2644 - <sdk:archive> 2645 - <!--Built on: Sun May 27 16:32:56 2018.--> 2646 - <sdk:size>19660000</sdk:size> 2647 - <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum> 2648 - <sdk:url>build-tools_r18.1.1-windows.zip</sdk:url> 2649 - <sdk:host-os>windows</sdk:host-os> 2650 - </sdk:archive> 2651 - </sdk:archives> 2652 - <sdk:uses-license ref="android-sdk-license"/> 2653 - </sdk:build-tool> 2654 - <sdk:build-tool> 2655 - <!--Generated from bid:819563, branch:git_jb-mr2-dev--> 2656 - <sdk:obsolete/> 2657 - <sdk:revision> 2658 - <sdk:major>18</sdk:major> 2659 - <sdk:minor>1</sdk:minor> 2660 - <sdk:micro>0</sdk:micro> 2661 - </sdk:revision> 2662 - <sdk:archives> 2663 - <sdk:archive> 2664 - <!--Built on: Mon Jun 4 05:17:04 2018.--> 2665 - <sdk:size>20229298</sdk:size> 2666 - <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum> 2667 - <sdk:url>build-tools_r18.1-linux.zip</sdk:url> 2668 - <sdk:host-os>linux</sdk:host-os> 2669 - </sdk:archive> 2670 - <sdk:archive> 2671 - <!--Built on: Sun Jun 17 12:29:46 2018.--> 2672 - <sdk:size>20451524</sdk:size> 2673 - <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum> 2674 - <sdk:url>build-tools_r18.1-macosx.zip</sdk:url> 2675 - <sdk:host-os>macosx</sdk:host-os> 2676 - </sdk:archive> 2677 - <sdk:archive> 2678 - <!--Built on: Thu Jun 14 15:56:37 2018.--> 2679 - <sdk:size>19659547</sdk:size> 2680 - <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum> 2681 - <sdk:url>build-tools_r18.1-windows.zip</sdk:url> 2682 - <sdk:host-os>windows</sdk:host-os> 2683 - </sdk:archive> 2684 - </sdk:archives> 2685 - <sdk:uses-license ref="android-sdk-license"/> 2686 - </sdk:build-tool> 2687 - <sdk:build-tool> 2688 - <!--Generated from bid:754669, branch:git_jb-mr2-dev--> 2689 - <sdk:obsolete/> 2690 - <sdk:revision> 2691 - <sdk:major>18</sdk:major> 2692 - <sdk:minor>0</sdk:minor> 2693 - <sdk:micro>1</sdk:micro> 2694 - </sdk:revision> 2695 - <sdk:archives> 2696 - <sdk:archive> 2697 - <!--Built on: Sun Jun 10 13:17:31 2018.--> 2698 - <sdk:size>16627330</sdk:size> 2699 - <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum> 2700 - <sdk:url>build-tools_r18.0.1-linux.zip</sdk:url> 2701 - <sdk:host-os>linux</sdk:host-os> 2702 - </sdk:archive> 2703 - <sdk:archive> 2704 - <!--Built on: Mon May 21 16:08:02 2018.--> 2705 - <sdk:size>16633121</sdk:size> 2706 - <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum> 2707 - <sdk:url>build-tools_r18.0.1-macosx.zip</sdk:url> 2708 - <sdk:host-os>macosx</sdk:host-os> 2709 - </sdk:archive> 2710 - <sdk:archive> 2711 - <!--Built on: Fri Jun 1 08:16:51 2018.--> 2712 - <sdk:size>15413527</sdk:size> 2713 - <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum> 2714 - <sdk:url>build-tools_r18.0.1-windows.zip</sdk:url> 2715 - <sdk:host-os>windows</sdk:host-os> 2716 - </sdk:archive> 2717 - </sdk:archives> 2718 - <sdk:uses-license ref="android-sdk-license"/> 2719 - </sdk:build-tool> 2720 - <sdk:build-tool> 2721 - <!--Generated from bid:673949, branch:git_jb-mr1.1-dev--> 2722 - <sdk:obsolete/> 2723 - <sdk:revision> 2724 - <sdk:major>17</sdk:major> 2725 - <sdk:minor>0</sdk:minor> 2726 - <sdk:micro>0</sdk:micro> 2727 - </sdk:revision> 2728 - <sdk:archives> 2729 - <sdk:archive> 2730 - <!--Built on: Sat Jun 2 14:13:23 2018.--> 2731 - <sdk:size>11696007</sdk:size> 2732 - <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum> 2733 - <sdk:url>build-tools_r17-linux.zip</sdk:url> 2734 - <sdk:host-os>linux</sdk:host-os> 2735 - </sdk:archive> 2736 - <sdk:archive> 2737 - <!--Built on: Tue Jun 19 09:33:42 2018.--> 2738 - <sdk:size>12208114</sdk:size> 2739 - <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum> 2740 - <sdk:url>build-tools_r17-macosx.zip</sdk:url> 2741 - <sdk:host-os>macosx</sdk:host-os> 2742 - </sdk:archive> 2743 - <sdk:archive> 2744 - <!--Built on: Fri Jun 8 13:26:17 2018.--> 2745 - <sdk:size>11004914</sdk:size> 2746 - <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum> 2747 - <sdk:url>build-tools_r17-windows.zip</sdk:url> 2748 - <sdk:host-os>windows</sdk:host-os> 2749 - </sdk:archive> 2750 - </sdk:archives> 2751 - <sdk:uses-license ref="android-sdk-license"/> 2752 - </sdk:build-tool> 2753 - <sdk:platform-tool> 2754 - <!--Generated from bid:4986621, branch:aosp-sdk-release--> 2755 - <sdk:revision> 2756 - <sdk:major>28</sdk:major> 2757 - <sdk:minor>0</sdk:minor> 2758 - <sdk:micro>1</sdk:micro> 2759 - </sdk:revision> 2760 - <sdk:archives> 2761 - <sdk:archive> 2762 - <!--Built on: Fri Aug 31 09:51:45 2018.--> 2763 - <sdk:size>6848749</sdk:size> 2764 - <sdk:checksum type="sha1">ed1edad4a48c27655ce98d0a5821e7296e9de145</sdk:checksum> 2765 - <sdk:url>platform-tools_r28.0.1-darwin.zip</sdk:url> 2766 - <sdk:host-os>macosx</sdk:host-os> 2767 - </sdk:archive> 2768 - <sdk:archive> 2769 - <!--Built on: Fri Aug 31 09:51:40 2018.--> 2770 - <sdk:size>6843966</sdk:size> 2771 - <sdk:checksum type="sha1">74ff83bc203f01c4f04bd9316ab5a2573f023fd1</sdk:checksum> 2772 - <sdk:url>platform-tools_r28.0.1-linux.zip</sdk:url> 2773 - <sdk:host-os>linux</sdk:host-os> 2774 - </sdk:archive> 2775 - <sdk:archive> 2776 - <!--Built on: Fri Aug 31 09:51:43 2018.--> 2777 - <sdk:size>6183783</sdk:size> 2778 - <sdk:checksum type="sha1">5a44d10d41725aa718c71b6e44bc2dea6f1a7f49</sdk:checksum> 2779 - <sdk:url>platform-tools_r28.0.1-windows.zip</sdk:url> 2780 - <sdk:host-os>windows</sdk:host-os> 2781 - </sdk:archive> 2782 - </sdk:archives> 2783 - <sdk:uses-license ref="android-sdk-license"/> 2784 - </sdk:platform-tool> 2785 - <sdk:tool> 2786 - <!--Generated from bid:3567187, branch:aosp-emu-2.2-release--> 2787 - <sdk:revision> 2788 - <sdk:major>25</sdk:major> 2789 - <sdk:minor>2</sdk:minor> 2790 - <sdk:micro>5</sdk:micro> 2791 - </sdk:revision> 2792 - <sdk:archives> 2793 - <sdk:archive> 2794 - <!--Built on: Mon May 21 14:06:04 2018.--> 2795 - <sdk:size>277894900</sdk:size> 2796 - <sdk:checksum type="sha1">72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1</sdk:checksum> 2797 - <sdk:url>tools_r25.2.5-linux.zip</sdk:url> 2798 - <sdk:host-os>linux</sdk:host-os> 2799 - </sdk:archive> 2800 - <sdk:archive> 2801 - <!--Built on: Thu May 31 17:55:03 2018.--> 2802 - <sdk:size>200529982</sdk:size> 2803 - <sdk:checksum type="sha1">d2168d963ac5b616e3d3ddaf21511d084baf3659</sdk:checksum> 2804 - <sdk:url>tools_r25.2.5-macosx.zip</sdk:url> 2805 - <sdk:host-os>macosx</sdk:host-os> 2806 - </sdk:archive> 2807 - <sdk:archive> 2808 - <!--Built on: Thu Jun 7 09:09:48 2018.--> 2809 - <sdk:size>306785944</sdk:size> 2810 - <sdk:checksum type="sha1">a7f7ebeae1c8d8f62d3a8466e9c81baee7cc31ca</sdk:checksum> 2811 - <sdk:url>tools_r25.2.5-windows.zip</sdk:url> 2812 - <sdk:host-os>windows</sdk:host-os> 2813 - </sdk:archive> 2814 - </sdk:archives> 2815 - <sdk:uses-license ref="android-sdk-license"/> 2816 - <sdk:min-platform-tools-rev> 2817 - <sdk:major>20</sdk:major> 2818 - </sdk:min-platform-tools-rev> 2819 - </sdk:tool> 2820 - <sdk:doc> 2821 - <!--Generated from bid:3249234, branch:git_nyc-emu-release--> 2822 - <sdk:api-level>24</sdk:api-level> 2823 - <sdk:revision>1</sdk:revision> 2824 - <sdk:archives> 2825 - <sdk:archive> 2826 - <!--Built on: Thu Jun 14 09:35:24 2018.--> 2827 - <sdk:size>419477967</sdk:size> 2828 - <sdk:checksum type="sha1">eef58238949ee9544876cb3e002f2d58e4ee7b5d</sdk:checksum> 2829 - <sdk:url>docs-24_r01.zip</sdk:url> 2830 - </sdk:archive> 2831 - </sdk:archives> 2832 - <sdk:uses-license ref="android-sdk-license"/> 2833 - </sdk:doc> 2834 - </sdk:sdk-repository>
-184
pkgs/development/mobile/androidenv/sources.nix
··· 1 - 2 - # This file is generated from generate-sources.sh. DO NOT EDIT. 3 - # Execute generate-sources.sh or fetch.sh to update the file. 4 - {stdenv, fetchurl, unzip}: 5 - 6 - let 7 - buildSource = args: 8 - stdenv.mkDerivation (args // { 9 - buildInputs = [ unzip ]; 10 - buildCommand = '' 11 - mkdir -p $out 12 - cd $out 13 - unzip $src 14 - ''; 15 - }); 16 - in 17 - { 18 - 19 - source_14 = buildSource { 20 - name = "android-source-14"; 21 - src = fetchurl { 22 - url = https://dl.google.com/android/repository/sources-14_r01.zip; 23 - sha1 = "eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555"; 24 - }; 25 - meta = { 26 - description = "Source code for Android API 14"; 27 - }; 28 - }; 29 - 30 - source_15 = buildSource { 31 - name = "android-source-15"; 32 - src = fetchurl { 33 - url = https://dl.google.com/android/repository/sources-15_r02.zip; 34 - sha1 = "e5992a5747c9590783fbbdd700337bf0c9f6b1fa"; 35 - }; 36 - meta = { 37 - description = "Source code for Android API 15"; 38 - }; 39 - }; 40 - 41 - source_16 = buildSource { 42 - name = "android-source-16"; 43 - src = fetchurl { 44 - url = https://dl.google.com/android/repository/sources-16_r02.zip; 45 - sha1 = "0f83c14ed333c45d962279ab5d6bc98a0269ef84"; 46 - }; 47 - meta = { 48 - description = "Source code for Android API 16"; 49 - }; 50 - }; 51 - 52 - source_17 = buildSource { 53 - name = "android-source-17"; 54 - src = fetchurl { 55 - url = https://dl.google.com/android/repository/sources-17_r01.zip; 56 - sha1 = "6f1f18cd2d2b1852d7f6892df9cee3823349d43a"; 57 - }; 58 - meta = { 59 - description = "Source code for Android API 17"; 60 - }; 61 - }; 62 - 63 - source_18 = buildSource { 64 - name = "android-source-18"; 65 - src = fetchurl { 66 - url = https://dl.google.com/android/repository/sources-18_r01.zip; 67 - sha1 = "8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78"; 68 - }; 69 - meta = { 70 - description = "Source code for Android API 18"; 71 - }; 72 - }; 73 - 74 - source_19 = buildSource { 75 - name = "android-source-19"; 76 - src = fetchurl { 77 - url = https://dl.google.com/android/repository/sources-19_r02.zip; 78 - sha1 = "433a1d043ef77561571250e94cb7a0ef24a202e7"; 79 - }; 80 - meta = { 81 - description = "Source code for Android API 19"; 82 - }; 83 - }; 84 - 85 - source_20 = buildSource { 86 - name = "android-source-20"; 87 - src = fetchurl { 88 - url = https://dl.google.com/android/repository/sources-20_r01.zip; 89 - sha1 = "8da3e40f2625f9f7ef38b7e403f49f67226c0d76"; 90 - }; 91 - meta = { 92 - description = "Source code for Android API 20"; 93 - }; 94 - }; 95 - 96 - source_21 = buildSource { 97 - name = "android-source-21"; 98 - src = fetchurl { 99 - url = https://dl.google.com/android/repository/sources-21_r01.zip; 100 - sha1 = "137a5044915d32bea297a8c1552684802bbc2e25"; 101 - }; 102 - meta = { 103 - description = "Source code for Android API 21"; 104 - }; 105 - }; 106 - 107 - source_22 = buildSource { 108 - name = "android-source-22"; 109 - src = fetchurl { 110 - url = https://dl.google.com/android/repository/sources-22_r01.zip; 111 - sha1 = "98320e13976d11597a4a730a8d203ac9a03ed5a6"; 112 - }; 113 - meta = { 114 - description = "Source code for Android API 22"; 115 - }; 116 - }; 117 - 118 - source_23 = buildSource { 119 - name = "android-source-23"; 120 - src = fetchurl { 121 - url = https://dl.google.com/android/repository/sources-23_r01.zip; 122 - sha1 = "b0f15da2762b42f543c5e364c2b15b198cc99cc2"; 123 - }; 124 - meta = { 125 - description = "Source code for Android API 23"; 126 - }; 127 - }; 128 - 129 - source_24 = buildSource { 130 - name = "android-source-24"; 131 - src = fetchurl { 132 - url = https://dl.google.com/android/repository/sources-24_r01.zip; 133 - sha1 = "6b96115830a83d654479f32ce4b724ca9011148b"; 134 - }; 135 - meta = { 136 - description = "Source code for Android API 24"; 137 - }; 138 - }; 139 - 140 - source_25 = buildSource { 141 - name = "android-source-25"; 142 - src = fetchurl { 143 - url = https://dl.google.com/android/repository/sources-25_r01.zip; 144 - sha1 = "bbc72efd1a9bad87cc507e308f0d29aad438c52c"; 145 - }; 146 - meta = { 147 - description = "Source code for Android API 25"; 148 - }; 149 - }; 150 - 151 - source_26 = buildSource { 152 - name = "android-source-26"; 153 - src = fetchurl { 154 - url = https://dl.google.com/android/repository/sources-26_r01.zip; 155 - sha1 = "2af701ee3223d580409288540b1d06932fd8f9b9"; 156 - }; 157 - meta = { 158 - description = "Source code for Android API 26"; 159 - }; 160 - }; 161 - 162 - source_27 = buildSource { 163 - name = "android-source-27"; 164 - src = fetchurl { 165 - url = https://dl.google.com/android/repository/sources-27_r01.zip; 166 - sha1 = "7b714670561d08f54751af42aca929867b806596"; 167 - }; 168 - meta = { 169 - description = "Source code for Android API 27"; 170 - }; 171 - }; 172 - 173 - source_28 = buildSource { 174 - name = "android-source-28"; 175 - src = fetchurl { 176 - url = https://dl.google.com/android/repository/sources-28_r01.zip; 177 - sha1 = "5610e0c24235ee3fa343c899ddd551be30315255"; 178 - }; 179 - meta = { 180 - description = "Source code for Android API 28"; 181 - }; 182 - }; 183 - 184 - }
-18
pkgs/development/mobile/androidenv/support-repository.nix
··· 1 - {stdenv, fetchurl, unzip}: 2 - 3 - stdenv.mkDerivation rec { 4 - version = "47"; 5 - name = "android-support-repository-r${version}"; 6 - src = fetchurl { 7 - url = "http://dl.google.com/android/repository/android_m2repository_r${version}.zip"; 8 - sha256 = "1l13a6myff6i8x99h1ky2j5sglwy8wc0rsbxfcbif375vh41iyd3"; 9 - }; 10 - 11 - buildCommand = '' 12 - mkdir -p $out 13 - cd $out 14 - unzip $src 15 - ''; 16 - 17 - buildInputs = [ unzip ]; 18 - }
-18
pkgs/development/mobile/androidenv/support.nix
··· 1 - {stdenv, fetchurl, unzip}: 2 - 3 - stdenv.mkDerivation rec { 4 - version = "23.2.1"; 5 - name = "android-support-r${version}"; 6 - src = fetchurl { 7 - url = "https://dl.google.com/android/repository/support_r${version}.zip"; 8 - sha1 = "azl7hgps1k98kmbhw45wwbrc86y1n4j1"; 9 - }; 10 - 11 - buildCommand = '' 12 - mkdir -p $out 13 - cd $out 14 - unzip $src 15 - ''; 16 - 17 - buildInputs = [ unzip ]; 18 - }
-1026
pkgs/development/mobile/androidenv/sys-img.xml
··· 1 - <?xml version="1.0" ?> 2 - <sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 3 - <!--Generated on 2018-09-27 12:07:51.414125 with ADRT.--> 4 - <sdk:license id="android-sdk-license" type="text">Terms and Conditions 5 - 6 - This is the Android Software Development Kit License Agreement 7 - 8 - 1. Introduction 9 - 10 - 1.1 The Android Software Development Kit (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. 11 - 12 - 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 13 - 14 - 1.3 A &quot;compatible implementation&quot; means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS). 15 - 16 - 1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 17 - 18 - 19 - 2. Accepting the License Agreement 20 - 21 - 2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement. 22 - 23 - 2.2 By clicking to accept, you hereby agree to the terms of the License Agreement. 24 - 25 - 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK. 26 - 27 - 2.4 If you are agreeing to be bound by the License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. 28 - 29 - 30 - 3. SDK License from Google 31 - 32 - 3.1 Subject to the terms of the License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. 33 - 34 - 3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose. 35 - 36 - 3.3 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 37 - 38 - 3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. 39 - 40 - 3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. 41 - 42 - 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. 43 - 44 - 3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 45 - 46 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. 47 - 48 - 49 - 4. Use of the SDK by You 50 - 51 - 4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. 52 - 53 - 4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 54 - 55 - 4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. 56 - 57 - 4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. 58 - 59 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 60 - 61 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 62 - 63 - 5. Your Developer Credentials 64 - 65 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 66 - 67 - 6. Privacy and Information 68 - 69 - 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. 70 - 71 - 6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. 72 - 73 - 74 - 7. Third Party Applications 75 - 76 - 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 77 - 78 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 79 - 80 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, the License Agreement does not affect your legal relationship with these third parties. 81 - 82 - 83 - 8. Using Android APIs 84 - 85 - 8.1 Google Data APIs 86 - 87 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 88 - 89 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 90 - 91 - 92 - 9. Terminating the License Agreement 93 - 94 - 9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below. 95 - 96 - 9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. 97 - 98 - 9.3 Google may at any time, terminate the License Agreement with you if: 99 - (A) you have breached any provision of the License Agreement; or 100 - (B) Google is required to do so by law; or 101 - (C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or 102 - (D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. 103 - 104 - 9.4 When the License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst the License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. 105 - 106 - 107 - 10. DISCLAIMER OF WARRANTIES 108 - 109 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 110 - 111 - 10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. 112 - 113 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 114 - 115 - 116 - 11. LIMITATION OF LIABILITY 117 - 118 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 119 - 120 - 121 - 12. Indemnification 122 - 123 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with the License Agreement. 124 - 125 - 126 - 13. Changes to the License Agreement 127 - 128 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. 129 - 130 - 131 - 14. General Legal Terms 132 - 133 - 14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. 134 - 135 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 136 - 137 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. 138 - 139 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 140 - 141 - 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 142 - 143 - 14.6 The rights granted in the License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under the License Agreement without the prior written approval of the other party. 144 - 145 - 14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 146 - 147 - 148 - November 20, 2015</sdk:license> 149 - <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions. 150 - As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk. The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data. 151 - 152 - This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;). 153 - 154 - 1. Introduction 155 - 156 - 1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview. 157 - 158 - 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. 159 - 160 - 1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. 161 - 162 - 2. Accepting the License Agreement 163 - 164 - 2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement. 165 - 166 - 2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement. 167 - 168 - 2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview. 169 - 170 - 2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity. 171 - 172 - 3. Preview License from Google 173 - 174 - 3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform. 175 - 176 - 3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. 177 - 178 - 3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview. 179 - 180 - 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview. 181 - 182 - 3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights. 183 - 184 - 3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you. 185 - 186 - 3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. 187 - 188 - 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview. 189 - 190 - 4. Use of the Preview by You 191 - 192 - 4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications. 193 - 194 - 4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). 195 - 196 - 4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so. 197 - 198 - 4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party. 199 - 200 - 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. 201 - 202 - 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. 203 - 204 - 4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released. 205 - 206 - 5. Your Developer Credentials 207 - 208 - 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. 209 - 210 - 6. Privacy and Information 211 - 212 - 6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected. 213 - 214 - 6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/. 215 - 216 - 7. Third Party Applications 217 - 218 - 7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. 219 - 220 - 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. 221 - 222 - 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. 223 - 224 - 8. Using Google APIs 225 - 226 - 8.1 Google APIs 227 - 228 - 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. 229 - 230 - 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. 231 - 232 - 9. Terminating the License Agreement 233 - 234 - 9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below. 235 - 236 - 9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials. 237 - 238 - 9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you. 239 - 240 - 9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of: 241 - (A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and 242 - (B) Google issues a final release version of the Android SDK. 243 - 244 - 9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely. 245 - 246 - 10. DISCLAIMERS 247 - 248 - 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. 249 - 250 - 10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE. 251 - 252 - 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 253 - 254 - 11. LIMITATION OF LIABILITY 255 - 256 - 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. 257 - 258 - 12. Indemnification 259 - 260 - 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement. 261 - 262 - 13. Changes to the License Agreement 263 - 264 - 13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available. 265 - 266 - 14. General Legal Terms 267 - 268 - 14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview. 269 - 270 - 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. 271 - 272 - 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable. 273 - 274 - 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement. 275 - 276 - 14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. 277 - 278 - 14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google. 279 - 280 - 14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. 281 - 282 - June 2014.</sdk:license> 283 - <sdk:license id="intel-android-sysimage-license" type="text">Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK) 284 - This Internal Evaluation License Agreement (this &quot;Agreement&quot;) is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions. 285 - 286 - Definitions. 287 - These terms shall have the following meanings: 288 - 289 - &quot;Intel&quot; or &quot;INTEL&quot; 290 - Intel Corporation 291 - With an Address of: 292 - 2200 Mission College Blvd. 293 - Santa Clara, CA 95052 294 - Office of the General Counsel 295 - Mail Stop: RNB-4-51 296 - Attn: Software and Services Group Legal 297 - 298 - &quot;Evaluation Software&quot; 299 - The x86 Android* emulator system images for Android Software Development Kit (SDK), as provided by Intel. 300 - 301 - INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS 302 - 303 - 1. DEFINITIONS. 304 - 305 - 1.1 Additional Defined Terms. &quot;Agreement&quot;, &quot;Evaluation Software&quot;, &quot;Intel&quot;, &quot;Non-disclosure Agreement&quot;, &quot;Recipient&quot;, and &quot;Effective Date&quot; shall have the meanings ascribed to them on the signature page(s) of this Agreement. 306 - 307 - 1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software. 308 - 309 - 1.3 &quot;Open Source Software&quot; means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL). 310 - 311 - 1.4 &quot;Pre-Release Materials&quot; means &quot;alpha&quot; or &quot;beta&quot; designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers. 312 - 313 - 2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials. 314 - THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE. 315 - 316 - 3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement. 317 - 318 - 4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a &quot;Release&quot;) the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form. 319 - EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. 320 - 321 - 5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it. 322 - 323 - 6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source. 324 - 325 - 7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. 326 - 327 - 8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS. 328 - 329 - 9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient. 330 - 331 - 10. GENERAL. 332 - 333 - 10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts. 334 - 335 - 10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach. 336 - 337 - 10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion. 338 - 339 - 10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all &quot;click-to-accept&quot; or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect. 340 - 341 - 10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions. 342 - 343 - 10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is &quot;deemed&quot; to take place when information is released to a foreign national wherever located. 344 - 345 - 10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person. 346 - 347 - 10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement. 348 - ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS</sdk:license> 349 - <sdk:license id="mips-android-sysimage-license" type="text">MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK): 350 - This Internal Evaluation License Agreement (this &quot;Agreement&quot;) is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below. 351 - 352 - By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials. 353 - 354 - 1. DEFINITIONS. These terms shall have the following meanings: 355 - 356 - 1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085 357 - 358 - 1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient. 359 - 360 - 1.3 “Evaluation Materials&quot; means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient. 361 - 362 - 1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL). 363 - 364 - 1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers. 365 - 366 - 2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials. 367 - 368 - THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE. 369 - 370 - 3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement. 371 - 372 - 4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form. 373 - 374 - 375 - EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN. 376 - 377 - 5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it. 378 - 379 - 6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source. 380 - 381 - 7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND. 382 - 383 - 8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS. 384 - 385 - 9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient. 386 - 387 - 10. GENERAL. 388 - 389 - 10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts. 390 - 391 - 10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach. 392 - 393 - 10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion. 394 - 395 - 10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS. 396 - 397 - 10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions. 398 - 399 - 10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is &quot;deemed&quot; to take place when information is released to a foreign national wherever located. 400 - 401 - 10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person. 402 - 403 - ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND. 404 - 405 - 10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement. 406 - </sdk:license> 407 - <sdk:system-image> 408 - <!--Generated from bid:3093079, branch:git_gb-emu-release--> 409 - <sdk:api-level>10</sdk:api-level> 410 - <sdk:description>ARM EABI v7a System Image</sdk:description> 411 - <sdk:revision>4</sdk:revision> 412 - <sdk:archives> 413 - <sdk:archive> 414 - <!--Built on: Fri Jul 27 08:50:45 2018.--> 415 - <sdk:size>67918042</sdk:size> 416 - <sdk:checksum type="sha1">54680383118eb5c95a11e1cc2a14aa572c86ee69</sdk:checksum> 417 - <sdk:url>armv7-10_r04.zip</sdk:url> 418 - </sdk:archive> 419 - </sdk:archives> 420 - <sdk:uses-license ref="android-sdk-license"/> 421 - <sdk:abi>armeabi-v7a</sdk:abi> 422 - <sdk:tag-id>default</sdk:tag-id> 423 - </sdk:system-image> 424 - <sdk:system-image> 425 - <!--Generated from bid:229537, branch:git_ics-mr0--> 426 - <sdk:api-level>14</sdk:api-level> 427 - <sdk:description>ARM EABI v7a System Image</sdk:description> 428 - <sdk:revision>2</sdk:revision> 429 - <sdk:archives> 430 - <sdk:archive> 431 - <!--Built on: Thu Jul 26 20:46:32 2018.--> 432 - <sdk:size>99621822</sdk:size> 433 - <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum> 434 - <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url> 435 - </sdk:archive> 436 - </sdk:archives> 437 - <sdk:uses-license ref="android-sdk-license"/> 438 - <sdk:abi>armeabi-v7a</sdk:abi> 439 - <sdk:tag-id>default</sdk:tag-id> 440 - </sdk:system-image> 441 - <sdk:system-image> 442 - <!--Generated from bid:3462039, branch:git_ics-mr1-emu-release--> 443 - <sdk:api-level>15</sdk:api-level> 444 - <sdk:description>ARM EABI v7a System Image</sdk:description> 445 - <sdk:revision>4</sdk:revision> 446 - <sdk:archives> 447 - <sdk:archive> 448 - <!--Built on: Fri Jul 27 08:53:17 2018.--> 449 - <sdk:size>102079727</sdk:size> 450 - <sdk:checksum type="sha1">363223bd62f5afc0b2bd760b54ce9d26b31eacf1</sdk:checksum> 451 - <sdk:url>armeabi-v7a-15_r04.zip</sdk:url> 452 - </sdk:archive> 453 - </sdk:archives> 454 - <sdk:uses-license ref="android-sdk-license"/> 455 - <sdk:abi>armeabi-v7a</sdk:abi> 456 - <sdk:tag-id>default</sdk:tag-id> 457 - </sdk:system-image> 458 - <sdk:system-image> 459 - <!--Generated from bid:1741836, branch:git_jb-dev--> 460 - <sdk:api-level>16</sdk:api-level> 461 - <sdk:description>ARM EABI v7a System Image</sdk:description> 462 - <sdk:revision>4</sdk:revision> 463 - <sdk:archives> 464 - <sdk:archive> 465 - <!--Built on: Thu Jul 26 16:01:22 2018.--> 466 - <sdk:size>112608076</sdk:size> 467 - <sdk:checksum type="sha1">39c093ea755098f0ee79f607be7df9e54ba4943f</sdk:checksum> 468 - <sdk:url>sysimg_armv7a-16_r04.zip</sdk:url> 469 - </sdk:archive> 470 - </sdk:archives> 471 - <sdk:uses-license ref="android-sdk-license"/> 472 - <sdk:abi>armeabi-v7a</sdk:abi> 473 - <sdk:tag-id>default</sdk:tag-id> 474 - </sdk:system-image> 475 - <sdk:system-image> 476 - <!--Generated from bid:3453820, branch:git_jb-mr1.1-emu-release--> 477 - <sdk:api-level>17</sdk:api-level> 478 - <sdk:description>ARM EABI v7a System Image</sdk:description> 479 - <sdk:revision>5</sdk:revision> 480 - <sdk:archives> 481 - <sdk:archive> 482 - <!--Built on: Fri Jul 27 08:53:02 2018.--> 483 - <sdk:size>124238679</sdk:size> 484 - <sdk:checksum type="sha1">7460e8110f4a87f9644f1bdb5511a66872d50fd9</sdk:checksum> 485 - <sdk:url>armeabi-v7a-17_r05.zip</sdk:url> 486 - </sdk:archive> 487 - </sdk:archives> 488 - <sdk:uses-license ref="android-sdk-license"/> 489 - <sdk:abi>armeabi-v7a</sdk:abi> 490 - <sdk:tag-id>default</sdk:tag-id> 491 - </sdk:system-image> 492 - <sdk:system-image> 493 - <!--Generated from bid:3462034, branch:git_jb-mr2-emu-release--> 494 - <sdk:api-level>18</sdk:api-level> 495 - <sdk:description>ARM EABI v7a System Image</sdk:description> 496 - <sdk:revision>4</sdk:revision> 497 - <sdk:archives> 498 - <sdk:archive> 499 - <!--Built on: Fri Jul 27 08:53:09 2018.--> 500 - <sdk:size>130394401</sdk:size> 501 - <sdk:checksum type="sha1">0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642</sdk:checksum> 502 - <sdk:url>armeabi-v7a-18_r04.zip</sdk:url> 503 - </sdk:archive> 504 - </sdk:archives> 505 - <sdk:uses-license ref="android-sdk-license"/> 506 - <sdk:abi>armeabi-v7a</sdk:abi> 507 - <sdk:tag-id>default</sdk:tag-id> 508 - </sdk:system-image> 509 - <sdk:system-image> 510 - <!--Generated from bid:3462041, branch:git_klp-emu-release--> 511 - <sdk:api-level>19</sdk:api-level> 512 - <sdk:description>ARM EABI v7a System Image</sdk:description> 513 - <sdk:revision>5</sdk:revision> 514 - <sdk:archives> 515 - <sdk:archive> 516 - <!--Built on: Fri Jul 27 08:53:25 2018.--> 517 - <sdk:size>159871567</sdk:size> 518 - <sdk:checksum type="sha1">d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa</sdk:checksum> 519 - <sdk:url>armeabi-v7a-19_r05.zip</sdk:url> 520 - </sdk:archive> 521 - </sdk:archives> 522 - <sdk:uses-license ref="android-sdk-license"/> 523 - <sdk:abi>armeabi-v7a</sdk:abi> 524 - <sdk:tag-id>default</sdk:tag-id> 525 - </sdk:system-image> 526 - <sdk:system-image> 527 - <!--Generated from bid:3079185, branch:git_lmp-emu-release--> 528 - <sdk:api-level>21</sdk:api-level> 529 - <sdk:description>ARM EABI v7a System Image</sdk:description> 530 - <sdk:revision>4</sdk:revision> 531 - <sdk:archives> 532 - <sdk:archive> 533 - <!--Built on: Fri Jul 27 08:50:26 2018.--> 534 - <sdk:size>187163871</sdk:size> 535 - <sdk:checksum type="sha1">8c606f81306564b65e41303d2603e4c42ded0d10</sdk:checksum> 536 - <sdk:url>armeabi-v7a-21_r04.zip</sdk:url> 537 - </sdk:archive> 538 - </sdk:archives> 539 - <sdk:uses-license ref="android-sdk-license"/> 540 - <sdk:abi>armeabi-v7a</sdk:abi> 541 - <sdk:tag-id>default</sdk:tag-id> 542 - </sdk:system-image> 543 - <sdk:system-image> 544 - <!--Generated from bid:3079158, branch:git_lmp_mr1-emu-release--> 545 - <sdk:api-level>22</sdk:api-level> 546 - <sdk:description>ARM EABI v7a System Image</sdk:description> 547 - <sdk:revision>2</sdk:revision> 548 - <sdk:archives> 549 - <sdk:archive> 550 - <!--Built on: Fri Jul 27 08:50:08 2018.--> 551 - <sdk:size>194596267</sdk:size> 552 - <sdk:checksum type="sha1">2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1</sdk:checksum> 553 - <sdk:url>armeabi-v7a-22_r02.zip</sdk:url> 554 - </sdk:archive> 555 - </sdk:archives> 556 - <sdk:uses-license ref="android-sdk-license"/> 557 - <sdk:abi>armeabi-v7a</sdk:abi> 558 - <sdk:tag-id>default</sdk:tag-id> 559 - </sdk:system-image> 560 - <sdk:system-image> 561 - <!--Generated from bid:3079352, branch:git_mnc-emu-release--> 562 - <sdk:api-level>23</sdk:api-level> 563 - <sdk:description>ARM EABI v7a System Image</sdk:description> 564 - <sdk:revision>6</sdk:revision> 565 - <sdk:archives> 566 - <sdk:archive> 567 - <!--Built on: Fri Jul 27 08:50:36 2018.--> 568 - <sdk:size>238333358</sdk:size> 569 - <sdk:checksum type="sha1">7cf2ad756e54a3acfd81064b63cb0cb9dff2798d</sdk:checksum> 570 - <sdk:url>armeabi-v7a-23_r06.zip</sdk:url> 571 - <sdk:host-os>windows</sdk:host-os> 572 - </sdk:archive> 573 - </sdk:archives> 574 - <sdk:uses-license ref="android-sdk-license"/> 575 - <sdk:abi>armeabi-v7a</sdk:abi> 576 - <sdk:tag-id>default</sdk:tag-id> 577 - </sdk:system-image> 578 - <sdk:system-image> 579 - <!--Generated from bid:3245079, branch:git_nyc-emu-release--> 580 - <sdk:api-level>24</sdk:api-level> 581 - <sdk:description>ARM EABI v7a System Image</sdk:description> 582 - <sdk:revision>7</sdk:revision> 583 - <sdk:archives> 584 - <sdk:archive> 585 - <!--Built on: Fri Jul 27 08:51:39 2018.--> 586 - <sdk:size>283677512</sdk:size> 587 - <sdk:checksum type="sha1">3454546b4eed2d6c3dd06d47757d6da9f4176033</sdk:checksum> 588 - <sdk:url>armeabi-v7a-24_r07.zip</sdk:url> 589 - </sdk:archive> 590 - </sdk:archives> 591 - <sdk:uses-license ref="android-sdk-license"/> 592 - <sdk:abi>armeabi-v7a</sdk:abi> 593 - <sdk:tag-id>default</sdk:tag-id> 594 - </sdk:system-image> 595 - <sdk:system-image> 596 - <!--Generated from bid:3245079, branch:git_nyc-emu-release--> 597 - <sdk:api-level>24</sdk:api-level> 598 - <sdk:description>ARM 64 v8a System Image</sdk:description> 599 - <sdk:revision>7</sdk:revision> 600 - <sdk:archives> 601 - <sdk:archive> 602 - <!--Built on: Fri Jul 27 08:51:37 2018.--> 603 - <sdk:size>384556503</sdk:size> 604 - <sdk:checksum type="sha1">e8ab2e49e4efe4b064232b33b5eeaded61437d7f</sdk:checksum> 605 - <sdk:url>arm64-v8a-24_r07.zip</sdk:url> 606 - </sdk:archive> 607 - </sdk:archives> 608 - <sdk:uses-license ref="android-sdk-license"/> 609 - <sdk:abi>arm64-v8a</sdk:abi> 610 - <sdk:tag-id>default</sdk:tag-id> 611 - </sdk:system-image> 612 - <sdk:system-image> 613 - <!--Generated from bid:1741836, branch:git_jb-dev--> 614 - <sdk:api-level>16</sdk:api-level> 615 - <sdk:description>MIPS System Image</sdk:description> 616 - <sdk:revision>1</sdk:revision> 617 - <sdk:archives> 618 - <sdk:archive> 619 - <!--Built on: Thu Jul 26 16:01:28 2018.--> 620 - <sdk:size>122482530</sdk:size> 621 - <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum> 622 - <sdk:url>sysimg_mips-16_r04.zip</sdk:url> 623 - </sdk:archive> 624 - </sdk:archives> 625 - <sdk:uses-license ref="mips-android-sysimage-license"/> 626 - <sdk:abi>mips</sdk:abi> 627 - <sdk:tag-id>default</sdk:tag-id> 628 - </sdk:system-image> 629 - <sdk:system-image> 630 - <!--Generated from bid:1742939, branch:git_jb-mr1.1-dev--> 631 - <sdk:api-level>17</sdk:api-level> 632 - <sdk:description>MIPS System Image</sdk:description> 633 - <sdk:revision>1</sdk:revision> 634 - <sdk:archives> 635 - <sdk:archive> 636 - <!--Built on: Thu Jul 26 16:01:38 2018.--> 637 - <sdk:size>131781761</sdk:size> 638 - <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum> 639 - <sdk:url>sysimg_mips-17_r01.zip</sdk:url> 640 - </sdk:archive> 641 - </sdk:archives> 642 - <sdk:uses-license ref="mips-android-sysimage-license"/> 643 - <sdk:abi>mips</sdk:abi> 644 - <sdk:tag-id>default</sdk:tag-id> 645 - </sdk:system-image> 646 - <sdk:system-image> 647 - <!--Generated from bid:3093079, branch:git_gb-emu-release--> 648 - <sdk:api-level>10</sdk:api-level> 649 - <sdk:description>Intel x86 Atom System Image</sdk:description> 650 - <sdk:revision>4</sdk:revision> 651 - <sdk:archives> 652 - <sdk:archive> 653 - <!--Built on: Fri Jul 27 08:50:47 2018.--> 654 - <sdk:size>75382637</sdk:size> 655 - <sdk:checksum type="sha1">655ffc5cc89dd45a3aca154b254009016e473aeb</sdk:checksum> 656 - <sdk:url>x86-10_r04.zip</sdk:url> 657 - </sdk:archive> 658 - </sdk:archives> 659 - <sdk:uses-license ref="android-sdk-license"/> 660 - <sdk:abi>x86</sdk:abi> 661 - <sdk:tag-id>default</sdk:tag-id> 662 - </sdk:system-image> 663 - <sdk:system-image> 664 - <!--Generated from bid:3462039, branch:git_ics-mr1-emu-release--> 665 - <sdk:api-level>15</sdk:api-level> 666 - <sdk:description>Intel x86 Atom System Image</sdk:description> 667 - <sdk:revision>4</sdk:revision> 668 - <sdk:archives> 669 - <sdk:archive> 670 - <!--Built on: Fri Jul 27 08:53:18 2018.--> 671 - <sdk:size>115324561</sdk:size> 672 - <sdk:checksum type="sha1">e45c728b64881c0e86529a8f7ea9c103a3cd14c1</sdk:checksum> 673 - <sdk:url>x86-15_r04.zip</sdk:url> 674 - </sdk:archive> 675 - </sdk:archives> 676 - <sdk:uses-license ref="android-sdk-license"/> 677 - <sdk:abi>x86</sdk:abi> 678 - <sdk:tag-id>default</sdk:tag-id> 679 - </sdk:system-image> 680 - <sdk:system-image> 681 - <!--Generated from bid:4875369, branch:git_jb-emu-release--> 682 - <sdk:api-level>16</sdk:api-level> 683 - <sdk:description>Intel x86 Atom System Image</sdk:description> 684 - <sdk:revision>6</sdk:revision> 685 - <sdk:archives> 686 - <sdk:archive> 687 - <!--Built on: Tue Jul 17 16:27:13 2018.--> 688 - <sdk:size>134926152</sdk:size> 689 - <sdk:checksum type="sha1">bf1bf8c5591346118d2235da1ad20e7be8a3e9cd</sdk:checksum> 690 - <sdk:url>x86-16_r06.zip</sdk:url> 691 - </sdk:archive> 692 - </sdk:archives> 693 - <sdk:uses-license ref="android-sdk-license"/> 694 - <sdk:abi>x86</sdk:abi> 695 - <sdk:tag-id>default</sdk:tag-id> 696 - </sdk:system-image> 697 - <sdk:system-image> 698 - <!--Generated from bid:4875371, branch:git_jb-mr1.1-emu-release--> 699 - <sdk:api-level>17</sdk:api-level> 700 - <sdk:description>Intel x86 Atom System Image</sdk:description> 701 - <sdk:revision>4</sdk:revision> 702 - <sdk:archives> 703 - <sdk:archive> 704 - <!--Built on: Tue Jul 17 16:30:45 2018.--> 705 - <sdk:size>143278662</sdk:size> 706 - <sdk:checksum type="sha1">03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec</sdk:checksum> 707 - <sdk:url>x86-17_r04.zip</sdk:url> 708 - </sdk:archive> 709 - </sdk:archives> 710 - <sdk:uses-license ref="android-sdk-license"/> 711 - <sdk:abi>x86</sdk:abi> 712 - <sdk:tag-id>default</sdk:tag-id> 713 - </sdk:system-image> 714 - <sdk:system-image> 715 - <!--Generated from bid:3462034, branch:git_jb-mr2-emu-release--> 716 - <sdk:api-level>18</sdk:api-level> 717 - <sdk:description>Intel x86 Atom System Image</sdk:description> 718 - <sdk:revision>3</sdk:revision> 719 - <sdk:archives> 720 - <sdk:archive> 721 - <!--Built on: Fri Jul 27 08:53:12 2018.--> 722 - <sdk:size>149657535</sdk:size> 723 - <sdk:checksum type="sha1">03a0cb23465c3de15215934a1dbc9715b56e9458</sdk:checksum> 724 - <sdk:url>x86-18_r03.zip</sdk:url> 725 - </sdk:archive> 726 - </sdk:archives> 727 - <sdk:uses-license ref="android-sdk-license"/> 728 - <sdk:abi>x86</sdk:abi> 729 - <sdk:tag-id>default</sdk:tag-id> 730 - </sdk:system-image> 731 - <sdk:system-image> 732 - <!--Generated from bid:4174703, branch:git_klp-emu-release--> 733 - <sdk:api-level>19</sdk:api-level> 734 - <sdk:description>Intel x86 Atom System Image</sdk:description> 735 - <sdk:revision>6</sdk:revision> 736 - <sdk:archives> 737 - <sdk:archive> 738 - <!--Built on: Wed Jun 13 18:42:22 2018.--> 739 - <sdk:size>185886274</sdk:size> 740 - <sdk:checksum type="sha1">2ac82153aae97f7eae4c5a0761224fe04321d03d</sdk:checksum> 741 - <sdk:url>x86-19_r06.zip</sdk:url> 742 - </sdk:archive> 743 - </sdk:archives> 744 - <sdk:uses-license ref="android-sdk-license"/> 745 - <sdk:abi>x86</sdk:abi> 746 - <sdk:tag-id>default</sdk:tag-id> 747 - </sdk:system-image> 748 - <sdk:system-image> 749 - <!--Generated from bid:4174711, branch:git_lmp-emu-release--> 750 - <sdk:api-level>21</sdk:api-level> 751 - <sdk:description>Intel x86 Atom System Image</sdk:description> 752 - <sdk:revision>5</sdk:revision> 753 - <sdk:archives> 754 - <sdk:archive> 755 - <!--Built on: Tue May 22 03:41:51 2018.--> 756 - <sdk:size>208212529</sdk:size> 757 - <sdk:checksum type="sha1">00f0eb0a1003efe3316347f762e20a85d8749cff</sdk:checksum> 758 - <sdk:url>x86-21_r05.zip</sdk:url> 759 - </sdk:archive> 760 - </sdk:archives> 761 - <sdk:uses-license ref="android-sdk-license"/> 762 - <sdk:abi>x86</sdk:abi> 763 - <sdk:tag-id>default</sdk:tag-id> 764 - </sdk:system-image> 765 - <sdk:system-image> 766 - <!--Generated from bid:4174727, branch:git_lmp-mr1-emu-release--> 767 - <sdk:api-level>22</sdk:api-level> 768 - <sdk:description>Intel x86 Atom System Image</sdk:description> 769 - <sdk:revision>6</sdk:revision> 770 - <sdk:archives> 771 - <sdk:archive> 772 - <!--Built on: Sun May 20 00:45:19 2018.--> 773 - <sdk:size>214268954</sdk:size> 774 - <sdk:checksum type="sha1">e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e</sdk:checksum> 775 - <sdk:url>x86-22_r06.zip</sdk:url> 776 - </sdk:archive> 777 - </sdk:archives> 778 - <sdk:uses-license ref="android-sdk-license"/> 779 - <sdk:abi>x86</sdk:abi> 780 - <sdk:tag-id>default</sdk:tag-id> 781 - </sdk:system-image> 782 - <sdk:system-image> 783 - <!--Generated from bid:4174734, branch:git_mnc-emu-release--> 784 - <sdk:api-level>23</sdk:api-level> 785 - <sdk:description>Intel x86 Atom System Image</sdk:description> 786 - <sdk:revision>10</sdk:revision> 787 - <sdk:archives> 788 - <sdk:archive> 789 - <!--Built on: Tue Jun 5 22:05:27 2018.--> 790 - <sdk:size>260804863</sdk:size> 791 - <sdk:checksum type="sha1">f6c3e3dd7bd951454795aa75c3a145fd05ac25bb</sdk:checksum> 792 - <sdk:url>x86-23_r10.zip</sdk:url> 793 - </sdk:archive> 794 - </sdk:archives> 795 - <sdk:uses-license ref="android-sdk-license"/> 796 - <sdk:abi>x86</sdk:abi> 797 - <sdk:tag-id>default</sdk:tag-id> 798 - </sdk:system-image> 799 - <sdk:system-image> 800 - <!--Generated from bid:4174735, branch:git_nyc-emu-release--> 801 - <sdk:api-level>24</sdk:api-level> 802 - <sdk:description>Intel x86 Atom System Image</sdk:description> 803 - <sdk:revision>8</sdk:revision> 804 - <sdk:archives> 805 - <sdk:archive> 806 - <!--Built on: Tue May 22 10:30:01 2018.--> 807 - <sdk:size>313489224</sdk:size> 808 - <sdk:checksum type="sha1">c1cae7634b0216c0b5990f2c144eb8ca948e3511</sdk:checksum> 809 - <sdk:url>x86-24_r08.zip</sdk:url> 810 - </sdk:archive> 811 - </sdk:archives> 812 - <sdk:uses-license ref="android-sdk-license"/> 813 - <sdk:abi>x86</sdk:abi> 814 - <sdk:tag-id>default</sdk:tag-id> 815 - </sdk:system-image> 816 - <sdk:system-image> 817 - <!--Generated from bid:4931657, branch:git_nyc-mr1-emu-release--> 818 - <sdk:api-level>25</sdk:api-level> 819 - <sdk:description>Intel x86 Atom System Image</sdk:description> 820 - <sdk:revision>1</sdk:revision> 821 - <sdk:archives> 822 - <sdk:archive> 823 - <!--Built on: Tue Aug 7 14:04:45 2018.--> 824 - <sdk:size>316695942</sdk:size> 825 - <sdk:checksum type="sha1">78ce7eb1387d598685633b9f7cbb300c3d3aeb5f</sdk:checksum> 826 - <sdk:url>x86-25_r01.zip</sdk:url> 827 - </sdk:archive> 828 - </sdk:archives> 829 - <sdk:uses-license ref="android-sdk-license"/> 830 - <sdk:abi>x86</sdk:abi> 831 - <sdk:tag-id>default</sdk:tag-id> 832 - </sdk:system-image> 833 - <sdk:system-image> 834 - <!--Generated from bid:4931640, branch:git_oc-emu-release--> 835 - <sdk:api-level>26</sdk:api-level> 836 - <sdk:description>Intel x86 Atom System Image</sdk:description> 837 - <sdk:revision>1</sdk:revision> 838 - <sdk:archives> 839 - <sdk:archive> 840 - <!--Built on: Tue Aug 7 14:05:14 2018.--> 841 - <sdk:size>350195807</sdk:size> 842 - <sdk:checksum type="sha1">e613d6e0da668e30daf547f3c6627a6352846f90</sdk:checksum> 843 - <sdk:url>x86-26_r01.zip</sdk:url> 844 - </sdk:archive> 845 - </sdk:archives> 846 - <sdk:uses-license ref="android-sdk-license"/> 847 - <sdk:abi>x86</sdk:abi> 848 - <sdk:tag-id>default</sdk:tag-id> 849 - <sdk:tag-display>Default Android System Image</sdk:tag-display> 850 - </sdk:system-image> 851 - <sdk:system-image> 852 - <!--Generated from bid:4931629, branch:git_oc-mr1-emu-release--> 853 - <sdk:api-level>27</sdk:api-level> 854 - <sdk:description>Intel x86 Atom System Image</sdk:description> 855 - <sdk:revision>1</sdk:revision> 856 - <sdk:archives> 857 - <sdk:archive> 858 - <!--Built on: Tue Aug 7 14:05:43 2018.--> 859 - <sdk:size>360984187</sdk:size> 860 - <sdk:checksum type="sha1">4ec990fac7b62958decd12e18a4cd389dfe7c582</sdk:checksum> 861 - <sdk:url>x86-27_r01.zip</sdk:url> 862 - </sdk:archive> 863 - </sdk:archives> 864 - <sdk:uses-license ref="android-sdk-license"/> 865 - <sdk:abi>x86</sdk:abi> 866 - <sdk:tag-id>default</sdk:tag-id> 867 - <sdk:tag-display>Default Android System Image</sdk:tag-display> 868 - </sdk:system-image> 869 - <sdk:system-image> 870 - <!--Generated from bid:4923214, branch:git_pi-emu-release--> 871 - <sdk:api-level>28</sdk:api-level> 872 - <sdk:description>Intel x86 Atom System Image</sdk:description> 873 - <sdk:revision>4</sdk:revision> 874 - <sdk:archives> 875 - <sdk:archive> 876 - <!--Built on: Tue Jul 31 17:43:13 2018.--> 877 - <sdk:size>437320152</sdk:size> 878 - <sdk:checksum type="sha1">ce03c42d80c0fc6dc47f6455dbee7aa275d02780</sdk:checksum> 879 - <sdk:url>x86-28_r04.zip</sdk:url> 880 - </sdk:archive> 881 - </sdk:archives> 882 - <sdk:uses-license ref="android-sdk-preview-license"/> 883 - <sdk:abi>x86</sdk:abi> 884 - <sdk:tag-id>default</sdk:tag-id> 885 - <sdk:tag-display>Default Android System Image</sdk:tag-display> 886 - </sdk:system-image> 887 - <sdk:system-image> 888 - <!--Generated from bid:4174711, branch:git_lmp-emu-release--> 889 - <sdk:api-level>21</sdk:api-level> 890 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 891 - <sdk:revision>5</sdk:revision> 892 - <sdk:archives> 893 - <sdk:archive> 894 - <!--Built on: Wed Jun 6 04:05:38 2018.--> 895 - <sdk:size>292623982</sdk:size> 896 - <sdk:checksum type="sha1">9078a095825a69e5e215713f0866c83cef65a342</sdk:checksum> 897 - <sdk:url>x86_64-21_r05.zip</sdk:url> 898 - </sdk:archive> 899 - </sdk:archives> 900 - <sdk:uses-license ref="android-sdk-license"/> 901 - <sdk:abi>x86_64</sdk:abi> 902 - <sdk:tag-id>default</sdk:tag-id> 903 - </sdk:system-image> 904 - <sdk:system-image> 905 - <!--Generated from bid:4174727, branch:git_lmp-mr1-emu-release--> 906 - <sdk:api-level>22</sdk:api-level> 907 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 908 - <sdk:revision>6</sdk:revision> 909 - <sdk:archives> 910 - <sdk:archive> 911 - <!--Built on: Sun May 27 01:45:29 2018.--> 912 - <sdk:size>299976630</sdk:size> 913 - <sdk:checksum type="sha1">5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4</sdk:checksum> 914 - <sdk:url>x86_64-22_r06.zip</sdk:url> 915 - </sdk:archive> 916 - </sdk:archives> 917 - <sdk:uses-license ref="android-sdk-license"/> 918 - <sdk:abi>x86_64</sdk:abi> 919 - <sdk:tag-id>default</sdk:tag-id> 920 - </sdk:system-image> 921 - <sdk:system-image> 922 - <!--Generated from bid:4174734, branch:git_mnc-emu-release--> 923 - <sdk:api-level>23</sdk:api-level> 924 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 925 - <sdk:revision>10</sdk:revision> 926 - <sdk:archives> 927 - <sdk:archive> 928 - <!--Built on: Tue Jun 12 05:59:42 2018.--> 929 - <sdk:size>365009313</sdk:size> 930 - <sdk:checksum type="sha1">7cbc291483ca07dc67b71268c5f08a5755f50f51</sdk:checksum> 931 - <sdk:url>x86_64-23_r10.zip</sdk:url> 932 - </sdk:archive> 933 - </sdk:archives> 934 - <sdk:uses-license ref="android-sdk-license"/> 935 - <sdk:abi>x86_64</sdk:abi> 936 - <sdk:tag-id>default</sdk:tag-id> 937 - </sdk:system-image> 938 - <sdk:system-image> 939 - <!--Generated from bid:4174735, branch:git_nyc-emu-release--> 940 - <sdk:api-level>24</sdk:api-level> 941 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 942 - <sdk:revision>8</sdk:revision> 943 - <sdk:archives> 944 - <sdk:archive> 945 - <!--Built on: Sat Jun 16 05:29:19 2018.--> 946 - <sdk:size>419261998</sdk:size> 947 - <sdk:checksum type="sha1">f6559e1949a5879f31a9662f4f0e50ad60181684</sdk:checksum> 948 - <sdk:url>x86_64-24_r08.zip</sdk:url> 949 - </sdk:archive> 950 - </sdk:archives> 951 - <sdk:uses-license ref="android-sdk-license"/> 952 - <sdk:abi>x86_64</sdk:abi> 953 - <sdk:tag-id>default</sdk:tag-id> 954 - </sdk:system-image> 955 - <sdk:system-image> 956 - <!--Generated from bid:4931657, branch:git_nyc-mr1-emu-release--> 957 - <sdk:api-level>25</sdk:api-level> 958 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 959 - <sdk:revision>1</sdk:revision> 960 - <sdk:archives> 961 - <sdk:archive> 962 - <!--Built on: Tue Aug 7 14:06:13 2018.--> 963 - <sdk:size>422702097</sdk:size> 964 - <sdk:checksum type="sha1">7093d7b39216020226ff430a3b7b81c94d31ad37</sdk:checksum> 965 - <sdk:url>x86_64-25_r01.zip</sdk:url> 966 - </sdk:archive> 967 - </sdk:archives> 968 - <sdk:uses-license ref="android-sdk-license"/> 969 - <sdk:abi>x86_64</sdk:abi> 970 - <sdk:tag-id>default</sdk:tag-id> 971 - </sdk:system-image> 972 - <sdk:system-image> 973 - <!--Generated from bid:4931640, branch:git_oc-emu-release--> 974 - <sdk:api-level>26</sdk:api-level> 975 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 976 - <sdk:revision>1</sdk:revision> 977 - <sdk:archives> 978 - <sdk:archive> 979 - <!--Built on: Tue Aug 7 14:06:52 2018.--> 980 - <sdk:size>474178332</sdk:size> 981 - <sdk:checksum type="sha1">432f149c048bffce7f9de526ec65b336daf7a0a3</sdk:checksum> 982 - <sdk:url>x86_64-26_r01.zip</sdk:url> 983 - </sdk:archive> 984 - </sdk:archives> 985 - <sdk:uses-license ref="android-sdk-license"/> 986 - <sdk:abi>x86_64</sdk:abi> 987 - <sdk:tag-id>default</sdk:tag-id> 988 - <sdk:tag-display>Default Android System Image</sdk:tag-display> 989 - </sdk:system-image> 990 - <sdk:system-image> 991 - <!--Generated from bid:4931629, branch:git_oc-mr1-emu-release--> 992 - <sdk:api-level>27</sdk:api-level> 993 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 994 - <sdk:revision>1</sdk:revision> 995 - <sdk:archives> 996 - <sdk:archive> 997 - <!--Built on: Tue Aug 7 14:07:35 2018.--> 998 - <sdk:size>491675204</sdk:size> 999 - <sdk:checksum type="sha1">2878261011a59ca3de29dc5b457a495fdb268d60</sdk:checksum> 1000 - <sdk:url>x86_64-27_r01.zip</sdk:url> 1001 - </sdk:archive> 1002 - </sdk:archives> 1003 - <sdk:uses-license ref="android-sdk-license"/> 1004 - <sdk:abi>x86_64</sdk:abi> 1005 - <sdk:tag-id>default</sdk:tag-id> 1006 - <sdk:tag-display>Default Android System Image</sdk:tag-display> 1007 - </sdk:system-image> 1008 - <sdk:system-image> 1009 - <!--Generated from bid:4923214, branch:git_pi-emu-release--> 1010 - <sdk:api-level>28</sdk:api-level> 1011 - <sdk:description>Intel x86 Atom_64 System Image</sdk:description> 1012 - <sdk:revision>4</sdk:revision> 1013 - <sdk:archives> 1014 - <sdk:archive> 1015 - <!--Built on: Tue Jul 31 17:43:48 2018.--> 1016 - <sdk:size>564792723</sdk:size> 1017 - <sdk:checksum type="sha1">d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0</sdk:checksum> 1018 - <sdk:url>x86_64-28_r04.zip</sdk:url> 1019 - </sdk:archive> 1020 - </sdk:archives> 1021 - <sdk:uses-license ref="android-sdk-preview-license"/> 1022 - <sdk:abi>x86_64</sdk:abi> 1023 - <sdk:tag-id>default</sdk:tag-id> 1024 - <sdk:tag-display>Default Android System Image</sdk:tag-display> 1025 - </sdk:system-image> 1026 - </sdk:sdk-sys-img>
-305
pkgs/development/mobile/androidenv/sysimages.nix
··· 1 - # This file is generated from generate-sysimages.sh. DO NOT EDIT. 2 - # Execute generate-sysimages.sh or fetch.sh to update the file. 3 - {stdenv, fetchurl, unzip}: 4 - 5 - let 6 - buildSystemImage = args: 7 - stdenv.mkDerivation (args // { 8 - buildInputs = [ unzip ]; 9 - buildCommand = '' 10 - mkdir -p $out 11 - cd $out 12 - unzip $src 13 - ''; 14 - }); 15 - in 16 - { 17 - 18 - sysimg_armeabi-v7a_10 = buildSystemImage { 19 - name = "sysimg-armeabi-v7a-10"; 20 - src = fetchurl { 21 - url = https://dl.google.com/android/repository/sys-img/android/armv7-10_r04.zip; 22 - sha1 = "54680383118eb5c95a11e1cc2a14aa572c86ee69"; 23 - }; 24 - }; 25 - 26 - sysimg_x86_10 = buildSystemImage { 27 - name = "sysimg-x86-10"; 28 - src = fetchurl { 29 - url = https://dl.google.com/android/repository/sys-img/android/x86-10_r04.zip; 30 - sha1 = "655ffc5cc89dd45a3aca154b254009016e473aeb"; 31 - }; 32 - }; 33 - 34 - sysimg_armeabi-v7a_14 = buildSystemImage { 35 - name = "sysimg-armeabi-v7a-14"; 36 - src = fetchurl { 37 - url = https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip; 38 - sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b"; 39 - }; 40 - }; 41 - 42 - sysimg_armeabi-v7a_15 = buildSystemImage { 43 - name = "sysimg-armeabi-v7a-15"; 44 - src = fetchurl { 45 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-15_r04.zip; 46 - sha1 = "363223bd62f5afc0b2bd760b54ce9d26b31eacf1"; 47 - }; 48 - }; 49 - 50 - sysimg_x86_15 = buildSystemImage { 51 - name = "sysimg-x86-15"; 52 - src = fetchurl { 53 - url = https://dl.google.com/android/repository/sys-img/android/x86-15_r04.zip; 54 - sha1 = "e45c728b64881c0e86529a8f7ea9c103a3cd14c1"; 55 - }; 56 - }; 57 - 58 - sysimg_armeabi-v7a_16 = buildSystemImage { 59 - name = "sysimg-armeabi-v7a-16"; 60 - src = fetchurl { 61 - url = https://dl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r04.zip; 62 - sha1 = "39c093ea755098f0ee79f607be7df9e54ba4943f"; 63 - }; 64 - }; 65 - 66 - sysimg_mips_16 = buildSystemImage { 67 - name = "sysimg-mips-16"; 68 - src = fetchurl { 69 - url = https://dl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip; 70 - sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e"; 71 - }; 72 - }; 73 - 74 - sysimg_x86_16 = buildSystemImage { 75 - name = "sysimg-x86-16"; 76 - src = fetchurl { 77 - url = https://dl.google.com/android/repository/sys-img/android/x86-16_r06.zip; 78 - sha1 = "bf1bf8c5591346118d2235da1ad20e7be8a3e9cd"; 79 - }; 80 - }; 81 - 82 - sysimg_armeabi-v7a_17 = buildSystemImage { 83 - name = "sysimg-armeabi-v7a-17"; 84 - src = fetchurl { 85 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-17_r05.zip; 86 - sha1 = "7460e8110f4a87f9644f1bdb5511a66872d50fd9"; 87 - }; 88 - }; 89 - 90 - sysimg_mips_17 = buildSystemImage { 91 - name = "sysimg-mips-17"; 92 - src = fetchurl { 93 - url = https://dl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip; 94 - sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d"; 95 - }; 96 - }; 97 - 98 - sysimg_x86_17 = buildSystemImage { 99 - name = "sysimg-x86-17"; 100 - src = fetchurl { 101 - url = https://dl.google.com/android/repository/sys-img/android/x86-17_r04.zip; 102 - sha1 = "03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec"; 103 - }; 104 - }; 105 - 106 - sysimg_armeabi-v7a_18 = buildSystemImage { 107 - name = "sysimg-armeabi-v7a-18"; 108 - src = fetchurl { 109 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-18_r04.zip; 110 - sha1 = "0bf34ecf4ddd53f6b1b7fe7dfa12f2887c17e642"; 111 - }; 112 - }; 113 - 114 - sysimg_x86_18 = buildSystemImage { 115 - name = "sysimg-x86-18"; 116 - src = fetchurl { 117 - url = https://dl.google.com/android/repository/sys-img/android/x86-18_r03.zip; 118 - sha1 = "03a0cb23465c3de15215934a1dbc9715b56e9458"; 119 - }; 120 - }; 121 - 122 - sysimg_armeabi-v7a_19 = buildSystemImage { 123 - name = "sysimg-armeabi-v7a-19"; 124 - src = fetchurl { 125 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-19_r05.zip; 126 - sha1 = "d1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa"; 127 - }; 128 - }; 129 - 130 - sysimg_x86_19 = buildSystemImage { 131 - name = "sysimg-x86-19"; 132 - src = fetchurl { 133 - url = https://dl.google.com/android/repository/sys-img/android/x86-19_r06.zip; 134 - sha1 = "2ac82153aae97f7eae4c5a0761224fe04321d03d"; 135 - }; 136 - }; 137 - 138 - sysimg_armeabi-v7a_21 = buildSystemImage { 139 - name = "sysimg-armeabi-v7a-21"; 140 - src = fetchurl { 141 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-21_r04.zip; 142 - sha1 = "8c606f81306564b65e41303d2603e4c42ded0d10"; 143 - }; 144 - }; 145 - 146 - sysimg_x86_21 = buildSystemImage { 147 - name = "sysimg-x86-21"; 148 - src = fetchurl { 149 - url = https://dl.google.com/android/repository/sys-img/android/x86-21_r05.zip; 150 - sha1 = "00f0eb0a1003efe3316347f762e20a85d8749cff"; 151 - }; 152 - }; 153 - 154 - sysimg_x86_64_21 = buildSystemImage { 155 - name = "sysimg-x86_64-21"; 156 - src = fetchurl { 157 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-21_r05.zip; 158 - sha1 = "9078a095825a69e5e215713f0866c83cef65a342"; 159 - }; 160 - }; 161 - 162 - sysimg_armeabi-v7a_22 = buildSystemImage { 163 - name = "sysimg-armeabi-v7a-22"; 164 - src = fetchurl { 165 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-22_r02.zip; 166 - sha1 = "2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1"; 167 - }; 168 - }; 169 - 170 - sysimg_x86_22 = buildSystemImage { 171 - name = "sysimg-x86-22"; 172 - src = fetchurl { 173 - url = https://dl.google.com/android/repository/sys-img/android/x86-22_r06.zip; 174 - sha1 = "e33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e"; 175 - }; 176 - }; 177 - 178 - sysimg_x86_64_22 = buildSystemImage { 179 - name = "sysimg-x86_64-22"; 180 - src = fetchurl { 181 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-22_r06.zip; 182 - sha1 = "5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4"; 183 - }; 184 - }; 185 - 186 - sysimg_armeabi-v7a_23 = buildSystemImage { 187 - name = "sysimg-armeabi-v7a-23"; 188 - src = fetchurl { 189 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-23_r06.zip; 190 - sha1 = "7cf2ad756e54a3acfd81064b63cb0cb9dff2798d"; 191 - }; 192 - }; 193 - 194 - sysimg_x86_23 = buildSystemImage { 195 - name = "sysimg-x86-23"; 196 - src = fetchurl { 197 - url = https://dl.google.com/android/repository/sys-img/android/x86-23_r10.zip; 198 - sha1 = "f6c3e3dd7bd951454795aa75c3a145fd05ac25bb"; 199 - }; 200 - }; 201 - 202 - sysimg_x86_64_23 = buildSystemImage { 203 - name = "sysimg-x86_64-23"; 204 - src = fetchurl { 205 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-23_r10.zip; 206 - sha1 = "7cbc291483ca07dc67b71268c5f08a5755f50f51"; 207 - }; 208 - }; 209 - 210 - sysimg_arm64-v8a_24 = buildSystemImage { 211 - name = "sysimg-arm64-v8a-24"; 212 - src = fetchurl { 213 - url = https://dl.google.com/android/repository/sys-img/android/arm64-v8a-24_r07.zip; 214 - sha1 = "e8ab2e49e4efe4b064232b33b5eeaded61437d7f"; 215 - }; 216 - }; 217 - 218 - sysimg_armeabi-v7a_24 = buildSystemImage { 219 - name = "sysimg-armeabi-v7a-24"; 220 - src = fetchurl { 221 - url = https://dl.google.com/android/repository/sys-img/android/armeabi-v7a-24_r07.zip; 222 - sha1 = "3454546b4eed2d6c3dd06d47757d6da9f4176033"; 223 - }; 224 - }; 225 - 226 - sysimg_x86_24 = buildSystemImage { 227 - name = "sysimg-x86-24"; 228 - src = fetchurl { 229 - url = https://dl.google.com/android/repository/sys-img/android/x86-24_r08.zip; 230 - sha1 = "c1cae7634b0216c0b5990f2c144eb8ca948e3511"; 231 - }; 232 - }; 233 - 234 - sysimg_x86_64_24 = buildSystemImage { 235 - name = "sysimg-x86_64-24"; 236 - src = fetchurl { 237 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-24_r08.zip; 238 - sha1 = "f6559e1949a5879f31a9662f4f0e50ad60181684"; 239 - }; 240 - }; 241 - 242 - sysimg_x86_25 = buildSystemImage { 243 - name = "sysimg-x86-25"; 244 - src = fetchurl { 245 - url = https://dl.google.com/android/repository/sys-img/android/x86-25_r01.zip; 246 - sha1 = "78ce7eb1387d598685633b9f7cbb300c3d3aeb5f"; 247 - }; 248 - }; 249 - 250 - sysimg_x86_64_25 = buildSystemImage { 251 - name = "sysimg-x86_64-25"; 252 - src = fetchurl { 253 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-25_r01.zip; 254 - sha1 = "7093d7b39216020226ff430a3b7b81c94d31ad37"; 255 - }; 256 - }; 257 - 258 - sysimg_x86_26 = buildSystemImage { 259 - name = "sysimg-x86-26"; 260 - src = fetchurl { 261 - url = https://dl.google.com/android/repository/sys-img/android/x86-26_r01.zip; 262 - sha1 = "e613d6e0da668e30daf547f3c6627a6352846f90"; 263 - }; 264 - }; 265 - 266 - sysimg_x86_64_26 = buildSystemImage { 267 - name = "sysimg-x86_64-26"; 268 - src = fetchurl { 269 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-26_r01.zip; 270 - sha1 = "432f149c048bffce7f9de526ec65b336daf7a0a3"; 271 - }; 272 - }; 273 - 274 - sysimg_x86_27 = buildSystemImage { 275 - name = "sysimg-x86-27"; 276 - src = fetchurl { 277 - url = https://dl.google.com/android/repository/sys-img/android/x86-27_r01.zip; 278 - sha1 = "4ec990fac7b62958decd12e18a4cd389dfe7c582"; 279 - }; 280 - }; 281 - 282 - sysimg_x86_64_27 = buildSystemImage { 283 - name = "sysimg-x86_64-27"; 284 - src = fetchurl { 285 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-27_r01.zip; 286 - sha1 = "2878261011a59ca3de29dc5b457a495fdb268d60"; 287 - }; 288 - }; 289 - 290 - sysimg_x86_28 = buildSystemImage { 291 - name = "sysimg-x86-28"; 292 - src = fetchurl { 293 - url = https://dl.google.com/android/repository/sys-img/android/x86-28_r04.zip; 294 - sha1 = "ce03c42d80c0fc6dc47f6455dbee7aa275d02780"; 295 - }; 296 - }; 297 - 298 - sysimg_x86_64_28 = buildSystemImage { 299 - name = "sysimg-x86_64-28"; 300 - src = fetchurl { 301 - url = https://dl.google.com/android/repository/sys-img/android/x86_64-28_r04.zip; 302 - sha1 = "d47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0"; 303 - }; 304 - }; 305 - }
+26
pkgs/development/mobile/androidenv/tools.nix
··· 1 + {deployAndroidPackage, requireFile, lib, packages, toolsVersion, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}: 2 + 3 + if toolsVersion == "26.0.1" then import ./tools/26.nix { 4 + inherit deployAndroidPackage lib autoPatchelfHook makeWrapper os pkgs pkgs_i686 postInstall; 5 + package = { 6 + name = "tools"; 7 + path = "tools"; 8 + revision = "26.0.1"; 9 + archives = { 10 + linux = requireFile { 11 + url = https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip; 12 + sha256 = "185yq7qwxflw24ccm5d6zziwlc9pxmsm3f54pm9p7xm0ik724kj4"; 13 + }; 14 + macosx = requireFile { 15 + url = https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip; 16 + sha256 = "1ycx9gzdaqaw6n19yvxjawywacavn1jc6sadlz5qikhgfr57b0aa"; 17 + }; 18 + }; 19 + }; 20 + } else if toolsVersion == "26.1.1" then import ./tools/26.nix { 21 + inherit deployAndroidPackage lib autoPatchelfHook makeWrapper os pkgs pkgs_i686 postInstall; 22 + package = packages.tools."${toolsVersion}"; 23 + } else import ./tools/25.nix { 24 + inherit deployAndroidPackage lib autoPatchelfHook makeWrapper os pkgs pkgs_i686 postInstall; 25 + package = packages.tools."${toolsVersion}"; 26 + }
+62
pkgs/development/mobile/androidenv/tools/25.nix
··· 1 + {deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}: 2 + 3 + deployAndroidPackage { 4 + name = "androidsdk"; 5 + buildInputs = [ autoPatchelfHook makeWrapper ] 6 + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libxcb pkgs.xlibs.libXfixes pkgs.xlibs.libXrender pkgs.fontconfig.lib pkgs.freetype pkgs.libGL pkgs.zlib pkgs.ncurses5 pkgs.libpulseaudio pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ]; 7 + inherit package os; 8 + 9 + patchInstructions = '' 10 + ${lib.optionalString (os == "linux") '' 11 + # Auto patch all binaries 12 + addAutoPatchelfSearchPath $PWD/lib64 13 + addAutoPatchelfSearchPath $PWD/lib64/libstdc++ 14 + addAutoPatchelfSearchPath $PWD/lib64/qt/lib 15 + addAutoPatchelfSearchPath $PWD/lib 16 + addAutoPatchelfSearchPath $PWD/lib/libstdc++ 17 + autoPatchelf . 18 + ''} 19 + 20 + # Wrap all scripts that require JAVA_HOME 21 + for i in bin 22 + do 23 + find $i -maxdepth 1 -type f -executable | while read program 24 + do 25 + if grep -q "JAVA_HOME" $program 26 + then 27 + wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin 28 + fi 29 + done 30 + done 31 + 32 + # Wrap programs that require java 33 + for i in draw9patch jobb lint screenshot2 34 + do 35 + wrapProgram $PWD/$i \ 36 + --prefix PATH : ${pkgs.jdk8}/bin 37 + done 38 + 39 + # Wrap programs that require java and SWT 40 + for i in android ddms hierarchyviewer monitor monkeyrunner traceview uiautomatorviewer 41 + do 42 + wrapProgram $PWD/$i \ 43 + --prefix PATH : ${pkgs.jdk8}/bin \ 44 + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]} 45 + done 46 + 47 + ${lib.optionalString (os == "linux") '' 48 + wrapProgram $PWD/emulator \ 49 + --prefix PATH : ${pkgs.file}/bin:${pkgs.glxinfo}/bin:${pkgs.pciutils}/bin \ 50 + --set QT_XKB_CONFIG_ROOT ${pkgs.xkeyboard_config}/share/X11/xkb \ 51 + --set QTCOMPOSE ${pkgs.xorg.libX11.out}/share/X11/locale 52 + ''} 53 + 54 + # Patch all script shebangs 55 + patchShebangs . 56 + 57 + cd .. 58 + ${postInstall} 59 + ''; 60 + 61 + meta.licenses = lib.licenses.unfree; 62 + }
+40
pkgs/development/mobile/androidenv/tools/26.nix
··· 1 + {deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgs_i686, postInstall ? ""}: 2 + 3 + deployAndroidPackage { 4 + name = "androidsdk"; 5 + inherit os package; 6 + buildInputs = [ autoPatchelfHook makeWrapper ] 7 + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXrender pkgs.xlibs.libXext pkgs.fontconfig pkgs.freetype pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.xlibs.libXext pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ]; 8 + 9 + patchInstructions = '' 10 + ${lib.optionalString (os == "linux") '' 11 + # Auto patch all binaries 12 + autoPatchelf . 13 + ''} 14 + 15 + # Wrap all scripts that require JAVA_HOME 16 + for i in bin 17 + do 18 + find $i -maxdepth 1 -type f -executable | while read program 19 + do 20 + if grep -q "JAVA_HOME" $program 21 + then 22 + wrapProgram $PWD/$program --prefix PATH : ${pkgs.jdk8}/bin 23 + fi 24 + done 25 + done 26 + 27 + # Wrap monitor script 28 + wrapProgram $PWD/monitor \ 29 + --prefix PATH : ${pkgs.jdk8}/bin \ 30 + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]} 31 + 32 + # Patch all script shebangs 33 + patchShebangs . 34 + 35 + cd .. 36 + ${postInstall} 37 + ''; 38 + 39 + meta.licenses = lib.licenses.unfree; 40 + }
+1 -1
pkgs/top-level/all-packages.nix
··· 827 827 828 828 androidenv = callPackage ../development/mobile/androidenv { 829 829 pkgs_i686 = pkgsi686Linux; 830 - licenseAccepted = (config.android_sdk.accept_license or false); 830 + #licenseAccepted = (config.android_sdk.accept_license or false); 831 831 }; 832 832 833 833 inherit (androidenv) androidndk;