[Win, Mac, Linx] Simple-ADB - Android Software Development

This is simply ADB/Fastboot, with a Graphical User Interface.
Click to expand...
Click to collapse
HOW-TO
• Installation
make sure you have java installed on your PC
• first you have to install adb system-wide:
[windows] : try ADB Installer tool.
[Linux] : adb support comes with most Linux distributions.
• then run Simple-ADB.jar and that's it!
[Windows shortcut]
[Linux shortcut]
Click to expand...
Click to collapse
• Usage
• select from "ADB", "Fastboot" or "Your command" modes:
- if "ADB" is selected the dropdown will contain lots of adb commands :
adb devices -l
adb connect <host>
adb disconnect
adb usb
adb logcat
adb install
adb uninstall
adb push
adb pull
adb kill-all
adb shell top
adb shell free
adb shell ps,
adb shell netstat,
adb shell pm list packages,
busybox df -h
rm /data/system/gesture.key
adb reboot
adb reboot recovery
adb reboot download
adb reboot bootloader
adb reboot fastboot
adb reboot sideload
adb help
adb kill-server
- if "Fastboot" is selected the dropdown will contain lots of Fastboot commands :
fastboot devices -l
fastboot reboot-bootloader
fastboot erase system
fastboot erase data
fastboot erase cache
fastboot flash
fastboot flash recovery
fastboot flash boot
fastboot flash system
fastboot flash data
fastboot flash cache
fastboot flash userdata
fastboot flash bootloader
fastboot flash radio
fastboot help
- if "Your command" is selected the dropdown will be disabled , and you can write your own command.
• You can Save output from the Options menu or simply press Ctrl+S.
Click to expand...
Click to collapse
COMPATIBILITY
• Windows
• Linux (Thanks a lot for @topnomi for testing and confirming Linux support, follow his Instructions for linux).
• Mac OS (read this post for details)
TO-DO/FIX
• fix memory leak because of large output to the JTextArea [(e.g during adb logcat).
• support for Mac (I really don't know why it's not working there, contributions are always welcome!)
Code:
*** Disclaimer
there are some commands I've never tested (like password command),
please use the tool at your own risk.
If you want to support the development of this program, feel free to donate.
Click to expand...
Click to collapse
XDA:DevDB Information
S-ADB, Tool/Utility for all devices (see above for details)
Contributors
mhashim6
Source Code:
GitHub
Source-Forge
This tool is based on System Command Executor Library
Version Information
Status: Stable
Current Stable Version: update6
Stable Release Date: 2018-02-03
Created 2016-07-12
Last Updated 2020-06-15
XDA:DevDB Information
S-ADB, Tool/Utility for all devices (see above for details)
Contributors
Mohamed Hashem
Source Code: https://github.com/mhashim6/Simple-ADB
Version Information
Status: Stable
Current Stable Version: update6
Stable Release Date: 2018-02-03
Created 2016-07-12
Last Updated 2020-06-14

CHANGELOG
update6 [stable] [16/09/2017]
Code:
• fixed the memory leak that occurred when a command with a large output is being executed, finally!
• support for using quotes in commands.
• fixed a bug in adb push command.
• updated with latest version of System Command Executor library.
.
update5 [stable] [16/09/2017]
Code:
• fixed the memory leak that occurred when a command with a large output is being executed, finally!
• fixed a freeze in some special cases.
• fixed the weird layout issue on linux.
• replaced the "output contains errors" prompt with a more informative text, including the exit code.
• update to the last version of System-Command-Executer library.
• updated donate url.
• overall performance improvements
• reduced jar size to 44 kbs
.
update4 [stable] [07/05/2017]
Code:
•I quote google: "several bug fixes, and speedy improvements".
•fixed a bug in adb pull command.
•errors are highlighted in red.
•added:
adb shell ip,
adb shell ps,
adb shell netstat,
adb shell pm list packages,
adb usb
version 5.6 [stable] [31/07/2016]
Code:
•Stability, stability, stability, all possible weak spots are fixed, with lots of enhancements , this program is now stable (Hopefully)
•Saving output now is through File dialog
•Shortcuts added for options menu items
•lots of fixes to "your own command" mode + (you can execute by hitting enter)
Version 5.5 [27/07/2016]
Code:
now it's open-source; check the op.
in supported commands:
•added:
adb connect [to connect the phone wirelessly]
adb disconnect
adb root
adb unroot
adb reboot sideload
fastboot reboot-bootloader
•renamed:
adb > adb help
fastboot > fastboot help
in UI :
•enhanced all UI colors.
Version 5.2 [21/07/2106] :
Code:
in compatiblity with Linux and Mac :
•Confirmed for Linux
need a confirmation from you for OsX.
in UI :
•new icon
•the whole UI (including file explorer and information panels) now is totally revamped to Windows Look and feel, now You can say it's beautiful.
•now every mode (adb, fastboot, your own command) has it's output color.
in Errors and Exception:
•now all exceptions are more detailed, to guide you and me to the problem.
in supported commands
•renamed all commands in the list to what they really are to avoid confusion and complexity.
•added :
adb
adb kill-server
fastboot
•changed :
adb devices to adb devices -l
fastboot devices to fastboot devices -l
•removed :
unlock password 2nd method to avoid confusion and complexity.
in output :
•you can save the output using "save output" in "options" menu.
•fixed some output issues.
in code :
•I've changed some algorithms > hmmm, the app size now is 30 kbs lol.
900 downloads
Version 5.0 [initial release] [12/07/2016] :
Code:
the tool now is much more stable and smart, renamed to SADB [Simple ADB]
in how the tool is working:
as I said I've rewrittten the whole code:
•now we have an output area, no files or any leftover data files at all, it's just the tool
•now the tool is executing the commands in really different and cleaner/faster way
•added the Abort button, to abort currently running operations
•added "Your own command" mode [experimental]
•the tool size is 27 kbs
in Errors and Exception:
•all exceptions and errors are caught and handled i believe
•the tool now can determine whatever the output is an error or not
in UI :
•now you can choose from adb, fastboot by radio buttons, instead of this large comboBox
•removed most of the annoying dialog panes
•the overall UI is certainly better and smoother
2800 downloads
Code:
In the future, I might make other changes and fixes,
but they may not be that big to include in separate updates,
so, if you're interested in the latest releases,
feel free to compile the code yourself.

In Debian, there are "android tools" packages and adb and fastboot are simply there. Otherwise, the executable may come with any of Android API packages.
So this runs on Linux. Install adb does nothing. Own command has no command input to use. Need a on-phone file-browser for file to pull. Need option to save logcat to a file. Small things.
I run adb CLI without much ado.

Dovidhalevi said:
In Debian, there are "android tools" packages and adb is simply there. Otherwise, the executable may come with any of Android API packages.
Click to expand...
Click to collapse
Thanks for the help, I'll check.
Edit: own command, intended to allow users to write their command in the same red area, But I'll check, and yes save logcat into file is coming.

Mohamed Hashem said:
ANNOUNCEMENT:
one year & half ago I've created this tool, the main idea was not new, it has been implemented so many times, but I believe that majority of implementations has just covered the most basic and direct commands of ADB/Fastboot,
So, this revive shall FIX WHATEVER PROBLEM YOU FACED WITH THE OLD TOOL. make sure to check the changelog [2nd post].
INSTALLATION :
(make sure you have java installed on your PC)
• first you have to install ADB Installer tool, it will install ADB to your System directly, so no need for any additional files (make sure to give @Snoop05 a Thanks :good .
• then run Simple ADB.jar and that's it!
GUIDE :
• select from "ADB", "Fastboot" or "Your own command" buttons :
- if "ADB" is selected the combobox will contain lots of adb commands :
Check if Device connected properly (adb devices).
Android Logcat.
Install a specific APK file(Android Application).
Uninstall apk <package> .
pull a file from your Android Device to your PC.
push a file from your PC to your Android Device.
View tasks running in your Android device.
Check your Android Device Memory usage.
Check your Android Device storage usage.
Kill all background processes.
Normal Reboot.
Reboot to recovery mode
Reboot to download mode (for Samsung Devices).
Reboot to bootloader mode.
Unlock Patterns/passwords [first method]
Unlock Patterns/passwords [formatting phone method]
- if "Fastboot" is selected the combobox will contain lots of Fastboot commands :
Reboot to Fastboot mode.
Flash Update.zip.
Flash recovery.img.
Flash boot.img.
Wipe (System,data & cache) before restoring nandroid backup.
Flash system.img.
Flash data.img.
Flash cache.img.
- if "Your own command" is selected the combobox will be disabled , and you can write your (still one line) command in the red area.
• Hit Activate to (well, activate the command :cyclops: ).
• Hit Abort to stop the currently running operation ( please think twice before aborting a command).
• You have the Options menu that contains :
-Donate : to support my development and studying (first year college :cyclops: )
- Main thread : to visit this thread.
- ADB Installer : to visit ADB Installer thread.
- Reset : to set the frame as you first opened it.
COMPATIBILITY:
windows (till now)
•the first issue preventing it from being compatible with other OS's is that the way java is executing commands, it's tricky to keep the same simple functionality with the mass compatibility, so i'm still working on that.
•also in other OS's you need to install adb system-wide, and i didn't find any adb-installer-like tool for Linux or Mac os.
I hope i'll get help from the community
Code:
*** Disclaimer
there are some commands I've never tested (like password commands),
because I don't have a spare phone to test on, please use the tool at your own risk.
! note: if you want to support the development of this program, it would be appreciated to click
under my avatar, and Click
:good:
XDA:DevDB Information
SADB, Tool/Utility for all devices (see above for details)
Contributors
Mohamed Hashem
Version Information
Status: Beta
Current Beta Version: 5.0
Beta Release Date: 2016-07-13
Created 2016-07-12
Last Updated 2016-07-12
Click to expand...
Click to collapse
This seems like a really nice tool to users new to ADB, nice work man!

FYI, there is an Ubuntu package called android-tools-adb that includes ADB & Fastboot.
It also appears to be in Debian repositories, so it likely works with all Debian derivatives.
I'd be happy to help test your linux based tool if/when you get to that point.
I'm no programmer, but i've been running all linux at home for a couple years, so I might have some good ideas :highfive:

topnomi said:
FYI, there is an Ubuntu package called android-tools-adb that includes ADB & Fastboot.
It also appears to be in Debian repositories, so it likely works with all Debian derivatives.
I'd be happy to help test your linux based tool if/when you get to that point.
I'm no programmer, but i've been running all linux at home for a couple years, so I might have some good ideas :highfive:
Click to expand...
Click to collapse
thanks, that would be great help for sure.

Just ran it in Ubuntu 14.04 with:
Code:
java -jar Simple_ADB.jar
Please change "adb devices" to "adb devices -l" (lowercase L). Longer output with board name.

ranf said:
Just ran it in Ubuntu 14.04 with:
Code:
java -jar Simple_ADB.jar
Please change "adb devices" to "adb devices -l" (lowercase L).
Click to expand...
Click to collapse
Does everything work fine? Thanks for testing!

I only tried adb devices and logcat so far. -l is just a feature request.
More features I miss
Code:
fastboot devices -l
fastboot reboot

ranf said:
Just ran it in Ubuntu 14.04 with:
Code:
java -jar Simple_ADB.jar
ranf said:
I only tried ad devices and logcat so far. -l is just a feature request.
Click to expand...
Click to collapse
@ranf fastboot reboot does exists: reboot to fastboot mode
Thanks, I'll change it, and thanks for testing, feel free to test other commands
topnomi said:
FYI, there is an Ubuntu package called android-tools-adb that includes ADB & Fastboot.
It also appears to be in Debian repositories, so it likely works with all Debian derivatives.
I'd be happy to help test your linux based tool if/when you get to that point.
I'm no programmer, but i've been running all linux at home for a couple years, so I might have some good ideas :highfive:
Click to expand...
Click to collapse
What about starting now, it would be helpful if you tested it now, it seems working, although I don't really know (why) lol
Click to expand...
Click to collapse

Mohamed Hashem said:
@ranf fastboot reboot does exists: reboot to fastboot mode
Click to expand...
Click to collapse
fastboot knows 2 reboots:
- reboot reboot device normally
- reboot-bootloader reboot device into bootloader

ranf said:
fastboot knows 2 reboots:
- reboot reboot device normally
- reboot-bootloader reboot device into bootloader
Click to expand...
Click to collapse
Oh I see, it's found under adb commands as reboot to bootloader, maybe I'll move it to fastboot to avoid confusion.

Great! I love it.
Will you add more commands?

Newyork! said:
Great! I love it.
Will you add more commands?
Click to expand...
Click to collapse
I'm open for suggestions
Also, that's why I've implemented "Your own command" option.

@Mohamed Hashem i belive i can tweak the UI to get close to the window's metro ui which is attractive, stunning and simple if you make it's source open. It's already a good program. And with some furnishings on the UI, it can be the de facto adb for a few years. What say?

iamsubhranil said:
@Mohamed Hashem i belive i can tweak the UI to get close to the window's metro ui which is attractive, stunning and simple if you make it's source open. It's already a good program. And with some furnishings on the UI, it can be the de facto adb for a few years. What say?
Click to expand...
Click to collapse
well, after seeing the initial poll answers, I think I'm taking the Open-source option seriously so whenever I publish it, You're free to do so
Also, I'm about to take a look at JavaFx to polish the ui, thus, We will have multiple good user interfaces, and this is definitely always better

Mohamed Hashem said:
well, after seeing the initial poll answers, I think I'm taking the Open-source option seriously so whenever I publish it, You're free to do so
Also, I'm about to learn javaFx to polish the ui, thus, We will have multiple good user interfaces, and this is definitely always better
Click to expand...
Click to collapse
I know about JavaFX and CSS stuff quite well from my self learning of 1 and a half years. I have some good metro like stylesheets ready to go with built in accent and base theme changing support. I look forward to the aforementioned happening.

Dovidhalevi said:
...
So this runs on Linux. Install adb does nothing. Own command has no command input to use. Need a on-phone file-browser for file to pull. Need option to save logcat to a file. Small things..
Click to expand...
Click to collapse
I indeed ran it under linux, usual java -jar ....was able to exercise adb commands as I describe.
Will always get io-exceptions when hitting abort.
Other exceptions may be due to the Process.start()
Mohamed Hashem said:
Till now I've been using java's regular Process.start() method, It's for Windows only,
Thanks for the help, I'll check.
Edit: own command, intended to allow users to write their command in the same red area, But I'll check, and yes save logcat into file is coming.
Click to expand...
Click to collapse
Great!
topnomi said:
FYI, there is an Ubuntu package called android-tools-adb that includes ADB & Fastboot.
It also appears to be in Debian repositories, so it likely works with all Debian derivatives.
I'd be happy to help test your linux based tool if/when you get to that point.
I'm no programmer, but i've been running all linux at home for a couple years, so I might have some good ideas :highfive:
Click to expand...
Click to collapse
You can run it right now as described!

Dovidhalevi said:
I indeed ran it under linux, usual java -jar ....was able to exercise adb commands as I describe.
Will always get io-exceptions when hitting abort.
Other exceptions may be due to the Process.start()
Actually I think that IOExeption comes from start()
did you face other exceptions?
Besides Abort, does executing commands actually work?
You can run it right now as described!
Click to expand...
Click to collapse
The described solves the second problem (adb installation) but the second problem still needs testing\investigation
Thanks for testing and information

Related

Set up/run adb on a MAC

Can someone please help me, or point me in the right direction on how to setup and run simple commands through adb on a MAC? Yes, I've used the search, and yes I've searched all over the internet but I still cannot figure it out. Sorry for my stupidity lol
But any help would be greatly appreciated, thank you
Perhaps you could say a few words about what you have tried already and where you are stopped.
I'm assuming you've downloaded and installed the Mac version of the SDK, yes?
On the phone, you need to turn on Settings -> Applications -> Development -> USB debugging (and may as well check "Stay awake", too).
I don't have a OS/X box, but on Linux you need to perform the *first* adb command as root... the first time an "adb" command is run (after a reboot) it starts up an adb-server process, and that needs to be priviliged enough to write to USB. (After that, you can run adb commands as any user, since those commands "talk" to the adb-server on your Mac, which in turn talks to the phone over the USB cable.)
bftb0
Go to developer. android. com/sdk/index.html (take out the spaces - I still can't post links for some reason) and download the Android SDK for Mac. That same page also includes directions on how to get started with installation. You'll be using the Terminal within Mac OS X for ADB commands, so I would recommend getting comfortable with Terminal before jumping into the SDK. Unfortunately, you'll have to look this up because I couldn't even begin to explain everything, nor do I have the time. Hope the rest helps, though.
bftb0 said:
Perhaps you could say a few words about what you have tried already and where you are stopped.
I'm assuming you've downloaded and installed the Mac version of the SDK, yes?
On the phone, you need to turn on Settings -> Applications -> Development -> USB debugging (and may as well check "Stay awake", too).
I don't have a OS/X box, but on Linux you need to perform the *first* adb command as root... the first time an "adb" command is run (after a reboot) it starts up an adb-server process, and that needs to be priviliged enough to write to USB. (After that, you can run adb commands as any user, since those commands "talk" to the adb-server on your Mac, which in turn talks to the phone over the USB cable.)
bftb0
Click to expand...
Click to collapse
Yes I've downloaded and installed the sdk, turned debugging on and now im trying to flash the recovery image onto my phone and that is where im lost at because I don't know exactly what to do
Los-O said:
Yes I've downloaded and installed the sdk, turned debugging on and now im trying to flash the recovery image onto my phone and that is where im lost at because I don't know exactly what to do
Click to expand...
Click to collapse
Note that what you are asking (now) is completely different than what you asked about in your OP - in fact, OS X is immaterial, really, in light of what you just indicated. That suggests that you are in a hurry... if that is the case, I recommend you spend a couple days reading before you rush off and do something you might regret. It is evident from your response that you really have not been reading the threads here with much diligence.
If you are trying to flash a recovery image, that implies that your phone is already rooted; either that what you are trying it isn't going to work - you have to have a rooted phone to begin with before you flash a custom recovery image. At the moment, you can root your Eris only if it has a 1.5 (1.16.605.1 or 1.17.605.1) official Verizon/HTC release on it. This has been described if not a hundred times in the threads here, at least tens of times - you need to read some more.
Nevertheless, if you want to rush into something, here is a step by step set of instructions which was current a couple of days ago. I won't vouch for it being 100% up to date with the latest and greatest images (either ROM or recovery), but it completely describes the process involved.
Stock 1.5 --> Root (2.1) install --> Custom Recovery install -> recovery to custom ROM 0.3. That's what is working at the moment.
bftb0
bftb0 said:
Note that what you are asking (now) is completely different than what you asked about in your OP - in fact, OS X is immaterial, really, in light of what you just indicated. That suggests that you are in a hurry... if that is the case, I recommend you spend a couple days reading before you rush off and do something you might regret. It is evident from your response that you really have not been reading the threads here with much diligence.
If you are trying to flash a recovery image, that implies that your phone is already rooted; either that what you are trying it isn't going to work - you have to have a rooted phone to begin with before you flash a custom recovery image. At the moment, you can root your Eris only if it has a 1.5 (1.16.605.1 or 1.17.605.1) official Verizon/HTC release on it. This has been described if not a hundred times in the threads here, at least tens of times - you need to read some more.
Stock 1.5 --> Root (2.1) install --> Custom Recovery install -> recovery to custom ROM 0.3. That's what is working at the moment.
bftb0
Click to expand...
Click to collapse
I've already rooted my phone
Los-O said:
I've already rooted my phone
Click to expand...
Click to collapse
Well, then you should be on your way; the instructions for what you are trying to attempt are in that link I provided for you in answer to your question (which you purposely redacted when you quoted my post).
I understand that it's your first post, and I should give some leeway for that reason alone, especially since you might have gotten root without ever having used "adb" or "fastboot". (PB00IMG.ZIP method).
On the other hand, I think you can see my point. Please try to avoid wasting other people's time by providing them useful & relevant details of your situation so they can give you good answers. And reading some of the links adjacent to your own post which actually give exactly the details you are asking for might be a good idea, too.
You wanted to know "What are the directions to DisneyWorld?", but instead asked "How do I put gas in my car?" - when you already knew exactly how to do that. But don't take my word for it - reread your first post for yourself - it actually says nothing about what you are trying to do.
I don't know, maybe I got this all wrong, and you still don't have your phone talking to your OS X machine correctly with adb, and that's the source of the trouble. But then, there would be no way to know one way or another - you haven't really said.
bftb0
Download the android sdk and run this automator script.
20 Questions
Los-O:
You said "any help would be greatly appreciated." Maybe that will also include help from the surly folks, such as me.
You said you have "downloaded and installed the SDK". Let's start there. (Also, note that the Android SDK for Mac OS X is only for x86 Apple machines - stop right here if you are using an older PPC based OS X machine).
The Mac SDK is in a .zip file. I presume that means that you unzipped it somewhere on your hard drive, and that you can remember what the folder name/directory name is where you unpacked all those files. (From where I sit, that could mean that you used a GUI based tool, or something from the command line to unpack the files; but I am guessing.)
Here is a flowchart to help you with the steps.
(1) Have you successfully run the "adb" command from within a Terminal window? (Yes: goto (4), No: Continue)
(2) Do you know how to open a Terminal window in OS X? (Yes: goto (4), No: Continue)
(3) Have a look at this information about Terminal on OS X, and then
(4) Start a Terminal window up.
(5) When you type the command (followed by hitting the Enter key):
Code:
adb --help
at the command line, do you get a pageful of information about the adb command, or an error such as "command not found"? (Help Info: goto step (7), No: Continue)
(6) Add to your PATH the location of the SDK tools (including "adb"). For this step, you need to recall where you unpacked your .zip file. On my Linux box, the "adb" command (and others) are located in the folder at
/opt/android/android-sdk_r05-linux_86/tools/
where the part "/opt/android/" is the folder I unzipped them in. For OS X, surely the next folder name in the path is something other than "android-sdk-linux_86" - just poke around in whatever OS X uses as a file browser, and look for the "tools" folder underneath where you unpacked the files. Once you have done that, you should be able to type the full "path" to that (tools) folder in a command.
Let's suppose that the complete path to that "tools" folder looks something like this:
/HardDrive1/foo/bar/android-sdk_r05-mac_86/tools
Then, for example, we would add this to the current terminal (shell) PATH using the following command:
Code:
export PATH=${PATH}:/HardDrive1/foo/bar/android-sdk_r05-mac_86/tools
Obviously, you would change the part "HardDrive...86" so it matches the complete path to the "tools" folder in the SDK which you unpacked onto your machine.
You can inspect the value of PATH for correctness by typing the command
Code:
echo $PATH
Now, go back to step (5) and keep at steps 5-6 until you are able to run the "adb --help" command successfully - that is, get it to print some help information. Don't close this Terminal window after you have the PATH set correctly - we are going to use it shortly.***
(7) Plug the phone into the USB cable and the USB cable into the computer
(8) On the phone, make sure that Settings -> Applications -> Development -> USB debugging is toggled on.
(9) In the terminal window from step (6), type the commands
Code:
adb kill-server
adb devices
You will see one of three things at this point after the "adb devices" command executes:
A. (this is what we want to see)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT9ABCDnnnnn device
If you see this, very good: adb has detected your phone and talked to it; continue to step # (10).
B. (not good - you probably need to run adb as the root user)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
???????????? no permissions
In this case, the "adb" command ran, and detected the presence of the phone, but does not have sufficient privileges to write to the USB device; whether or not this happens in a given flavor or Unix (e.g. OS X) depends on what user and group permissions are set on the device, and which "groups" regular users are in. Not having OS X in front of me, I can not predict; but the solution in this case is to run the command as the root user.
It is my impression that OS X has the "sudo" command for this purpose (read here); if that is the case, then you might want to run the commands
Code:
adb kill-server
sudo `which adb` devices
If sudo is not available to you, or not setup correctly, you might have to read this Apple Technical Note, or this one, or this one
C. (some other problem - no USB device is detected)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
Your on your own for this one - consult your local Apple OS X expert!
(10) Now you are ready to communicate with the phone using "adb" commands.
Note that running the "adb" command for the first time after your OS X machine is booted up creates a long lived adb "server" process. (You might see it in a "ps" command listing as "adb fork-server"). That process is what actually communicates with the phone. Any subsequent "adb" command first communicates with that "adb server" on your OS X machine, and then the server communicates with the phone.
Sometimes it goes stale or gets cranky after unplugging the phone too many times. Simply re-start if you want by doing a "adb kill-server" (any user can do this), followed by any adb command, keeping in mind the results from step # (9) above.
OK, whew! The desired goal was to get a recovery image loaded on to the Eris after it had been rooted - it is time to do that, as adb is working now.
See the Instructions by GrdLock here, in the section entitled "II. Installing Amon's recovery image"
bftb0
***The setting of the PATH when you use the Terminal app using the directions given in step # (6) only last for the life of a single Terminal session. If you want to make this change in such a way that it will be already set up every time you open a new Terminal window, you need to do this by editing a file in your home folder - either ".bash_profile" or ".bashrc" . (Different files names are used depending on which "shell" is used). Setting this up is an exercise left up to the interested reader.
Once you have the android sdk unzipped, add the full path to the android tools directory to your path.
I just added the path to my .bash_profile.
For me it looks like this:
export ANDROID-SDK=/Users/Aaron/android-sdk/
export PATH=$ANDROID-SDK/toolsATH
Then I save and close my bash_profile and run the command, from the terminal:
source .bash_profile
This reloads the bash_profile into the shell. Then cd to your android tools directory. Once you get into the tools directory type the command adb. If everything is correct you should see a help menu spit out to the console.
If you need help with your bash_profile a simple google search will help you out.
hey bftb0,
just wanted to chime in and say thanks for that step-by-step. been wrestling with the same issues as the original poster and your walk through got it going. thanks for being patient.
taocow
bftb0,
thank you so so soo much for that last post, I think i've finally figured it out. and also thank you for your patience, i wish i could buy you a coke or something lol
taocow said:
hey bftb0,
just wanted to chime in and say thanks for that step-by-step. been wrestling with the same issues as the original poster and your walk through got it going. thanks for being patient.
taocow
Click to expand...
Click to collapse
los-O said:
bftb0,
thank you so so soo much for that last post, I think i've finally figured it out. and also thank you for your patience, i wish i could buy you a coke or something lol
Click to expand...
Click to collapse
taocow / los-O
Did you need to run the first "adb" command as root with "sudo" ? Let me know - and also mention the version of OS X that you are using; maybe it will help other Mac users if they read this thread. (I got the impression from reading a little bit that different releases of OS X might handle "sudo" a little differently - or have different device permissions for regular users.)
Also, in reviewing this thread, I have to say ... I acted like an a$$. And I should know better, I did IT for a while. If there is one thing I learned about dealing with people and computers, it's that it is extremely easy for a misunderstanding to occur, and especially if you are helping someone out over the phone or via mail/forum. Please accept my apologies.
bftb0
bftb0 said:
taocow / los-O
Did you need to run the first "adb" command as root with "sudo" ? Let me know - and also mention the version of OS X that you are using; maybe it will help other Mac users if they read this thread. (I got the impression from reading a little bit that different releases of OS X might handle "sudo" a little differently - or have different device permissions for regular users.)
Also, in reviewing this thread, I have to say ... I acted like an a$$. And I should know better, I did IT for a while. If there is one thing I learned about dealing with people and computers, it's that it is extremely easy for a misunderstanding to occur, and especially if you are helping someone out over the phone or via mail/forum. Please accept my apologies.
bftb0
Click to expand...
Click to collapse
also now im able to install the recovery (thanks to you) but when i try and push the recovery and flash images i get
"cannot stat 'recovery.img': No such file or directory" same for the flash image
but i put the files in the tools folder like the guide said to do...?
also im on OS X 10.6.2, but no i didnt have to use the "sudo" thing you were talking about, the "adb devices" command worked the first try. and dont worry about it, i understand where you were coming from. but apology accepted, though
Los-O said:
also now im able to install the recovery (thanks to you) but when i try and push the recovery and flash images i get "cannot stat 'recovery.img': No such file or directory" same for the flash image but i put the files in the tools folder like the guide said to do...?
Click to expand...
Click to collapse
That sounds like you are referring to the files by name, but they are not in the current directory where you are running the fastboot command.
The "pwd" command (Print Working Directory) tells you what your current directory is.
The "cd folder-path" command (Change Directory) allows you to change the Terminal/Shell's idea of where the "current directory" is.
The idea behind the PATH variable is that it is a searchable list (separated by ':' colon characters), so that you can be in a given directory with the files you want to manipulate, but the commands you use are in other directories. When you start a command by typing its' name, the Terminal/Shell app walks through that list of folders in PATH (from left to right in order), looking for that program by name.
That means that if you want to run a program ("proggie") that opens a file ("myfile") that is in the current directory you might type the command.
$ proggie myfile
(or $ proggie ./myfile )
... and as long as "proggie" was in one of the folders listed in your PATH, it would run, and find your file "myfile".
But, there is no requirement that you be in the same directory with your files, or the program that you are running (for instance "fastboot"). In those cases, you need to explicitly specify the complete path to your files or programs, so they can be found. For instance:
$ proggie /users/los-o/mystuff/project3/myfile
or, if "proggie" was not in a folder in your PATH, but you knew that it was located in /opt/tools, you could type the command
$ /opt/tools/proggie myfile
If your current directory contains the file "myfile", or
$ /opt/tools/proggie /users/los-o/mystuff/project/myfile.
Same deal with fastboot - you give it the name of the recovery file as the 3rd argument on the "command line"
$ fastboot flash recovery name-of-my-copy-of-the-recovery-file.img
bftb0
*Whew!* Ok thanks again bftb0 for all the help, I think im finally starting to get the hang of this adb stuff
u have a knack for teaching
bftb0 said:
Los-O:
You said "any help would be greatly appreciated." Maybe that will also include help from the surly folks, such as me.
You said you have "downloaded and installed the SDK". Let's start there. (Also, note that the Android SDK for Mac OS X is only for x86 Apple machines - stop right here if you are using an older PPC based OS X machine).
The Mac SDK is in a .zip file. I presume that means that you unzipped it somewhere on your hard drive, and that you can remember what the folder name/directory name is where you unpacked all those files. (From where I sit, that could mean that you used a GUI based tool, or something from the command line to unpack the files; but I am guessing.)
Here is a flowchart to help you with the steps.
(1) Have you successfully run the "adb" command from within a Terminal window? (Yes: goto (4), No: Continue)
(2) Do you know how to open a Terminal window in OS X? (Yes: goto (4), No: Continue)
(3) Have a look at this information about Terminal on OS X, and then
(4) Start a Terminal window up.
(5) When you type the command (followed by hitting the Enter key):
Code:
adb --help
at the command line, do you get a pageful of information about the adb command, or an error such as "command not found"? (Help Info: goto step (7), No: Continue)
(6) Add to your PATH the location of the SDK tools (including "adb"). For this step, you need to recall where you unpacked your .zip file. On my Linux box, the "adb" command (and others) are located in the folder at
/opt/android/android-sdk_r05-linux_86/tools/
where the part "/opt/android/" is the folder I unzipped them in. For OS X, surely the next folder name in the path is something other than "android-sdk-linux_86" - just poke around in whatever OS X uses as a file browser, and look for the "tools" folder underneath where you unpacked the files. Once you have done that, you should be able to type the full "path" to that (tools) folder in a command.
Let's suppose that the complete path to that "tools" folder looks something like this:
/HardDrive1/foo/bar/android-sdk_r05-mac_86/tools
Then, for example, we would add this to the current terminal (shell) PATH using the following command:
Code:
export PATH=${PATH}:/HardDrive1/foo/bar/android-sdk_r05-mac_86/tools
Obviously, you would change the part "HardDrive...86" so it matches the complete path to the "tools" folder in the SDK which you unpacked onto your machine.
You can inspect the value of PATH for correctness by typing the command
Code:
echo $PATH
Now, go back to step (5) and keep at steps 5-6 until you are able to run the "adb --help" command successfully - that is, get it to print some help information. Don't close this Terminal window after you have the PATH set correctly - we are going to use it shortly.***
(7) Plug the phone into the USB cable and the USB cable into the computer
(8) On the phone, make sure that Settings -> Applications -> Development -> USB debugging is toggled on.
(9) In the terminal window from step (6), type the commands
Code:
adb kill-server
adb devices
You will see one of three things at this point after the "adb devices" command executes:
A. (this is what we want to see)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT9ABCDnnnnn device
If you see this, very good: adb has detected your phone and talked to it; continue to step # (10).
B. (not good - you probably need to run adb as the root user)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
???????????? no permissions
In this case, the "adb" command ran, and detected the presence of the phone, but does not have sufficient privileges to write to the USB device; whether or not this happens in a given flavor or Unix (e.g. OS X) depends on what user and group permissions are set on the device, and which "groups" regular users are in. Not having OS X in front of me, I can not predict; but the solution in this case is to run the command as the root user.
It is my impression that OS X has the "sudo" command for this purpose (read here); if that is the case, then you might want to run the commands
Code:
adb kill-server
sudo `which adb` devices
If sudo is not available to you, or not setup correctly, you might have to read this Apple Technical Note, or this one, or this one
C. (some other problem - no USB device is detected)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
Your on your own for this one - consult your local Apple OS X expert!
(10) Now you are ready to communicate with the phone using "adb" commands.
Note that running the "adb" command for the first time after your OS X machine is booted up creates a long lived adb "server" process. (You might see it in a "ps" command listing as "adb fork-server"). That process is what actually communicates with the phone. Any subsequent "adb" command first communicates with that "adb server" on your OS X machine, and then the server communicates with the phone.
Sometimes it goes stale or gets cranky after unplugging the phone too many times. Simply re-start if you want by doing a "adb kill-server" (any user can do this), followed by any adb command, keeping in mind the results from step # (9) above.
OK, whew! The desired goal was to get a recovery image loaded on to the Eris after it had been rooted - it is time to do that, as adb is working now.
See the Instructions by GrdLock here, in the section entitled "II. Installing Amon's recovery image"
bftb0
***The setting of the PATH when you use the Terminal app using the directions given in step # (6) only last for the life of a single Terminal session. If you want to make this change in such a way that it will be already set up every time you open a new Terminal window, you need to do this by editing a file in your home folder - either ".bash_profile" or ".bashrc" . (Different files names are used depending on which "shell" is used). Setting this up is an exercise left up to the interested reader.
Click to expand...
Click to collapse
excellent post...very helpful
Los-O said:
Can someone please help me, or point me in the right direction on how to setup and run simple commands through adb on a MAC? Yes, I've used the search, and yes I've searched all over the internet but I still cannot figure it out. Sorry for my stupidity lol
But any help would be greatly appreciated, thank you
Click to expand...
Click to collapse
I do everything on a Mac, so I would be the guy to ask. How far did you get? Have you unzipped the sdk to a folder?
Basically the difference between mac and others is that when others do a command like adb, we have to do ./adb This is true for other commands too. It's easy once you get used to it.
bftb0,
Thanks so much! Step 6 solved my problem
Thank you!!
bftb0 said:
Los-O:
You said "any help would be greatly appreciated." Maybe that will also include help from the surly folks, such as me.
You said you have "downloaded and installed the SDK". Let's start there. (Also, note that the Android SDK for Mac OS X is only for x86 Apple machines - stop right here if you are using an older PPC based OS X machine).
The Mac SDK is in a .zip file. I presume that means that you unzipped it somewhere on your hard drive, and that you can remember what the folder name/directory name is where you unpacked all those files. (From where I sit, that could mean that you used a GUI based tool, or something from the command line to unpack the files; but I am guessing.)
Here is a flowchart to help you with the steps.
(1) Have you successfully run the "adb" command from within a Terminal window? (Yes: goto (4), No: Continue)
(2) Do you know how to open a Terminal window in OS X? (Yes: goto (4), No: Continue)
(3) Have a look at this information about Terminal on OS X, and then
(4) Start a Terminal window up.
(5) When you type the command (followed by hitting the Enter key):
Code:
adb --help
at the command line, do you get a pageful of information about the adb command, or an error such as "command not found"? (Help Info: goto step (7), No: Continue)
(6) Add to your PATH the location of the SDK tools (including "adb"). For this step, you need to recall where you unpacked your .zip file. On my Linux box, the "adb" command (and others) are located in the folder at
/opt/android/android-sdk_r05-linux_86/tools/
where the part "/opt/android/" is the folder I unzipped them in. For OS X, surely the next folder name in the path is something other than "android-sdk-linux_86" - just poke around in whatever OS X uses as a file browser, and look for the "tools" folder underneath where you unpacked the files. Once you have done that, you should be able to type the full "path" to that (tools) folder in a command.
Let's suppose that the complete path to that "tools" folder looks something like this:
/HardDrive1/foo/bar/android-sdk_r05-mac_86/tools
Then, for example, we would add this to the current terminal (shell) PATH using the following command:
Code:
export PATH=${PATH}:/HardDrive1/foo/bar/android-sdk_r05-mac_86/tools
Obviously, you would change the part "HardDrive...86" so it matches the complete path to the "tools" folder in the SDK which you unpacked onto your machine.
You can inspect the value of PATH for correctness by typing the command
Code:
echo $PATH
Now, go back to step (5) and keep at steps 5-6 until you are able to run the "adb --help" command successfully - that is, get it to print some help information. Don't close this Terminal window after you have the PATH set correctly - we are going to use it shortly.***
(7) Plug the phone into the USB cable and the USB cable into the computer
(8) On the phone, make sure that Settings -> Applications -> Development -> USB debugging is toggled on.
(9) In the terminal window from step (6), type the commands
Code:
adb kill-server
adb devices
You will see one of three things at this point after the "adb devices" command executes:
A. (this is what we want to see)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT9ABCDnnnnn device
If you see this, very good: adb has detected your phone and talked to it; continue to step # (10).
B. (not good - you probably need to run adb as the root user)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
???????????? no permissions
In this case, the "adb" command ran, and detected the presence of the phone, but does not have sufficient privileges to write to the USB device; whether or not this happens in a given flavor or Unix (e.g. OS X) depends on what user and group permissions are set on the device, and which "groups" regular users are in. Not having OS X in front of me, I can not predict; but the solution in this case is to run the command as the root user.
It is my impression that OS X has the "sudo" command for this purpose (read here); if that is the case, then you might want to run the commands
Code:
adb kill-server
sudo `which adb` devices
If sudo is not available to you, or not setup correctly, you might have to read this Apple Technical Note, or this one, or this one
C. (some other problem - no USB device is detected)
Code:
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
Your on your own for this one - consult your local Apple OS X expert!
(10) Now you are ready to communicate with the phone using "adb" commands.
Note that running the "adb" command for the first time after your OS X machine is booted up creates a long lived adb "server" process. (You might see it in a "ps" command listing as "adb fork-server"). That process is what actually communicates with the phone. Any subsequent "adb" command first communicates with that "adb server" on your OS X machine, and then the server communicates with the phone.
Sometimes it goes stale or gets cranky after unplugging the phone too many times. Simply re-start if you want by doing a "adb kill-server" (any user can do this), followed by any adb command, keeping in mind the results from step # (9) above.
OK, whew! The desired goal was to get a recovery image loaded on to the Eris after it had been rooted - it is time to do that, as adb is working now.
See the Instructions by GrdLock here, in the section entitled "II. Installing Amon's recovery image"
bftb0
***The setting of the PATH when you use the Terminal app using the directions given in step # (6) only last for the life of a single Terminal session. If you want to make this change in such a way that it will be already set up every time you open a new Terminal window, you need to do this by editing a file in your home folder - either ".bash_profile" or ".bashrc" . (Different files names are used depending on which "shell" is used). Setting this up is an exercise left up to the interested reader.
Click to expand...
Click to collapse
Wow what a straightforward guide to helping me get this set up!! A million thanks! I don't even have an Eris, but what model of the phone you have is irrevelant to this guide...
Thanks again!!

[How To] Installing Custom Kernels

Okay, this guide is for users with less experience and want to overclock their Kindle Fire. This is for Windows.
This section is if you haven't installed ADB yet
1) You need to download the Android SDK
Android SDK: http://developer.android.com/sdk/index.html
2) Open the SDK Manager and install the SDK Tools and SDK Platform Tools
3) You need to add the ADB path. First find where you installed the Android SDK.The default is in C:\Program Files\Android\Android-sdk or C:\Program Files (x86)\Android\Android-sdk, you can check in the SDK Manager at the top, it will tell you your path. Then click on the start button, and right click on my computer and hit properties. Then on the left click Advanced System Settings In the next box at the bottom is Environment Variables click on this. Under System Variables find the variable that says Path DO NOT DELETE THIS VARIABLE! Hit Edit and at the the end put:
;YOUR ANDROID SDK PATH\tools;YOUR ANDROID SDK PATH\platform-tools
Then hit OK.
ADB install tutorial is now finished
4)Now we want to add the correct drivers. There are a couple of ways to do this, this is the way I do it. Again right click on My Computer, and click properties. Now in the top left corner is Device Manager click on this. Now find where it says Kindle and right click it. Click the drivers tab and then Update Drivers and then browse my computer for driver software. Then click, let me choose from a list on my computer and click adb interface, and then either a ADB Testing Interface, or fastboot Interface, both work for what we are doing.
5) The next thing you want is a kernel so download and put in the \platform-tools folder.
IntersectRaven's: http://forum.xda-developers.com/showthread.php?t=1382999
DoomLord's: http://forum.xda-developers.com/showthread.php?t=1372625
6) Plug your Kindle Fire into your computer
7) Open a CMD window. Hit start and run CMD.exe or search for CMD. Then type into cmd:
adb shell
idme bootmode 4002
reboot
8) Open another CMD and type cd YOUR ANDROID SDK PATH \platform-tools. Then type:
fastboot boot NAME OF KERNEL.img
9) Now your Kindle will reboot, make sure it boots! Now that you have verified that it works we are ready to flash it.
10) Shutdown your Kindle Fire.
11) Use your old CMD with fastboot, and type:
fastboot flash boot NAME OF KERNEL.img
12) It will probably get stuck in booting at this point. With the fastboot CMD type:
fastboot oem idme bootmode 4000
it will say waiting for device, do not close this CMD!
13) Now hold down the power button until your device turns off. Then turn it on again, and the command will register.
14) Let your Kindle Fire boot and enjoy your new kernel!
If this doesn't work please leave a comment, or if I forgot anything, I am kind of tired while writing this. I may add pictures later. Thanks!
All this does is boots the custom kernel a single time (which you MUST do to test it). You still need to flash it.
Sent from my Gingervolt-ed VS910 4G using xda premium
Sorry, I will add the rest soon, slipped my tired mind.
do we really need the whole android and java sdk ?
the only commands used is adb and fastboot.
woud'nt the tools directory of KFU be enough since it contains the necessary commands ?
furthermore the driver installation is a essential part for correct operation of adb and fastboot
and don't forget so say your how-to is for windows
I haven't looked at the KFU much yet, so I don't know. I added that it is for windows and removed the java sdk. And added how to flash the kernel.
Accessory mode suppot
Are any Fire kernels available that support Accessory Mode aka ADK.
The changes that need to be made to the kernel are available from Google. They are in the main 3.x kernel source tree and in the samsung source tree of the 2.6.35 kernel.

