Skip to content

PANIC: HOME is defined but could not find。。。解决办法

​ 今天在机房远程自己的电脑用Android studio时,感到还是得用虚拟机调试,因为远程没法用真机。创建好虚拟设备后,却无法启动。

安卓虚拟机启动错误 PANIC: HOME is defined but could not find。。。解决办法

3.png

Starting emulator for AVD 'myNexus5'  
PANIC: HOME is defined but could not find myNexus5.ini file in $HOME\.android\avd  
(Note: avd is searched in the order of $ANDROID_AVD_HOME,$ANDROID_SDK_HOME\.android\avd and $HOME\.android\avd)  

错误提示大概是在说在 \.android\avd and $HOME\.android\avd 目录下找不到配置 .ini 的配置文件。

我在D盘根目录发现了 .andriod 的文件夹 发现在 .android\avd 目录下确实发现了 myNexus5.ini , myNexus5 是我创建的设备名。根据错误提示中的 $ANDROID_AVD_HOME,$ANDROID_SDK_HOME\.android\avd and $HOME\.android\avd ,大概是要设置 ANDROID_SDK_HOME 的环境变量(Google上也是这么说的,造成原因是因为我们将桌面文件夹改到了其他盘符<我改到了D盘>),那么参照提示,配置一个环境变量即可。

  1. 于是增加一个ANDROID_SDK_HOME环境变量。
    计算机--右键--属性--高级系统设置--环境变量(系统变量)--新建填写变量名和变量值。变量值为 .android文件夹的目录

4.png

比如说 D:\.android\avd\myNexus5.ini则我改成 D:\ (地址一)即可。

  1. 但是我重启avdmanager后发现仍然无法启动虚拟设备,我尝试着将地址改为 D: (地址2),不加反斜杠是因为上面的提示 $HOME\.android\avd 说明后面 \.android\avd 会自己加上。 然而我试了之后仍然不行,尝试着删除就设备重新创建新设备或者更换到其他目录,仍然不行。

  2. 于是我索性将环境变量中的地址 直接改为了 配置文件所在的地址 D:\.android\avd (地址三)然后重启AVD以及重新创建设备,然后居然奇迹般的可以了。检查设备目录,发现配置文件在 D:\.android\avd\.android\avd 也就是说AVD在我给的目录下重新创建爱你了 .android文件夹。 于是我删除掉 D:\.android 目录下的就文件,保留 D:\.android\avd\.android 目录,正常使用了。

地址三只是我这样填,无缘无故的可以了。理论上来说应该添加类似于地址二的形式(.android)文件夹的目录或者自行创建个另外的目录)

真机调试 Unable to create Debug Bridge: Unable to start adb server: error: could not install smartsocket listener: cannot bind to 127.0.0.1:5037。。。解决办法

以管理权限运行命令提示符(cmd)
运行命令 netsh winsock reset

重启电脑即可。