[Kindle Fire General] Sblood86:
Alright so it turns out making ADB work for the Kindle Fire under Ubuntu is just a touch more difficult than in Windows.

Thanks to Gbhil (@ AndroidCentral) for the write up on windows it was a great jumping off point to try to figure this out.

Also thanks to the guys on chat.andirc.net (Skourg3 in particular for helping me figure this out the first time).

Let's get down to the nitty gritty yeah?

First you will still need the entry provided by Gbhil, go ahead and set it using the echo command in a terminal.

echo 0x1949 >> ~/.android/adb_usb.ini

You can confirm that it took by using the cat command

cat ~/.android/adb_usb.ini

You should get a return of '0x1949' (plus any other rules that you may have added in the past).

Now really that should work but everytime you run adb you will have to either run it as root or using the sudo command. To allow standard user access we have to setup a udev rule.

sudo gedit /etc/udev/rules.d/51-android.rules

That should open up gedit for you to edit the file 51-android.rules. If this is the first time you have added any udev rules the file will be empty as gedit will have just created it for you. go ahead and add in the following.

# adb/fastboot protocols for blaze / otter (Amazon Kindle Fire)
SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTRS{idProduct}=="0006", MODE="0660", OWNER="root", GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTRS{idProduct}=="0100", MODE="0660", OWNER="root", GROUP="androiddev", SYMLINK+="android%n"

Save that than add in the user group androiddev.

sudo addgroup --system androiddev

And add your username to that group.

sudo adduser <username> androiddev

Replace <username> with your primary username without the <> around it.

After that you will need to logout and log back in for these values to apply. You will probably need to restart the adb server as well.

Change directory to your platform-tools directory and run the following.

./adb kill-server
./adb start-server

Assuming all went well that should work properly and you can than connect through adb, if for some reason this doesn't work try restarting your computer (though I do not believe this is necessary).

If you don't want to type the "./" before all of your adb and fastboot commands, you need to add their parent directory into your PATH environment variable. For example, (assuming you are using the bash shell) if you have adb and fastboot in your /home/<username>/bin directory, you want to define...

PATH=~/bin:${PATH}

or

PATH=${PATH}:~/bin

It just depends on whether you want your own binaries to be used before the system equivalents or after. Most people would probably use the first one to have your own binaries be the preferred ones, but either one should work for adb and fastboot since there are no system binaries by the same names.

If you don't want to have to do this for every shell you open, you can place the definition at the end of your ~/.bashrc file. If you need it for you your login shell, you also need to put it into your ~/.bash_profile file. If you don't want to maintain two parallel files with much of the same information, take a look at this post.