Adb installation instructions for Ubuntu - Hero CDMA General

The Absent-Minded Professor and I just installed adb on Ubuntu; here is how to set up adb on Ubuntu Linux, Gutsy through Maverick.
Our port of the BX theme to CM6 stable is forthcoming.
first command after installing and updating sdk and extracting the tgz file to your home directory is== sudo gedit /etc/udev/rules.d/70-android.rules
NOTE: In the above file replace ## with the number 50 if you are running Gusty/Hardy/Dapper (50-android.rules) or with the number 70 if you are running Karmic Koala/Lucid Lynx(70-android.rules
after the window pops write this in the file==SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4″, MODE=”0666″ then save and close
the follwing commands is== sudo chmod a+rx /etc/udev/rules.d/70-android.rules
Then reboot.
Open a terminal and type== sudo gedit .bashrc
The file contents should be as follows== export PATH=${PATH}:~/home/user/android-sdk-linux_86/tools
Save and close.
Run the command== adb devices
If you see a serial number like this:
List of devices attached
HT99PHF02521 device
then you are done.
If you get error messages such as "no such command," cd to /home/user/android-sdk-linux_x86/tools and use the adb commands in this way:
./adb devices
./adb shell
etc.
If you get an error message here referencing insufficient device permissions, do the following:
./adb kill-server
sudo ./adb start-server
Now ./adb devices should work.
Courtesy of laie1472 and The Absent Minded Professor
Thanks to Esau Silva (http://esausilva.com/2010/05/13/setting-up-adbusb-drivers-for-android-devices-in-linux-ubuntu/) and Tobias Eisentrager (http://www.mail-archive.com/[email protected]/msg14211.html).

Related

[solved/info] - adb with ubuntu

I am running ubuntu 9.04. I have eclipse and the Android s.d.k. set up and running perfectly. But I cannot figure out how to setup a.d.b.
I apologize for the new post, but I promise I have searched for hours on this forum and Google. All I found was info on installing on Windows, and fixing a.d.b that used to work but won't work now after updating to 9.04. Anybody have a tutorial or a fix that I might have missed? Thanks in advance.
there is nothing to set up just make shure it has execute permissions, thats what had me stumped LOL
#chmod +x adb
then just plug in the g1 (no drivers required) and
#adb whatever you want
but i was using arch :O
to make it easier copy the adb executable to /usr/bin and you can execute from any directory withoud using cd /directory
Code:
sudo cp /androidsdk/tools/adb /usr/bin
sudo chmod +x /usr/bin/adb
that's how i use mine on my 8.10 and 9.04
Thanks guys, pretty sure it's working, just need to figure out how to connect to device. I will try your suggestions.
Done. Then I tried
#adb logcat
and i get
- waiting for device -
should I
#cd /bin
#adb logcat
?
I am following tutorials for windows, so it is kind of confusing. I don't think I can connect. I get
Code:
[email protected]:~$ adb start-server
[email protected]:~$ adb devices
List of devices attached
[email protected]:~$
Here is me trying all kinds of stuff
Code:
[email protected]:~$ adb start-server
[email protected]:~$ adb devices
List of devices attached
[email protected]:~$ adb kill-server
[email protected]:~$ adb
Android Debug Bridge version 1.0.20
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <serial number> - directs command to the USB device or emulator with
the given serial number
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> <local> - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] <file> - push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.
adb help - show this help message
adb version - show version num
DATAOPTS:
(no option) - don't touch the data partition
-w - wipe the data partition
-d - flash the data partition
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb root - restarts adb with root permissions
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PDP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be updated.
- If it is "system" or "data", only the corresponding partition
is updated.
[email protected]:~$ adb get-state
* daemon not running. starting it now *
* daemon started successfully *
unknown
[email protected]:~$ devices
bash: devices: command not found
[email protected]:~$ adb devices
List of devices attached
[email protected]:~$ adb remount
error: device not found
[email protected]:~$ adb start-server
[email protected]:~$ adb remount
error: device not found
[email protected]:~$ adb get-serialno
unknown
[email protected]:~$
tried another usb cable, different usb port. Same stuff
Code:
[email protected]:~$ adb shell
error: device not found
[email protected]:~$ adb start-server
[email protected]:~$ adb shell
error: device not found
[email protected]:~$ ls
adb examples.desktop Templates
android-sdk-linux_x86-1.5_r2 Firefox_wallpaper.png Videos
Desktop Music workspace
Documents Pictures World of Warcraft Trial
eclipse Public
[email protected]:~$ cd /
[email protected]:/$ ls
bin dev initrd.img media proc selinux tmp vmlinuz
boot etc lib mnt root srv usr
cdrom home lost+found opt sbin sys var
[email protected]:/$ adb shell
error: device not found
[email protected]:/$ adb start-server
[email protected]:/$ adb shell
error: device not found
[email protected]:/$ ls
bin dev initrd.img media proc selinux tmp vmlinuz
boot etc lib mnt root srv usr
cdrom home lost+found opt sbin sys var
[email protected]:/$ adb start-server
[email protected]:/$ adb shell
error: device not found
[email protected]:/$ adb kill-server
[email protected]:/$ adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
[email protected]:/$ adb shell
error: device not found
[email protected]:/$
Any ideas?
I am using the Rogers v3 Rom with jf1.42 bootloader and the 2005 s.p.l
Would any of that matter.
CBowley said:
I am using the Rogers v3 Rom with jf1.42 bootloader and the 2005 s.p.l
Would any of that matter.
Click to expand...
Click to collapse
Doubtful. I too am looking to get ADB running on my Ubuntu laptop, as it would save a bunch of time for me being able to use it instead of my slow windows computer (ADB is corrupted driver-wise on my main rig).
Anyone have any reasonable tutorials for lower-level linux users on Ubuntu 9.04 32-bit?
I have Ubuntu + SDK and I don't have any issue.
Are you sure you installed your SDk the correct way == you followed exaclty the android.com howto ?
it should work with ubuntu 9.04. Just follow this instructions to setup connection to your phone. mainly create rule for you device in udev.
http://developer.android.com/guide/developing/device.html
If you're developing on Ubuntu Linux, you need to add a rules file:
1. Login as root and create this file: /etc/udev/rules.d/50-android.rules.
For Gusty/Hardy, edit the file to read:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
For Dapper, edit the file to read:
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
2. Now execute:
chmod a+rx /etc/udev/rules.d/50-android.rules
reboot, then if you are still having problem after this, one more thing to try to start server swith sudo.
adb kill-server
sudo adb start-server
knaries2000 said:
it should work with ubuntu 9.04. Just follow this instructions to setup connection to your phone. mainly create rule for you device in udev.
http://developer.android.com/guide/developing/device.html
If you're developing on Ubuntu Linux, you need to add a rules file:
1. Login as root and create this file: /etc/udev/rules.d/50-android.rules.
For Gusty/Hardy, edit the file to read:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
For Dapper, edit the file to read:
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
2. Now execute:
chmod a+rx /etc/udev/rules.d/50-android.rules
reboot, then if you are still having problem after this, one more thing to try to start server swith sudo.
adb kill-server
sudo adb start-server
Click to expand...
Click to collapse
I think I did this part, I will double check. I did try sudo adb start-server, that didn't work. I will double check the rest. Thank you.
Oh that's why I never did it, I cannot find a rule for jaunty, only hardy, dapper, and gutsy.. I'll do more searching. Thanks for the idea.
Okay it works now. This is what I get
Code:
[email protected]:~$ adb start-server
* daemon not running. starting it now *
* daemon started successfully *
[email protected]:~$ adb devices
List of devices attached
HT845GZ28769 device
[email protected]:~$ adb shell
# ls
cache init.goldfish.rc sbin
data init.rc sdcard
default.prop init.trout.rc sqlite_stmt_journals
dev proc sys
etc root system
init runme.sh
#
THIS IS WHAT I DID:
created 2 files on my desktop named:
50-android.rules
51-android.rules
Then I edited both files to read:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
Then I opened terminal and did this
Code:
[email protected]:~$sudo mv /home/chris/desktop/50-android.rules /etc/udev/rules.d
[email protected]:~$sudo mv /home/chris/desktop/51-android.rules /etc/udev/rules.d
Then I rebooted and It all worked. I am runnung ubuntu 9.04 jaunty jakelope(sp?)
Thanks for everyones help. Hope this helps someone else.
CBowley said:
Okay it works now. This is what I get-------
Thanks for everyones help. Hope this helps someone else.
Click to expand...
Click to collapse
Thank you so much, this works perfectly. Bump for someone else finding this who needs it.
Yes it has to be rule 51, not 50 with Jaunty. Google doc is not up to date yet.
see this thread :
http://groups.google.com/group/andr...read/thread/ab6e89c4b51cd905/a05c2a749cd55b88
> this was in /etc/udev/rules.d/50-android.rules
> But it seems to also work like this : (method for Ubuntu 9.04 :
> http://www.frandroid.com/2371/ubuntu-904-et-android/ )
> -> in /etc/udev/rules.d/51-android.rules :
> SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4", MODE=”0666"
Ubuntu 9.04 already has a rules/50-something file so you need to make
sure that the android rule is > 50. Otherwise whatever you define gets
reset. We should update the doc to just state rule/51-android.rules
which will work right now till the base configuration changes once
again
> Also take care if you copy/paste this rule : looks like double quotes
> (") may be wrongly copied from html page, and then it did not work for
> me before I retyped them.
Hmm thanks for the info. That's a new one.
Edit
Ok sorry a little OT, but I responded to this because I did not see an answer posted. I Seem to be having problems with posts showing up when I am logged in... but not when I am logged out... really weird. After I logged out at least another dozen posts showed up in this thread.
you need to change the rule from 50 to 51 on ubuntu 9.4
didnt realise the answer was posted sorry. but its def the right answer
CBowley said:
I am running ubuntu 9.04. I have eclipse and the Android s.d.k. set up and running perfectly. But I cannot figure out how to setup a.d.b.
I apologize for the new post, but I promise I have searched for hours on this forum and Google. All I found was info on installing on Windows, and fixing a.d.b that used to work but won't work now after updating to 9.04. Anybody have a tutorial or a fix that I might have missed? Thanks in advance.
Click to expand...
Click to collapse
sudo bash -c "echo SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"0bb4\", MODE=\"0666\" > /etc/udev/rules.d/51-android.rules"
sudo /etc/init.d/udev restart
killall adb
adb shell

How to root the Hero using a MAC

I didn't find any mentions of this in the other threads or a thread dedicated to this, but just wanted to point out that it is very easy to do this on a Mac.
You will need to follow the same instructions in the other guides, but you can do it all from the Mac OS Terminal easily and no need to install drivers, just like you would with Linux.
In case someone wants step by step instructions, here they are modified for Mac OS:
Original instructions by chuckhriczko http://forum.xda-developers.com/showthread.php?t=581577
Step 1:
First you need to download the Android SDK. You can get it from http://developer.android.com/sdk/index.html. Download the Mac OS version and remember where the android-sdk-mac folder is (most likely in your Downloads folder)
The next thing we download is asroot2. This is a script that was developed that runs an exploit in Android's linux that allows us to run root. The link for that is here: http://forum.xda-developers.com/attachment.php?attachmentid=244212&d=1257621154. Unzip that file and place it in a directory of your choice (I used android-sdk-mac/tools). Also download http://www.androidspin.com/downloads.php?dir=amon_ra/RECOVERY/&file=recovery-RA-heroc-v1.2.3.img and place that into the same directory you extracted asroot2.
Step 2:
Connect the phone to the USB port.
Open a terminal and cd into the directory that you extracted the sdk into. Then cd into the tools directory. Then run the following commands:
sudo ./adb push /directory_you_placed_asroot2/asroot2 /data/local/
sudo ./adb shell chmod 0755 /data/local/asroot2
sudo ./adb shell /data/local/asroot2 /system/bin/sh
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4755 su
type exit until you are back to your Mac's prompt.
Now your phone is officially rooted! We arent done yet though. Now you need to flash the recovery image. If you are still in adb shell type in exit until you are out. You should be in the directory where you extracted the recovery image. If not go there. Type in the following:
sudo /.adb push recovery-RA-heroc-v1.2.3.img /sdcard/
Once that is done, type in sudo ./adb shell. If your command prompt is a dollar sign then type in su and press enter. If it is a pound sign you are good. Then type in the following:
flash_image recovery /sdcard/recovery-RA-heroc-v1.2.3.img
Once that is finished you are done. To reboot into recovery type in
sudo ./adb shell reboot recovery
If you are already in the shell, just type
reboot recovery
You should reboot into recovery mode and you can go from here. You can do a nandroid backup and then follow the other guides to install a different ROM or any other things you want to do.
If there are no instructions for Mac, just follow the Linux/Ubuntu instructions as they will be very similar if not the same.
Actually...
http://forum.xda-developers.com/showthread.php?t=581686
This is the thread I used to root my Hero CDMA from my Macbook, worked just fine...Thanks anyways for giving some love to macusers, guides are usually windows only.
I thought it was weird that there wasn't a Mac dedicated thread. I guess the search doesn't like 3 letter words.

adb not working in Ubuntu

I downloaded the SDK and unpacked it in the default location it suggested and tried typing...
Code:
adb devices
and I get the following. What am I missing?
Code:
bash: adb: command not found
Like starting any linux application from within the local directory, you must add the dot-slash.
Code:
./adb
Now if someone could answer my question about using the SDK in Ubuntu...
I can use the SDK with Windows just fine and successfully rooted weeks ago. Now I'm attempting to access the phone with adb in Ubuntu and receive the following message:
Code:
./adb devices
List of devices attached
???????????? no permissions
Any ideas?
Have you tried starting the adb server as root? Try
Code:
./adb kill-server
sudo ./adb start-server
./adb devices
Thank you guys that worked.
buck2202 said:
Have you tried starting the adb server as root? Try
Code:
./adb kill-server
sudo ./adb start-server
./adb devices
Click to expand...
Click to collapse
Yeap, that got it, thanks.
I don't recall seeing anything however that says that the adb server must be run as root. Maybe I just missed it.

In Need of a translator CMD code to Terminal code for board sticky of Side loading ap

Been talking to Lekky and we have all these great things grouped into one thread. One important thread is side mounting the captivate.
Things it gives you are SDK which can be downloaded for PC or Mac.
Drivers again PC or Mac.
Then Root access no biggie
Busy box no biggie.
Then it goes into the CMD language for PC on how to edit the database file using CMD prompts to enable the sideloading of APKs directly on the phone.
What we are looking for is someone to translate this into mac terminal command lines. Here is how it reads now:
Connect USB to phone with USB Debugging ON
Command prompt
cd to SDK install directory
cd tools
adb shell
su
cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db.backup
exit
exit
(This should bring you back to your windows command prompt.)
adb pull /sdcard/settings.db %userprofile%\desktop
(This should copy the settings.db to your desktop in Windows. Keep your cmd window open, you'll need it again.)
Install SQLite Manager Plugin for Firefox
Open SQLite Manager Plugin within Firefox (Tools->SQLite Manager)
Click Database
Click Connect Database
Find settings.db
Expand Tables
Click secure
Scroll down to ID 6, "install_non_market_apps". Double-click.
Change value ( TEXT ) from 0 to 1
Close SQLite Manager
(Back to that cmd window)
adb push %userprofile%\desktop\settings.db /sdcard
adb shell
su
cp /sdcard/settings.db /dbdata/databases/com.android.providers.settings
busybox chown 1000 /dbdata/databases/com.android.providers.settings/settings.db
busybox chgrp 1000 /dbdata/databases/com.android.providers.settings/settings.db
reboot
Disconnect USB from phone. Your phone should be rebooting.
Done! I tested this and was able to install siriusxm.apk from siriusxm.com/android.
Who knows Mac Terminal commands well enough to translate this so that it can be posted in this sticky thread along with the windows version for us?
put ./ before each command
./adb pull /sdcard/settings.db %userprofile%\desktop
./adb shell
then carry on like normal
su
cp /sdcard/settings.db /dbdata/databases/com.android.providers.settings
busybox chown 1000 /dbdata/databases/com.android.providers.settings/settings.db
busybox chgrp 1000 /dbdata/databases/com.android.providers.settings/settings.db
reboot
then do the ./ again
./adb push %userprofile%\desktop\settings.db /sdcard
Also, if you *read* the sticky, it provides these notes, in blue, to make it more pronounced.
yea was on androidforums not here they didnt have the mac side, found it here after u guys mentioned it, awesome ty.

[Q] Using a DROID X and MAC together is tough -- can someone help?

Too many threads... too many sites and PC options.
Here's my situation:
Droid X
Used the leak update... running 2.2 now.
Use a MAC. And have Terminal app on DX.
Have SBF file for 2.1 stock, have ZIP files of rooted 2.2's
Dont have custom recovery.
Dont care much about warranty or OTA... just want to be able to apply ZIPs.
I need to somehow either root my DX with Mac or Terminal app. Or flash the SBF to bring things back to 2.1.
Not sure what to do??? Please please help.
I am not familiar with terminal commands...so if you leave instructions that would be great.
-Roman
You follow the same ADB commands, more or less. Why not try something like Universal AndRoot though? Then you could just skip over it.
But, if you need to sbf, I would *think* you follow the Linux instructions.
1) download sbf_flash & sbf file
Code:
cd directory/where/these/are/located
./sbf_flash SBFfileLOCATION
The only way to SBF is to run windows through bootcamp or this http://www.droidforums.net/forum/droid-hacks/38671-flashing-sbf-mac.html . I am in the same boat as you luckily my girlfriend has a dell running Windows. You should also be able to root 2.2 using the Droid 2 method posted in this section http://forum.xda-developers.com/showthread.php?t=766767. I assume you have the SDK downloaded already? The Linux directions does not work for Mac.
x.v_ said:
You follow the same ADB commands, more or less. Why not try something like Universal AndRoot though? Then you could just skip over it.
I TRIED THAT, BUT THERE IS SOME ERROR THAT POPS UP... CAN'T DO IT. 2.2 ISN'T SUPPORTED... I THINK IT'S JUST FOR 2.1..
But, if you need to sbf, I would *think* you follow the Linux instructions.
1) download sbf_flash & sbf file
Code:
cd directory/where/these/are/located
./sbf_flash SBFfileLOCATION
Click to expand...
Click to collapse
SO THAT EASY? JUST TWO COMMAND LINES?
So, if I put the SBF on my desktop it would be:
cd desktop (enter)
./sbf_flash fullSBFfilename.sbf (enter)
???????
romanvail said:
SO THAT EASY? JUST TWO COMMAND LINES?
So, if I put the SBF on my desktop it would be:
cd desktop (enter)
./sbf_flash fullSBFfilename.sbf (enter)
???????
Click to expand...
Click to collapse
Running ADB with Mac OSX and therefore rooting with the mac is EASY. Just make sure you have the Android SDK installed on your Mac. Make sure in your .bash_profile you have the path set to the tools directory of your SDK folder.
Since I can't tell if you have all this down, I'll give you the instructions on setting up adb on the mac (using terminal), then give you the directions I followed on rooting my Droid X from OSX (I am running 2.2 leaked).
Essentially follow these instructions (taken from tjrocks91 on droidforum... I'd link, but I am not yet allowed to post outside links on this forum):
1. Download the Android SDK for Mac OSX. (google it)
2. Extract the zip file to any destination on your Mac. *Remember its path!*
In the AndroidSDK folder, there will be a folder named “tools”. We will be adding this folder to the path on Mac OSX. For this example, extract to your home folder (the folder that contains the desktop, documents, etc. folders)
3. To do this click on Finder > Go > Utilities > Terminal.
4. Type in without quotations “cd ~/”
5. Next, type "touch .bash_profile" to create your new bash or otherwise known path file.
6. Next, type "open -e .bash_profile" to open it in TextEdit. A TextEdit window will open, copy and past this into that window, substituting <username> for your username on OSX:
export PATH=${PATH}:/Users/<username>/AndroidSDK/tools
7. Save the file and close the window.
8. Repeat steps 5 through 7, but replace .bash_profile with ".bashrc" (without the quotes)
9. ADB should be ready to go. Make sure that your Droid X is set to "charge only" when connected via USB, and that you have debug mode set to on in your Android settings (settings>applications>development> USB Debugging)
10. In terminal, type (without the quotes): "adb devices". You should see a return that gives a list of devices attached. If the daemon wasn't started yet, this will do it. After that, type "adb shell" to enter adb.
11. After that, the adb commands are ALL the same on any platform, just make adjustments for different file systems when moving things TO your phone when using the command prompt (and not in the adb shell itself, but using adb commands). OSX follows unix/linux file structure, but not always the linux/unix file arrangement (but pretty darn close, since it is a Unix BSD GUI).
Now onto rooting your DX running 2.2. I've attached the file I used. It is a .rar files, so you will need a .rar extractor. I found a nice free one on the net called UnrarX. Google it, get it. Its free, it works. I will give instructions assuming you have them. These instructions come from karnovaran here on XDA. THey are for the droid 2, but work for the Droid X as well. i will translate them into instructions that can be followed verbatim on Mac (as the instructions he gave are meant for those doing this through the command prompt in windows).
1. Extract the contents of the attached file to your sdk tools folder
2. Open a terminal window and navigate to your sdk tools folder. if you put the sdk folder in your home folder, then the command and path you should enter from the terminal should be something like this:
cd AndroidSDK/tools
3. Now the process is as follows (follow EXACTLY, making sure you are faithful to YOUR file paths). I'm copying almost verbatim from karnovaran:
- adb devices (to verify the connection)
- adb push Superuser.apk /sdcard/Superuser.apk
- adb push su /sdcard/su
- adb push busybox /sdcard/busybox
- adb push rageagainstthecage-arm5.bin /data/local/tmp/rageagainstthecage-arm5.bin
- adb shell
- cd data/local/tmp
- chmod 0755 rageagainstthecage-arm5.bin
- ./rageagainstthecage-arm5.bin
- let the process run until it 'kicks' you out (this WILL take a while, so don't TOUCH ANYTHING on your phone. Just go grab a beer and relax until the proces kicks you back out to the tools folder in terminal)
- adb kill-server
- cd <wherever-your-sdk-tools-folder-is>
- adb devices (to verify the connection)
- adb shell (you should now have a # prompt, if not return to ./rage step above)
- mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
- cp /sdcard/Superuser.apk /system/app/Superuser.apk
- cp /sdcard/su /system/bin/su
- cp /sdcard/busybox /system/bin/busybox
- chmod 4755 /system/bin/su
- chmod 4755 /system/bin/busybox
- mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
- exit
- exit
This got me root on my DX and I did this on OSX no problem. The only PC I have that is functional is my laptop for work and because of the content on it and security procedures, though I could do android hacking with it, I will not, so I'm stuck with using my Mac. Thing is that it really is NOT hard. Commands are almost exactly as in Linux/Unix, and OSX terminal runs bash, which is quite versatile (more commands than busybox, iirc) in and of itself. And getting mac root access is bloody easy using sudo if you need it (otherwise, don't use it).
I hope this helps. Have fun.
many steps.... but will go slowly.
Thank you!!!!
Many steps, but they work!
SirBrass said:
Running ADB with Mac OSX and therefore rooting with the mac is EASY. Just make sure you have the Android SDK installed on your Mac. Make sure in your .bash_profile you have the path set to the tools directory of your SDK folder.
Since I can't tell if you have all this down, I'll give you the instructions on setting up adb on the mac (using terminal), then give you the directions I followed on rooting my Droid X from OSX (I am running 2.2 leaked).
Essentially follow these instructions (taken from tjrocks91 on droidforum... I'd link, but I am not yet allowed to post outside links on this forum):
1. Download the Android SDK for Mac OSX. (google it)
2. Extract the zip file to any destination on your Mac. *Remember its path!*
In the AndroidSDK folder, there will be a folder named “tools”. We will be adding this folder to the path on Mac OSX. For this example, extract to your home folder (the folder that contains the desktop, documents, etc. folders)
3. To do this click on Finder > Go > Utilities > Terminal.
4. Type in without quotations “cd ~/”
5. Next, type "touch .bash_profile" to create your new bash or otherwise known path file.
6. Next, type "open -e .bash_profile" to open it in TextEdit. A TextEdit window will open, copy and past this into that window, substituting <username> for your username on OSX:
export PATH=${PATH}:/Users/<username>/AndroidSDK/tools
7. Save the file and close the window.
8. Repeat steps 5 through 7, but replace .bash_profile with ".bashrc" (without the quotes)
9. ADB should be ready to go. Make sure that your Droid X is set to "charge only" when connected via USB, and that you have debug mode set to on in your Android settings (settings>applications>development> USB Debugging)
10. In terminal, type (without the quotes): "adb devices". You should see a return that gives a list of devices attached. If the daemon wasn't started yet, this will do it. After that, type "adb shell" to enter adb.
Last login: Tue Sep 14 09:12:34 on console
Roman-Vails-Computer:~ romanvail$ cd ~/
Roman-Vails-Computer:~ romanvail$ touch .bash_profile
Roman-Vails-Computer:~ romanvail$ open -e .bash_profile
Roman-Vails-Computer:~ romanvail$ touch .bashrc
Roman-Vails-Computer:~ romanvail$ open -e .bashrc
Roman-Vails-Computer:~ romanvail$ adb devices
-bash: adb: command not found
Roman-Vails-Computer:~ romanvail$
*****DOESNT WORK FOR ME*****
Click to expand...
Click to collapse
Do you have the path to adb set properly?
Sent from my DROIDX using XDA App
SirBrass said:
Do you have the path to adb set properly?
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
Yeah this would be your problem.
@OP,
yes, it would be just that easy IF AND ONLY IF the linux commands apply to macs as well. Which I have NO IDEA on. so proceed at your own risk :z
i finally figured it out... saw another post....
here's what worked:
./
Here's my log in case anyone else needs is:
Roman-Vails-Computer:~ romanvail$ adb
-bash: adb: command not found
Roman-Vails-Computer:~ romanvail$ cd/Users/romanvail/android-sdk-mac_x86/tools -bash: cd/Users/romanvail/android-sdk-mac_x86/tools: No such file or directory
Roman-Vails-Computer:~ romanvail$ cd /Users/romanvail/android-sdk-mac_x86/tools Roman-Vails-Computer:tools romanvail$ ./adb
Android Debug Bridge version 1.0.26
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <serial number> - directs command to the USB device or emulator with
the given serial number. Overrides ANDROID_SERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this ocmmand with no additional arguments
will disconnect from all connected TCP/IP devices.
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-s' means install on SD card instead of internal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.
adb help - show this help message
adb version - show version num
DATAOPTS:
(no option) - don't touch the data partition
-w - wipe the data partition
-d - flash the data partition
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be updated.
- If it is "system" or "data", only the corresponding partition
is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.
Roman-Vails-Computer:tools romanvail$ adb devices
-bash: adb: command not found
Roman-Vails-Computer:tools romanvail$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
015D61C60A003017 device
Roman-Vails-Computer:tools romanvail$ ./adb push Superuser.apk /sdcard/Superuser.apk
1059 KB/s (27688 bytes in 0.025s)
Roman-Vails-Computer:tools romanvail$ ./adb push su /sdcard/su
1802 KB/s (26248 bytes in 0.014s)
Roman-Vails-Computer:tools romanvail$ ./adb push busybox /sdcard/busybox
1918 KB/s (1926944 bytes in 0.980s)
Roman-Vails-Computer:tools romanvail$ ./adb push rageagainstthecage-arm5.bin /data/local/tmp/rageagainstthecage-arm5.bin
726 KB/s (5392 bytes in 0.007s)
Roman-Vails-Computer:tools romanvail$ ./adb shell
$ cd data/local/tmp
$ chmod 0755 rageagainstthecage-arm5.bin
$ ./rageagainstthecage-arm5.bin
[*] CVE-2010-EASY Android local root exploit (C) 2010 by 743C
[*] checking NPROC limit ...
[+] RLIMIT_NPROC={3815, 3815}
[*] Searching for adb ...
[+] Found adb as PID 2846
[*] Spawning children. Dont type anything and wait for reset!
[*]
[*] If you like what we are doing you can send us PayPal money to
[*] [email protected] so we can compensate time, effort and HW costs.
[*] If you are a company and feel like you profit from our work,
[*] we also accept donations > 1000 USD!
[*]
[*] adb connection will be reset. restart adb server on desktop and re-login.
$ Roman-Vails-Computer:tools romanvail$ ./adb kill-server
Roman-Vails-Computer:tools romanvail$ ./adb kill-server
* server not running *
Roman-Vails-Computer:tools romanvail$ cd /Users/romanvail/android-sdk-mac_x86/tools
Roman-Vails-Computer:tools romanvail$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
XXXXXXXXXXXXXXXX device
Roman-Vails-Computer:tools romanvail$ ./adb shell
# mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
# cp /sdcard/Superuser.apk /system/app/Superuser.apk
# cp /sdcard/su /system/bin/su
# cp /sdcard/busybox /system/bin/busybox
# chmod 4755 /system/bin/su
# chmod 4755 /system/bin/busybox
# mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
# exit
Roman-Vails-Computer:tools romanvail$ exit
logout
[Process completed]
Now that's odd. I only get problems when I try and use ./ just regular "adb" works on my machine.
SirBrass said:
Now that's odd. I only get problems when I try and use ./ just regular "adb" works on my machine.
Click to expand...
Click to collapse
Yea pretty weird... I use OSX 10.5.8
Intel machine... so, it's weird, but IT DID WORK.
romanvail said:
Yea pretty weird... I use OSX 10.5.8
Intel machine... so, it's weird, but IT DID WORK.
Click to expand...
Click to collapse
There's your problem.... you're using leopard . I'm using 10.6.3. Love it. They did well with this new OS version (for those who don't know... the difference to users between Leopard and Snow Leopard for OSX folks is like the diff between Eclair and FroYo... the former is good, but the later far exceeds it under the hood though still remaining almost the same on the front end).
And obviously that means I'm running an intel machine as well. 2008 iMac 20".... 2.66 Ghz Core 2 Duo. Just your regular, nothing-special iMac.
I thought Macs were supposed to be user friendly?
*snicker*
Sent from my DROIDX using XDA App
Will this method work for a Droid X on Android 2.3.4 Gingerbread and with build # 4.5.1_57_DX8-51 Also is there a new one click type solution by now on a Mac?

Categories

Resources