[HOW-TO] Lenovo IdeaTab A1000 Rooting

HOW TO ROOT YOUR LENOVO IDEATAB A1000​
<DISCLAIMER>​
By attempting these steps, your warranty will be void. Even worse than that, it might cause crashes, freezes, random explosions, 2nd degree burns, or even turn your beloved tab into $100+ paperweight. What works on mine might not work on yours, so don't attempt if you don't know what you're doing. Do at your own risk. Corrections are welcome. I must admit that I'm not an expert, so any info I posted might be wrong, and I can't offer you much help. I'm not responsible for anything arising from the use of this how-to. I can only wish you good luck.
<WHY ROOT?>​
- Without root or OTA upgrades (at time of writing, Indonesian customers still can't get it), you'll be stuck with ~500MB internal memory. That's annoying.
- You're stuck with the default IO scheduler (cfq) and governor (hybrid, haven't heard that one..)
- You have an incredibly large amount of bloatware you can't get rid of, in that already cramped up internal storage
- Did I mention freedom?
<REQUIREMENTS>​
This method is originally used to root Acer Iconia B1-A71. Somehow I noticed that the two actually has the same chipset, MTK8317 (if it really was relevant ). So I tried the method, and through sheer n00b's luck, it worked like a charm!
Lenovo IdeaPad A1000-G --> 4GB storage, 2G/EDGE. This method haven't been tested on A1000-T/F, different storage cap (16GB, etc.) or other variants, but it should work with slight modification. Screenshots of my specs are attached below. Remember, proceed at your own risk!
A Linux System. Never tried on Windows or Mac. I personally used Linux Mint 15. The source post uses Ubuntu.
working ADB (android-tools-adb). You can get this from synaptics, apt-get, etc. If your system can detect adb devices, you should be fine.
Superuser Binary
Busybox Binary (You can get these two from the links on original post. XDA says noobs can't post links :'( )
ORIGINAL THREAD
<CREDITS>​
XDA Senior Member entonjackson, for writing such a noob-friendly how-to for rooting Acer Iconia B1-A71 and for allowing me to use it for this how-to.
XDA Member alba81, for discovering the method as acknowledged on the original post by entonjackson
All awesome gurus on XDA which I can't mention one by one.
<THE STEPS>​
1. Extract the android sdk to your home folder, e.g. a user named Bob will use like /home/bob
2. Open a terminal
3. Now plug your A1000 into your machine and turn on Debugging Mode (Go into Settings -> Developer Tools, turn on Developer tools, then turn on USB Debugging Mode)
4. Now back at the keyboard of your Linux machine in your terminal type:
Code:
sudo adb devices
The output should be something like:
Code:
123456789ABCDEF device
If it's not, google for it. Somehow your Linux hasn't detected the A1000, although the android sdk for Linux brings all needed drivers with it.
If your device was found, congratulations. The adb connection between your linux machine and your tablet is intact.
5. Now extract the downloaded busybox archive to your home folder, in it there should be a busybox binary. So Bob does:
Code:
sudo ./adb push /home/bob/busybox /data/local/tmp
Code:
sudo ./adb shell
Code:
chmod 755 /data/local/tmp/busybox
6. You should copy the busybox binary into a directory where you can access it as a plain non-root user on the tablet. We need this binary. so we can apply unix tools like telnet, dd, cat, etc. But for now we need it to establish a telnet session between our tablet and our linux machine.
(This point is written on original post. Seems important, but as soon as I finished step 5, I can use those tools)
7. Dial *#*#3646633#*#* to enter Engineer Mode
8. Go to Connectivity -> CDS Information -> Network Utility
9. type the following command:
Code:
/data/local/tmp/busybox telnetd -l /system/bin/sh -p 1234
Advice from original poster: copy and paste it from the browser on your tablet, because dependent on which keyboard app installed, this can be freakin tricky. In the next step you will learn, why it's so important why this command should be correct.
10. Tap on Run. You won't get any feedback, so you will never know if the entered command runs properly or not. That's why you should make sure the command is ok.
Now we have started our telnet server on the tablet.
11. Back in the terminal type:
Code:
/data/local/tmp/busybox telnet 127.0.0.1 1234
If you now get an error like couldn't find busybox or something, then either adb push failed or you forgot to chmod, in step 5
12. Now enter:
Code:
cat /proc/dumchar_info
You should get a bunch of lines, try to find a line containing the partition named android
{..... partition list .....}
android 0x0000000028A00000 0x00000000020E8000 2 /dev/block/mmcblk0p3
{..... partition list .....}
13. We will create a dump of our android system. This is the point where different variants *MIGHT* have different parameters. This step is important, as wrong parameter will result in unmountable image.
Stop. Take a deep breath. If you're not familiar with dd, find a good doc of it. There's a plethora of them.
Get yourself a programmer's calculator (Linux Mint 15 has one built in).
Here's what you'll do :
Convert the hex number on the 3rd column into decimal. In my case (0x20E8000) will yield 34504704. Divide by 4096. The result (8424) goes to the skip parameter.
Convert the hex number on the 2nd column. In my case (0x28A00000) will yield 681574400. Divide by 4096. The result (166400) goes to the count parameter.
So the full dd command will look like :
Code:
dd if=/dev/block/mmcblk0 bs=4096 skip=8424 count=166400 | gzip > /cache/system.img.gz
Do a full sanity check before hitting enter! It will take about 5 minutes.
14. After it's finished we must make the image readable for adb, so we do:
Code:
chmod 777 /cache
and
Code:
chmod 777 /cache/system.img.gz
15. Leave the telnet, and then adb shell session by:
Code:
exit
Code:
exit
16. Now we pull our image by
Code:
sudo adb pull /cache/system.img.gz
wait 1-2 minutes.
It should be then located inside /home/bob. It did for me. If not, do a search . It should be a .gz, extract it right there (or /home/bob if it isn't there)
17. Now we need to modify our system image by adding the tiny but helpful su binary. Extract the SU binary to /home/bob.
18. We create a folder where we will mount our system image to. To create it do:
Code:
sudo mkdir /media/a1000
19. Now we mount it:
Code:
sudo mount -o loop /home/bob/system.img /media/a1000
if it fails, then you entered wrong parameters on step 13
20. Now we copy our SU binary to our mounted system image:
Code:
sudo cp /home/bob/su /media/a1000/bin
21. the su binary needs to have the proper rights to make it usable, so we 'suid' it with:
Code:
sudo chmod 06755 /media/a1000/bin/su
22. Let's unmount our baby by:
Code:
sudo umount /media/a1000
and because bob doesn't like a messed up system, he does:
Code:
sudo rm -rf /media/a1000
because he hopefully won't need it anymore.
23. We have to gzip it again to bring it back to where it belongs to. this we do by:
Code:
cd /home/bob
Code:
gzip /home/bob/system.img
24. So here we are now, we made it to the final Boss fight! The next steps are dangerous and should be performed with caution. We copy back our modified system image, which can brick your device, if you do a mistake! Enter adb shell again :
Code:
sudo adb shell
25. Remove the old boring image:
Code:
rm /cache/system.img.gz
26. Leave adb shell
Code:
exit
27. copy our cool new system image containing the su binary:
Code:
sudo adb push /home/bob/system.img.gz /cache
28. Enter adb shell again
Code:
sudo adb shell
29. Usually the telnet server on the tablet is still running, at least in my case it's been like that. That's why we can directly connect to the telnet server with:
Code:
/data/local/tmp/busybox telnet 127.0.0.1 1234
If this doesn't work, then obviously your telnet server isn't running anymore. So on your tablet if the telnet command is still entered (see step 9), tap on Run again and repeat step 29.
30. Now this is the most dangerous step in this how to (no it wasn't the mkdir one). You can copy following command to make sure everything is fine and paste it into your telnet session on your linux terminal.
<WARNING! SANITY CHECK! MAKE SURE *ALL* THE DD PARAMETERS MATCH THE FIRST DD (STEP 13) OR YOUR A1000 WILL TURN INTO A VERY EXPENSIVE PAPERWEIGHT!>
Code:
[B]/data/local/tmp/busybox zcat /cache/system.img.gz | dd of=/dev/block/mmcblk0 bs=4096 seek=8424 count=166400[/B]
After 1-2 minutes you're done, if your tablet or pc or yourself didn't catch fire, everything's fine.
31. Leave telnet / adb shell by doing
Code:
exit
Code:
exit
32. Reboot your A1000 via ADB, then exit
Code:
sudo adb reboot
Code:
exit
33. Unplug your tablet from PC
34. Install Superuser (No, not SuperSU, cause it won't work!). I personally use Superuser by ChainsDD, from Play Store
35. Be lucky. Your tablet and thus you are now free!
Don't forget to hit thanks, if this helps ​
hi, after step 13 (i double checked the command), i get this error
Code:
/system/bin/sh: can't create /cache/system.img.gz: Permission denied
/dev/block/mmcblk0: cannot open for read: Permission denied
I have the WiFi 4G version
Im too stuck in step 13.....nothing wrong with the script, can u give me a solution?
Im using A1000G also
@ts
Your guide work perfectl, in windows enviroment but mount step still need linux,
I've question are you using DirectoryBinding? Mine always close when playing Real Racing, its very annoying
You have suggeztion or alternative for DirectoryBinding?
Root with Windows ?
Hi,
I am a new member because i bought this tblet but i can't root. I don't have a linux environment, so there is a solution with W8 Pro 64 ?
Thanks a lot for you help,
ulisez said:
hi, after step 13 (i double checked the command), i get this error
Code:
/system/bin/sh: can't create /cache/system.img.gz: Permission denied
/dev/block/mmcblk0: cannot open for read: Permission denied
I have the WiFi 4G version
Click to expand...
Click to collapse
have you chmod-ed the busybox (or is the chmod successful without error)? Try chmod-ing the /cache before attempting step 13. It seems that you still don't have access to the NAND device (mmcblk0). Have you updated firmware via OTA?
artonelico said:
Im too stuck in step 13.....nothing wrong with the script, can u give me a solution?
Im using A1000G also
Click to expand...
Click to collapse
Do you encounter the same error message like ulisez had? Could you post the screenshot of the partition list (the lines after you execute dumchar_info)?
rmage said:
@ts
Your guide work perfectl, in windows enviroment but mount step still need linux,
I've question are you using DirectoryBinding? Mine always close when playing Real Racing, its very annoying
You have suggeztion or alternative for DirectoryBinding?
Click to expand...
Click to collapse
I personally use Link2SD by Bulent Akpinar to link apps to 2nd partition on my SDcard.
Letsar said:
Hi,
I am a new member because i bought this tblet but i can't root. I don't have a linux environment, so there is a solution with W8 Pro 64 ?
Thanks a lot for you help,
Click to expand...
Click to collapse
The original developer who posted the method (entonjackson) plans to integrate the method in the next release his toolkit, the Acer Iconia Toolkit. I think you should check his thread : http://forum.xda-developers.com/showthread.php?t=2240029
sammymaddog said:
have you chmod-ed the busybox (or is the chmod successful without error)? Try chmod-ing the /cache before attempting step 13. It seems that you still don't have access to the NAND device (mmcblk0). Have you updated firmware via OTA?
Do you encounter the same error message like ulisez had? Could you post the screenshot of the partition list (the lines after you execute dumchar_info)?
I personally use Link2SD by Bulent Akpinar to link apps to 2nd partition on my SDcard.
The original developer who posted the method (entonjackson) plans to integrate the method in the next release his toolkit, the Acer Iconia Toolkit. I think you should check his thread : http://forum.xda-developers.com/showthread.php?t=2240029
Click to expand...
Click to collapse
Link2SD doesn't link app data, do you have any option?
yes i had same message with ulyses, by the way im from indonesia too can i contact you through chat client?
oh yeah im using windows 7 and using cmd as a terminal in linux
thx before bro
sammymaddog said:
The original developer who posted the method (entonjackson) plans to integrate the method in the next release his toolkit, the Acer Iconia Toolkit. I think you should check his thread : http://forum.xda-developers.com/showthread.php?t=2240029
Click to expand...
Click to collapse
Ok, i see his toolkit. It's very good. I'll wait
rmage said:
Link2SD doesn't link app data, do you have any option?
Click to expand...
Click to collapse
I'm not sure whether the stock kernel of our devices supports init.d, thus supports CronMod/Data2SD. Lenovo locked our bootloader, and currently there's no way around it. So I personally think, Link2SD method are the best option for now.
Let's give it several months until our dev gurus bring their miracles upon this device
The attached image shows mt6577 Hardware, can u provide the Soc details please
Hi, Can any one upload Lenovo ideatab A1000 system.img
in step 20, it appears you are writing to a /bin directory on the android system. However such a directory is not visible either through shell or the system telnet account.
Do I need to understand something else about android to make sense of this.
regards
vidya
one month gone past but the op seems to be in caves or has bricked the device
STOCK ROM
CAN ANY BODY PROVIDE ME A STOCK ROM OF THIS DEVISE
I HV ROOTED SUCCESSFULLY BY A VERY EASY METHOD
BUT SCREWED UP WHILE UPDATING IT SO PLZ PLZ HELP ME OUT
THE DEVICE BOOTS BUT ALL THE APP CRASHES :crying::crying:
VR.gtmini said:
The attached image shows mt6577 Hardware, can u provide the Soc details please
Click to expand...
Click to collapse
VR.gtmini said:
one month gone past but the op seems to be in caves or has bricked the device
Click to expand...
Click to collapse
sorry to make you wait. I'm a last grader university student, and final project stuffs have got me pinned down. Hope you understand
Actually the SoC is MT8317. For some god-knows reason Mediatek have made this SoC with signatures similar to MT6577. But somehow CPU tweaker correctly detects the SoC (MT8317). Maybe it's the CPU-Z bug?
unknown_world said:
Hi, Can any one upload Lenovo ideatab A1000 system.img
Click to expand...
Click to collapse
zod0070 said:
CAN ANY BODY PROVIDE ME A STOCK ROM OF THIS DEVISE
I HV ROOTED SUCCESSFULLY BY A VERY EASY METHOD
BUT SCREWED UP WHILE UPDATING IT SO PLZ PLZ HELP ME OUT
THE DEVICE BOOTS BUT ALL THE APP CRASHES :crying::crying:
Click to expand...
Click to collapse
I'm uploading the modified .img. Let's pray my old HSPA modem won't catch fire by the morning.
vidyadhara said:
in step 20, it appears you are writing to a /bin directory on the android system. However such a directory is not visible either through shell or the system telnet account.
Do I need to understand something else about android to make sense of this.
regards
vidya
Click to expand...
Click to collapse
I think you got it wrong. The write process does not take place on the device. It's on the loop-mounted .img in /mnt/a1000 on your computer (step 18-19). Cheers!
Here's the ALREADY BUSYBOX-ED .img for Ideapad A1000-G 4GB EDGE version. Hope it helps :
www dropbox com/s/rmpnz7c285t5sqz/system.7z
sammymaddog said:
Here's the ALREADY BUSYBOX-ED .img for Ideapad A1000-G 4GB EDGE version. Hope it helps :
www.dropbox.com/s/rmpnz7c285t5sqz/system.7z
Click to expand...
Click to collapse
Thanks for coming back, could u post the MD5 of the system.7z & system.zip.
Also could u provide simple way/steps to directly flash this .img without extracting existing stock system image
My tab A1000-G
do you have stockROM for lenovo A1000G
I need this :crying:
raffly said:
do you have stockROM for lenovo A1000G
I need this :crying:
Click to expand...
Click to collapse
Don't worry, the above link is a stock Lenovo A1000 G ROM, but with pre-root files having no superuser app. Just extract the .7z file
System.7z MD5: 658CA71AC8A230B244F267513857F9A5

[TOOL]Latest ADB and Fastboot for Win, Linux, Mac

Updated ADB and Fastboot from Androiod SDK (Pkg.Revision=24.0) dd 11/07/2016
ADB - version 1.0.36
Revision fd9e4d07b0f5-android​
Download: fastboot_adb(1.0.36)_110716_r24.0.rar
The last SDK Platform-Tools for Win, Linux and Mac you can always find here - https://developer.android.com/studio/releases/platform-tools
Arhive:
ADB and Fastboot from Androiod SDK (Pkg.Revision=21, 16 Oct 2014)
*Updated ADB to version 1.0.32
*Updated Fastboot to latest version
Download:
fastboot_adb(1.0.32)_071114_r21.rar
sorry for being a noob and asking for another device in a different forum,
but will these adb drivers also work with nexus 4???
need them to sideload 5.0.1
IS this for android 5.0 GPE?
http://forum.xda-developers.com/htc-one/general/guide-windows-8-1-fastboot-adb-t2970692
i have anaged to get it working after expereincing the problems stated here by others ... follow my steps here for those who still have trouble
lewonsky said:
IS this for android 5.0 GPE?
Click to expand...
Click to collapse
Yes, this for all version. It' latest update from official Android SDK Platforms.
See link in OP.
Golv said:
ADB and Fastboot from Androiod SDK (Pkg.Revision=21, 16 Oct 2014)
*Updated ADB to version 1.0.32
*Updated Fastboot to latest version
Download:
fastboot_adb(1.0.32)_071114_r21.rar
Click to expand...
Click to collapse
I think you forgot to mention that this is only for Windows. So it does not work for Linux or Mac.
Quick, fast, no frills, just the necessary files itself. Hopefully this thread gets updated whenever a new release comes up
thanks, nice share bro :good:
how to use those files
I thank you for the files but... how are we supposed to use them. I ask since I'm new to adb. And need this vision of adb to sideload to my fire hd6
[email protected] said:
I thank you for the files but... how are we supposed to use them. I ask since I'm new to adb. And need this vision of adb to sideload to my fire hd6
Click to expand...
Click to collapse
open a command window and change directory to the folder where adb.exe is installed. Then you can use adb commands. Commands syntax is as follow:
Code:
adb [target] <command>
You only need to specify the [target] if you have more than 1 android device or emulator connected simultaneously, otherwise the command will be directed to the only connected device, so the syntax will be:
Code:
adb <command>
So if you want to sideload a rom to your device, boot in your custom recovery and start the "sideload" mode.
In the command window:
Code:
adb sideload my_rom.zip
Don't forget that the rom.zip must be in the same folder where adb.exe is
If you want to use "adb push" instead of "adb sideload" then boot in custom recovery (not in sideload mode) and use the following command:
Code:
adb push my_rom.zip /sdcard
You can read more about adb commands here: http://developer.android.com/tools/help/adb.html#issuingcommands
adb sideload explained here: http://android-revolution-hd.blogspot.in/2013/12/ow-to-use-adb-sideload.html
If you have more question about what file to sideload or push a rom to your device, you should ask in the correct forum, Amazon Fire HD 6 forum is here: http://forum.xda-developers.com/fire-hd
thank u
save my day
How do you install the new adb 1.0.32 over the old version and will it work with the moto X 2014?
its dosnt work for me
and i need it ((
every phone i want use sideload , its say me , use adb 1.0.32 or newer
and when i want use adb 1.0.32 , show me this error in all adb commands :
adb server is out of date. killing...
ADB server didn't ACK
* failed to start daemon *
error: unknown host service
what should i do ?
update adb
[email protected] said:
I thank you for the files but... how are we supposed to use them. I ask since I'm new to adb. And need this vision of adb to sideload to my fire hd6
Click to expand...
Click to collapse
go to this website: https://fl1.androidfilehost.com/dl/...803384/minimal_adb_fastboot_v1.3.1_setup.exe?
download and install it to your computer, then try to sideload it through there.
if that doesn't work just download the stand alone SDK from the android studio website and after its downloaded, open the .rar file and extract it to a new folder to your desktop. after that open it and search for a folder that says platform tools and look for the ADB .exe file and copy it, then go to your C drive and go to programs and try to find the android studio folder, when you have located it open it and look for a folder named platform tools, then delete the adb.exe in that folder and paste the new one in there or you can probably just copy the whole platform tools folder and replace the other one in the C drive.
I hope this helps, if it doesnt just message me and im sorry for the late reply.
alishadlou said:
* failed to start daemon *
error: unknown host service
what should i do ?
Click to expand...
Click to collapse
this usually means the phone is not communicating with your PC.
- either your phone is corrupt
- the connection is corrupt
- or the cable is bad
Tip: add the path of ADB.exe to your system Environment Variables, so you can call it w/out first navigating to it.
- Right click Computer > Properties > Advanced system settings
- Environment Variables ... > edit "Path" by adding the path to ADB.exe.
ie.
Windows 10 x64, i simply add: D:\PortableApps\ADB
for other Windows, you may have to add to the end of "Path", click edit > scroll to the end > add ;D:\PortableApps\ADB;
(don't forget to add the semicolon at the end)
Now you can simply launch Command Prompt and enter: ADB sideload *file*
Updated ADB and Fastboot from Androiod SDK (Pkg.Revision=24.0) dd 11/07/2016
ADB - version 1.0.36
Revision fd9e4d07b0f5-android​
Download: fastboot_adb(1.0.36)_110716_r24.0.rar
Not working on Android 6.0
This and older versions will not work on Samsung S7E for system backup and restore.
It accepts the commands, but the confirmation popup supposed to open on the device never does. For a few 6.0 users on other devices, it opened up but the backups were not really completed.
thanks bro. nice share :good:
Thanks, you save me too much time!!
my adb was working fine for my Note 4. I followed the instructions to upgrade bootloader
https://forum.xda-developers.com/no...t/howto-bootloader-unlock-upgrade-to-t3398144
Now, I keep getting device offline when used adb devices command. Do you think, upgrading ADB will solve this? thank you

[noob-read] adb and fastboot. What is it? How can it help you?

Please note, I can only speak with any degree of certainty about devices bought from Play / Moto. I cannot attest to the accuracy of this information for US carrier versions etc. Anything you do is at your own risk
Contents / Thread overview
Introduction
What is Fastboot?
What is adb?
How to install adb and fastboot
How to test adb and fastboot work
OK Gimme some useful fastboot commands please!
OK Gimme some useful adb commands please!
A little more about using Windows command prompt
Myth Busters
Introduction
adb and fastboot are very useful command line tools. They can be used from Windows, Linux or Mac to carry out tasks on your android device, such as moving and backing up files, rooting and restoring your phone to it's factory state. Understanding how to use these tools could save your phone when you get yourself in trouble. This is especially true of rooted users. Particularly those of you who are "new to the scene". You definitely should read and understand this thread before you do ANYTHING root related.
This thread is not intended to be a non-exhausted reference. It is merely here to give an overview of the most basic of basics
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What is fastboot?
Fastboot comprises of 2 components.
1) Fastboot mode on the phone (The Bootloader)
2) Fastboot tool on your computer
Fastboot is a small command line tool that you can use from your computer whilst the phone is connected via USB and you are booted into the bootloader. The most common uses for fastboot are:
Unlocking the bootloader - needed as part of the rooting process
Flashing a custom recovery to the device - needed as part of the rooting process
Flashing factory images - used for saving / trestoring your device back to stock
Being able to do these 3 things are essential before rooting. Many new users skip learning these and use a toolkit to root. As a result, when they mess up and we try to explain what they need to do to fix their issues, it becomes very difficult for us to help as fastboot is not understood. It is YOUR responsibility to understand these things BEFORE you mess up.
What is adb?
adb is another small command line tool that stands for "Android Debugging Bridge". Again, it can be used from a computer connected via USB to your android device. It can be used whilst the device is booted into Android or (if you have a custom recovery), it can be used in recovery too, unlike fastboot (yes, adb and fastboot are NOT the same thing) which can only be used in the bootloader.
adb can be used to push files to (or pull files from) your phone. It can also be used to execute many of the commands available in Linux terminals (Or Android terminal emulators) on the device itself. We're not here to cover all these commands however. We just want to cover the basics.
How to install adb and fastboot
adb and fastboot are very easy to install and can be installed on Windows, Linux and MAC computers. The Windows install can be a little bit more complicated than the other 2 and may need additional drivers installing too.
Windows.
There is a very handy tool that can install adb and fastboot in 15 seconds. It is recommended that you use this to install adb and fastboot. Please see the link immediately below for that tool:
ADB, Fastboot and Drivers - 15 seconds ADB Installer - Really quick and easy way to install adb and fastboot (by @Snoop05). Download links are at the bottom of post 1.
This tool asks if you want to install adb and fastboot (to which you should answer Y) and then creates c:\adb\adb.exe and c:\adb\fastboot.exe
It then asks if you want to install it system wide .. This is asking to install for all windows users. < 15 second installer needs updating to SDK 23, which is required for latest Android versions.
Download the latest SDK (adb and fastboot) versions here: https://developer.android.com/sdk/index.html (Scroll down to SDK tools only) then download the Windows *Installer*.
Open the installer and select "Platform-tools" and install the packages. This should create "C:\Program Files (x86)\Android\android-sdk\platform-tools"
Now we want to set this path as a Windows Environment variable PATH to make the executables work system wide:
right-click computer > properties > advanced > environment variables.
under system variables click "path" and click "edit"
at the end of the line, add the below:
Code:
;C:\Program Files (x86)\Android\android-sdk\platform-tools
Please note, the semi-colon ; is VERY important.
You may also need to install drivers.
Here is a link to the Google USB Driver: DOWNLOAD THIS
Code:
To install on Windows 7:
- Ensure existing drivers are uninstalled first*
- Extract the zip to c:\adb (created earlier by the installer)
- Right-click "Computer" > Manage in windows and choose "Device Manager"
- Boot the Nexus 6 to the bootloader (Volume down + Power) and connect the USB Cable
- Watch for any new devices with exclamation marks appearing
- Right-Click the new device > Update driver software
- Choose the "browse" method and browse to c:\adb, find teh folder you extracted then follow the wizard to the end - using amd6 64 if you're on a 64 bit system and i386 if you're on a 32 bit system.
*To uninstall existing drivers, boot into Android and connect the USB cable. Monitor device manager for the device showing up. To uninstall the device, right-click it to uninstall it. At the prompt, ensure you also choose to delete the driver. Repeat this for bootloader and recovery.
Code:
To Install on Windows 8, you may need to additionally disable driver enforcement
- From the Metro Start Screen, open Settings (move your mouse to the bottom-right-corner of the screen and wait for the - -- pop-out bar to appear, then click the Gear icon).
- Click ‘More PC Settings’.
- Click ‘General’.
- Scroll down, and click ‘Restart now’ under ‘Advanced startup’.
- Wait a bit.
- Click ‘Troubleshoot’.
- Click ‘Advanced Options’
- Click ‘Windows Startup Settings’
- Click Restart.
Once that is done, your Windows computer is configured for adb and fastboot.
In device manager, the device should show up as below, depending whether you are booted into recovery or bootloader...
Recovery - Android Device > Google Nexus 4 ADB Interface
Bootloader - Android Device > Google Nexus 4 Bootloader Interface
If it shows as something different, either you have existing drivers in the way or something went wrong.
Linux and Mac
Here is a really simple tool to install adb and fastboot on the above OS. The only expectation is you know how to open and run a terminal command. Please see the link immediately below:
Nexus Tools 2.2 (Featured by XDA) - adb and fastboot installer for Linux and Mac (by @corbin052198)
Once you have installed adb and fastboot from the above link, you're ready to go.
How to test adb and fastboot work
As previously mentioned, adb and fastboot are both command line tools. That means you must run these tools from command prompt (cmd in Windows) or Terminal (Linux and Mac).
Remember earlier, I mentioned that fastboot can only be used in bootloader? and adb can only be used in Android (or custom recovery - lets cover that later)? We can use the command "fastboot devices" and "adb devices to see if we have adb and fastboot working correctly.
Lets try it.
Boot your phone into android
Connect it to your computer via USB
Open cmd (start > type "cmd" on Windows) or Terminal (Mac/ Linux
Type in the windows "adb devices" and press enter
Here is what we don't want to see:
Notice how there is nothing underneath where it says "List of attached devices" That means it cannot see any device
Here is what we DO want to see:
We can see that there is now a device listed.
OK lets test fastboot. Unplug the USB and turn off the phone. When it is off, hold down Volume down + power until you feel the vibrate. You will now be in the bootloader. Reconnect the USB cable.
In the same window (cmd or terminal) we're going to now type "fastboot devices".
Again, here is an example of what we don't and do want to see:
If in both modes, you can see your devices "Serial Number", then you know they are both working.
Please note that if you cannot get adb and fastboot to work "system wide", you can open the command prompt to the location of the adb and fastboot executables exist and try from there.
OK Gimme some useful fastboot commands please!
Here are some of the most useful fastboot commands you will come across. Fastboot is used mostly for flashing images to the devices partitions on the internal memory.
Code:
fastboot oem unlock
This unlocks your bootloader and allows you to flash a recovery to root. WARNING, this will wipe your device. Rooting the N6 is essentially unlocking the bootloader, flashing a recovery and then putting the SuperSU zip on your sdcard and flashing it via the recovery. This thread covers rooting: [HOW-TO] The Nexus 6 All-In-One Beginner's Guide by @xBeerdroiDx
Code:
fastboot flash recovery recovery.img
This will flash a recovery.img to the recovery partition. The command is broken down into "fastboot flash" (what to do) "recovery" (where to flash to) "recovery.img" what to flash there. In the terminal or command prompt, you cannot just type "recovery.img" though. It has to be the path to where the recovery image is. For example, if my recovery image is on my desktop, I would have to type:
Code:
fastboot flash recovery c:\users\rootsu\desktop\recovery.img
It is worth noting, that it IS case sensitive, meaning if your file is called Recovery.img, you must type the capital R...
Other things you would flash:
Code:
fastboot flash system system.img
fastboot flash boot boot.img
These will flash the system image (ROM) and boot image (kernel) as you would if you were returning to stock.
A full guide to returning to stock can be found here: [TUTORIAL][GUIDE][HOW TO] Flash Factory Images || Unroot || Relock bootloader by @Mr hOaX
You can also boot into a recovery.img without flashing it...
Code:
fastboot boot c:\users\rootsu\desktop\recovery.img
which is "fastboot boot" (what to do) "c:\users\rootsu\desktop\recovery.img" what to do it with. As you may have noticed, we did not define the recovery partition in this command, that's because we're not flashing it....
OK Gimme some useful adb commands please!
At the moment, we are going to assume you have a custom recovery and you have booted into recovery. The reason for this is using adb in recovery can be much simpler.
Here are some useful scenarios for using adb.
Backup your sdcard to your PC
Code:
adb shell
mount data
exit
adb pull data/media/0 c:\MyBackup
**Please note, some recoveries may "mount data" automatically on boot, so don't be disheartened if you get an error stating device or resource busy. This probably just means you can't mount what is already mounted**
/data/media/0 is the real location of /sdcard for your information. Also referred to as "The mount point". What we have done here is "adb pull" (what to do) "data/media/0" (what to move) "c:\MyBackup" (where to move it to)
Push a zip file from your PC to your sdcard (useful if you wiped your sdcard and rom)
Code:
adb shell
mount data
exit
adb push c:\rom.zip data/media/0
What we have done here is "adb push" (what to do) "c:\rom.zip" (what to move) "data/media/0" (where to move it to)
You can of course also use adb to push and pull files to and from /system too. You just need to:
Code:
adb shell
mount system
exit
I mentioned earlier that using custom recovery is much easier for adb than whilst booted into Android. You need to ensure you have a kernel that allows insecure adb before you do anything with system and data partitions. You also need to ensure that USB debugging has been enabled in developer options.
For example, to mount system to pull files whilst android is running you have to:
Code:
adb root
adb shell
mount -o rw,remount /dev/block/platform/msm_sdcc.1/by-name/system /system
...which is clearly a little bit more involved, so I recommend you use recovery for adb push and pull. You can find more detailed information on adb here: http://developer.android.com/tools/help/adb.html
A little more about using Windows command prompt
One thing to understand is that like Windows, command prompt (cmd.exe) works with directories (or folders if you like). The Linux and Mac terminals are the same, but most linux users, we expect you would already know this.
Here you will see I have downloaded a recovery image that I want to flash using fastboot.
As you can see, the recovery.img is located in C:\users\rootSU\Desktop
Usually when you open the command prompt from the start menu, or run command, the command prompt will default to your user location as seen below:
So lets try and fastboot flash recovery recovery.img...
It fails with a not-too-accurate error message. It has failed because you have not told it where the recovery image is. It assumes it is in the directory as listed in the prompt
So, how do we deal with this? Well, there are 3 ways.
1) We tell the command prompt where the recovery.img actully is in the command itself
Success! As you can see, we have told the command that the location for the file is Desktop\recovery.img
2) We can change the directory in command prompt to the directory where the file is. In this example, we change directory to "Desktop". The change directory command is "cd " or in this case "cd Desktop"
3) ...and possibly the simplest method. We hold shift whilst we right-click on the folder we want to change directory to, and directly open a command prompt there:
Another point to make with command prompt or terminals, is if you do a particular command, it is "pre-programmed" to "expect" a particular format of that command.
For example, we know that adb push as a command expects after it . This means the command is actually
Code:
adb push
BUT if you put something AFTER , for example -
Code:
adb push somethingelse
, it will assume that the "somethingelse" is a bad parameter, and the command will fail. It will probably display (or "print" which is the technical term in a terminal) a helpful guide of how the command should be used instead of trying to run the command which it does not understand.
You're probably wondering why I am telling you this. Well quite simply, it is a warning about folder names. Imagine you have c:\users\rootSU\My Documents as a folder. You assume the command is then
Code:
adb pull /data/media/0 c:\users\rootSU\My Documents
but it is not... There is a space in between My and Documents. What you have actually done is
Code:
adb pull Documents
because it uses a space to signify the end of a command or parameter. It is best to avoid using folders with spaces in them. Avoid as much as you can. In the event it is unavoidable (Although when is it ever>) then please surround the path with quotation marks,
Code:
adb pull /data/media/0 "c:\users\rootSU\My Documents"
so that way, it sees everything between the " " as a single parameter.
Myth Busters
Myth 1: You need USB debugging on to use adb and fastboot
If you cannot boot into Android, it doesn't matter. You DO NOT need USB Debugging turned on to use adb outside of android. USB Debugging is an Android ONLY setting. Fastboot obviously also does not need debugging either as this too is outside of Android
Myth 2: to adb push or fastboot flash files, they must be in the same folder as adb or fastboot executables. Sorry but this is rubbish. You can pass the full path of the image you're flashing or file you're pushing in the command and fastboot / adb can be called system wide if you've set them as an environment variable or used the 15 second installer
thanks(im out of thanks). but ill be back to leave one here!!!!!
simms22 said:
thanks(im out of thanks). but ill be back to leave one here!!!!!
Click to expand...
Click to collapse
No worries. Just putting it here for info. It's not a new work, just a slightly amended version of my N5 thread. No need for thanks
rootSU said:
No worries. Just putting it here for info. It's not a new work, just a slightly amended version of my N5 thread. No need for thanks
Click to expand...
Click to collapse
it was up in the n5 threads before, and was needed here. but its here now as well, so thank you
Good guide. Needs to be a sticky. In fact, I think every device general forum should have a sticky like this. Would have saved me a lot of grief back when....
Excellent update.
Very good to see. I'm sure lots of people will be sending noobs here for the basics.
Up to your usual helpful, good work I see.
rootSU said:
This tool asks if you want to install adb and fastboot (to which you should answer Y) and then creates c:\adb\adb.exe and c:\adb\fastboot.exe
It then asks if you want to install it system wide (to which again, you should answer Y)... This then allows you to type adb commands in the command prompt without having to open a particular directory first. You may or may not understand what I mean when I say that, but take it from me, its much more convenient and easier to use this way.
Click to expand...
Click to collapse
Y option = System-wide = install to "C:\adb" and add path for system variable - This mean you can use it by any account on your pc.
N option = Current user only = install to "C:\Users\[YOUR USERNAME]\adb" and add path for user only - Only user account used for installation can actually use it.
So if you say Y or N you will be still able to use it from any directory with cmd.
rootSU said:
It will also ask if you want to install device drivers. Actually, say N to this as we're going to cover that next, using the google USB drivers
Here is a link to the Google USB Driver: DOWNLOAD THIS
Click to expand...
Click to collapse
Drivers in my installer are the one from the link you posted here. I'm not using any modified drivers, just the one that come with SDK. And they are also digitally signed.
I hope you will fix these But still nice work, beginners should understand it :good:
Snoop05 said:
Y option = System-wide = install to "C:\adb" and add path for system variable - This mean you can use it by any account on your pc.
N option = Current user only = install to "C:\Users\[YOUR USERNAME]\adb" and add path for user only - Only user account used for installation can actually use it.
So if you say Y or N you will be still able to use it from any directory with cmd.
Drivers in my installer are the one from the link you posted here. I'm not using any modified drivers, just the one that come with SDK. And they are also digitally signed.
I hope you will fix these But still nice work, beginners should understand it :good:
Click to expand...
Click to collapse
Thanks for the info. I thought system wide meant it was putting it as a path environment variable. Reason I didmt use the drivers from your tool originally is (well I wrote this thread for N5 originally) they didnt work so had to install the universal naked driver. But if yours are the same as the ones linked, I can update that.
rootSU said:
Thanks for the info. I thought system wide meant it was putting it as a path environment variable. Reason I didmt use the drivers from your tool originally is (well I wrote this thread for N5 originally) they didnt work so had to install the universal naked driver. But if yours are the same as the ones linked, I can update that.
Click to expand...
Click to collapse
Path is added in both cases.
Sooo I need a little help here. I followed the directions to unlock the bootloader and everything went good. I did the CF auto-root, and the phone booted back up as normal. Now, I was trying to flash the M preview, and all of a suddon now my phone isn't recognized in adb. You posted a pic of what we don't want to see when testing for adb, but you don't say how to fix it if we run into the problem. Any way to get it to recognize my phone again so I can get this build on?
papeshfoo said:
Sooo I need a little help here. I followed the directions to unlock the bootloader and everything went good. I did the CF auto-root, and the phone booted back up as normal. Now, I was trying to flash the M preview, and all of a suddon now my phone isn't recognized in adb. You posted a pic of what we don't want to see when testing for adb, but you don't say how to fix it if we run into the problem. Any way to get it to recognize my phone again so I can get this build on?
Click to expand...
Click to collapse
Can you be very specific with your issue please?
papeshfoo said:
Sooo I need a little help here. I followed the directions to unlock the bootloader and everything went good. I did the CF auto-root, and the phone booted back up as normal. Now, I was trying to flash the M preview, and all of a suddon now my phone isn't recognized in adb. You posted a pic of what we don't want to see when testing for adb, but you don't say how to fix it if we run into the problem. Any way to get it to recognize my phone again so I can get this build on?
Click to expand...
Click to collapse
Android M no like root, you'll either have to live with stock or wait for chainfire to do his thing.
This all worked well until I had to find my device in the cmd prompt. It listed no devices when I typed in "ADB Devices". The issue I found was with the ADB Interface Driver. I uninstalled it and reinstalled it thinking it might've been a driver issue, but it still wouldn't work. I tried the "Uninstall driver" then "scan for hardware changes" but that didn't work. Finally I found the universal ADB driver and tried using that. STILL nothing. I figured that, because I don't have my device's driver installed, it might've been that, so I tried to DL it and yet again, nothing. I have a Kyocera Hydro Life, if that helps. Also, I tried looking through the "update driver manually" in order to update the driver software by looking through the different ADB interfaces that it had but my Kyocera driver wasn't there. Is it supposed to be there or do I just use one of the ones provided?
I checked my programs and apps and it says that the Kyocera usb driver was installed. Did I do something wrong?
ScottyChaos said:
This all worked well until I had to find my device in the cmd prompt. It listed no devices when I typed in "ADB Devices". The issue I found was with the ADB Interface Driver. I uninstalled it and reinstalled it thinking it might've been a driver issue, but it still wouldn't work. I tried the "Uninstall driver" then "scan for hardware changes" but that didn't work. Finally I found the universal ADB driver and tried using that. STILL nothing. I figured that, because I don't have my device's driver installed, it might've been that, so I tried to DL it and yet again, nothing. I have a Kyocera Hydro Life, if that helps. Also, I tried looking through the "update driver manually" in order to update the driver software by looking through the different ADB interfaces that it had but my Kyocera driver wasn't there. Is it supposed to be there or do I just use one of the ones provided?
I checked my programs and apps and it says that the Kyocera usb driver was installed. Did I do something wrong?
Click to expand...
Click to collapse
Try a different USB port. If that doesn't work try a different USB cable. If that also doesn't work, you could try disabling driver signature checking for Windows.
If those don't work, try this thread > http://forum.xda-developers.com/showthread.php?t=1583801
cam30era said:
Try a different USB port. If that doesn't work try a different USB cable. If that also doesn't work, you could try disabling driver signature checking for Windows.
If those don't work, try this thread > http://forum.xda-developers.com/showthread.php?t=1583801
Click to expand...
Click to collapse
EDIT: I also forgot to mention that the error code that came up while I was in the dev manager was compatibility error code (28) when I clicked on "Device ADB interface".
ScottyChaos said:
EDIT: I also forgot to mention that the error code that came up while I was in the dev manager was compatibility error code (28) when I clicked on "Device ADB interface".
Click to expand...
Click to collapse
Error 28 means drivers not installed. Try the driver help thread that I linked above.
---------- Post added at 12:33 PM ---------- Previous post was at 12:04 PM ----------
cam30era said:
Error 28 means drivers not installed. Try the driver help thread that I linked above.
Click to expand...
Click to collapse
@ScottyChaos,
Just a fundamental question: I assume you have enabled "Developer Options" in Settings, and then checked "enable USB debugging"?
---------- Post added at 12:39 PM ---------- Previous post was at 12:33 PM ----------
[/COLOR @ScottyChaos,
Here is a thread that you might find interesting > http://forum.xda-developers.com/android/help/metro-pcs-kyocera-hydro-life-rooted-t2870678
Windows 10 device driver management is even more locked down then windows 8. I got two of the three drivers loaded but when going into adb mode on the phone through recovery it just disappeared out of the device manager. I had to unplug and plug in while in that mode to trigger a unloaded driver in the device manager. Once there I had to force the adb driver manually with the nasty windows driver warning and all. Once I did that I could see the device in adb mode and sideload my marshmallow OTA. woot!
I decided to drop a thanks bomb...
ADB is good.
But that fastboot.
Seriously, its ONE command. OK, a few different arguments to use.... But it is so easy, and so powerful. People are afraid to mess up on command line, but its actually way harder to type the wrong thing out then to click the wrong thing.
LEARN IT. Forget your toolkit.
You can fix almost anything, Its not too hard for you. It may be new... YOU CAN DO IT.
Also, I have to say it... Its not going to help anyone, but it will keep me from punching something. ADB and Fastboot... Not the same. You don't ADB a new system image....

Categories

Resources