Android Studio 1.5.1 上的 AVD 管理器并安装到自定义位置模拟器不会 运行

AVD Manager on Android Studio 1.5.1 and install to a custom location emulator won't run

我安装了 Android Studio(1.5.1 -- 构建细节见图片)。

安装时我选择了自定义选项,这样我就可以安装一个特定的路径。 我知道我的 %SystemDrive% 指向一个网络位置,我想安装到我的本地磁盘。

所以,这意味着默认情况下,应用程序会安装到: \networkpath\users\myUserName\Android\SDK

但是,由于我选择了自定义安装,所以我选择了本地路径: c:\users\myUsername\Android\SDK

项目创建和构建工作正常

一切似乎都安装得很好,我能够创建一个新项目并毫无问题地构建它。

但是,当我尝试 运行 构建时,基本上无声无息地失败了。 模拟器从未出现,也没有发生错误。 Android 监视器仅显示一条消息,指出未检测到连接的设备。 AVD 管理器

幸运的是,我对检查模拟器发生了什么有所了解,于是我打开了 AVD 管理器。 列出的设备显示错误。 我右键单击设备并选择 "View Details"。 那时 AVD 管理器显示它正在尝试从网络路径读取,即使我在自定义安装中更改了它。 \networkPath\Users\myUserName\Windows.android\avd\Nexus4.avd 和 \networkPath\Users\myUserName\Windows.android\avd\Nexus4.ini

注册表编辑

我关闭了 Android 工作室。然后我打开 regedit 并在以下位置编辑值: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 最初看起来像下面这样:

并更改了它们,使它们都直接指向 c:\ 驱动器(而不是 %systemdrive%)

环境变量:ANDROID_SDK_HOME

我发现其他人提到了 ANDROID_SDK_HOME 环境变量,我注意到我的机器根本没有定义该值,所以我添加了它并设置如下: c:\users\myUsername\Android\SDK

然后我再次启动 Android Studio 并启动 AVD 管理器。 这次没有显示任何设备,而是 AVD 管理器提示我创建一个具有以下 window 的设备:

现在,我正在尝试下载其中一台带有 Google API 的设备,但每次我这样做时,它们都会成功下载并安装,但随后会从列表中消失。请注意,在下一张图片中,没有 API 级别 15 或 16 以及 Google API 用于 arm 架构。

另外请注意, 列出了 API 17 级的手臂。 我现在将尝试安装那个。

可以看到下载成功,安装正常。 现在,我单击 [完成] 按钮。 该项目不再出现在我的列表中。

自动选择API 15 级项目。我假设是因为最初是在我安装 Android Studio 时下载的。

最后,如果您取消选中 [ ] 显示可下载的系统图像复选框——这非常令人困惑——并且我假设向您显示您已经下载的图像,那么您会看到它只显示一个API 15级虚拟设备。

这一切都非常糟糕。有人见过这个问题吗? 有没有其他人能够修复它?

我假设我只需要去完全重新安装 Android Studio。

编辑 2 最终解决方案

感谢 SO post-er (code-apprentice) 的机敏和机敏,我得以找到解决方案。

这是我必须做的。

  1. 创建idea.properties文件并将其放置在\networkLocation\myUserName\.Android 1.5\
  2. 将指向我本地磁盘的两行放在其中

idea.config.path=C:/Users/myUserName/.AndroidStudio1.5/config/ idea.system.path=C:/Users/myUserName/.AndroidStudio1.5/system/

然后我再次启动 Android Studio 并尝试安装包含 Google API 的系统映像。 它起作用并被添加到列表中:

但是,它仍然没有显示我之前安装的其他 API 级别(15、16 等)。

已从磁盘中删除它们

我注意到它们位于本地文件夹中: %userprofile%\Android\SDK\add-ons 无论出于何种原因。 我删除了该路径下的所有文件夹,带有 Google 选项的原始 APIs 再次出现在我的列表中。请参阅图片中突出显示的项目。

解决方案 现在,当我安装它们时,它们会出现在列表中,我可以基于它们创建新的 AVD。一切正常。

编辑 我使用我编写的工具来观察 Android Studio 写入磁盘的位置,我找到了一条揭示问题的路径:

即使我进行了大量更改以确保安装能够完全安装在我的本地磁盘上,AndroidStudio 仍将一些(大量)数据保存到此路径。

我在 .AndroidStudio 1.5\config\ 上做了 Google 这让我找到了以下文档: http://tools.android.com/tech-docs/configuration

在那里,您会看到安装应该使用 %userprofile% 来确定将此数据写入何处。我的 %userprofile% 指向我的本地磁盘 (c:\users\myUserName),但 Android Studio 仍然坚持将数据写入网络。

重要信息如下: Windows:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions 
 and/or 
%USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions
        %USERPROFILE%\.{FOLDER_NAME}\idea.properties

我删除了远程 .Android Studio 1.5 目录并将其复制到我的 %userprofile%(本地)目录。然后我重新启动 Android Studio,它认为它需要再次生成所有这些,因为它想再次将它放在远程目录中。

核心问题

Obviously, it is not using %userprofile%


情况变得更糟。 我卸载了应用程序和所有设置(据说)。

然后我又安装了整个东西,看起来好像默认选择了正确的安装路径:

但是,当我重新启动 Studio 时,它打开了我在第一次安装时创建的项目。

此外,我仍然看不到我之前应该安装的 API 图像。只有那一张图。没有别的。

这真的不是一个很棒的安装系统。我正在写一本书来帮助 Android 开发人员,但如果他们陷入这个问题循环,就没有办法用一个好的 运行 模拟器让他们摆脱它。

很不幸。

您应该查看项目 (Android Studio path to different directories) 中的 idea.properties 文件。听起来这是为了覆盖系统设置。

Android SDK Manager.

上下载相应的 SDKAPI levelsImage Systems

然后他们会正常出现在 AVD.