Android x86 - Wear OS smartwatch from Virtual Machine

Note: At the end of this process with a CSR 4.0 BTLE adapter I could pair but not communicate with Wear OS beyond that. Would like to hear if others have better luck.

You will need Android x86 5.1, 6.0 or newer for Bluetooth USB adapter to work. I found that Bluetooth built into the PC motherboard or PCI didn’t work at all (could not turn on Bluetooth or Wifi).

Setup VirtualBox Android x86 virtual machine instance

  1. Download the 64-bit .iso
  2. In VirtualBox, click New, Linux Other 64-bit, create Dynamic VDI partition of say 16GB, set RAM to say 2 GB
  3. Start with Android x86 ISO, choose Install, sda, format to Ext4, install GRUB, but not GRUB2 EFI, make /system read/write

Note: I found it hung at Grub once, so I just Powered off and tried again (if it works it takes a split second after choosing to install Grub).

Setup Android x86 for Wear OS

  1. When starting up the Android virtual machine (VM), in the VirtualBox window, click Devices/USB and click your USB Bluetooth Adapter.
  2. Be sure you can see any Bluetooth devices with the Android VM (put some device in pairing mode, e.g. a speaker or headset, just to be sure your VM Bluetooth is working).
  3. Factory Reset your Wear OS watch
  4. Install/Startup Wear OS (you may get a one-time prompt to update Google Play Services on your VM)
  5. You will be asked to set your watch to pairing mode, and manually type in a six digit code on the watch.
  6. The app and watch will say “Updating” for 3-5 minutes.
  7. Then the watch says “syncing”.

Now you should be able to communicate with your watch from the Android virtual machine. Or, you may get stuck at step 6. Not sure what to do then.