【问题标题】:Possible to change where Android Virtual Devices are saved?可以更改 Android 虚拟设备的保存位置吗?
【发布时间】:2011-02-19 23:16:54
【问题描述】:

我已经在运行 Windows XP 的机器上设置了 Android SDK 和 Eclipse,并且 AVD(Android 虚拟设备)默认保存到“Doc​​uments and Settings\user\.android”。有没有办法改变这种行为?我将所有其他组件保存在单独分区上的目录中,并希望合并所有内容。显然不是什么大问题,但这里有人知道解决方法吗?

【问题讨论】:

  • 我制作了比 SSD 快 100 倍的虚拟 RAM 磁盘,并且将模拟器文件移动到该磁盘可以大大提高模拟器的加载速度。
  • @Vinigas 你能详细说明一下“RAM disk which is 100x” 我也想加速我的模拟器
  • 我使用“SoftPerfect RAM disk”软件创建虚拟磁盘。然后我将 android 模拟器文件放入这个 RAM 磁盘并设置模拟器位置。如果您有 HDD,那么您会发现 HDD 和 RAM 中的模拟器之间存在很大差异。
  • 在 2021 年,这应该是几次点击。为什么事情变得如此复杂?

标签: windows android avd


【解决方案1】:

检查this。 使用android 命令创建avd 可以指定放置文件的位置。

-p --path     Location path of the directory where the new AVD will be created

【讨论】:

  • 您知道通过设置实用程序执行此操作并将其默认设置为特定位置的任何方法吗?
  • 并非如此。我什至不使用 Windows :(
  • 好吧,就像我说的没什么大不了的,只是考虑到整个 SDK 包的模块化程度,我认为有一些方法可以更好地控制它。感谢您的帮助!
【解决方案2】:

您可以更改新 AVD 的 .ini 文件:

target=android-7
path=C:\Users\username\.android\avd\VIRTUAL_DEVICE_NAME.avd

我不知道如何指定 .ini 文件的存储位置:)

【讨论】:

  • 这很好用。 .ini 必须保留在旧文件夹中。
【解决方案3】:

转到 Android 工具目录。编辑 android.bat 命令文件。在命令文件的大约末尾,找到类似于

的行
call %java_exe% -Djava.ext.dirs=%java_ext_dirs% -Dcom.android.sdkmanager.toolsdir="%tools_dir%" -Dcom.android.sdkmanager.workdir="%work_dir%" -jar %jar_path% %*

替换

call %java_exe%

call %java_exe% -Duser.home={your_prefer_dir}

其中 {your_prefer_dire} 是您的首选目录,不带大括号,但要添加双引号,

例如

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"

【讨论】:

  • 这对我有用,而接受的答案却没有。此外,这实际上回答了 OP 的要求,即如何从用户主目录更改为另一个 AVD 目录,而不是相反。
  • 不能这样做! SDK 管理器抱怨它并没有找到新的文件夹位置...在用户环境下使用 ANDROID_SDK_HOME 并重新启动计算机可能会有所帮助 - [.android 文件夹将在 %android_sdk_home% 中创建]
【解决方案4】:

修改“C:\Documents and Settings{your windows login}.android\avd\”中的文件“virtual_android2.2.ini”:

target=android-8
path=E:\android_workspace\avd\virtual_android2.2.avd

并将文件夹“virtual_android2.2.avd”从“C:\Documents and Settings{your windows login}.android\avd\”移动到“E:\android_workspace\avd\”。

【讨论】:

  • 这对我有用!对于我创建的每个模拟器都必须这样做有点笨拙
  • 在多次抱怨 VS 的 Android 模拟器没有足够的空间来安装或启动另一个虚拟设备之后,现在一切都很顺利。
【解决方案5】:

添加新的用户环境变量(Windows 7):

  1. 开始菜单 > 控制面板 > 系统 > 高级系统设置(左侧)> 环境变量

  2. 添加一个指向您的主用户目录的新用户变量(在顶部):

    变量名:ANDROID_SDK_HOME
    变量值: 您选择的目录的路径

AVD Manager 将使用此目录将其.android 目录保存到其中。

