Why does the Android emulator report "unknown virtual device", when the device is in my user directory?
Android Virtual Device Tool
The Virtual Device tool in the SDK Manager creates virtual devices in your user profile directory... in this case a secondary drive
D:\Users\anthony\.android
But, the emulator tries to load virtual device images from the system drive
C:\Users\anthony\.android
Directory Junction
There are two workarounds. First, you can create a directory hard-link (or junction) from the system drive android folder to the one in your user profile. In Windows 7, you can use the following command
mklink /J C:\Users\anthony\.android D:\Users\anthony\.android
Android Home
The Android SDK Manager and emulator can use an environment variable ANDROID_SDK_HOME
to identify the location of the .android
directory. Set a user or environment variable
ANDROID_SDK_HOME = 'D:\Users\anthony'
If you find:
emulator: ERROR: unknown virtual device name: 'Android21Device'
emulator: could not find virtual device named 'Android21Device'`
Just change your environment variables in the path in which your .android is found.
- create your avd name such as hello in android sdk and avd manager
- start launch then if you find the error like above
- open the details
- see the path and copy the path example of path C:\Users\\Contacts.android\avd\hello.avd
- open your variable environment by start->computer>right click>properties>advance system setting>variable environment> system variable>
- see in the system variable where the variable is PATH then edit
- click the variable value then add the C:\Users\\Contacts.android\avd\hello.avd preceded by a semicolon(;). For example:
C:\Program Files\Java\jdk1.6.0_21\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Users\<something>\Contacts\.android\avd\hello.avd
- ok.then restart your computer...
- open eclipse then start your avd again...
You need to restart eclipse after closing it. File -> Restart will not help.