解决Failed to open .ini file C:\Users\xxx\.android\emu-update-last-check.ini for w

289 阅读1分钟

@[toc]

在这里插入图片描述

问题背景

本人使用的是比较新的版本的 sdk,集成在 idea 中运行,本人的环境变量是通过配置 ANDROID_AVD_HOME 把 avd 设备专门放到一个地方,但是我发现每次 idea 启动模拟器报出警告Emulator: emulator: WARNING: IniFile.cpp:235: Failed to open .ini file C:\Users\xxx\.android\emu-update-last-check.ini for writing.

解决措施

我重新配置了环境变量,怎么配呢?我仅仅是把环境变量名 ANDROID_AVD_HOME 改成了 ANDROID_SDK_HOME 就完了,变量值都没变,当然如果你这时候再通过 idea 创建模拟器并启动肯定还是有问题,因为我们还需要重启电脑使得环境变量生效,然后再打开 ide 创建模拟器并启动就会发现已经没有问题了

另外,注意把之前 ANDROID_AVD_HOME 直接路径下的设备删除哦,以免占据过多存储空间!

原因思考

android 寻找 avd 设备文件的路径按照下面顺序:

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

由于我之前配置模拟器存放路径的环境变量是 ANDROID_AVD_HOME 这个,但实际上我发现 emu-update-last-check.ini 这个文件的路径如果按照 ANDROID_SDK_HOME 来配环境变量的话是存在于$ANDROID_SDK_HOME/.android下,和 avd 文件夹同级目录,所以我想到如果我只配置了 ANDROID_AVD_HOME 就相当于只配置了$ANDROID_SDK_HOME/.android/avd/,可实际上$ANDROID_SDK_HOME/.android下还有其他重要的文件也需要被配置进环境变量!所以之后我干脆把 ANDROID_AVD_HOME 名字改成 ANDROID_SDK_HOME,路径都不变,之后创建模拟器会自动创建.android/avd文件夹并且在其中生成设备文件