【发布时间】:2018-04-26 19:29:48
【问题描述】:
我发现在运行 macOS High Sierra 系统的 Android Studio 3.0 上安装系统映像更新非常缓慢。我所说的“非常慢”是什么意思?每次系统映像更新都需要一个小时的大部分时间。令我厌恶的是,最新的一组更新(此处显示来自组件安装程序日志)耗时超过 8 小时:
To install:
- Google APIs Intel x86 Atom System Image (system-images;android-24;google_apis;x86)
- Google APIs Intel x86 Atom_64 System Image (system-images;android-25;google_apis;x86_64)
- Google APIs Intel x86 Atom_64 System Image (system-images;android-23;google_apis;x86_64)
- Google APIs ARM 64 v8a System Image (system-images;android-24;google_apis;arm64-v8a)
- Google APIs Intel x86 Atom_64 System Image (system-images;android-22;google_apis;x86_64)
- Google APIs Intel x86 Atom System Image (system-images;android-23;google_apis;x86)
- Google APIs Intel x86 Atom_64 System Image (system-images;android-21;google_apis;x86_64)
- Google APIs ARM EABI v7a System Image (system-images;android-22;google_apis;armeabi-v7a)
- Google Play Intel x86 Atom System Image (system-images;android-24;google_apis_playstore;x86)
- Google APIs ARM EABI v7a System Image (system-images;android-24;google_apis;armeabi-v7a)
- Google APIs Intel x86 Atom System Image (system-images;android-26;google_apis;x86)
- Google APIs Intel x86 Atom System Image (system-images;android-22;google_apis;x86)
- Google APIs Intel x86 Atom System Image (system-images;android-21;google_apis;x86)
- Google APIs Intel x86 Atom System Image (system-images;android-19;google_apis;x86)
- Google APIs Intel x86 Atom_64 System Image (system-images;android-24;google_apis;x86_64)
- Google APIs Intel x86 Atom System Image (system-images;android-25;google_apis;x86)
- Google APIs ARM EABI v7a System Image (system-images;android-23;google_apis;armeabi-v7a)
Preparing "Install Google APIs Intel x86 Atom System Image (revision: 19)".
Downloading https://dl.google.com/android/repository/sys-img/google_apis/x86-24_r19.zip
"Install Google APIs Intel x86 Atom System Image (revision: 19)" ready.
Preparing "Install Google APIs Intel x86 Atom_64 System Image (revision: 10)".
Downloading https://dl.google.com/android/repository/sys-img/google_apis/sys-img-4252396-sdk_google_phone_x86_64-sdk_addon-4414732-sdk_google_phone_x86_64-sdk_addon-patch.jar
"Install Google APIs Intel x86 Atom_64 System Image (revision: 10)" ready.
// lots of similar lines deleted
Preparing "Install Google APIs ARM EABI v7a System Image (revision: 25)".
Downloading https://dl.google.com/android/repository/sys-img/google_apis/sys-img-4309849-sdk_google_phone_armv7-sdk_addon-4409279-sdk_google_phone_armv7-sdk_addon-patch.jar
"Install Google APIs ARM EABI v7a System Image (revision: 25)" ready.
到目前为止,一切都发生得相当快。然后更新程序开始实际更新内容:
Installing Google APIs Intel x86 Atom System Image in /Users/tedhopp/Library/Android/sdk/system-images/android-24/google_apis/x86
"Install Google APIs Intel x86 Atom System Image (revision: 19)" complete.
"Install Google APIs Intel x86 Atom System Image (revision: 19)" finished.
Running patcher...
Patch applied.
Done
"Install Google APIs Intel x86 Atom_64 System Image (revision: 10)" complete.
"Install Google APIs Intel x86 Atom_64 System Image (revision: 10)" finished.
Running patcher...
Patch applied.
Done
// etc.
每次出现Running patcher... 行后,更新都会快速通过几个文件,直到到达“system.img”。进度条似乎在那里冻结了大约半小时或更长时间。一旦该文件完成,每个补丁的其余部分都会非常快速地进行。
当有系统映像要更新时,我在开始更新时从未运行过模拟器或构建任务。对于这个最新的更新,我确实打开了两个项目窗口。
这个更新慢正常吗?有什么办法可以加快速度吗?
【问题讨论】:
-
我没有任何具体的原因导致这种情况发生,但会提出一些可能性。
system.img可能是压缩文件系统映像,类似于squashfs。压缩和解压速度很大程度上取决于 CPU 速度和线程。对您的问题的一个有用的编辑是您拥有什么 cpu 和可用线程、内存以及您使用的是 ssd 还是 hdd。您可能会看到的一个问题是,如果 android studio 作为单线程应用程序运行,它可能会强制在单个线程中进行解压缩和修补,这将非常缓慢。你能在其他电脑上验证问题吗? -
@NuclearPeon - 我在配置合理的 iMac 开发机器上运行——3.1 GHz Intel Core i5 4 核、256 KB/核二级缓存、4 MB 三级缓存、16 GB 内存和具有足够可用空间的 1 TB 硬盘驱动器。 Android Studio 是使用 IntelliJ 平台构建的,据我所知,该平台没有线程问题或任何偏好设置来控制线程使用。 Windows 机器上的系统映像更新也很慢。其他更新(SDK 工具等)安装很快。
-
我终于通过卸载图像(正在更新)并从头开始重新安装这些图像来解决问题,速度更快。我会看看下一次更新会发生什么。
-
@innoSPG - 感谢您提供的信息。我有一个类似的设置(16.04/双核/8Gb),它永远被占用了。下次我也会从头开始卸载并重新安装。 - 他们有胆量将安装程序框命名为“SDK Quickfix Installation”
-
这也发生在我身上....我没有慢速 PC,它是 i7 和 16 GB 内存。这不是 SSD 磁盘硬... 运行修补程序 需要永远......