对于那些可能感兴趣的人,我写了一篇关于我第一次涉足 Android 开发的博客...
Android "Hello World": a Tale of Woe

或者,您可以使用Rapid Environment Editor 来设置环境变量。

【讨论】:

  • 谢谢。阅读您的博客条目就像重温今天的头几个小时一样。多么痛苦!
  • +1 供您参考。但我正在使用xp。对我来说,这将在重新启动后起作用。谢谢。
  • 这种方法对我有效,直到我重新启动计算机。 Win7.
  • 或者直接输入cmd setx ANDROID_SDK_HOME D:\your\path\here
  • ANDROID_AVD_HOME 环境变量可能比 ANDROID_SDK_HOME 更受欢迎,因为它避免移动存储在 ~/.android 中的任何用户特定配置,因此其他用户/发行版可以使用相同的 AVD。在 Linux Debian 上运行良好。
【解决方案6】:

另一种指定 ANDROID_SDK_HOME 而不会弄乱环境变量(尤其是在使用 ec2 时)的方法是简单地创建 eclipse 的快捷方式并将以下内容添加为目标

C:\Windows\System32\cmd.exe /C "setx ANDROID_SDK_HOME 你的 AVD 路径 /M & 你的 ECLIPSE.EXE 路径

这将在您启动 eclipse 时将 ANDROID_SDK_HOME 设置为系统变量。

HTH 保罗

