Personally, after Windows 8, followed by Windows 10, I started to seriously look into Linux (which is free) as my primary desktop. Today LibreOffice (which is free) has more features than Microsoft Office and can open, edit, and save all of Microsoft Office's documents. Thanks to Steam's new deployment, I can even now run my Windows-only games on Linux too. The one thing I found very hard to swallow was trying to get my Andriod device (which is technically Unix too) to actually connect to my computer and I imagine that is because the documentation (even via a Google search) to using ADB or Fast Boot with Linux seems to be hidden among pages upon pages of Windows users.
For simple ease of reference as I couldn't even find this here on XDA, allow me to correct the matter.
Type out (or copy and paste) the following commands to install ADB and Fastboot.
Code:
sudo apt-get install adb
sudo apt-get install fastboot
Now you have both adb and fastboot installed. Next, you'll need to enable adb.
Code:
sudo adb
Now boot your phone to your bootloader screen (you get there by pressing both your power and lower volume keys at the same time). Once there load TWRP with the following command.
Code:
sudo fastboot boot '/your_path_here/twrp-3.2.3-0-payton.img'
Your path will be wherever you happen to have downloaded your copy of TWRP. From there I was able to successfully mount my device within TWRP and upload my ROM zip file as needed.
You will upload files to your phone using the "ADB PUSH" command to your /sdcard/ directory (as admin in windows or root in Linux). For example:
Code:
adb push lineage-16.0-20180921-UNOFFICIAL-payton.zip /sdcard/
I hope this was helpful.
Note: Because you're doing this in Linux, the files you upload to your phone may not have the correct permission settings (chmod settings) after they are uploaded. This is very unlikely, but still technically possible.
Thankfully, the folks at TWRP have thought of this and in the 'Advanced' menu, you will find a file manager. From there select the file of your choice and click the chmod button that reads "chmod 0777". Don't forget to mount the DATA partition (before using the file manager) else you may not see the file you are looking for.
or just download the package from here
https://developer.android.com/studio/releases/platform-tools
unzip and have fun
munchy_cool said:
or just download the package from here
https://developer.android.com/studio/releases/platform-tools
unzip and have fun
Click to expand...
Click to collapse
This is helpful, but most newbies to Linux wouldn't even know how to execute those base files. lol But Windows users coming to Linux do know how to run command prompts (good old Microsoft kept the command prompt around long enough that folks moving to Linux just associate the terminal in the same light). Which is why I thought to have them install a preconfigured program would be easier.
But thanks for the source. It is still useful.
MotoX4 said:
This is helpful, but most newbies to Linux wouldn't even know how to execute those base files. lol But Windows users coming to Linux do know how to run command prompts (good old Microsoft kept the command prompt around long enough that folks moving to Linux just associate the terminal in the same light). Which is why I thought to have them install a preconfigured program would be easier.
But thanks for the source. It is still useful.
Click to expand...
Click to collapse
lol..i thought the first thing a Linux newbie would learn is command prompt.
you need to read about terminal before you decide using a Linux box.
munchy_cool said:
lol.. I thought the first thing a Linux newbie would learn is the command prompt.
you need to read about terminal before you decide using a Linux box.
Click to expand...
Click to collapse
:laugh: I agree. But there are a lot of folks who feel intimidated whenever learning something new. If I had started this thread with a full introduction to manually configuring and executing everything, most folks would have easily been discouraged. Especially the younger or older generations who fall somewhere between the line of "I don't got time for that" or "why so difficult". lol :laugh: Inoculating folks into using Linux I feel works best. Keep it simple and suggest that there are more in-depth ways of doing things to peak curiosity. -- Which is why I'm glad you pointed that out and why I'm loving writing this reply at the moment. :angel:
Related
Hey guys, I am a pretty new to ADB, I spent all day yesterday trying to figure it out and I think I have a fairly loose understanding of how it works. But, my question is what are the differences in the rooting guide if I'm trying to root on a Mac?
yea unfortunately for us mac users trying to root any device is very scarce, most if not all rooting methods require windows, even if they say works for mac, it usually doesn't for some reason.
I use VM ware, just torrent it for free, and torrent a windows 7 as well, if ussed this to root my older Droid model.
Rooting a phone using ADB on a Mac is no different than on Windows. IMO it's easier on osx/linux, as you don't have to worry about USB drivers.
Assuming you don't have a PATH variable setup for the platform-tools directory, just type "./adb whatever" instead of "adb whatever". That's about the only difference.
GrdLock said:
Rooting a phone using ADB on a Mac is no different than on Windows. IMO it's easier on osx/linux, as you don't have to worry about USB drivers.
Assuming you don't have a PATH variable setup for the platform-tools directory, just type "./adb whatever" instead of "adb whatever". That's about the only difference.
Click to expand...
Click to collapse
+1. It's SOOO much easier on a Mac, no driver issues, same basic command lines.
The only time it's easier on Windows is if there's some one-click method that requires a windows executable...but you still have to worry about getting Win to recognize the phone.
Edit: to answer the original post, there's no difference. Just put ALL the files into the same folder on your computer. Open the terminal app, type in cd then drag and drop the folder onto the terminal and hit enter. Type in ls and enter to make sure the files are actually there. After that, just follow the guide step by step. You can even drag and drop or copy/paste the commands. That's what I did (to make sure I made no typos).
Come to think of it, if OSX has curl installed on it (which I have no clue if it does or not), the linux easyroot script in the development forum should work just fine.
If not you could probably just change curl to wget and it would work fine. I'm assuming OSX comes with wget.
GrdLock said:
Come to think of it, if OSX has curl installed on it (which I have no clue if it does or not), the linux easyroot script in the development forum should work just fine.
If not you could probably just change curl to wget and it would work fine. I'm assuming OSX comes with wget.
Click to expand...
Click to collapse
OS X comes with curl.
I am trying to get adb to work. I am doing it on a x64 vista system and I think I am getting the Path wrong. I am trying to get it to run like the page says to initialize it to read the device so I know it is working.
I can't get it to start from command prompt with out navigating to the directory it resides in. Is that right for the newer versions of ADB or am I just a monkey and can't figure out simple pathing?
I just made a folder in my c drive called ADB, and placed the entire folder with adb and the dll files required in it, along with superuser, busybox, etc.
Right click on command prompt and run as administrator.
once at system32 type: cd C:\ADB
then you will have navigated to the folder containing your ADB files.
your command prompt should now read: C:\ADB
then you can type: adb devices
it will say something about starting daemon services, and then list attached devices.
you are free to proceed with whatever instruction or operation you are doing after that.
also, make sure you have the drivers for the phone installed, or your computer wont recognize the android debugging bridge.
LowRentTechGuy said:
I am trying to get adb to work. I am doing it on a x64 vista system and I think I am getting the Path wrong. I am trying to get it to run like the page says to initialize it to read the device so I know it is working.
I can't get it to start from command prompt with out navigating to the directory it resides in. Is that right for the newer versions of ADB or am I just a monkey and can't figure out simple pathing?
Click to expand...
Click to collapse
Android Development is not for questions or Problems
Please post in the correct Forums
Moving to General
Well thanks for moving it, I will keep a closer eye on which forum I am browsing when I post.
Sent from my SCH-I510 using Tapatalk
i ditched windows ages ago and i will never look back i am sick and tierd of waiting on moto uk to push ics. i use to have the dell streak and i rooted that but i was on windows then how do i root my xoom with linux mint is it possible and can any point me in the right direction please
Stand by, I will give you all the tools and options you need to do so, I could draft something tomorrow morning.
Sent from my PG86100 using Tapatalk
Thank you megabiteg Still learning linux but i Love it
megabiteg said:
Stand by, I will give you all the tools and options you need to do so, I could draft something tomorrow morning.
Sent from my PG86100 using Tapatalk
Click to expand...
Click to collapse
well, it isn't that hard since everything you really need on your computer ist fastboot and a way to push a file to an sdcard (fat formatted)...
Just go here, download and install the android sdk from there. Make sure the commands adb and fastboot are in your path. (test by issuing adb devices, shold return a list of attached android devices with usb debugging turned on)
After that, just follow these instructions. I am not sure if you need to run fastboot as root, but you'll see
Cheers for the info just by any chance do you know the commands still learning Linux
llama-power said:
well, it isn't that hard since everything you really need on your computer ist fastboot and a way to push a file to an sdcard (fat formatted)...
Just go here, download and install the android sdk from there. Make sure the commands adb and fastboot are in your path. (test by issuing adb devices, shold return a list of attached android devices with usb debugging turned on)
After that, just follow these instructions. I am not sure if you need to run fastboot as root, but you'll see
Click to expand...
Click to collapse
elsworth1983 said:
Cheers for the info just by any chance do you know the commands still learning Linux
Click to expand...
Click to collapse
thought you ditched windows ages ago?
anyhow... don't have linux set up atm, so this will from memory and might contain some errors... Also, never tried mint, I always stuck to debian or debian-derivates...
anyhow, lets try this:
first, use your package management-system to install a jre (java runtime environment.
If that is set up, install the android sdk:
Code:
$ cd ~
$ wget http://dl.google.com/android/android-sdk_r17-linux.tgz
$ sudo su
[enter your su-password]
# cd /usr/local
# tar xfzv ~[yourusername]/android-sdk_r17-linux.tgz
# ./android-sdk-linux/tools/android
a window should open up and list some files available for download. Just select "Android SDK Platform-tools" and hit "Install 1 package...".
once that's finished (might take a while), close the Android SDK Manager and you should get back to your shell.
Code:
# ln -s /usr/local/android-sdk-linux/platform-tools/adb /usr/local/bin/adb
# ln -s /usr/local/android-sdk-linux/platform-tools/fastboot /usr/local/bin/fastboot
# exit
$ rm android-sdk_r17-linux.tgz
now, connect your xoom to your computer and enable usb debugging in the settings of your xoom. If you issue adb devices, you should get something like
Code:
List of devices attached
043c12343456476547 device
if you receive something like bash: adb: command not found, something went wrong somewhere. Try the same using sudo: sudo adb devices if that doesn't fix it please write another post.
Also, if you encounter an error after entering any of the comments above, please do not continue until you resolved that error. (For example ask for a solution here)
And, since you are still learning to use linux: whenever instructions contain a $ or # at the beginning of a line, DO NOT ENTER THESE. They are just there to tell you to issue that command as normal user ($) or superuser (#)
/EDIT: btw: there may be an easier way to do this if you just want to use adb/fastboot this once: you could try to simply download the adb and fastboot- binaries and put these into the folder with your recovery.img-file. Might work, not sure about that, though. Also, since I don't have linux installed on my machine atm, I can't provide you with a link to these binaries.
cheers for all your help will give this a go "Dont want to back to windows
Android SDK manger log
Error Stopping ADB server failed (code-1)
Connected the xoom and did adb devices and it listed the xoom with no errors in the terminal Thank you again ? Were do i go from here now
glad to read it's working
just follow the instructions in this thread That will help you to install a custom recovery and root your xoom. It will not, however, install a custom rom. To do that, you'd also need to download a custom rom (usually comes in a flashable .zip-file), place that on an acutal sd-card which you're gonna put into your xoom, and install that file from within the custom recovery. Just make sure you grab a rom that works with your xoom (for example, you shouldn't put a us-4g-rom onto a wifi-only-xoom and vice versa)
have i done something wrong
god-WE174AA-ABU-s5306uk god # adb reboot bootloader
god-WE174AA-ABU-s5306uk god # fastboot oem unlock
fastboot: command not found
The problem i seem to be having is when the xoom is on i type <adb reboot bootloader> The xoom reboots to the fastboot screen after that no commands work and when i do ADB devices in the terminal the device list is empty ?
elsworth1983 said:
have i done something wrong
god-WE174AA-ABU-s5306uk god # adb reboot bootloader
god-WE174AA-ABU-s5306uk god # fastboot oem unlock
fastboot: command not found
Click to expand...
Click to collapse
have you done the # ln -s /usr/local/android-sdk-linux/platform-tools/fastboot /usr/local/bin/fastboot? The error you're getting seems to suggest that it can't find the fastboot application? What happens if you type /usr/local/android-sdk-linux/platform-tools/fastboot oem unlock?
elsworth1983 said:
The problem i seem to be having is when the xoom is on i type <adb reboot bootloader> The xoom reboots to the fastboot screen after that no commands work and when i do ADB devices in the terminal the device list is empty ?
Click to expand...
Click to collapse
that is expected. adb is only available while android is booted up, fastboot is the protocol to use while in bootloader mode. As indicated before, I suspect that your computer can't find the fastboot application (on the computer).
Cheers for all the info i went back and started all from the top again only thing i am struggling with is Flashing the recovery now lol i get
god-WE174AA-ABU-s5306uk god # adb reboot bootloader
god-WE174AA-ABU-s5306uk god # fastboot flash recovery recovery-solarnz-100611-1150.img
error: cannot load 'recovery-solarnz-100611-1150.img'
I have it on a memory card which i checked which was working
elsworth1983 said:
Cheers for all the info i went back and started all from the top again only thing i am struggling with is Flashing the recovery now lol i get
god-WE174AA-ABU-s5306uk god # adb reboot bootloader
god-WE174AA-ABU-s5306uk god # fastboot flash recovery recovery-solarnz-100611-1150.img
error: cannot load 'recovery-solarnz-100611-1150.img'
I have it on a memory card which i checked which was working
Click to expand...
Click to collapse
The recovery image needs to be on your pc. It doesn't matter where on your pc as long as you can access it and know where it is.
Fastboot works by sending the image over the usb cable. Once you start flashing roms, those will need to be on your sd card within the xoom.
all i can say is thank you for all the information every 1 is giving me my head is mashed lol so if i put recovery-Tiamat-R4c-100611-1150-cwm.img on the desktop what would the terminal code be
kofrad said:
The recovery image needs to be on your pc. It doesn't matter where on your pc as long as you can access it and know where it is.
Fastboot works by sending the image over the usb cable. Once you start flashing roms, those will need to be on your sd card within the xoom.
Click to expand...
Click to collapse
depends on where your desktop is If it is in ~/Desktop/, then the correct command should be
Code:
fastboot flash recovery ~/Desktop/recovery-Tiamat-R4c-100611-1150-cwm.img
error: cannot load '/root/Desktop/recovery-Tiamat-R4c-100611-1150-cwm.img'
ARRRR i am really loosing the will to live ;-)
What am doing so wrong its lucky am not bold yet been trying this all day
elsworth1983 said:
error: cannot load '/root/Desktop/recovery-Tiamat-R4c-100611-1150-cwm.img'
ARRRR i am really loosing the will to live ;-)
Click to expand...
Click to collapse
if the graphical interface, where do you see the file located?
elsworth1983 said:
error: cannot load '/root/Desktop/recovery-Tiamat-R4c-100611-1150-cwm.img'
ARRRR i am really loosing the will to live ;-)
Click to expand...
Click to collapse
Sounds to me like you are running the commands as root. You likely have also downloaded the recovery image as a normal user. This means the '~' shortcut for the home directory is pointing you to someplace where the file is not.
Try using "fastboot flash /home/Your username/Desktop/recovery-Tiamat-R4c-100611-1150-cwm.img"
I have put the file on the desktop ? is that what u mean
There are servel cmds which we can use
But I post only top 10 cmds to help that ones who need
###############
If I make a mistake so please reply with your suggestions
And if you want a cmd in the list .submit your reply with cmd and features ( full detail as you know.).
########cmds###########
For a lot of us, the fact that we can plug our Android phone or tablet into our computer and interact with it is a big plus. Besides the times when we've broken something and need to fix it, there are plenty of reasons why an advanced Android user would want to talk to his or her device. To do that, you need to have a few tools and know a few commands. That's what we're going to talk about today. Granted, this won't be the end-all be-all discussion of adb commands, but there are 10 basic commands everyone should know if they plan to get down and dirty with the command line.
The tools are easy. If you're a Mac or Linux user, you'll want to install the SDK as explained at the Android developers site. It's not hard, and you don't have the whole driver mess that Windows users do. Follow the directions and get things set up while I talk to the Windows using folks for a minute.
If you're using Windows, things are easier and harder at the same time. The tools themselves are the easy part. Download this file. Open the zip file and you'll see a folder named android-tools. Drag that folder somewhere easy to get to. Next, visit the manufacturers page for your device and install the adb and fastboot drivers for Windows. You'll need this so that your computer can talk to your Android device. If you hit a snag, visit the forums and somebody is bound to be able to help you through it.
Now that we're all on the same page, enable USB debugging on your device (see your devices manual if you need help finding it, and remember it was hidden in Android 4.2), and plug it in to your computer. Now skip past the break and let's begin!
1. The adb devices command
The adb devices command is the most important one of the bunch, as it's what is used to make sure your computer and Android device are communicating. That's why we're covering it first.
If you're a pro at the operating system on your computer, you'll want to add the directory with the Android tools to your path. If you're not, no worries. Just start up your terminal or command console and point it at the folder with the tools in it. This will be the file you downloaded earlier if you use Windows, or the platform-tools folder in the fully installed Android SDK. Windows users have another easy shortcut here, and can simply Shift + right click on the folder itself to open a console in the right spot. Mac and Linux users need to navigate there once the terminal is open, or install an extension for your file manager to do the same right click magic that's in Windows by default.
Once you're sure that you are in the right folder, type "adb devices" (without the quotes) at the command prompt. If you get a serial number, you're good to go! If you don't, make sure you're in the right folder and that you have the device driver installed correctly if you're using Windows. And be sure you have USB debugging turned on!
Now that we have everything set up, let's look at a few more commands.
2. The adb push command
If you want to move a file onto your Android device programmatically, you want to use the adb push command. You'll need to know a few parameters, namely the full path of the file you're pushing, and the full path to where you want to put it. Let's practice by placing a short video (in my case it's a poorly done cover of the Rick James tune Superfreak) into the Movies folder on your device storage.
I copied the superfreak.mp4 file into the android-tools folder so I didn't need to type out a long path to my desktop. I suggest you do the same. I jumped back to the command line and typed "adb push superfreak.mp4 /sdcard/Movies/" and the file copied itself to my Nexus 4, right in the Movies folder. If I hadn't dropped the file into my tools folder, I would have had to specify the full path to it -- something like C:\Users\Jerry\Desktop\superfreak.mp4. Either way works, but it's always easier to just drop the file into your tools folder and save the typing.
3. The adb pull command
If adb push sends files to your Android device, it stands to reason the adb pull command gets them out. That's exactly what it does, and it works the same way as the adb push command did. You need to know both the path of the file you want to pull off, as well as the path you want it placed into. You can leave the destination path blank and it will drop the file into your tools folder to make things easy.
In this example, I did it the hard way so you can see what it looks like. The path of the file on the device is "/sdcard/Movies/superfreak.mp4" and I put it on my Windows 8 desktop at "C:\Users\Jerry\Desktop". Again, the easy way it to just let it drop into your tools folder by not giving a destination, which would have been "adb pull /sdcard/Movies/superfreak.mp4". Remember your forwards slash for the Android side, and you'll have no problems here.
5. The adb reboot-bootloader and adb reboot recovery commands
Not only can you reboot your device, you can specify that it reboots to the bootloader. This is awfully handy, as sometimes those button combos are touchy, and if you have a lot of devices you can never remember them all. Some devices (the LG Optimus Black comes to mind) don't even a way to boot to the bootloader without this command. And once again, being able to use this command in a script is priceless. Doing it is easy, just type "adb reboot-bootloader" and hit the enter key.
Most devices can also boot to the recovery directly with the "adb reboot recovery" (note there is no hyphen in this one) and some can't. It won't hurt anything to try, and if yours can't nothing will happen.
6. The fastboot devices command
When you're working in the bootloader, adb no longer works. You're not yet booted into Android, and the debugging tools aren't active to communicate with. We use the fastboot command in it's place.
Fastboot is probably the most powerful tool available, and many devices don't have it enabled. If you're does, you need to be sure things are communicating. That's where the fastboot devices command comes into play. At the prompt, just type in "fastboot devices" and you should see a serial number, just like the adb devices command we looked at earlier.
If things aren't working and you are using Windows, you likely have a driver issue. Hit those forums for the answer.
7. The fastboot oem unlock command
The holy grail of Android commands, fastboot oem unlock does one thing, and one thing only -- unlocks your Nexus device (or an HTC device using their official tool). If you're using a phone from a different manufacturer, you have a different method of unlocking things -- maybe with ODIN or .sbf files -- and this won't apply to you. We're including it because even if you don't need it, it's an important part of Android's openness. Google doesn't care what we do with phones or tablets that we've bought, and include this easy way to crack them open. That's something you usually don't see from any tech company, and a big part of the reason why many of us choose Android.
Using it is easy enough. Once you've used fastboot devices to make sure everything is communicating, just type "fastboot oem unlock" at the prompt and hit enter. Look at your device, read carefully, and choose wisely.
Protip: Using "fastboot oem unlock" will erase everything on your device
8. The adb shell command
The adb shell command confuses a lot of folks. There are two ways to use it, one where you send a command to the device to run in its own command line shell, and one where you actually enter the device's command shell from your terminal. In the image above, I'm inside the device shell, listing the flies and folders on the device. Getting there is easy enough, just type "adb shell" and enter. Once inside, you can escalate yourself to root if you need to. I'll warn you, unless you're familiar with an ash or bash shell, you need to be careful here -- especially if you're root. Things can turn south quickly if you're not careful. If you're not familiar, ash and bash are command shells that a lot of folks use on their Linux or Mac computers. It's nothing like DOS.
The other method of using the adb shell command is in conjunction with one of those Ash commands your Android device can run. You'll often use it for more advanced tasks like changing permissions of files or folders, or running a script. Using it is easy -- "adb shell <command>". An example would be changing permissions on a file like so: "adb shell chmod 666 /data/somefile". As mentioned, be very careful running direct commands using these methods.
9. The adb install command
While adb push can copy files to our Android devices, adb install can actually install .apk files. Using it is similar to use the push command, because we need to provide the path to the file we're installing. That means it's always easier to just drop the app you're installing into your tools folder. Once you've got that path, you tell your device to sideload it like this: "adb install TheAppName.apk".
If you're updating an app, you use the -r switch: "adb install -r TheAppName.apk". There is also a -s switch which tries to install on the SD card if your ROM supports it, and the -l switch will forward lock the app (install it to /data/app-private). there are also some very advanced encryption switches, but those are best left for another article.
And finally, you can uninstall apps by their package name with "adb uninstall TheAppName.apk". Uninstall has a switch, too. The -k switch will uninstall the app but leave all the app data and cache in place.
10. The adb logcat command
The adb logcat command is one of the most useful commands for some folks, but just prints a bunch of gibberish unless you understand what you're seeing. It returns the events written to the various logs in the running Android system, providing invaluable information for app developers and system debuggers. Most of us will only run this one when asked by one of those developers, but it's very important that we know how to use it correctly.
To see the log output on your computer screen, just type "adb logcat" and hit enter. Things can scroll by pretty fast, and chances are you won't find what you're looking for. There are two ways to handle this one -- filters, or text output.
You also have to specify the cmds properly.
Hope it help you .
Like my work hit thanks button.
$$$$$$$$$$$$$$$$$$$$$$$$
Any suggestions most welcome.
$$$$$$$$$$$$$$$$$$$$$$$$$
For a while I had to keep running ADB commands from my Windows desktop because I couldn't get the USB authorization prompt to pop up on my Linux laptop running Ubuntu 18.04.
I noticed OnePlus included .exe files for Windows and I saw a .sh Linux/OSX file which I know is a script file.
Couldn't do anything with sudo which I though was odd. Opened the directory where the script is with my device connected, entered root user with "su"
Ran the script as su rather than just sudo
AND IT WORKED now I'm authorized with my Linux laptop and can resume under regular user. That was a weird problem.
That was a frustrating problem that had such a simple solution. Must not have had sudo access to adb.
Just sharing what worked for me! Linux > Windows for terminal use and adb stuff