PC vs. Mac vs. Linux for Android Development

For some reason the following instructions on how to set up a computer for Android development crack me up — they pretty much illustrate the difference between Windows, Mac and Linux for many things you’d do with a computer:

  • If you’re developing on Windows, you need to install a USB driver for adb. For an installation guide and links to OEM drivers, see the OEM USB Drivers document.  [This will all go very smoothly the first time, we promise.]
  • If you’re developing on Mac OS X, it just works. Skip this step.  [Is this why I keep seeing so many Macs at dev conferences?]
  • If you’re developing on Ubuntu Linux, you need to add a udev rules file that contains a USB configuration for each type of device you want to use for development. In the rules file, each device manufacturer is identified by a unique vendor ID, as specified by the ATTR{idVendor} property. For a list of vendor IDs, see USB Vendor IDs, below. To set up device detection on Ubuntu Linux:
    1. Log in as root and create this file: /etc/udev/rules.d/51-android.rules.  [Umm, since when do Ubuntu users memorize commands? Do we need to sudo this thang?]Use this format to add each vendor to the file:
      SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"In this example, the vendor ID is for HTC. The MODE assignment specifies read/write permissions, and GROUPdefines which Unix group owns the device node.  [But what if I don’t have an HTC device… oh wait, here’s help…]Note: The rule syntax may vary slightly depending on your environment. Consult the udev documentation for your system as needed. For an overview of rule syntax, see this guide to writing udev rules.
    2. Now execute:
      chmod a+r /etc/udev/rules.d/51-android.rules

[That’s for each device, people!]