【讨论】:

    【解决方案7】:

    就我而言,我关心的是 C: 驱动器的磁盘空间。 所以我所做的是将“.avd”文件夹(不是文件)复制到其他驱动器,并将“.ini”文件保留在那里,但将其更改为指向移动的

    【讨论】:

      【解决方案8】:

      变量名称:ANDROID_SDK_HOME
      变量值:C:\Users>用户名

      为我工作。

      【讨论】:

        【解决方案9】:

        ANDROID_SDK_HOME 在 Windows 8 x64 上也适用于我 还找到所有位置(在我的情况下是 d:\.android)并删除它。你不再需要它了。

        【讨论】:

          【解决方案10】:

          我认为最简单的方法是将 avd 文件夹从 C:\Users[USER].android 文件夹 移动到您想要的位置,然后创建一个符号链接到它在 C:\Users[USER].android 中具有相同的名称。

          如果您想知道如何执行此操作,请先安装Link Shell Extension。文件夹移动后右键单击它并选择 Pick Link Source 然后右键单击 .android 文件夹并在 Drop As... 子菜单中选择 Symbolic Link强>。

          【讨论】:

          • 这行得通,老实说它应该更高。此外,您可以为C:\Users\user\AppData\Local\Android\Sdk\system-images 创建一个符号链接,该位置也占用大量空间。你不需要使用任何第三方工具,mklink /D system-images D:\path\to\system-images 就可以了
          【解决方案11】:

          将您的 .android 移动到您想要的任何位置。

          然后,像这样创建一个符号链接:

          # In your home folder
          $ ln -s /path/to/.android/ .
          

          这只是告诉 Linux 每当路径 ~/.android 被任何应用程序引用时,将其链接到 /path/to/.android

          【讨论】:

            【解决方案12】:

            请注意以下几点:修改Android工具目录中的android.bat,如上一个答案中所建议的,可能会导致问题。

            如果您这样做,为了使您的 .android 目录合法地位于非默认位置,那么 Android Studio 列出的 AVD(使用“工具 > Android > AVD 管理器”)和sdk 命令行工具“android avd”列出的 AVD。

            我认为带有内部 AVD 管理器的 Android Studio 不使用 android.bat 修改后的路径;它依赖于 ANDROID_SDK_HOME 变量来定位 AVD。

            我自己的测试表明,Android 工具正确使用了 ANDROID_SDK_HOME 变量。

            因此,据我所知,修改android.bat是没有意义的,应该优先使用环境变量。

            【讨论】:

              【解决方案13】:

              在 AVD 管理器中,使用 Google APIs 的目标设置 AVD 后,运行时出错。

              详细信息显示:“AVD Unknown target 'Google Inc.:Google APIs:......”

              在安装期间(在 Win7 系统上)我选择了 SDK 目录位置,而不是接受 C:\Users\... 然后我将该目录添加到环境变量 'path' 命令行:android list targets 确实显示了几个 Google api。

              ANDROID_SDK_HOME 设置为我的安装路径修复了 avd 运行错误。

              【讨论】:

                【解决方案14】:

                环境变量ANDROID_AVD_HOME 可用于定义 AVD 管理器应在其中查找 AVD INI 文件的目录,因此可用于更改虚拟设备的位置;

                默认值为 Windows 上的 %USERPROFILE%\.android\avd(或 Linux 上的 ~/.android/avd)。

                也可以在 Windows 上为整个目录 %USERPROFILE%\.android 创建一个链接(或在 Linux 上为目录 ~/.android 创建一个符号链接)。

                移动 AVD 时,需要相应更新 AVD INI 文件中的 path 条目。

                【讨论】:

                • 这个 ANDROID_AVD_HOME 环境变量可能比 ANDROID_SDK_HOME 更受欢迎,因为它避免移动存储在 ~/.android 中的任何用户特定配置,因为其他用户/发行版可以使用相同的 AVD。在 Linux 上,我在 ~/.profile 中导出了 ANDROID_AVD_HOME,它运行良好。
                【解决方案15】:

                适用于 Windows 10 上的 Visual Studio 2017

                C:\Users\YOURUSERNAME\.android 文件夹复制到(例如)E:\avd

                打开环境变量窗口:

                1. 进入设置并点击系统。
                2. 在左侧,单击关于并选择系统信息 底部。
                3. 在新窗口中,单击高级系统 左侧的设置。
                4. 单击环境变量 结果窗口的底部。

                添加一个新变量:

                • 变量名:ANDROID_SDK_HOME
                • 变量值:目录路径(例如E:\avd

                不要在变量值中包含.android

                重新启动 Visual Studio。

                如需更改 SDK 和 NDK 位置,请访问:

                工具 -> 选项 -> Xamarin -> Android 设置

                【讨论】:

                  【解决方案16】:

                  在 Windows 10 中,我遇到了这个问题,因为我的 C 驱动器已满,我需要可用空间,AVD 文件夹有 14 gig 空间,所以我需要将该文件夹移动到另一个驱动程序,第一个答案对我不起作用,所以我测试了解决这个问题的另一种方法, 如果您有同样的问题,我会为您制作一张图片,您无需将 .android 文件夹中的所有文件移动到另一个驱动器(这种方式不起作用)只需将 ....android\avd 中的 avd 文件夹移动到另一个驱动器并打开 .ini 文件并将 avd 文件夹路径从该文件更改为新路径。 喜欢这张图片:

                  我希望这对你有用。

                  注意:注意ini文件中路径前后有一个单独的字符,你看不到,如果你删除了那个字符,它就不起作用

                  【讨论】:

                    【解决方案17】:

                    根据官方文档https://developer.android.com/studio/command-line/variables.html 你应该改变 ANDROID_AVD_HOME 环境变量:

                    模拟器环境变量

                    默认情况下,模拟器将配置文件存储在 $HOME/.android/ 和 $HOME/.android/avd/ 下的 AVD 数据。你可以 通过设置以下环境变量来覆盖默认值。 emulator -avd 命令搜索 avd 目录 $ANDROID_AVD_HOME 中的值的顺序, $ANDROID_SDK_HOME/.android/avd/ 和 $HOME/.android/avd/。对于模拟器 环境变量帮助,输入 emulator -help-environment 在 命令行。有关模拟器命令行选项的信息,请参阅 从命令行控制模拟器。

                    • ANDROID_EMULATOR_HOME:设置用户特定模拟器配置目录的路径。默认位置是
                      $ANDROID_SDK_HOME/.android/。
                    • ANDROID_AVD_HOME:设置包含所有 AVD 特定文件的目录的路径,这些文件大多由非常大的文件组成 磁盘映像。默认位置是 $ANDROID_EMULATOR_HOME/avd/。 如果默认位置为 磁盘空间不足。

                    更改或设置 ANDROID_AVD_HOME 后,您必须将 ~user/.android/avd/ 中的所有内容移动到新位置,并将路径更改为每个模拟器的 ini 文件,只需将其替换为您的新路径

                    【讨论】:

                    • 这应该是答案。谢谢。
                    • 我在将模拟器移到 d: 后遇到了 VSCode 看不到模拟器的问题,因为我只设置了 ANDROID_AVD_HOME。在此基础上添加 ANDROID_EMULATOR_HOME 解决了它。谢谢。
                    【解决方案18】:

                    MacOs 获取目录广告

                    ./emulator -help-datadir
                    

                    默认目录是:

                    /Users/{your_computer_user_name}/.android
                    

                    然后转到 avd 文件夹编辑带有自定义模拟器目录路径的 .ini 文件 示例:

                    path=/Volumes/Macintos/_emulatorandroid/avd/Nexus_5X_API_27.avd path.rel=avd/Nexus_5X_API_27.avd 目标=android-27

                    然后保存。现在你的模拟器已经改变了

                    结果:

                    【讨论】:

                      【解决方案19】:

                      我关注了https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-location

                      1. 开始将文件夹“C:\Users\user\.android\avd”复制到“D:\Android\.android\avd”(或其他)。

                      2. 关闭 Android Studio 并运行模拟器。

                      3. Win + Break 并打开Advanced System Settings。然后按Environment Variables。添加用户变量ANDROID_SDK_HOME。 (我没有尝试使用ANDROID_AVD_HOME。)在Variable value 字段中写入D:\Android。如果您还把 SDK 移到了另一个文件夹,请更改 ANDROID_HOME(我忘记更改了,有些模拟器没有启动,请参阅 https://stackoverflow.com/a/57408085/2914140)。

                      4. 等待文件夹完成复制并启动 Android Studio。

                      5. 打开Android Virtual Device Manager 并查看模拟器列表。如果您没有看到模拟器并且它们存在,那么您可能在第 3 步中输入了错误的用户变量值路径。在这种情况下关闭 AS,更改变量并再次打开 AS。

                      6. 启动任何模拟器。它会尝试恢复其状态,但有时会失败。可能会出现黑屏而不是 Android 壁纸。

                      7. 在这种情况下,您可以:

                        一个。重启你的模拟器。要执行此操作,请关闭正在运行的模拟器,然后在 AVD Manager 中单击 Cold Boot Now

                      b.如果这没有帮助,请打开文件“D:\Android\.android\avd\Pixel_API_27.ini”中的模拟器设置。

                      更改新 AVD 文件夹的路径。重启模拟器。

                      1. 从“C:\Users\user\.android\avd”中删除旧的 AVD 文件夹。

                      【讨论】:

                        【解决方案20】:

                        主要有 4 个步骤 1. 将 .android 文件夹复制到您想要的位置,就像我在 D:\Android\.android 中所做的那样 2.在ANDROID_AVD_HOMED:\Android\.android\avd等环境变量中设置ANDROID_AVD_HOME 3. 用新位置更改 avd name.ini 文件内容,例如 avd.ini.encoding=UTF-8 path=D:\Android\.android\avd\Pixel_2_API_29.avd path.rel=avd\Pixel_2_API_29.avd target=android-29 4.重启安卓工作室

                        【讨论】:

                        • 修改.ini文件对我来说是必不可少的一步。
                        【解决方案21】:

                        1 - 将 AVD 移动到新文件夹

                        2 - 开始菜单 > 控制面板 > 系统 > 高级系统设置(左侧)> 环境变量 添加一个新的用户变量: 变量名:ANDROID_AVD_HOME 变量值:您选择的目录的路径

                        3 - 更改文件 .INI 设置新文件夹。

                        4 - 打开 Android Studio

                        作品 - Windows 2010

                        更多说明:https://developer.android.com/studio/command-line/variables

                        【讨论】:

                          【解决方案22】:

                          对于 Windows 10: ANDROID_SDK_HOME

                          this link 帮助了我。

                          然后将“avd”的所有内容移动到新位置。现在您可能需要将每个avds的configuration Setting文件中“path=”的值更改为新位置。您可以在 Android Studio 的 avd manager 中看到旧的 avd,它们可以正常工作。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2012-08-16
                            • 1970-01-01
                            • 2020-08-28
                            • 1970-01-01
                            • 2012-09-23
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            相关资源
                            最近更新 更多