Cannot find AVD system path. Please define ANDROID_SDK_ROOT错误的解决

文章目录

  • 前言
  • 先说出现这种错误的原因
  • 再说解决
  • 最后我们谈一下为什么大家都会遇到这种错误

Cannot find AVD system path. Please define ANDROID_SDK_ROOT错误的解决_第1张图片

前言

我在网上看到各种这种错误的报错以及解决方案,搜了几百条没有一条说道正点上去,我也是服气,由于我也遇到了这个错误,所以我打算从原因到解决思路好好的总结一下

先说出现这种错误的原因

因为模拟器开始启动的时候会在某个特定目录下去寻找你创建的 avd 设备,试想一下要是这几个特定的路径你没有配置进环境变量不就会出现这种错误了!正是这个原因,神坑

模拟器启动时候会按照如下顺序查找模拟器设备的路径

  • $ANDROID_AVD_HOME
  • $ANDROID_SDK_HOME/.android/avd/
  • $HOME/.android/avd/

但是我们创建新的模拟器设备默认是在这个路径C:\Users\用户名\.android\avd\下,试想一下要是系统不能识别这个路径,可能是没配置环境变量(变量名还必须用上面那种固定形式),或者是可能路径有中文,这样就没法找到 avd 路径了

那什么是 avd 设备呢,就是你创建一台模拟器的时候,它会产生模拟器的镜像文件,默认是在C:\Users\具体用户名\.android\avd下创建不同的模拟器,也就是说当你环境变量什么都不配置的时候就是在这个路径下产生模拟器设备文件的

再说解决

怎么解决呢?首先不并不想把模拟器的创建的文件放在默认的 C 盘,因为 C 盘空间有限,我想放在 D 盘,OK 我们直接在环境变量中配置 ANDROID_AVD_HOME 这个名字,然后路径直到一个新文件夹,里头专门存 AVD 设备即可(设置环境变量时这个文件夹中都是空的),因为模拟器很死板识别特定 ANDROID_AVD_HOME 这个名字,然后我们重启电脑让环境变量生效,再在模拟器创建新的模拟器,再点击运行,这个时候就可以发现能启动了!

最后我们谈一下为什么大家都会遇到这种错误

  1. sdk 官方的报错信息非常粗略,它的报错是指向了这个单词 ANDROID_SDK_ROOT,没有人知道这个是什么路径
  2. sdk 工具里头的一些配置非常死板,默认按照路径 $ANDROID_AVD_HOME 或者 $ANDROID_SDK_HOME/.android/avd/ 或者 $HOME/.android/avd/ 路径去查找,而从没有说让我们去配置一下 avd 设备的环境变量,还有 sdk 非常死板的把 avd 设备文件全放在默认的 C 盘,没有任何提示说可以修改这个存放路径以及没有任何提示说怎么通过设置环境变量的方式去修改该这个路径
  3. 现在的软件依旧有很多问题造成安装不方便,比如说安装的文件夹是中文名称,仅这个就无法运行项目了,非常不人性化

你可能感兴趣的:(Android,avd,sdk,android,模拟器,java)