我已经在运行 Windows XP 的机器上设置了 Android SDK 和 Eclipse,默认情况下,AVD(Android 虚拟设备)保存到“Documents and Settings\ user \.android”。有没有办法改变这种行为?我将所有其他组件保存在单独分区上的目录中,并希望合并所有内容。显然不是什么大不了的事,但是这里有人知道解决方法吗?
22 回答
添加新的用户环境变量(Windows 7):
- 开始菜单 > 控制面板 > 系统 > 高级系统设置(左侧)> 环境变量
- 添加一个指向您的主用户目录的新用户变量(在顶部):
变量名称:ANDROID_SDK_HOME
变量值: 您选择的目录的路径
AVD Manager 将使用此目录将其.android
目录保存到其中。
对于那些可能感兴趣的人,我写了一篇关于我第一次涉足 Android 开发的博客……
Android "Hello World": a Tale of Woe
或者,您可以使用Rapid Environment Editor设置环境变量。
根据官方文档https://developer.android.com/studio/command-line/variables.html您应该更改ANDROID_AVD_HOME环境变量:
模拟器环境变量
默认情况下,模拟器将配置文件存储在 $HOME/.android/ 下,将 AVD 数据存储在 $HOME/.android/avd/ 下。您可以通过设置以下环境变量来覆盖默认值。emulator -avd 命令按照 $ANDROID_AVD_HOME、$ANDROID_SDK_HOME/.android/avd/ 和 $HOME/.android/avd/ 中的值顺序搜索 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 文件,只需将其替换为新路径
修改“C:\Documents and Settings{你的windows登录名}.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\”。
将您的移动.android
到您想要的任何地方。
然后,创建一个符号链接,如下所示:
# In your home folder
$ ln -s /path/to/.android/ .
这只是告诉 Linux 每当路径 ~/.android
被任何应用程序引用时,将其链接到/path/to/.android
.
转到 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"
看看这个。使用android
创建命令avd
可以指定放置文件的位置。
-p --path Location path of the directory where the new AVD will be created
您可以更改新 AVD 的 .ini 文件:
target=android-7
path=C:\Users\username\.android\avd\VIRTUAL_DEVICE_NAME.avd
我不知道如何指定 .ini 文件的存储位置:)
对于 Windows 10 上的 Visual Studio 2017
将C:\Users\YOURUSERNAME\.android
文件夹复制到(例如)E:\avd
打开环境变量窗口:
- 进入设置并单击系统。
- 在左侧,单击关于,然后选择底部的系统信息。
- 在新窗口中,单击左侧的高级系统设置。
- 单击结果窗口底部的环境变量。
添加一个新变量:
- 变量的名称:
ANDROID_SDK_HOME
- 变量值:目录的路径(例如
E:\avd
)
不要包含.android
在变量值中。
重新启动 Visual Studio。
如需更改 SDK 和 NDK 位置,请访问:
工具 -> 选项 -> Xamarin -> Android 设置
在 Windows 10 中,我遇到了这个问题,因为我的 C 驱动器已满,我需要可用空间,AVD 文件夹有 14 gig 空间,所以我需要将该文件夹移动到另一个驱动程序,第一个答案对我不起作用,所以我测试了另一种方法解决这个问题,如果你有同样的问题,我给你拍张照片,你不需要将 .android 文件夹中的所有文件移动到另一个驱动器(这种方式不起作用)只需将 avd 文件夹移动到...... .android\avd 到另一个驱动器并打开 .ini 文件并将 avd 文件夹路径从该文件更改为新路径。像这张图片:
我希望这对你有用。
注意:注意 ini 文件中路径前后有一个单独的字符,你看不到,如果你删除了那个字符,它就不起作用
环境变量ANDROID_AVD_HOME
可用于定义 AVD 管理器应在其中查找 AVD INI 文件的目录,因此可用于更改虚拟设备的位置;
默认值%USERPROFILE%\.android\avd
在 Windows(或~/.android/avd
Linux)上。
还可以为%USERPROFILE%\.android
Windows 上的整个目录创建一个链接(或~/.android
在 Linux 上为目录创建一个符号链接)。
移动 AVD 时,path
需要相应更新 AVD INI 文件中的条目。
另一种指定 ANDROID_SDK_HOME 而不会弄乱环境变量(尤其是在使用 ec2 时)的方法是简单地创建 eclipse 的快捷方式并将以下内容添加为目标
C:\Windows\System32\cmd.exe /C "setx ANDROID_SDK_HOME你的 AVD 路径/M &你的 ECLIPSE.EXE 路径"
这将在您启动 eclipse 时将 ANDROID_SDK_HOME 设置为系统变量。
HTH 保罗
主要有 4 个步骤 1. 将 .android 文件夹复制到您想要的位置,就像我在D:\Android\.android
2. 在环境变量中设置 ANDROID_AVD_HOME 一样ANDROID_AVD_HOME
D:\Android\.android\avd
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. 重新启动 android studio
请注意以下几点:修改Android工具目录中的android.bat,如上一个答案中所建议的,可能会导致问题。
如果您这样做,为了合法地将您的 .android 目录定位到非默认位置,那么 Android Studio 列出的 AVD(使用“工具 > Android > AVD Manager”)和列出的 AVD 之间可能存在不一致sdk 命令行工具“android avd”。
我想带有内部 AVD 管理器的 Android Studio 不使用 android.bat 修改后的路径;它依赖于 ANDROID_SDK_HOME 变量来定位 AVD。
我自己的测试表明,Android 工具正确使用了 ANDROID_SDK_HOME 变量。
因此,据我所知,修改android.bat并没有任何意义,应该优先使用环境变量。
1 - 将 AVD 移动到新文件夹
2 - 开始菜单 > 控制面板 > 系统 > 高级系统设置(左侧)> 环境变量 添加新的用户变量: 变量名称:ANDROID_AVD_HOME 变量值:您选择的目录的路径
3 - 更改文件 .INI 设置新文件夹。
4 - 打开安卓工作室
作品 - Windows 2010
更多说明:https ://developer.android.com/studio/command-line/variables
我认为最简单的方法是将avd文件夹从C:\Users[USER].android 文件夹移动到您想要的位置,然后在C:\Users[USER].android中创建一个同名的符号链接。
如果您想知道如何执行此操作,请先安装Link Shell Extension。文件夹移动后右键单击它并选择Pick Link Source然后右键单击 .android 文件夹并在Drop As...子菜单中选择Symbolic Link。
就我而言,我关心的是 C: 驱动器磁盘空间。所以我所做的是将“.avd”文件夹(不是文件)复制到其他驱动器,并将“.ini”文件留在那里,但将其更改为指向移动的
开始将文件夹“C:\Users\user\.android\avd”复制到“D:\Android\.android\avd”(或其他)。
关闭 Android Studio 并运行模拟器。
按下
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)。等到文件夹完成复制并启动 Android Studio。
打开
Android Virtual Device Manager
并查看模拟器列表。如果您没有看到模拟器并且它们存在,那么您可能在步骤 3 中输入了错误的路径到用户变量值。在这种情况下关闭 AS,更改变量并再次打开 AS。启动任何模拟器。它会尝试恢复它的状态,但有时会失败。可能会出现黑屏而不是 Android 壁纸。
在这种情况下,您可以:
一个。重启你的模拟器。要执行此操作,请关闭正在运行的模拟器,然后在 AVD Manager 中单击
Cold Boot Now
。
湾。如果这没有帮助,请打开文件“D:\Android\.android\avd\Pixel_API_27.ini”中的模拟器设置。
更改新 AVD 文件夹的路径。重启模拟器。
- 从“C:\Users\user\.android\avd”中删除旧的 AVD 文件夹。
变量名:ANDROID_SDK_HOME
变量值:C:\Users>User Name
为我工作。
ANDROID_SDK_HOME 在 Windows 8 x64 上也为我工作,还找到所有位置(在我的情况下是 d:\.android)并删除它。你不再需要它了。
对于 Windows 10:
ANDROID_SDK_HOME
这个链接帮助了我。
然后只是将“”的所有内容移动avd
到新位置。现在您可能需要将每个 avds 文件中“ path=
”的值更改为新位置。您可以在 Android Studioconfiguration Setting
中看到旧的 avd ,它们可以正常工作。avd manager
在 AVD 管理器中,使用带有 的目标设置 AVD 后Google APIs
,运行时出现错误。
详细信息显示:“AVD 未知目标 'Google Inc.:Google APIs:......”
在安装期间(在 Win7 系统上)我选择了一个 SDK 目录位置,而不是接受C:\Users\...
我然后将该目录添加到环境变量“路径”
命令行:android 列表目标确实显示了几个 Google api。
设置ANDROID_SDK_HOME
为我的安装路径修复了 avd 运行错误。