問題背景
本人使用的是比較新的版本的 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
文件夾並且在其中生成設備文件