如何使用flutter run -d android_device_id命令连接指定Android设备?

摘要:flutter run -d android_device_target 卡死? -> 下载缓慢! jar 包了解参看 https:www.cnblogs.comlinxuannihaop17939346 前
flutter run -d android_device_target 卡死? -> 下载缓慢! jar 包了解参看 https://www.cnblogs.com/linxuannihao/p/17939346 前置知识/需要了解 gradle 是什么 flutter run 的流程 gradle 手动下载 kotlin-compiler-embeddable-1.7.0.jar 手动下载 仓库 flutter pub 仓库 android 等依赖的 jar 包(maven,google仓库) 现象和背景 过去了一年, 今天再次打开 android studio, 创建了最初始的 Flutter 的跨平台项目 执行 flutter run -d XXX(这里指定的平台式 android ),在 windows 平台或者是 web 平台都是可以正常运行的 结果: 卡在执行 Flutter 调用 gradlew.bat assembleDebug 这里, 查看资源管理器,android studio 占用的资源均是接近 0 (操作系统应该类似C语言那样向下取整了,因为经过调查发现,实际的网络IO速度是 10KB/S) 原因分析 本质上是下载 gradle 相关的 jar 慢包导致的 可能是没有下载的仓库位于国外或者是没有使用加速器导致的 网络相关(猜测是header不正确被限速了) 验证和解决 针对可能的 <原因1> 将下载的仓库地址设置成阿里云的或者是其他的国内镜像网站,或者是使用加速器 结果还是老样子,甚至更慢了(当然要是这样能够解决很好) 针对可能的 <原因2> flutter run -d XXX_android 本质还是调用 gradle 实现的,只是不同版本使用的 gradle 可能不一样 本质上调用的命令是 gradlew.bat assembleDebug, 我们通过调用 gradlew.bat assembleDebug 或者 flutter run -d XXX_android -verbose 将会显式具体的操作出来 当我们使用 gradlew.bat assembleDebug 将会给我们显示出具体的下载过程,我们就会发现在现在 gradle 以及后面的一个 Gradle:Download kotlin-compiler-embeddable-1.7.0.jar 这里卡主,下载的速度非常低,下载 50M 的 jar 用去了 1h (算下来就是 14k/s ),但是我们打开那个下载的链接直接进去下载的话,速度就会很快(因此在这里考虑是第二个原因,这里的 header 没有像正常访问那样,而是通过 IDE 或者命令行下载, 了解过爬虫的话,这里更加容易理解一些) 现在我们已经自己下载好了 gradle 和 相关的 jar 包,该如何放呢? 这里不进行深究,但是显然 gradle 的文件的存放是很直接的,但是 kotlin-compiler-embeddable-1.7.0.jar 就不一样了 我们可以发现 .gradle\caches\modules-2\metadata-2.97中发现一个可疑文件“resource-at-url.bin”, 而需要存放的位置以及文件夹的命名就在这个二进制文件里面 比较有意思的掘金博客 https://juejin.cn/post/7142679159683153950#heading-2 部分别人博客提到的问题(下面是自己尝试之后的解决办法) 关于下载 gradle.zip 直接把zip文件放在对应的文件下面就可以了,没必要改名字为ok什么的,.lck文件表示的事锁的意思,也就是计算机里面里面的概念,.ok 和 lck 文件都是为下载 .zip 文件服务的 网络限速 这个问题上面提到过,使用IDE下载的链接直接去境外官网下载,网速完全没有问题的,因此需要配置国内镜像或者是自己手动下载来配置 国内镜像参考链接(settings.gradle) repositories { // maven { url 'https://mirrors.cloud.tencent.com/gradle/'} maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' } // maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } //
阅读全文