Because of my windows "C partition" disk is low space I decided to move AVDs and all emulators devices with different api's that I creadted to my external HDD.
I followed the solutions in this question and the other answer but no one is solved the problem,
I changed ANDROID_SDK_HOME to "E:\ .android"
and changed ANDROID_AVD_HOME to E:\ .android\avd
then I changed the ini files in each device path to new one for example
path=E:\ .android\avd\Pixel_4_XL_API_30.avd
then after I restartd the device and cleared cached in AS I got no device
also I tried to change ANDROID_USER_HOME and ANDROID_EMULATOR_HOME, currently I have this three vars in windows enviroment
it's look like android studio ignores this variables and forced set android avd to it's defualt path C:\Users<USERNAME>.android\ or ~/.android/