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) 的机敏和机敏,我得以找到解决方案。
这是我必须做的。
- 创建idea.properties文件并将其放置在\networkLocation\myUserName\.Android 1.5\
- 将指向我本地磁盘的两行放在其中
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.
上下载相应的 SDK
、API levels
和 Image Systems
然后他们会正常出现在 AVD.
我安装了 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) 的机敏和机敏,我得以找到解决方案。
这是我必须做的。
- 创建idea.properties文件并将其放置在\networkLocation\myUserName\.Android 1.5\
- 将指向我本地磁盘的两行放在其中
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.
上下载相应的SDK
、API levels
和 Image Systems
然后他们会正常出现在 AVD.