Android Emulator 无法启动,因为文件夹错误
Posted
技术标签:
【中文标题】Android Emulator 无法启动,因为文件夹错误【英文标题】:Android Emulator can't start, 'cause of wrong folder 【发布时间】:2011-10-02 06:14:08 【问题描述】:我刚开始使用 Eclipse 和 ADT,但遇到了一些问题,android 模拟器无法启动:
[2011-07-10 15:32:25 - Android_FirstApp] ------------------------------
[2011-07-10 15:32:25 - Android_FirstApp] Android Launch!
[2011-07-10 15:32:25 - Android_FirstApp] adb is running normally.
[2011-07-10 15:32:25 - Android_FirstApp] Performing samr1.Android_FirstApp.Android_FirstAppActivity activity launch
[2011-07-10 15:32:25 - Android_FirstApp] Automatic Target Mode: launching new emulator with compatible AVD 'Android2.1'
[2011-07-10 15:32:25 - Android_FirstApp] Launching a new emulator with Virtual Device 'Android2.1'
[2011-07-10 15:32:26 - Emulator] PANIC: Could not open: C:\Users\Sam\.android/avd/Android2.1.ini
路径不正确,但Android2.1.ini中的路径是正确的。用户文件夹位于另一个磁盘中。
如何修改 Android Emulator 的启动路径?我找不到在哪里。
谢谢
编辑: 我发现图形 AVD 管理器在 Windows 7 上的 C:\Users\.android\ 内创建了 AVD 目录: Default location of AVD files
但是使用命令行不起作用。 所以我将我的 AVD 文件移到 C:\Users\Sam\ 中,现在它可以工作了。
【问题讨论】:
【参考方案1】:-
创建一个名为:ANDROID_SDK_HOME 的环境变量并将其设置为 C:\Users\Administrator
打开 Eclipse > Window > Preferences 并单击 Run/Debug and String Substitution
添加一个名为:user.home 的新变量并将其设置为 C:\Users\Administrator
创建一个 AVD 并运行它。
它现在应该可以工作了。
【讨论】:
这是正确答案。只需要告诉 AVD 管理器,而不是 ADT 插件,将虚拟设备放在哪里。 (不需要第 2 步和第 3 步。)如果你可以让它像这样简单地工作,符号链接就太乱了。 这种方法的问题是 OP 不想在 C: 驱动器上保存任何用户数据。我有同样的设置,我的启动驱动器是 SSD,我所有的用户数据都应该在非 SSD E: 驱动器上。 将路径替换为您所需位置的路径。 是的,我设置了一个名为 c:\android_working_folder 的文件夹并将环境变量 ANDROID_SDK_HOME 指向它,现在它可以工作了。谢谢大卫,这是最好的答案。 @David,谢谢!对我来说,这是解决方案。我对它没有获得最多选票感到困惑。【参考方案2】:这是 ADT 插件中的一个错误。在修复之前的解决方法是使用 NTFS 符号链接。
我有一个用于 Windows 7 的 C: 驱动器和一个用于我所有工作和数据的 D: 驱动器。安装 Windows 7 后,我将所有特殊文件夹从 C:\Users\John Doe 重新定位到 D:\John Doe。当 ADT 插件和配置文件位于 D: 上时,ADT 插件正尝试从 C: 加载模拟器(恐慌:无法打开等)。 NTFS 可以使用 NTFS 符号链接让 ADT 插件从 D: 中读取。在 C:\Users\John Doe 中打开命令提示符(显然使用您的用户名),使用 mklink 命令。
mklink /J "C:\Users\John Doe\.android" "D:\John Doe\.android"
现在当 ADT 插件尝试在 C: 上引用 .android 时,NTFS 将请求发送到 D: 并且模拟器正确启动。
【讨论】:
谢谢,这对我有用。提示:如果您需要删除此目录连接链接,请不要在“C:\Users\John Doe\.android”文件上使用 del。相反,请使用 rmdir。 rmdir 将删除链接,但使用 del 将取消引用链接并尝试删除 "D:\John Doe\.android" 中的所有文件。 很好的解决方案!虽然目标目录D:\John Doe
不会 100% 正确......但我相信大多数读者都会知道您的意思是“无论您将文档移动到哪个目录”。
如果这对您不起作用,只需通过资源管理器用鼠标双击符号链接。我把它链接到错误的地方。我还必须以管理员身份运行 cmd.exe 才能使其正常工作。【参考方案3】:
您的模拟器的配置文件可能已由AndroidSDK and AVD Manager
保存在您硬盘的其他位置。
执行以下操作:
首先在您的硬盘上搜索.android folder
。
找到之后,将.android folder
移动到您的用户根目录——在您的情况下可能是"C:\Users\hallo\"
。
这些类型的项目创建错误(有原因和解决方案)是described here.
【讨论】:
有没有办法改变一些设置而不是移动文件夹?【参考方案4】:您的模拟器的配置文件可能已由 AndroidSDK 和 AVD 管理器保存在您硬盘的其他位置。
执行以下操作:
首先搜索硬盘上的 .android 文件夹。 找到之后,将 .android 文件夹移动到您的用户根目录 - 在您的情况下可能是“C:\Users\something\”。
其他方法
检查你可以打开eclipse的旧文件夹的位置导航到Windows-->首选项-->Android-->展开它并选择构建 找到默认调试密钥库的值,您将知道您的 .android 文件夹位置。
然后 mklink /J "旧文件夹位置" "C:\Users\Something\"
【讨论】:
【参考方案5】:如果有人对 Linux (Ubuntu 11.10) 中的相同问题感兴趣,则解决方案不是以 root 身份运行 Android SDK Manager。显然,SDK 期望由普通用户运行,并且它尝试使用主用户文件夹,这就是错误的原因。这就是我的怀疑。
【讨论】:
是的,从 root 退出帮助我从命令行在 Ubuntu 上启动 AVD。【参考方案6】:这对我来说是通过以 root 身份运行 eclipse(在 Ubuntu 中),我以管理员身份运行将起作用
【讨论】:
以上是关于Android Emulator 无法启动,因为文件夹错误的主要内容,如果未能解决你的问题,请参考以下文章
Android Emulator 启动但 Eclipse 无法识别
Emulator Android Accelerated x86_Oreo 无法使用 Visual Studio 启动
android emulator sdk 10 api 29 重新挂载并重启后无法启动
已解决Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory