Edit: I recommend you DO NOT run ADB under VirtualBox if you are using a Windows Host. Somehow I got VirtualBox to lock the device drivers on the host, eventually making it so that the ADB wouldn't work on the client nor the host for any device I plugged in. To fix, I removed VirtualBox extensions on the host and ran http://www.nirsoft.net/utils/usb_devices_view.html to delete the incorrect drivers. I could not get the correct drivers to load while VirtualBox extensions were installed, and this problem was a complete bastard to diagnose and fix.
Edit 2: Also the following is probably out of date, now that Google have released an integrated ADB extension for Chrome.
What an installation nightmare... Here are the steps I needed to get my Nexus 10 recognised on an XP virtual machine running under VirtualBox:
- If you get asked to install Nexus 10 drivers, make sure to untick "don't ask again" (you WANT to be asked again!).
- Plug in the Nexus 10 USB connection
- Turn on debugging in the Nexus 10 settings Developer menu (tap "About Tablet" 7 times to get that menu).
- In your virtual machine settings (host), add the samsung Nexus 10 device to the USB Device Filters (important - selecting it from the devices menu didn't seem to work).
- In guest install java jre (if you don't have java installed). In Control Panel, change Java settings so that java doesn't run in the browser (to help prevent security issues).
- In guest get the adk zip file and put it somewhere permanent. I needed to delete the .android config directory from the user directory because I moved the directory.
- Run the SDK Manager.exe - if it doesn't work, try running sdk\tools\android.bat which seems to give better error reporting.
- From SDK Manager install the Google USB driver package.
- Unplug the Nexus 10 and plug it in again, and install the Google USB driver package.
- Restart the guest.
- running c:>[...]\sdk\platformtools> adb devices
adb devicesfinally shows me the device...