可以更改Android虚拟设备的保存位置吗?

时间:2010-05-15 21:09:28

标签: windows android avd

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

20 个答案:

答案 0 :(得分:217)

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

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

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

      

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

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

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

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

答案 1 :(得分:18)

修改“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 \”。

答案 2 :(得分:17)

转到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}是没有大括号的首选目录,但添加了双引号,

e.g。

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

答案 3 :(得分:8)

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

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

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

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

答案 4 :(得分:6)

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

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

答案 5 :(得分:6)

根据官方文档https://developer.android.com/studio/command-line/variables.html,您应该更改 ANDROID_AVD_HOME 环境var:

  

模拟器环境变量

     

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

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

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

答案 6 :(得分:4)

适用于Windows 10上的Visual Studio 2017

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

打开环境变量窗口:

  1. 进入设置并点击系统。
  2. 在左侧,单击关于,然后选择系统信息 底部。
  3. 在新窗口中,单击“高级系统” 左边的设置。
  4. 点击环境变量 结果窗口的底部。
  5. 添加一个新变量:

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

    不要在变量值中包含.android

    重新启动Visual Studio。

    更改SDK& NDK位置转到:

      

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

答案 7 :(得分:4)

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

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

还可以在Windows上创建整个目录%USERPROFILE%\.android的链接(或Linux上的目录~/.android的sym-link)。

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

答案 8 :(得分:3)

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

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

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

答案 9 :(得分:3)

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

image help you to see how change old path to new path

我希望这适合你。

答案 10 :(得分:3)

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

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

每次启动eclipse时,都会将ANDROID_SDK_HOME设置为系统变量。

HTH 保罗

答案 11 :(得分:1)

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

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

答案 12 :(得分:1)

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

答案 13 :(得分:1)

1-将AVD移到新文件夹

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

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

4-打开Android Studio

WORKS-Windows 2010

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

答案 14 :(得分:0)

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

  

详情显示:" AVD未知目标' Google Inc.:Google API:......"

在安装过程中(在Win7系统上)我选择了一个SDK目录位置,而不是接受C:\Users\... 然后我将该目录添加到环境变量'路径' 命令行: android列表目标确实显示了几个Google apis。

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

答案 15 :(得分:0)

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

答案 16 :(得分:0)

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

为我工作。

答案 17 :(得分:0)

MacOs 获取目录ad

./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       target = android-27

,然后保存。现在您的仿真器有了变化

enter image description here

结果:

enter image description here

答案 18 :(得分:0)

我关注了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
  4. 等待该文件夹完成复制并启动Android Studio。
  5. 打开Android Virtual Device Manager并查看模拟器列表。如果没有看到仿真器并且它们存在,则可能是您在步骤3中向用户变量值输入了错误的路径。在这种情况下,请关闭AS,更改变量,然后再次打开AS。
  6. 启动任何模拟器。它将尝试恢复其状态,但有时 失败 。可能会出现黑屏,而不是Android壁纸。
  7. 在这种情况下,您可以:

    a。重新启动模拟器。为此,请关闭正在运行的仿真器,然后在AVD Manager中单击Cold Boot Now

enter image description here

b。如果这样做没有帮助,请打开仿真器设置,该设置位于文件“ D:\ Android \ .android \ avd \ Pixel_API_27.ini”中。

enter image description here

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

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

答案 19 :(得分:0)

主要有4个步骤 1.像我在 with mon_list (mon) as (select date_part('month',date '2020-01-01' + lev * interval '1 month') from generate_series ( 0, 11) t(lev) ) , player_count (mon, player_cnt) as ( select date_part('month', signup_date),count(cage_player_id) from player_signup group by date_part('month', signup_date) ) , kpi_count (mon, active,total) as (select date_part('month', signup_date) , count(p.cage_player_id) , count(d.cage_player_id) from player_signup as p join daily_kpis as d on d.cage_player_id = p.cage_player_id where slot_bet_amount > 0 and ld_bet_amount > 0 and table_bet_amount > 0 group by date_part('month', signup_date) ) select ml.mon "Month" , coalesce(kpi.active,0) "Active" , coalesce(kpi.total,0) "Total" , coalesce(pc.player_cnt) "Players" from mon_list ml left join player_count pc on (pc.mon = ml.mon) left join kpi_count kpi on (kpi.mon = ml.mon) order by ml.mon; 中一样,将.android文件夹复制到所需位置。 2.在环境变量如D:\Android\.android ANDROID_AVD_HOME中设置ANDROID_AVD_HOME 3.用新位置更改avd name.ini文件内容,例如 D:\Android\.android\avd 4.重新启动android studio