Easily detect a physical Android device with a Ubuntu PC

Setting up a Ubuntu machine to detect a physical Android device can be a complex process particularly for new Linux users. Thankfully there's a easy way to do it using this project.

Setting up your Ubuntu machine for Android application debugging would usually involve creating something called a udev* rule for your device yourself. However, thanks to the maintainers of the project linked above, these rules have been created for you.

You can check if your device is supported by going to the 51-android.rules file in the project repository and searching the comments for the name of your device.
For example, here's my phone (Nexus 6P):

You then simply have to run the commands listed in the project README.md document under "Ubuntu"**. I've included them as they were at the time of writing below. It's a good idea to check the latest version of README linked above as there's a chance the commands you need have changed.
I spent a long time getting Ubuntu to recognize my Nexus 6P on my desktop PC and eventually got it to work. However when I came to getting my Linux Mint laptop to recognize my 6P I looked for an easier method. This process took less than 5 minutes and worked first time.

Notes

*udev is a device manager for the Linux kernel. Knowledge of what udev does isn't required for Android development on Ubuntu but if you're interested read more about it at the Wikipedia page.

**You'll need Git installed. This command should install it for you:
sudo apt install git

If you've not already setup Git/Github to use SSH on your PC the easiest way to clone the repository is using HTTPS:
git clone https://github.com/M0Rf30/android-udev-rules.git

We're not contributing to the repository so the benefits of using SSH (e.g not having to repeatedly type your user name and password) aren't really relevant.   

Comments

Popular posts from this blog

The Computing Tutor's end of 2017 review

How To: Organise your lecture/school notes

Thoughts on using Kotlin to teach programming