Dart - 爬取Android Studio历史版本信息 痛定思痛。 2024-05-24 21:39 59阅读 0赞 #### 文章目录 #### * 前言 * 开发环境 * 开发过程 * * 1. 遵循robots协议 * 2. 页面结构分析 * 3. Dart项目创建 * 4. Dart项目运行与调试 * 5. 第三库依赖 * 6. 项目完整源码 * 运行结果 * 最后 -------------------- ## 前言 ## 整理[Android Studio历史版本][Android Studio]信息时发现有点多,于是想一劳永逸写一个简单的爬虫抓取一下数据并生成我想要的格式,又刚好还没用Dart写过爬虫,所以尝试用Dart开发一个。 ## 开发环境 ## * Dart: 2.19.6 ## 开发过程 ## ### 1. 遵循robots协议 ### 准备爬取的地址:[https://developer.android.com/studio/archive][https_developer.android.com_studio_archive]。 `robots.txt`文件地址:[https://developer.android.com/robots.txt][https_developer.android.com_robots.txt],文件内容: User-Agent: * Disallow: /assets/css/ Disallow: /assets/images/ Disallow: /assets/js/ Disallow: /guide/samples/ Disallow: /images/ Disallow: /partners/ Disallow: /sdk/OLD_RELEASENOTES Disallow: /sdk/RELEASENOTES Disallow: /sdk/older_releases Disallow: /shareables/ Allow: /images/social/ Allow: /images/cards/distribute/stories/ User-agent: Google-DevRel Allow: / Sitemap: https://developer.android.com/sitemap.xml 由`robots.txt`文件内容可知,并没有禁止我们抓取`/studio/archive`路径页面。如果不清楚robots协议中规则的含义,请看[Google 如何解读 robots.txt 规范][Google _ robots.txt]。 ### 2. 页面结构分析 ### 通过浏览器的开发工具获取`/studio/archive`路径页面源码,页面结构如下: ![screenshot1][] 关键源码: <iframe src="https://developer.android.com/frame/studio/archive_c7422450e31f348e868f1f64f6e846d8cd0410f9d9227a1b6b3c4d4432813f8f.frame" class="framebox inherit-locale scroll" allow="clipboard-write https://android-dot-devsite-v2-prod.appspot.com" allowfullscreen is-upgraded> </iframe> 通过`iframe`标签加载历史版本信息页面,当然这个`/frame/studio/archive_xxx.frame`路径也还不是最终的路径,最终会被重定向到: https://android-dot-devsite-v2-prod.appspot.com/studio/archive_c7422450e31f348e868f1f64f6e846d8cd0410f9d9227a1b6b3c4d4432813f8f.frame 获取`/frame/studio/archive_xxx.frame`路径页面源码,页面结构如下: ![screenshot2][] `devsite-expandable`标签源码: <devsite-expandable is-upgraded="" id="expandable-1"> <p class="expand-control" aria-controls="expandable-1" aria-expanded="false" tabindex="0" role="button">Android Studio Giraffe | 2022.3.1 Beta 1 <span>April 20, 2023</span> </p> <div class="downloads"> Installers Chrome OS: <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.3.1.12/android-studio-2022.3.1.12-cros.deb">android-studio-2022.3.1.12-cros.deb</a> (928.9 MB) Mac (Apple Silicon): <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.3.1.12/android-studio-2022.3.1.12-mac_arm.dmg">android-studio-2022.3.1.12-mac_arm.dmg</a> (1.2 GB) Mac (Intel): <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.3.1.12/android-studio-2022.3.1.12-mac.dmg">android-studio-2022.3.1.12-mac.dmg</a> (1.2 GB) Windows (64-bit): <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.3.1.12/android-studio-2022.3.1.12-windows.exe">android-studio-2022.3.1.12-windows.exe</a> (1.1 GB) SHA-256 checksums 1960acdb21f2327bf13ea2c830ab6ae42e6ca1074edd4a072eaf37ae61eea220 android-studio-2022.3.1.12-cros.deb b71be41ab6f1e07bb06167876e82bb8a92e109b9d0e719622e72f0beeabfc593 android-studio-2022.3.1.12-mac_arm.dmg 80b70dc2cb9c64f47b706195be210615dfacf8f0d7da6f3cfe3566c9e7ed0a8e android-studio-2022.3.1.12-mac.dmg bb32d89edeb20124041aec8ae4bee1b1889be8dcfec595846bd67f75b2fa1a52 android-studio-2022.3.1.12-windows.exe Zip files Linux: <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.12/android-studio-2022.3.1.12-linux.tar.gz">android-studio-2022.3.1.12-linux.tar.gz</a> (1.2 GB) Mac (Apple Silicon): <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.12/android-studio-2022.3.1.12-mac_arm.zip">android-studio-2022.3.1.12-mac_arm.zip</a> (1.2 GB) Mac (Intel): <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.12/android-studio-2022.3.1.12-mac.zip">android-studio-2022.3.1.12-mac.zip</a> (1.2 GB) Windows (64-bit): <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.12/android-studio-2022.3.1.12-windows.zip">android-studio-2022.3.1.12-windows.zip</a> (1.1 GB) SHA-256 checksums 5b2e6289fb1c2f52a8ed9227c7fb80bf2272338712e8b7d3616c5d25b664ea9a android-studio-2022.3.1.12-linux.tar.gz a89e9a0e7c915ccfd3254e9f7c3f86fd6c94232501b5dee536de9fa191abcb98 android-studio-2022.3.1.12-mac_arm.zip 09f3a5b1204cff143d985f6fdab82d83e957428c31c9fac3d698b2ecf655c1bf android-studio-2022.3.1.12-mac.zip b27af90f27cf0be1f3eb1e3b9393234168944b663ca510d7ec4804535e760aca android-studio-2022.3.1.12-windows.zip </div> </devsite-expandable> 从页面结构可知,每一个`devsite-expandable`标签都是一个版本,其中`p`标签包含版本名称和发布日期,`div`标签包含下载信息。 ### 3. Dart项目创建 ### 电脑上安装的Flutter SDK自带有Dart SDK,所以不再需要额外安装Dart SDK。如果电脑上没有,请参考官方文档[Get the Dart SDK][]安装SDK。 * 通过Android Studio创建(需要安装[Dart插件][Dart]) ![screenshot3][] 选择创建命令行/控制台应用(Console Application)即可。如果遇到错误: Error: the folder specified as the Dart SDK home does not exist. 请检查Dart SDK路径是否正确。 * 通过命令行创建 dart create 项目名称 创建命令的更多使用方法可以通过执行`dart create -h`命令查看: Create a new Dart project. Usage: dart create [arguments] <directory> -h, --help Print this usage information. -t, --template The project template to use. [console] (default) A command-line application. [package] A package containing shared Dart libraries. [server-shelf] A server app using package:shelf. [web] A web app that uses only core Dart libraries. --[no-]pub Whether to run 'pub get' after the project has been created. (defaults to on) --force Force project generation, even if the target directory already exists. ### 4. Dart项目运行与调试 ### 如果是通过IDE(Android Studio等)开发Dart项目,运行和调试很简单就不再赘述。 * 通过命令行运行Dart项目 cd Dart项目路径 dart run `dart run`命令会默认执行项目内`bin`目录下的dart文件。 * 通过命令行调试Dart项目 cd Dart项目路径 dart run --pause-isolates-on-start --observe 执行输出: The Dart VM service is listening on http://127.0.0.1:8181/zjUsxx99OtA=/ The Dart DevTools debugger and profiler is available at: http://127.0.0.1:8181/zjUsxx99OtA=/devtools/#/?uri=ws%3A%2F%2F127.0.0.1%3A8181%2FzjUsxx99OtA%3D%2Fws Building package executable... Built spider:spider. ... 命令行的作用只是运行项目并开启调试,实际是通过在浏览器打开输出结果中的链接进行调试。关键链接: http://127.0.0.1:8181/zjUsxx99OtA=/devtools/#/?uri=ws%3A%2F%2F127.0.0.1%3A8181%2FzjUsxx99OtA%3D%2Fws 浏览器调试页面: ![screenshot4][] 参考文档: * [Using DevTools with a command-line app][] ### 5. 第三库依赖 ### * 网络请求 Flutter开发中用习惯了[dio][]库,所以这里也继续使用,当然用其他库也行。 * HTML解析 采用Dart官方的[html][]库。 目前只需要依赖这两个库,在Dart项目的`pubspec.yaml`文件中加上依赖配置: dependencies: dio: ^5.1.1 html: ^0.15.2 ### 6. 项目完整源码 ### * `bin/spider.dart`源码: import 'package:spider/spider.dart' as spider; void main(List<String> arguments) { spider.startTask(); } * `lib/spider.dart`源码: import 'package:dio/dio.dart'; import 'package:html/dom.dart'; import 'package:html/parser.dart'; import './model/platform.dart'; import './model/version.dart'; const String androidStudioArchiveUrl = 'https://developer.android.com/studio/archive'; final Dio dio = Dio(); /// 开始任务 void startTask() { loadHtml(androidStudioArchiveUrl).then((value) { parseHtml(parse(value)); }); } /// 加载网页 Future<dynamic> loadHtml(String url) async => (await dio.get(url)).data; /// 解析网页 void parseHtml(Document document) { // 找到iframe标签 var elements = document.getElementsByTagName('iframe'); if (elements.isNotEmpty) { var iframe = elements.first; var src = iframe.attributes['src']; if (src != null && src.isNotEmpty) { // 加载版本列表网页 loadHtml(src).then((value) { parseVersionList(parse(value)); }); } } } /// 解析版本列表 void parseVersionList(Document document) { var elements = document.getElementsByClassName('all-downloads'); if (elements.isNotEmpty) { var versions = <Version>[]; var div = elements.first; for (var child in div.children) { var version = getVersionInfo(child); if (version != null) { versions.add(version); version.platforms = getDownloadInfo(child); } } // 过滤非稳定版本(Canary/Beta/RC)并返回最新10个版本 versions = versions .where((element) => !element.name.contains(RegExp(r'(Canary)|(Beta)|(RC)'))) .take(10) .toList(growable: false); var output = buildOutput(versions); print(output); } } /// 获取版本信息 Version? getVersionInfo(Element element) { var versionElements = element.getElementsByClassName('expand-control'); if (versionElements.isNotEmpty) { var versionInfo = versionElements.first.text.split('\n'); if (versionInfo.length > 1) { return Version(versionInfo[0], versionInfo[1]); } } return null; } /// 获取下载信息 List<Platform> getDownloadInfo(Element element) { var platforms = <Platform>[]; var downloadElements = element.getElementsByClassName('downloads'); if (downloadElements.isNotEmpty) { var downloadInfo = downloadElements.first.innerHtml.split('\n\n'); for (var i = 0; i < downloadInfo.length; ++i) { var lines = downloadInfo[i].split('\n'); for (var line in lines) { if (downloadInfo[i].contains('SHA-256 checksums')) { // 解析checksums if (line.contains('android-studio')) { var info = line.split(' '); if (info.length > 1) { var checksums = info[0]; var fileName = info[1]; for (var platform in platforms) { if (platform.installerUrl?.contains(fileName) == true) { platform.installerChecksums = checksums; break; } else if (platform.zipFileUrl?.contains(fileName) == true) { platform.zipFileChecksums = checksums; break; } } } } } else { // 解析安装包和压缩文件 if (line.contains('<a href=')) { var info = line.split(': '); if (info.length > 1) { Platform? platform; for (var plat in platforms) { if (plat.name == info[0]) { platform = plat; break; } } if (platform == null) { platform = Platform(info[0]); platforms.add(platform); } if (downloadInfo[i].contains('Installers')) { platform.installerUrl = info[1]; } else { platform.zipFileUrl = info[1]; } } } } } } } return platforms; } /// 构建输出 String buildOutput(List<Version> versions) { // 创建表格 Element table = Element.tag('table'); // 创建表头 table.children.add( Element.tag('tr') ..children.addAll([ Element.tag('th')..text = '版本名称', Element.tag('th')..text = '发布日期', Element.tag('th')..text = '适用平台', Element.tag('th')..text = '安装包', Element.tag('th')..text = '压缩文件' ]), ); // 创建表格数据 for (var version in versions) { var length = version.platforms.length; List<List<Element>> elements = List.generate(length, (index) => <Element>[], growable: false); for (var i = 0; i < version.platforms.length; ++i) { var platform = version.platforms[i]; if (i == 0) { elements[i].addAll([ Element.tag('td') ..text = version.name ..attributes.addAll({ 'rowspan': '$length'}), Element.tag('td') ..text = version.releaseDate ..attributes.addAll({ 'rowspan': '$length'}) ]); } elements[i].add(Element.tag('td')..text = platform.name); if (platform.installerUrl != null) { elements[i].add(Element.tag('td') ..text = '${ platform.installerUrl}<br/>SHA-256 checksums:<br/>${ platform.installerChecksums}'); } else { elements[i].add(Element.tag('td')..text = '/'); } if (platform.zipFileUrl != null) { elements[i].add(Element.tag('td') ..text = '${ platform.zipFileUrl}<br/>SHA-256 checksums:<br/>${ platform.zipFileChecksums}'); } else { elements[i].add(Element.tag('td')..text = '/'); } } for (var element in elements) { table.children.add(Element.tag('tr')..children.addAll(element)); } } return table.outerHtml.replaceAll('<', '<').replaceAll('>', '>'); } * `lib/model/version.dart`源码: import './platform.dart'; class Version { String name; String releaseDate; List<Platform> platforms; Version(this.name, this.releaseDate) : platforms = <Platform>[]; } * `lib/model/platform.dart`源码: class Platform { String name; String? installerUrl; String? installerChecksums; String? zipFileUrl; String? zipFileChecksums; Platform(this.name); } ## 运行结果 ## <table> <tbody> <tr> <th>版本名称</th> <th>发布日期</th> <th>适用平台</th> <th>安装包</th> <th>压缩文件</th> </tr> <tr> <td>Android Studio Flamingo | 2022.2.1</td> <td> April 13, 2023</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.2.1.18/android-studio-2022.2.1.18-cros.deb" rel="nofollow">android-studio-2022.2.1.18-cros.deb</a> (844.9 MB)<br>SHA-256 checksums:<br>8ed5269db85eea539671da2be445d3374efbb99f42106b022c84d102566db60c </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.2.1.18/android-studio-2022.2.1.18-mac_arm.dmg" rel="nofollow">android-studio-2022.2.1.18-mac_arm.dmg</a> (1.2 GB)<br>SHA-256 checksums:<br>745f0fa810c12b775944f6eb09fb5c0fdae79521c3b00d6e42d350e159f909fb </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.2.1.18/android-studio-2022.2.1.18-mac_arm.zip" rel="nofollow">android-studio-2022.2.1.18-mac_arm.zip</a> (1.2 GB)<br>SHA-256 checksums:<br>65036554076d76c9cfaf3f7a3a6184747a3f5c5362faf66dbd848fcd4a6cff45 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.2.1.18/android-studio-2022.2.1.18-mac.dmg" rel="nofollow">android-studio-2022.2.1.18-mac.dmg</a> (1.2 GB)<br>SHA-256 checksums:<br>e770d71f3b269f7d8c95510b0a243ff6c467b2577056280885a360df087df5f1 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.2.1.18/android-studio-2022.2.1.18-mac.zip" rel="nofollow">android-studio-2022.2.1.18-mac.zip</a> (1.2 GB)<br>SHA-256 checksums:<br>9f0adcf8d8ba9dab8bd5d13e796c5c0c7a131b9319c60ab87a1af4cc25e07e20 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.2.1.18/android-studio-2022.2.1.18-windows.exe" rel="nofollow">android-studio-2022.2.1.18-windows.exe</a> (1.0 GB)<br>SHA-256 checksums:<br>c3811117b4fb8b41f23d060915a9bf020eab037e183b0eb1614ef44ad5103b8a </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.2.1.18/android-studio-2022.2.1.18-windows.zip" rel="nofollow">android-studio-2022.2.1.18-windows.zip</a> (1.0 GB)<br>SHA-256 checksums:<br>60c66f50ca155e8befc9ba683d248e5ad152103a7b2bb3211bfdd9e3e78424eb </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.2.1.18/android-studio-2022.2.1.18-linux.tar.gz" rel="nofollow">android-studio-2022.2.1.18-linux.tar.gz</a> (1.1 GB)<br>SHA-256 checksums:<br>cdd852c4499b5f7402df44dfc69e8ca418ffc9a684caab34047476fd2cb24efc </td> </tr> <tr> <td>Android Studio Electric Eel | 2022.1.1 Patch 2</td> <td> February 27, 2023</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.21/android-studio-2022.1.1.21-cros.deb" rel="nofollow">android-studio-2022.1.1.21-cros.deb</a> (801.3 MB)<br>SHA-256 checksums:<br>2d522ddf6894eb3999ceb4150cedc701d91cefe1b356edd651d512489b35aa30 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.21/android-studio-2022.1.1.21-mac_arm.dmg" rel="nofollow">android-studio-2022.1.1.21-mac_arm.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>2ced38b172557967109b19730c865e2a2a279969890f4432913a92ac152dcfbb </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.21/android-studio-2022.1.1.21-mac_arm.zip" rel="nofollow">android-studio-2022.1.1.21-mac_arm.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>8171f686d7d9521620b895e89421b45a31cb7b77ffa451236f3ead788da37332 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.21/android-studio-2022.1.1.21-mac.dmg" rel="nofollow">android-studio-2022.1.1.21-mac.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>d6a073066178be9d224a49e7d8469f00c21a14e7ffeb17a77f5aa43c31624086 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.21/android-studio-2022.1.1.21-mac.zip" rel="nofollow">android-studio-2022.1.1.21-mac.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>d91af16c2982e1655e6bc3935ea29be3ba4866dd89310c634d858f0766eb18e6 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.21/android-studio-2022.1.1.21-windows.exe" rel="nofollow">android-studio-2022.1.1.21-windows.exe</a> (988.6 MB)<br>SHA-256 checksums:<br>7f08286effd7c426e36a5dd2d49979d9d461874ca4a6fffe87e0092619b68c98 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.21/android-studio-2022.1.1.21-windows.zip" rel="nofollow">android-studio-2022.1.1.21-windows.zip</a> (991.4 MB)<br>SHA-256 checksums:<br>45db1f103b1113590e01ce73452ccbe6ca24af83188c51f8cabf57ceb9ae32ce </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.21/android-studio-2022.1.1.21-linux.tar.gz" rel="nofollow">android-studio-2022.1.1.21-linux.tar.gz</a> (1.0 GB)<br>SHA-256 checksums:<br>0bca26c45daf5cad79b131c34013b985d146a2526990ea2aa6d88792d51905a1 </td> </tr> <tr> <td>Android Studio Electric Eel | 2022.1.1 Patch 1</td> <td> January 31, 2023</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.20/android-studio-2022.1.1.20-cros.deb" rel="nofollow">android-studio-2022.1.1.20-cros.deb</a> (805.3 MB)<br>SHA-256 checksums:<br>5dd13ca2c2471e9bc6eb2d943dddfe30a0f17c2f6c5c3eae08878ab4c02bacef </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.20/android-studio-2022.1.1.20-mac_arm.dmg" rel="nofollow">android-studio-2022.1.1.20-mac_arm.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>ebb8e842eda3d500adf1aece9eb5b9d9b5963016d0233b42ed12107b2cc952a9 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.20/android-studio-2022.1.1.20-mac_arm.zip" rel="nofollow">android-studio-2022.1.1.20-mac_arm.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>abc4a5f480b2c0bdc2aab13dd1f3cfa2f9274f4a39ffa115cec01afb03052f15 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.20/android-studio-2022.1.1.20-mac.dmg" rel="nofollow">android-studio-2022.1.1.20-mac.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>b7ee174891a5d72bf02e026455d992228446b80566dae7cafe1cdc9437a67e0e </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.20/android-studio-2022.1.1.20-mac.zip" rel="nofollow">android-studio-2022.1.1.20-mac.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>d361756059d2c6c358d1db35cedf0fcf64abd264c0aee4acf669f8a5c6705356 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.20/android-studio-2022.1.1.20-windows.exe" rel="nofollow">android-studio-2022.1.1.20-windows.exe</a> (988.6 MB)<br>SHA-256 checksums:<br>5afb440754a8bd752340141b0c77ce9036e640b2932be60e50971b5e705b4d8e </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.20/android-studio-2022.1.1.20-windows.zip" rel="nofollow">android-studio-2022.1.1.20-windows.zip</a> (991.4 MB)<br>SHA-256 checksums:<br>0d8974578d6b8e311b135388070e236bd16cddfd932579f2d719118b3dd022cb </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.20/android-studio-2022.1.1.20-linux.tar.gz" rel="nofollow">android-studio-2022.1.1.20-linux.tar.gz</a> (1.0 GB)<br>SHA-256 checksums:<br>517eda3a94ccdb74bb3413cd033fdf284c8afdda96a68934367a57f70724ea9e </td> </tr> <tr> <td>Android Studio Electric Eel | 2022.1.1</td> <td> January 12, 2023</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.19/android-studio-2022.1.1.19-cros.deb" rel="nofollow">android-studio-2022.1.1.19-cros.deb</a> (806.6 MB)<br>SHA-256 checksums:<br>8c7f76847a379d38fe475846fd6d8d68176a1fa3b6a5e84ea1a67477ec0549d2 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.19/android-studio-2022.1.1.19-mac_arm.dmg" rel="nofollow">android-studio-2022.1.1.19-mac_arm.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>78c450022fc1a85af90ae64fced4eafbc1ca4149e60bb14085f4f1503ff1cb36 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.19/android-studio-2022.1.1.19-mac_arm.zip" rel="nofollow">android-studio-2022.1.1.19-mac_arm.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>01f2e05fd0159e37983a7eca9ddb0c41c2bef067230d8a241de483fc194545c0 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.19/android-studio-2022.1.1.19-mac.dmg" rel="nofollow">android-studio-2022.1.1.19-mac.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>3e965f50d7312859b4ea11cf530ca1a6ba0bc476a285fe614a2b2f3cde1fc2d0 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.19/android-studio-2022.1.1.19-mac.zip" rel="nofollow">android-studio-2022.1.1.19-mac.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>495019dd6e57e1a706ee36e0e6562b5da1a0cb9b0bee1c50bb544625b79d7a51 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2022.1.1.19/android-studio-2022.1.1.19-windows.exe" rel="nofollow">android-studio-2022.1.1.19-windows.exe</a> (992.1 MB)<br>SHA-256 checksums:<br>1ae29028ef09838a04fffae463e4b008251019a33733dd27aa72ca6b2d9c1029 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.19/android-studio-2022.1.1.19-windows.zip" rel="nofollow">android-studio-2022.1.1.19-windows.zip</a> (994.9 MB)<br>SHA-256 checksums:<br>12eaad3efce8bdc54024f0c7efc37e4cb29139f855862c49fd0653030a1619af </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.1.1.19/android-studio-2022.1.1.19-linux.tar.gz" rel="nofollow">android-studio-2022.1.1.19-linux.tar.gz</a> (1.0 GB)<br>SHA-256 checksums:<br>96ec44e9ad82f3a241dbc7b3b88655e3d4f2137d784b545c3574270906a68d40 </td> </tr> <tr> <td>Android Studio Dolphin | 2021.3.1 Patch 1</td> <td> October 13, 2022</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.17/android-studio-2021.3.1.17-cros.deb" rel="nofollow">android-studio-2021.3.1.17-cros.deb</a> (778.2 MB)<br>SHA-256 checksums:<br>4d0c442d806fa8651c8e1baade6586c70aa46a61790aac0e91dfb4d5be7a7213 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.17/android-studio-2021.3.1.17-mac_arm.dmg" rel="nofollow">android-studio-2021.3.1.17-mac_arm.dmg</a> (1.0 GB)<br>SHA-256 checksums:<br>0adbbddfa1e0e52e7bf21a5b560f60f8982ef82c0677db2d2ff7a2bd73ab156f </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.17/android-studio-2021.3.1.17-mac_arm.zip" rel="nofollow">android-studio-2021.3.1.17-mac_arm.zip</a> (1.0 GB)<br>SHA-256 checksums:<br>0e3923e5a4d7e7255c2e379ad2ab4e2aa5d52e6b2ed092938665c955214f3f05 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.17/android-studio-2021.3.1.17-mac.dmg" rel="nofollow">android-studio-2021.3.1.17-mac.dmg</a> (1.0 GB)<br>SHA-256 checksums:<br>4e10799559efc3445d61fb12bbf68e0a9801607a6114c6783bb26a93784d3150 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.17/android-studio-2021.3.1.17-mac.zip" rel="nofollow">android-studio-2021.3.1.17-mac.zip</a> (1.0 GB)<br>SHA-256 checksums:<br>a7695e0aa16404717ebcc018f37e123b7cfa6ef04f3e207f949eb2b9fc2e9c28 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.17/android-studio-2021.3.1.17-windows.exe" rel="nofollow">android-studio-2021.3.1.17-windows.exe</a> (957.3 MB)<br>SHA-256 checksums:<br>dd176791e15e921d4a3b3c9a251c61e5cfd28d75588fd717971dfbac030cd497 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.17/android-studio-2021.3.1.17-windows.zip" rel="nofollow">android-studio-2021.3.1.17-windows.zip</a> (959.6 MB)<br>SHA-256 checksums:<br>bdce14643efee37a4d892994b3329496460062f9c65ed870ff61a80267cb206a </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.17/android-studio-2021.3.1.17-linux.tar.gz" rel="nofollow">android-studio-2021.3.1.17-linux.tar.gz</a> (982.7 MB)<br>SHA-256 checksums:<br>89adb0ce0ffa46b7894e7bfedb142b1f5d52c43c171e6a6cb9a95a49f77756ca </td> </tr> <tr> <td>Android Studio Dolphin | 2021.3.1</td> <td> September 15, 2022</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-cros.deb" rel="nofollow">android-studio-2021.3.1.16-cros.deb</a> (777.6 MB)<br>SHA-256 checksums:<br>dbd78bbcc0d334f0aeec1849e69877c83bec08bc4db508c391ac11fdfc9ea65c </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-mac_arm.dmg" rel="nofollow">android-studio-2021.3.1.16-mac_arm.dmg</a> (1.0 GB)<br>SHA-256 checksums:<br>3c7c32b12644bda70a7845a7b9f2de196614c96a796dfd7d774e4c92a4b1eec0 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-mac_arm.zip" rel="nofollow">android-studio-2021.3.1.16-mac_arm.zip</a> (1.0 GB)<br>SHA-256 checksums:<br>bdf6bf858b1c017a24a0ce24d6979b00011b5fbe270ea007fc2184de8a4f6f40 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-mac.dmg" rel="nofollow">android-studio-2021.3.1.16-mac.dmg</a> (1.0 GB)<br>SHA-256 checksums:<br>4f1efabf0763ac06accb676790d1b5673f4cd8d995711fd9586d4742ba50ef05 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-mac.zip" rel="nofollow">android-studio-2021.3.1.16-mac.zip</a> (1.0 GB)<br>SHA-256 checksums:<br>a00c4646e6a0bd2d029f0b22b329246817f31eef57d03e251c4f433f155bd866 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-windows.exe" rel="nofollow">android-studio-2021.3.1.16-windows.exe</a> (950.7 MB)<br>SHA-256 checksums:<br>35bcdf04192e31568914931dc6f52e1879763c211321bf5f2f87d70b84516e1e </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-windows.zip" rel="nofollow">android-studio-2021.3.1.16-windows.zip</a> (953.1 MB)<br>SHA-256 checksums:<br>8235ab7aa34117c7a6c27bf30cea2f2a4043fabacd03b8b988bb689d41e09200 </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-linux.tar.gz" rel="nofollow">android-studio-2021.3.1.16-linux.tar.gz</a> (976.2 MB)<br>SHA-256 checksums:<br>1a725b585786f43b944336caf703360446e3f4b5e6e234057ff121e50ef91d9a </td> </tr> <tr> <td>Android Studio Chipmunk | 2021.2.1 Patch 2</td> <td> August 3, 2022</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.16/android-studio-2021.2.1.16-cros.deb" rel="nofollow">android-studio-2021.2.1.16-cros.deb</a> (857.0 MB)<br>SHA-256 checksums:<br>b020a9a664d8237711e74198d5d07087858d993c0b7ade1f35cbaff668e8acd5 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.16/android-studio-2021.2.1.16-mac_arm.dmg" rel="nofollow">android-studio-2021.2.1.16-mac_arm.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>d4e06bcc6f614cd4b261fc6034529edb205b31b0e56824490a91350c3640806a </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.16/android-studio-2021.2.1.16-mac_arm.zip" rel="nofollow">android-studio-2021.2.1.16-mac_arm.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>5754d3a8e46e5c243651007948601b7118793cbe9bc89e4c63101ee626141d5f </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.16/android-studio-2021.2.1.16-mac.dmg" rel="nofollow">android-studio-2021.2.1.16-mac.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>df46f2199fcf4c7e6b882ba16151ea1d2dd48a15f5c87d30224f1b5401d2b648 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.16/android-studio-2021.2.1.16-mac.zip" rel="nofollow">android-studio-2021.2.1.16-mac.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>bd5e47536f0de945a0bdec9ea15d720b0dbf692f39592f648614639e2ae543dd </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.16/android-studio-2021.2.1.16-windows.exe" rel="nofollow">android-studio-2021.2.1.16-windows.exe</a> (974.5 MB)<br>SHA-256 checksums:<br>214fc7339060990d615bb02f2576474a3d6c152249fb67b03124162e111da4c7 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.16/android-studio-2021.2.1.16-windows.zip" rel="nofollow">android-studio-2021.2.1.16-windows.zip</a> (986.6 MB)<br>SHA-256 checksums:<br>78575a5b779d66630b757a32df0a26b8c052995623d649ed31787fb64eef14b1 </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.16/android-studio-2021.2.1.16-linux.tar.gz" rel="nofollow">android-studio-2021.2.1.16-linux.tar.gz</a> (1.0 GB)<br>SHA-256 checksums:<br>aa5773a9e1da25bdb2367a8bdd2b623dbe0345170ed231a15b3f40e8888447dc </td> </tr> <tr> <td>Android Studio Chipmunk | 2021.2.1 Patch 1</td> <td> May 25, 2022</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.15/android-studio-2021.2.1.15-cros.deb" rel="nofollow">android-studio-2021.2.1.15-cros.deb</a> (857.0 MB)<br>SHA-256 checksums:<br>1300f2e48734ad57b9598f1f620ab2c72436b7fa60ced2d96266dadaf3078489 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.15/android-studio-2021.2.1.15-mac_arm.dmg" rel="nofollow">android-studio-2021.2.1.15-mac_arm.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>ce1fb8ba48c93e65fca450667786b4b98aa000ff274ca890e3de36efdabcc22b </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.15/android-studio-2021.2.1.15-mac_arm.zip" rel="nofollow">android-studio-2021.2.1.15-mac_arm.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>1b150c65b84dfbe34490d06437b40b6421eb65a06b54c9fc6d9134574020b763 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.15/android-studio-2021.2.1.15-mac.dmg" rel="nofollow">android-studio-2021.2.1.15-mac.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>fcaf413951119324ab22a0a4f2634bade90692991e9381cbf4a274e3cd60243a </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.15/android-studio-2021.2.1.15-mac.zip" rel="nofollow">android-studio-2021.2.1.15-mac.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>feda0fad3c2c19e3438cc8132f573dad40c2eb2cccef3239757069740b481e63 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.15/android-studio-2021.2.1.15-windows.exe" rel="nofollow">android-studio-2021.2.1.15-windows.exe</a> (974.4 MB)<br>SHA-256 checksums:<br>d99d2b24e232ac869d9c9e64cd19cd2572cfd4512e7df7941b812c4cd39d7b45 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.15/android-studio-2021.2.1.15-windows.zip" rel="nofollow">android-studio-2021.2.1.15-windows.zip</a> (986.5 MB)<br>SHA-256 checksums:<br>a992449e546660fc5f8026f72b0f0e804f8d9c82a5e628d502ab60d1ab2b0f8c </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.15/android-studio-2021.2.1.15-linux.tar.gz" rel="nofollow">android-studio-2021.2.1.15-linux.tar.gz</a> (1.0 GB)<br>SHA-256 checksums:<br>0018e0dfc0dd2921700516f7a2c443377c557788da7fb0a45243ecb4300745be </td> </tr> <tr> <td>Android Studio Chipmunk | 2021.2.1</td> <td> May 9, 2022</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.14/android-studio-2021.2.1.14-cros.deb" rel="nofollow">android-studio-2021.2.1.14-cros.deb</a> (857.0 MB)<br>SHA-256 checksums:<br>a9ed74d7641b32dac6bf4886f288ae9e6bc62f51fa645b7e21b2b999100614d7 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.14/android-studio-2021.2.1.14-mac_arm.dmg" rel="nofollow">android-studio-2021.2.1.14-mac_arm.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>eda598ecffd2640083031d81194cbeacf507c06febb8dc69f277f36fe47ba7a8 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.14/android-studio-2021.2.1.14-mac_arm.zip" rel="nofollow">android-studio-2021.2.1.14-mac_arm.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>1d288d0946d6abd68af45b23ec46610099fc603533803a7738e4c9edcbd2e66d </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.14/android-studio-2021.2.1.14-mac.dmg" rel="nofollow">android-studio-2021.2.1.14-mac.dmg</a> (1.1 GB)<br>SHA-256 checksums:<br>e3c4131cdb92ac3b2a8f287f7989528dd7a413477adc90f008748371921e80ee </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.14/android-studio-2021.2.1.14-mac.zip" rel="nofollow">android-studio-2021.2.1.14-mac.zip</a> (1.1 GB)<br>SHA-256 checksums:<br>5952717cb21e0bbfbaa25ea6ee2053c7bf8ba849430065f9e26d2c655a6af757 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.2.1.14/android-studio-2021.2.1.14-windows.exe" rel="nofollow">android-studio-2021.2.1.14-windows.exe</a> (974.4 MB)<br>SHA-256 checksums:<br>de733bcd1cd4fd23d474c76889db0ba9af0a5ae5ba7171fb9aa8e27311cf950b </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.14/android-studio-2021.2.1.14-windows.zip" rel="nofollow">android-studio-2021.2.1.14-windows.zip</a> (986.5 MB)<br>SHA-256 checksums:<br>db7dc822992f7905e86f5da757f36678fc5b0b587438da946c64892b27785bba </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.14/android-studio-2021.2.1.14-linux.tar.gz" rel="nofollow">android-studio-2021.2.1.14-linux.tar.gz</a> (1.0 GB)<br>SHA-256 checksums:<br>e98bb08ae6b4eaa9401b555a294d98615a6ade4c85b43c630a880313eab3c7b3 </td> </tr> <tr> <td>Android Studio Bumblebee | 2021.1.1 Patch 3</td> <td> April 7, 2022</td> <td>Chrome OS</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.1.1.23/android-studio-2021.1.1.23-cros.deb" rel="nofollow">android-studio-2021.1.1.23-cros.deb</a> (799.0 MB)<br>SHA-256 checksums:<br>f5733f44ab39d61b8885abc0d49b69a191d505114c154f3b5c4ee4d2f0b233e6 </td> <td>/</td> </tr> <tr> <td>Mac (Apple Silicon)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.1.1.23/android-studio-2021.1.1.23-mac_arm.dmg" rel="nofollow">android-studio-2021.1.1.23-mac_arm.dmg</a> (971.0 MB)<br>SHA-256 checksums:<br>f2ab09466927f338b2c1ff27635be7cf24b08191bccdeb63ee68b33a01d0a05c </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.1.1.23/android-studio-2021.1.1.23-mac_arm.zip" rel="nofollow">android-studio-2021.1.1.23-mac_arm.zip</a> (971.4 MB)<br>SHA-256 checksums:<br>6c0844ffed7c56bdf023d50a0ad515d8437e1544dd6dbf16a8879fa11422ae50 </td> </tr> <tr> <td>Mac (Intel)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.1.1.23/android-studio-2021.1.1.23-mac.dmg" rel="nofollow">android-studio-2021.1.1.23-mac.dmg</a> (974.2 MB)<br>SHA-256 checksums:<br>ce85ddff4c39f3eaa0b314cffa5f23987e255cce5d7aa900281884643f0a2db3 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.1.1.23/android-studio-2021.1.1.23-mac.zip" rel="nofollow">android-studio-2021.1.1.23-mac.zip</a> (975.0 MB)<br>SHA-256 checksums:<br>404b7e555e2913008c68d7ea3d9603448487dd543087c6d6fcf94e3e4cf71e16 </td> </tr> <tr> <td>Windows (64-bit)</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/install/2021.1.1.23/android-studio-2021.1.1.23-windows.exe" rel="nofollow">android-studio-2021.1.1.23-windows.exe</a> (914.8 MB)<br>SHA-256 checksums:<br>def7755842942be93c56db94c7d53eed70004b0ab1dc8883e959da0649032582 </td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.1.1.23/android-studio-2021.1.1.23-windows.zip" rel="nofollow">android-studio-2021.1.1.23-windows.zip</a> (925.4 MB)<br>SHA-256 checksums:<br>a4d9bf8f4f67392052d70770495e572eda4d85d7a3d59c648e655a1b9d2aea27 </td> </tr> <tr> <td>Linux</td> <td>/</td> <td> <a href="https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.1.1.23/android-studio-2021.1.1.23-linux.tar.gz" rel="nofollow">android-studio-2021.1.1.23-linux.tar.gz</a> (948.3 MB)<br>SHA-256 checksums:<br>b37506cd8ac7a80fe30cd1724e3be5c2d970a7aa6aa3fc9ca745afe3700aabcf </td> </tr> </tbody> </table> ## 最后 ## 如果这篇文章对你有所帮助,请不要吝啬你的点赞?加星?,谢谢~ [Android Studio]: https://blog.csdn.net/crasowas/article/details/130304836 [https_developer.android.com_studio_archive]: https://developer.android.com/studio/archive [https_developer.android.com_robots.txt]: https://developer.android.com/robots.txt [Google _ robots.txt]: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt?hl=zh-cn [screenshot1]: https://image.dandelioncloud.cn/pgy_files/images/2024/05/24/ea40cd05f6184bb9bb613671939b61b3.png [screenshot2]: https://image.dandelioncloud.cn/pgy_files/images/2024/05/24/7fe790c5e0c54feda02b3b30affdb429.png [Get the Dart SDK]: https://dart.dev/get-dart [Dart]: https://plugins.jetbrains.com/plugin/6351-dart [screenshot3]: https://image.dandelioncloud.cn/pgy_files/images/2024/05/24/2cde954ce7d24eefb411af901823af52.png [screenshot4]: https://image.dandelioncloud.cn/pgy_files/images/2024/05/24/eccdc0f01af34349885e1f7c897b3d8e.png [Using DevTools with a command-line app]: https://dart.dev/tools/dart-devtools#using-devtools-with-a-flutter-app [dio]: https://pub.flutter-io.cn/packages/dio [html]: https://pub.flutter-io.cn/packages/html
相关 Dart - 爬取Android Studio历史版本信息 整理Android Studio历史版本信息时发现有点多,于是想一劳永逸写一个简单的爬虫抓取一下数据并生成我想要的格式,又刚好还没用Dart写过爬虫,所以尝试用Dart开... 痛定思痛。/ 2024年05月24日 21:39/ 0 赞/ 60 阅读
相关 Android & iOS - Android Studio/Xcode历史版本下载(持续更新) 最近升级开发工具老是遇到各种兼容性问题导致需要降回老版本,Xcode历史版本下载方便倒还好,Android Studio就麻烦了,一开始找到的官方历史版本下载还不全。这里... 朴灿烈づ我的快乐病毒、/ 2024年05月24日 21:39/ 0 赞/ 113 阅读
相关 jenkins pipline 拉取git历史版本 声明,本文是基于:[jenkins流水线(jenkinsfile)详解,保姆式教程\_我认不到你的博客-CSDN博客][jenkins_jenkinsfile_-CSDN], ╰半夏微凉°/ 2023年10月10日 20:10/ 0 赞/ 60 阅读
相关 python爬取京东商品信息(GUI版本) 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:DYblog PS:如有需要Pyt ╰半夏微凉°/ 2023年02月23日 12:13/ 0 赞/ 144 阅读
相关 Python爬取磁力链信息 更新说明 2017.4.23 本程序使用MySQL数据库存储,使用本程序前请手动修改相关程序开头处的数据库连接语句。 需要requests、bs4、pymysql Bertha 。/ 2022年06月17日 10:22/ 0 赞/ 278 阅读
相关 scrapy爬取Tencent招聘信息 1.命令行创建一个scrapy工程 scrapy startproject Tencent 2.分析[https://hr.tencent.com/position 水深无声/ 2022年05月18日 05:55/ 0 赞/ 383 阅读
相关 python 爬虫爬取小说信息 1.进入小说主页(以下示例是我在网上随便找的一片小说),获取该小说的名称、作者以及相关描述信息 2.获取该小说的所有章节列表信息(最重要的是每个章节的链接地址href) 3 桃扇骨/ 2022年04月02日 11:42/ 0 赞/ 581 阅读
相关 Android NDK历史版本下载 前言 > NDK是一系列工具的集合。 > NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。 小鱼儿/ 2022年01月28日 22:31/ 0 赞/ 375 阅读
相关 爬取上交所信息 当遇到JS渲染时,很难找到正确的url,上交所就是一个比较典型的例子。在doc和xhr也没找到入口,最后在js中找到。成功以后即可进行后面数据爬取和分析。数据可视化 缺乏、安全感/ 2021年11月09日 11:44/ 0 赞/ 491 阅读
还没有评论,来说两句吧...