[Q] Permissions problem using adb to push app - Kindle Fire General

I'm running a script to modify settings.db (found in the application forum) so that I can wirelessly tether and use the GPS on my phone while running Google Maps on the KF.
The script starts like this:
adb shell rm /data/local/tmp/*
adb push zergRush /data/local/tmp
adb shell chmod 755 /data/local/tmp/zergRush
adb shell ./data/local/tmp/zergRush
Click to expand...
Click to collapse
and works fine.
But I'm having problems running the script that others are having no problem with at this point in the script.
adb pull /data/data/com.android.providers.settings/databases/settings.db
copy settings.db settings.bak
sqlite3 settings.db "update secure set value=1 where name='mock_location';"
adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
adb reboot
Click to expand...
Click to collapse
The script runs into permission errors. I have all the files in the same directory as adb in the platform-tools folder. adb is communicating with the device with the adb devices command. I run the .bat file from the folder while in a DOS command shell. And I get this error
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb pull /data/data/com.android.providers.settings/databases/settings.db
failed to copy '/data/data/com.android.providers.settings/databases/settings.db' to './settings.db': Permission denied
C:\Program Files (x86)\Android\android-sdk\platform-tools>copy settings.db settings.bak
The system cannot find the file specified.
C:\Program Files (x86)\Android\android-sdk\platform-tools>sqlite3 settings.db "update secure set value=1 where name='mock_location';"
Error: no such table: secure
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
failed to copy 'settings.db' to '/data/data/com.android.providers.settings/databases/settings.db': Permission denied
Click to expand...
Click to collapse
Any idea what's going on?

i assume you'r at the $ prompt - if you type in su the prompt should change to #
perhaps a hint in the right direction ...
zergrush does'nt work anymore since 6.2.1 and burritoroot

I am not at any command prompt when running the script. I'm at the Windows prompt, and I just execute the script name?
Confused.

when you type adb or adb shell your mostly at the $ prompt
when you type su the promt usually changes to # - thats root access
i think you have to integrate that in your script ...

I added
adb shell su
to the start of my script, but then it just hangs at the root prompt.

if you have rooted with burritoroot try "adb root"

It says:
adbd cannot run as root in production builds

ok then i think you will have to try it with the su method - maybe "adb su" could work - it's just a try
otherwise i think you will have to write a second unix stile script (ending .sh) to do the stuff and call it from your dos script or run it in the adn shell - but i'm not the unix expert - sorry
i'm running out of time now - wish you much luck with your script !!!

Anyone else please?

Resolved.….

Resolved how? Very curious

Please, how did you solved the problem ???
thanks

would be interested too !

Here's how.
I was so frustrated, didn't seem to be able to achieve root status and use ADB. So, I bought root explorer, went to directory where settings.db file was, and copied it to sdcard folder on the KF. Then brought it over to my PC just over the USB connection (KF was a Windows drive).
In Windows, ran the part of the script that replaces the "0" with a "1". Then copied it back to the sdcard folder on the device, and used root explorer to move it back to its proper directory.
Only one caution. Make sure that you don't change the permissions or ownerships of the file, that they are the same as when you first grabbed it.

Related

Adb commands for beginners

ADB COMMANDS
This is just a simple guide on how to open up and run adb commands from your windows based operating system.
Open up run by simultaneously pressing the windows flag key and r.
In the window that pops up type cmd. Now command prompt is open
type the commands each followed by the enter key: cd\
cd androidsdk/tools
Now your in your in your androidsdk/tools folder. You can do several things in here but i'll start with some basics each
of the following commands is to be followed by the enter key
adb devices (this lets you know what devices are attached to the computer in usbdebugging)
How to get your logcat (this will put your logcat in txt format in your sdk tools folder)
adb logcat > logcat.txt
copy an app from your phone to your computer
adb pull /system/app/whatever.apk C:\ateam (replace whatever.apk with the app your pulling also replace ateam with the
folder your placing the app in
Install an app from your computer on your phone
adb install whatever.apk (put an apk in your sdk tools and replace"whatever" with the name of the apk and it will install it)
also you can add either -r or -s to reinstall or install on the sdcard for instance: adb install -r Rosie.apk
this command will reinstall the new rosie from your tools file and still keep the same user data as before.
-r for reinstall
-s for sdcard (gotta test this)
Push an app from your computer to your phones filesystem (in some cases also installs)
adb remount
adb push whatever.apk /system/app (put an apk in your sdk tools and replace "whatever" with the name of the apk and this
will push it to your system app folder. You can change the destination as well for example: You want to push Launcher2.apk
to your data/app folder: adb remount
adb push Launcher2.apk /data/app )
Remove an app from your phone
adb remount
adb shell
cd /system/app (this will change your disk to system/app you may also change to another folder as well)
ls -a ( a list will show of all the apps inside your system app folder)
rm whatever.* (replace the whatever.* with the name of a apk you want to remove )
Flash a recovery image to your phone
First pace the recovery image in your sdcard root and rename it to recovery (so the full name will now be recovery.img)
adb shell
flash_image recovery /sdcard/recovery.img (wait till this# sign shows up again before you type the next command)
reboot recovery
get your current battery level
adb shell cat /sys/class/power_supply/battery/capacity
get your current rom build
adb shell getprop ro.build.description
Reboot into fastboot ruu
adb shell reboot oem-78
How to run the ruu via adb
First thing first start the ruu give it permissions and so fourth
When it gets to the part where it says "Follow the instructons below..."
Move the ruu window out of the way and start your task manager
Go to processes right click on ARUWizard.exe and choose open file location
A new window will open scroll till you see ROM.zip
Copy and paste Rom.zip to your desktop
Once you have copied it to your desktop shutdown the ruu and task manager
Click start menu then click computer
A window will open up click the c drive
now click create new folder and name it test
put the rom.zip in the test folder
plug your phone in and open command prompt and type
Code:
adb devices
adb shell reboot oem-78
fastboot devices
fastboot getvar boot-mode
fastboot erase cache
fastboot flashzip C:\test\rom.zip
fastboot devices
fastboot getvar boot-mode
fastboot reboot
Very useful man thanks for the guide. I also think newbies would use this guide as its in the right catagory and not in some G1 section or Mt3g section.
Edit** isnt this already in the tuorials section?
sandboxlove said:
i think its a great idea, we need a more compilied list to refer to
add more!!!!
Click to expand...
Click to collapse
I'm going to try to add one everyday. tomorrows lesson how to run the ruu from adb
Powers16 said:
Very useful man thanks for the guide. I also think newbies would use this guide as its in the right catagory and not in some G1 section or Mt3g section.
Edit** isnt this already in the tuorials section?
Click to expand...
Click to collapse
Where? Pagelink
http://forum.xda-developers.com/showthread.php?p=5799939#post5799939
but its a less in depth reference so i hope this gets added into the tutorial section as here are no in depth tuts about adb in there..
also to remove apk
adb shell rm /system/ (then put in either app or media or what ever folder name /whatever.apk
Papa Smurf151 said:
also to remove apk
adb shell rm -r /system/ (then put in either app or media or what ever folder name /whatever.apk
Click to expand...
Click to collapse
rm -r is a recursive deletion and can have a lot of unwanted and harmful side-effects if used incorrectly. To just remove apks, a simple rm works just fine. If they typed the wrong directory, file name, whatever, a recursive deletion would clear the entire folder... Not really something you'd want.
This is great, I will be coming back for more.
Thanks a lot
DevinXtreme said:
rm -r is a recursive deletion and can have a lot of unwanted and harmful side-effects if used incorrectly. To just remove apks, a simple rm works just fine. If they typed the wrong directory, file name, whatever, a recursive deletion would clear the entire folder... Not really something you'd want.
Click to expand...
Click to collapse
thanks...i knew that but wasnt paying attention. I just copied and pasted from my adb notepad file. i edited my post and removed the -r
DevinXtreme said:
rm -r is a recursive deletion and can have a lot of unwanted and harmful side-effects if used incorrectly. To just remove apks, a simple rm works just fine. If they typed the wrong directory, file name, whatever, a recursive deletion would clear the entire folder... Not really something you'd want.
Click to expand...
Click to collapse
LOL, yeah, I've done that
Might want to also include a note that says when using linux or mac shell you replace the "adb" with "./adb" (I believe that is correct or at least what I do now when reading the windows cmd guides)
tejasrichard said:
LOL, yeah, I've done that
Click to expand...
Click to collapse
I wiped out 16 years of source code with it once....I got fired.
Kcarpenter said:
I wiped out 16 years of source code with it once....I got fired.
Click to expand...
Click to collapse
Oh damn that's crucial man. Hope they had backups
Screwin around
So I was screwin around with adb tryin to learn this stuff and I stumbled across this by just typing adb after cd'ing in. Hopefully its useful. Mind you I am a total noob to android/linux and this was a total accident. I am sure you all know about it though. Useful info though
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>cd\
C:\>cd android-sdk-windows
C:\android-sdk-windows>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
disconnect <host>:<port> - disconnect from a TCP/IP device
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] [-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 bootloade 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 u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
C:\android-sdk-windows>
Hi, I'm abcdfv, and I approve this thread.
abcdfv said:
Hi, I'm abcdfv, and I approve this thread.
Click to expand...
Click to collapse
LOL Thanks
I've always been an advocator of EVERYONE learning the ADB basics at least.
updated with run the run the ruu via adb commands
I'm trying to flash my recovery image. I need help. What is the first comand I type at C:\Windows\System32> normally I type cd:\android-sdk-windows\tools
then i adb remount, then adb shell. When I do that now I get "remount failed: Invalid argument" I'm not TOTALLY clueless, although it may turn out that I am after this. any help would be great. I am booted in recovery, but since my recovery image is gone, its just an exclamation in a triangle. if i adb devices, i can see my phone and it says i'm in recovery. Thanks.
I need some serious help with this.....do you need to download anything on your computer?? can you explain all the stuff you need to do leading up to what you type into command prompt...anyone..i need help..i flashed darchstar froyo build and the recovery is all messed up..i cant flash anything..so i need to push a new recovery img.but i don't know anything about adb shell or anything .....please........ive never had to push anything..everyone always just puts flashable zips out for you...HELP

root Tattoo with Mac

Hey Boys and Girls,
where i can find an manual to root the tattoo with a mac?
sorry, i have search for this, but i cant find information for this
I don't thing that there is a difference.
As soon as you have SDK installed and adb works, the commands are the same.
hi,
i'm also doing all the rooting process from mac, just put the directory contain 'adb' shell into your home/user places and executing it with 'terminal'..
Same here, using a Mac ever since and also using it for Android development. Due to the underlying Unix core of OS X you just have to follow the steps as described for Linux. If it's just adb commands it's the same on every platform anyway.
You might want to add a
Code:
export PATH=${PATH}:/Users/yourusername/android.sdk/tools
to your .bash_profile file in your home folder so you don't have to cd to the SDK tools folder everytime. Happy rooting!
Mod. edit: not dev related, moved to general
Okay thanks for yours answers but i'm a newbie.
the background story is, I want to edit the boot.mp3. Because the startsound is really annoying
So i have download SDK, open the terminal and switch to usb-debbugging mode on my tattoo.
And now? sorry, I'm still missing a few knowledge
thanks for your help
well just use the various adb commands in Terminal Just type in "adb", press enter and you'll get a list of all possible commands. Assuming you've added the path to your sdk tools folder to your bash profile. Otherwise just drag & drop the adb binary from the tools folder onto your Terminal window, et voila.
The most used commands are probably push and pull where you can, well, push stuff to your phone or pull it to your computer.
So if you want to modify the boot.mp3 you would pull the original from the phone to your computer, modify it and push it back, overwriting the original file. In Terminal speak: ;-)
adb pull /system/media/bootscreen/boot.mp3
adb push /path/to/boot.mp3 /system/media/bootscreen/boot.mp3
Please note depending on the ROM you're using the paths may be different. To browse the device via Terminal type in "adb shell" and make a simple "ls" to list the directories, "cd" to change directories etc.
Or if you just want to use another mp3:
adb push /path/to/whatever.mp3 /system/media/bootscreen/boot.mp3
Again, on the Mac you can just drag & drop files onto the Terminal to get their full Unix paths like to your custom mp3
Thanks a lot. i love it its really simple
and now i have load and edit the the boot.mp3. But i can't push it to my tattoo, because i can only read but not write
I have tried to root my phone with "adb root" but it is the message "adbd cannot run as root in production builds"
Terminal: "adb remount", then push again
damn the next bad message "remount failed: Operation not permitted"
You need to root your phone first.
http://forum.xda-developers.com/showthread.php?t=637927
Okay i have executed the instructions. But I've stop at this part:
You should get something like this:
Code:
# id
uid=0(root) gid=1000(shell) groups=1003(graphics),1004(input),1007(log),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet)
uid=0(root) is important.
Click to expand...
Click to collapse
Yes i've root but i'cant download the "su binary" because its doesnt exist.
But its absolute essential to need the "su binary" to only copy the boot.mp3 to my phone? Or there is an other way? What are the commands to push the boot.mp3 back to may tattoo then i'm in the root mode like >> "#".
okay hope you understand me
You need "su" to do root stuff... no other way.
Download the package from 1 click root thread and find "su" there...
http://forum.xda-developers.com/showthread.php?t=644279
now, i have install the su binary. Then i does this command
user:~ user$ /Users/user/android-sdk-mac_86/tools/adb shell
$ /data/local/bin/su
#
Click to expand...
Click to collapse
And now? Is there a comand to push the boot.mp3 back to the phone in this mode >> "#" ?
I have try to open an new terminal window and type
adb push /path/to/boot.mp3 /system/media/bootscreen/boot.mp3
Click to expand...
Click to collapse
but the answer is
failed to copy '/Users/android-sdk-mac_86/boot.mp3' to '/system/media/bootscreen/boot.mp3': Permission denied
Click to expand...
Click to collapse
and adb remount doesnt work to
You also need tattoo-hack.ko file and do insmod tattoo-hack.ko to make /system writable.
Or even better... flash custom amon_ra recovery image and then a custom rom with all this already included.
Mine for example http://forum.xda-developers.com/showthread.php?t=702401
It doesnt have boot sound enabled
Okay thank you very much.
now it was successful

[How To] Enable Non-Market apps on Captivate (consolidated)

(additional CHOWN notes added below. If you are getting "chown: unknown user/group system:system" read them!
Ok, we do have a WHOLE other thread that was made a sticky already, but you need to read the WHOLE thing to get all the properly interesting parts. I'll make sure I keep this OP up to date.
The following methods enable side loading and installing of apps onto the captivate, without the need of a program on a computer attached via the SDK. There are multiple methods, and for the most part, these methods that have worked flawlessly for many users here on this forum. We're just collecting them all in one post for speed and clarity.
Methods that assist in loading applications, without modification to the settings (a.k.a still need a computer attached) can be found at the collective wiki, http://samsungcaptivate.wikia.com/wiki/How_to_Sideload
ALL METHODS REQUIRE ROOT & BUSYBOX:
Root your phone, see http://forum.xda-developers.com/showthread.php?t=725555
Busybox : http://www.appbrain.com/app/stericson.busybox
Please, save a clean, un-altered backup copy of this file. To be safe. Rarely does corruption occur, but if it does, it won't be good.
Method 1: From Win7x64, Samsung Drivers, Android SDK installed.
This method uses the tools you already have at hand, as part of the SDK. All instances in code blocks are run inside of the command prompt. You will need to know where you installed your SDK, and the tools directory therein.
Once rooted, go install BusyBox installer from the App Market/AppBrain etc and run it. It will download and install the latest version for you.
From my Win7x64, with USB Debugging ON. Ensure that you phone is UNLOCKED as it the SU app will ask for permission for 'UNKOWN' in the following command.
Connect to PC, and Eject/Safely Remove the SD card, and "Turn off USB Storage" on the phone.
open command prompt, follow along:
Code:
> c:
> cd \android\tools
> adb shell
$ su
# cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
# exit
$ exit
mount the SD cards to the pc,
"USB Connected select to... ", Mount
mine mounted as H:
Code:
> copy H:\settings.db settings.db
> sqlite3 settings.db
~> update secure set value="1" where name="install_non_market_apps";
1 row updated
~> .quit
> copy settings.db H:\settings.db
Eject the drive, safely remove, etc.
"Turn off USB storage" etc, to mount it back to the phone
Code:
> adb shell
$ su
# cp /sdcard/settings.db /dbdata/databases/com.android.providers.settings/settings.db
# chmod 660 /dbdata/databases/com.android.providers.settings/settings.db
# chown system.system /dbdata/databases/com.android.providers.settings/settings.db
# exit
$ exit
> adb reboot
Bam. Done.
Method 2: with Root Explorer
(courtesy of kirbo20)
This is a pretty easy process. I went in to Root Explorer - dbdata - databases - com.android.providers.settings, copied settings.db to my sd card, edited it on my pc with a db editor changed 0 to a 1 next to non market apps. Copied it back to the original directory, rebooted and installed a non market app.
(added by gotfolk)
again using FF plug in..
Click Secure on the left pane
click on install_non_market_apps
click edit
number 3 states value click there and type in 1. hit ok
(/gotfolk)
Please use caution. If you want to make sure the db save properly open it on your sd card before you copy and replace the original. It should open up as a readable table. If it opens up in a txt editor its corrupt. This permanently enables non market apps. You can not toggle it on and off.
( This is a sqlite3 database file, you can find many GUI editors that will be able to handle the editing, including a FF plugin. Search "SQLite" )
Method 3: with Root Explorer & Sqlite Editor & Terminal Emulator
(courtesy of ice3186)
- Open Root Explorer
- Browse to /dbdata/databases/com.android.providers.settings/
- copy settings.db to the root of your sd card ( /sdcard/ )
- Click on the newly copied settings.db in /sdcard/, with SQLite Editor installed, you can open and edit it here.
- Select the "secure" table, and update the value of 'install_nonmarket_apps' from 0 to 1, and save.
- close out of SQLite editor
- copy the modified file ( /sdcard/settings.db ), and browse back to /dbdata/databases/com.android.providers.settings/ and paste
- confirm the overwrite if asked and then open again to confirm it's been changed.
- open Terminal Emulator
Code:
$ su
# chmod 660 /dbdata/databases/com.android.providers.settings/settings.db
# chown system.system /dbdata/databases/com.android.providers.settings/settings.db
# reboot
- reboot phone.
No PC, no Mac, no drivers, no SDK. Viola.
Method 4: Mac & Android SDK
You will see "[sdcard]" through this method...I don't own a Mac so I'm guessing a bit.
This method uses the tools you already have at hand, as part of the SDK. All instances in code blocks are run inside of the Terminal. You will need to know where you installed your SDK, and the tools directory therein.
Once rooted, go install BusyBox installer from the App Market/AppDroid etc and run it. It will download and install the latest version for you.
From a Max OS X, with USB Debugging ON. Ensure that you phone is UNLOCKED as it the SU app will ask for permission for 'UNKOWN' in the following command.
Connect to Mac, and Eject/Safely Remove the SD card, and "Turn off USB Storage" on the phone.
open Terminal, follow along:
Code:
> cd /android/tools
> ./adb shell
$ su
# cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
# exit
$ exit
mount the SD cards to the Mac,
"USB Connected select to... ", Mount
mine mounted as [sdcard]
Code:
> cp [sdcard]/settings.db settings.db
> ./sqlite3 settings.db
~> update secure set value="1" where name="install_non_market_apps";
1 row updated
~> .quit
> cp settings.db [sdcard]/settings.db
Eject the drive, safely remove, etc.
"Turn off USB storage" etc, to mount it back to the phone
Code:
> ./adb shell
$ su
# cp /sdcard/settings.db /dbdata/databases/com.android.providers.settings/settings.db
# chmod 660 /dbdata/databases/com.android.providers.settings/settings.db
# chown system.system /dbdata/databases/com.android.providers.settings/settings.db
# exit
$ exit
> ./adb reboot
Method 5: Android SDK only
Of course, this also requires root and BusyBox.
From the android sdk tools folder in a command prompt:
note: all linux/mac should use './adb' in place of just 'adb', and place quotes on the echo statement between echo and |
Code:
adb shell
su
chmod 666 /dbdata/databases/com.android.providers.settings/settings.db
exit
exit
adb pull /dbdata/databases/com.android.providers.settings/settings.db settings.db
echo update secure set value = 1 where name = 'install_non_market_apps';|sqlite3 settings.db
adb push settings.db /dbdata/databases/com.android.providers.settings/settings.db
adb shell
su
chmod 660 /dbdata/databases/com.android.providers.settings/settings.db
chown system.system /dbdata/databases/com.android.providers.settings/settings.db
reboot
NOTICE
You must chown the settings.db file and reboot once it is back in its original location. If you do not, you will not be able to alter settings such as WiFi,GPS, default Ringtones, etc. It's also highly likely that you may wish to chmod to 660 (-rw-rw---), so I've tacked that in here and above.
Code:
> adb shell
$ su
# chmod 660 /dbdata/databases/com.android.providers.settings/settings.db
# chown system.system /dbdata/databases/com.android.providers.settings/settings.db
# exit
$ exit
> adb reboot
Chown Note
In the event that you are getting "chown: unknown user/group system:system" please try 1000.1000 as this has been reported to work on several of the samfirmware-released roms that fail with this message.
Absolutely do not use someone else's settings.db unless you specifially make it a point replace android_id with your android_id!
Special Note
Any of these adb comments can be run from Terminal Emulator (Android Terminal Emulator, free) from the su command. I use the ADB here as it is a lot easier to type into. Terminal Emulator will provide you with a shell that is an exact match of the 'adb shell' command, as they both simply provide the shell to you.
Result:
After completing this process you will be able to load non-market apps directly from the APK files, SDK tools, tools such as DroidExplorer and apps such as APKtor.
You will be able to download the APKs directly, and then install from your favorite file browser (e.g. MyFiles(s), Astro(f), RootExplorer($)...)
Tools
SQLite Administrator (Win, GUI, no FF required) http://sqliteadmin.orbmu2k.de/
SQLite Manager (FF addon, search for it)
Application links
Root Explorer http://www.appbrain.com/app/com.speedsoftware.rootexplorer
SQLite Editor http://www.appbrain.com/app/com.speedsoftware.sqleditor
Terminal Emulator http://www.appbrain.com/app/jackpal.androidterm
BusyBox http://www.appbrain.com/app/stericson.busybox
bump.. settings.db people.. please read the threads!!
good stuff!!!
Ok. I can find settings.db with root explorer. i can copy it and i put it in my sdcard folder but nothing is there when i try to find it on my computer. Im trying to use SQlite editor on firefox. Im also on a powermac g4 if that makes a difference. I did download sqlite editor on my phone and I can find where to change the values for installing non market apps but when I change from a zero to a one it denies me. Please help
Ok, so let me make sure I have your process:
- Rooted
- Installed busybox ?
- Installed Root Explorer
- copied settings.db to /sdcard
-- cant see the file when mounted to Mac, thus can't edit with FF plugin
-- SQLite editor for android wont allow access..
(is this the SQLite Editor you used? http://www.appbrain.com/app/com.speedsoftware.sqleditor)
Try installing "Android Terminal Emulator" from the market (http://www.appbrain.com/app/jackpal.androidterm)
- open Terminal Emulator
$ su
# cd /sdcard
# chmod 777 settings.db
# exit
- Open the sqlite editor, and make the change
- back to Terminal Emulator
$ su
# chmod 660 settings.db
- proceed with rest of instructions.
how many more threads do we need on the same thing? We already have ALL of this info posted, several times.
designgears said:
how many more threads do we need on the same thing? We already have ALL of this info posted, several times.
Click to expand...
Click to collapse
Please read my initial post, first few lines. I explained why, specifically: Consolidation.
Thanks I will give it a try later today.
Sent from my SAMSUNG-SGH-I897 using XDA App
- OP updated to reflect stock ownership settings for 'chown'
Also, which sqlite app are you using? I'll put that up as method 3 if it works out nicely for you.
fixed a typo in the chown command.. bad copy paste.. bad.. doh.
added method 3 courtest of ice3186
added links to Root Explorer ($), SQLite Editor ($) and Android Terminal Emulator (free) and added the chmod/chown commands to method 3, as they were skipped by accident.
bump** for newcomers, sry.
thanks max for adding the third method. this was by far much easier than the first two methods. I have a hard time getting my mac to talk to my phone sometimes and it was good to not have to plug the lil guy in at all. Worked like a charm
myself and ice3186 are glad we could be of help
If I had accidentally deleted the settings.db how should I go about recovering my phone? Now I have the issue that my phone won't boot past the boot animation and I'm notbsure what to do
mkslt4 said:
If I had accidentally deleted the settings.db how should I go about recovering my phone? Now I have the issue that my phone won't boot past the boot animation and I'm notbsure what to do
Click to expand...
Click to collapse
Did you make any kind of backup before hand?
You may have to use someone else's settings.db and then do a factory reset.
Depending on how much you've done with the phone I'd suggest deciding on doing a the reboot process for rooting, but choosing to clear data. This may rebuild it, I am not sure.
my dbdata directory is empty.. My phone is less then 2 hours old and i have some market apps installed..
xetrev said:
my dbdata directory is empty.. My phone is less then 2 hours old and i have some market apps installed..
Click to expand...
Click to collapse
Oh, if it's running, then this folder isn't actually empty.
What are you using to browse this folder?
i followed this guide to a T yesterday when i did this. I used option 1, ADB commands on terminal since i'm a mac and it was super easy, did it in about 5 minutes.
this is just my opinion but i think everyone should try playing with the ADB commands, they're actually really useful and educational to know. and if you should brick your phone, just use clockwork recovery to restore it.
that being said, maybe you should add a disclaimer that when done on a mac, the adb commands require a "./" in front (so adb reboot becomes ./adb reboot). cp, chown, and chmod commands don't need it though (or at least i didn't).

Automated script for enabling Wifi Hotspot on AT&T Atrix

I can't post this on the original thread because of The Rules about new users being blocked from developer forums(feh), but I wanted to share the script I used to automatically update the telephony database instead of buying the Root Explorer and SQLite Editor apps. Tested on my AT&T Atrix with stock builds 1.8.3 (Android 2.2.2 Froyo) and 4.5.91 (Android 2.3.4 Gingerbread).
Install the Android SDK and the Android Debug Bridge if you haven't already.
Get a copy of the sqlite3 binary for Android (I found one in the SuperOneClick zip file)
Root your phone (one method is here). The important part is to be able to su to root in an ADB shell.
Download the attached shell script, chmod it +x (and change the extension to .sh if you fee like it)
Push the sqlite3 binary and the shell script to a temp dir on the device:
Code:
$ adb push sqlite3 /data/local/tmp
$ adb push telephony.sh /data/local/tmp
Shell into the phone (make sure USB debugging is enabled):
Code:
$ adb shell
su to root:
Code:
$ su root
cd to /data/local/tmp:
Code:
# cd /data/local/tmp
make sure the script is executable:
Code:
# chmod 755 telephony.sh
run it:
Code:
# ./telephony.sh
Select AT&T Tether APN from list (Settings->Wireless & networking->Mobile Networks->Access point names)
Reboot device
Enable WiFi Hotspot
(Optional) Raise your fist in the air as you triumph over bloodsucking corporate greed.
If things get fouled for any reason, the script makes a backup of the files it modifies in the same directory with a "_backup" extension. You can restore the original databases by running the following commands in a root shell on the phone:
Code:
# cp -p /data/data/com.android.providers.telephony/databases/telephony.db_backup /data/data/com.android.providers.telephony/databases/telephony.db
# cp -p /data/data/com.motorola.android.providers.settings/databases/settings.db_backup /data/data/com.motorola.android.providers.settings/databases/settings.db
Make sure to include the -p switch, otherwise the file permissions won't be correct. It doesn't seem to be possible to set file permissions/ownership manually ("chgrp radio" gives an error).
Okay I need help......... I've rooted and I've completely lost the ability to have free wifi tethering.!!! I've been trying to do this procedure all day long and when I try and run the script from a cmd prompt (just like this........ ./telephony.sh) it tell me I do not have permission to do that even though I've already CHMOD'd the file to give SU permission........ GRRRRRRrrrrrrrrrrrrrrrrrrr please help.
Changing the permissions on the script with chmod is just the first step.
Make sure you've shelled into the phone ('adb shell'), and then logged in as root ('su root'). The command prompt should change from a '$' to a '#' when you're logged in as root.
If you're having problems getting the script to work for you, try this method for Wifi/tether enabling, it worked perfect for me on Stock 2.3.4, as well as Ninja Speed Freak
http://forum.xda-developers.com/showthread.php?t=1160452
yes sir
Malibee said:
Changing the permissions on the script with chmod is just the first step.
Make sure you've shelled into the phone ('adb shell'), and then logged in as root ('su root'). The command prompt should change from a '$' to a '#' when you're logged in as root.
Click to expand...
Click to collapse
Iam ssomewhat familiar with linux redhat enterprise. I will try the thread below.
BRILLIANT
Brilliant now that was easy as hell thank very much! I'm posting on the newly enabled Atrix hotspot using my Xoom! THANK YOU AL!
Awesome!
Agreed, worked perfect. Immediately. Now, I'm just having trouble getting my Xoom to connect. Everything else can, except the Xoom.

Full Root for Nook Glowlight

It took some doing, but after following the instructions in this link:
http://forum.xda-developers.com/showthread.php?t=2559915
I was finally able to root my Nook Glowlight. The instructions are kind of sprawled out and extremely unclear so I will sum up.
As always, you will need the ADB. In order to install the ADB, you need the Java Development Kit and the Android Studio (formerly known as the Android SDK)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
http://developer.android.com/sdk/installing/studio.html
How to obtain root via ADB: The ONLY way you can root is using Windows. I was successful on Windows 7 32 bit, but it may be possible on other versions.
step 1) install bootloader driver.
You need to grab the drivers from here (bnusbdrivers.zip):
http://forum.xda-developers.com/showpost.php?p=49665945&postcount=279&nocache=1&z=184593200683593
then, open the Device Manager (on Windows). Be ready to right click on the new device 'omap3660' that shows.
With the nook turned completely off, plug in a USB cable. you will have less than 3 seconds to right click the new omap3660 device that shows up in the system profiler.
If you were successful and you right clicked on it in time, manually install the Barnes & Noble USB driver (there are entries added to the generic Google drivers for both the TI Omap 3660 bootloader and the ADB device after you modify the uRamdisk later on)
***NOTE***
If you WEREN'T successful on your first try (took me THREE times to get to it in time), you aren't going to get another chance to install the drivers. At least not easily anyway, because after Windows tries to automatically install the drivers for the bootloader and fails, it will disregard the device any time it shows up after that. So, you are going to need to delete the registry entries that it created, which in my experience was easier said than done. Even admin access was not sufficient to make the necessary changes to the registry.
You will need to launch regedit.exe using another tool called psexec which is available here:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
after you download the pstools package, copy those .exe files to C:\Windows\System32\ (in order to add them to $PATH in cmd.exe)
Then, once you've installed the pstools commands to C:\Windows\System32\, run cmd.exe as admin (right click it and select 'run as administrator') and then open regedit.exe with the following command
Code:
psexec -s -i -d regedit.exe
Then, once regedit is open you need to find the keys created by the Nook bootloader and delete them. The Nook bootloader's device ID is 0451:d00e
You are going to be looking in HKEY_LOCAL_MACHINE\Current Control Set\enum\usb\ for the keys with the bootloader's device IDs. There may also be keys generated in control set 001 and 002 as well. Delete all of those keys and then reboot your computer. Then with the nook power off completely, repeat the process from the first step. eventually you will be successful installing the bootloader driver.
Step 2) temporarily boot with uRamdisk-noogie
you need to download omaplink.exe from here:
http://www.temblast.com/android.htm
and you also need to download the four files which allow you to temporarily mount the boot partition; omap3_aboot.bin, u-boot-ng2-exp-v03.bin, uImage-ng2-130-stk and uRamdisk-noogie.
They are available here:
http://forum.xda-developers.com/showpost.php?p=49779966&postcount=285
download usbboot-ng2-images-noogie-v1.zip
The next part is easy.
Extract the .zip file and then fire up cmd.exe. cd into the directory of the newly extracted .zip
in the new working directory, enter the command
Code:
omaplink omap3_aboot.bin u-boot-ng2-exp-v03.bin uImage-ng2-130-stk uRamdisk-noogie
Then, with the Nook powered all the way off and omaplink running, plug it in and a few seconds later, after the device boots up all the way, you will be looking at the contents of the boot partition instead of the internal storage like normal.
Step 3) Edit uRamdisk
you will need to download bootutil.exe from here
http://www.temblast.com/android.htm
copy bootutil.exe to C:\Windows\System32
with the boot partition mounted, copy uRamdisk to your computer and extract the files init.rc and default.prop, eg;
Code:
bootutil /x /v uRamdisk init.rc default.prop
then using notepad++ (available here: http://notepad-plus-plus.org/) edit the files as follows
default.prop
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
and
init.rc
comment out lines 375 and 392-399
(do this by adding a # to the beginning of the line)
uncomment line 215
(do this by deleting the # at the beginning of the line)
save both files and then repack them into uRamdisk
Code:
bootutil /r /v uRamdisk init.rc default.prop
copy uRamdisk back onto the Nook, eject the disk and power off the device. Reboot and you should be able to connect to ADB via WiFi
eg;
Code:
adb connect 192.168.0.10
replacing '10' with whatever IP your Nook is grabbing from your router.
Step 4) Full Root
at this point, you have root access via ADB only. You will not have root access in any apps like Root Explorer, Terminal, TiBackup, etc.
In order to finish PROPERLY rooting your Nook, you need to install 'su' to /system/bin/ and install the superuser.apk
Code:
adb connect 192.168.0.10
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
reboot your device one more time and then you will be fully rooted.
*** Note ***
this devices firmware seems to be a strange hybrid between donut and eclair, although it purports itself to be Android 2.1. The Superuser.apk and su binary came from an old Cyanogenmod 4.6 build in case anyone was wondering (Android Donut). The ones from Cyanogenmod 5 (Android Eclair) do not work. you will get the 'install failed older sdk' error.
installing busybox
I tired installing busybox by using the stericson busybox pro.apk. It would always freeze at 6.47%.
I figured out that if I grabbed an older version of the busybox binary and pushed it to /system/xbin manually and then chmodded it to the proper permissions, auto updates and proper symlinking work using the busybox app
Code:
adb shell mount -o remount, rw /system
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
Then reboot, and run the busybox app to update and create symlinks.
enjoy!
installing nano and bash
Code:
adb connect 192.168.0.10
adb shell
mount -o remount, rw /system
adb push nano /system/xbin/
chmod 6755 /system/xbin/nano
adb push bash /system/xbin/
chmod 6755 /system/xbin/bash
bash
mv /system/bin/sh /system/bin/sh.bak
ln -s /system/xbin/bash /system/bin/sh
chmod 6755 /system/bin/sh
adb push profile /system/etc/
adb push terminfo /system/etc/
and then in terminal emulator under 'Preferences' change the initial command to
Code:
export TERMINFO=/system/etc/terminfo;export TERM=linux;export HOME=/sdcard;
and finally
Code:
adb push bashrc /sdcard
adb shell
mv /sdcard/bashrc /sdcard/.bashrc
exit
nano works just fine via ADB, but because of lack of 'ctrl' key (and physical buttons to assign it to) you won't be able to write files (ctrl+o) using the terminal on your nook. But between having full proper root access, busybox, a proper bash terminal emulator and nano for editing config files, this should REALLY extend the usefulness of your Nook Glowlight. It should work just fine on other versions of Nook too.
Hi N00b-un-2,
Many thanks for your summary!
There is one important edit that I think you missed,
in init.rc you also need to:
Line #375, comment out "disabled" with a # at the start of the line.
(see http://forum.xda-developers.com/showthread.php?p=49070213#post49070213)
without this I couldn't get adb to connect.
And since you already made it very noob friendly, might I suggested you clarify:
Line #215 remove # to enable adb over wifi
(rather than search for 5555)
Also, I'm not expert, but I believe the commands to get superuser on the device are (at least it worked for me):
adb connect 192.168.x.x
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
Finally, I'm not sure if this is important, but maybe remount system as read only again:
adb shell mount -o remount, ro /system
Thanks again, nice work!
---------- Post added at 01:48 PM ---------- Previous post was at 01:10 PM ----------
Hi again,
had similar issues with installing busybox, here's what worked for me (note needed to run su to create dir):
adb shell mount -o remount, rw /system
adb shell /system/bin/su
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
cheers.
As far as remounting /system as ro, I would HIGHLY recommend just rebooting at this point, otherwise your nook might be stuck in a weird pseudo-rooted state. Probably won't cause any problems, but why risk it?
Thanks for clarifying the line number. I will make the appropriate edits to my instructions. I was working off the top of my head and couldn't remember what exact line the ADB over TCP config was, as I just used ctrl+w '5555' to find it myself.
There are several pre-edited uRamdisk images floating around the forum with various features enabled which would be easier for noobs than extracting the config files and manually editing and then repacking them. In the future I'll probably throw those on here as well.
darz said:
Hi N00b-un-2,
Many thanks for your summary!
There is one important edit that I think you missed,
in init.rc you also need to:
Line #375, comment out "disabled" with a # at the start of the line.
(see http://forum.xda-developers.com/showthread.php?p=49070213#post49070213)
without this I couldn't get adb to connect.
And since you already made it very noob friendly, might I suggested you clarify:
Line #215 remove # to enable adb over wifi
(rather than search for 5555)
Also, I'm not expert, but I believe the commands to get superuser on the device are (at least it worked for me):
adb connect 192.168.x.x
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
Finally, I'm not sure if this is important, but maybe remount system as read only again:
adb shell mount -o remount, ro /system
Thanks again, nice work!
---------- Post added at 01:48 PM ---------- Previous post was at 01:10 PM ----------
Hi again,
had similar issues with installing busybox, here's what worked for me (note needed to run su to create dir):
adb shell mount -o remount, rw /system
adb shell /system/bin/su
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
cheers.
Click to expand...
Click to collapse
N00b-un-2 said:
There are several pre-edited uRamdisk images floating around the forum with various features enabled which would be easier for noobs than extracting the config files and manually editing and then repacking them. In the future I'll probably throw those on here as well.
Click to expand...
Click to collapse
Would have been good if I could have easily found a pre-edited image, but your instructions were a great alternative, thanks again
darz said:
Would have been good if I could have easily found a pre-edited image, but your instructions were a great alternative, thanks again
Click to expand...
Click to collapse
Sorry for the really noob question, I have rooted, wifi adb running and installed apps as per your instructions, but I can't seem to access any of it on the nook. How can I get access to the launcher I installed?
You mentioned pre-edited images, do any of those come with the apps I need to get access to a custom launcher?
Cheers,
Dariusz
==============
Updated: All sorted
==============
For some reason had some issues with ADW launcher, Launcher pro worked fine.
ps I think I made a mistake with the su step I suggested, if you run a one line shell command I don't think it keeps su privileges, so I believe you need to run commands within the shell as per below:
adb shell
mount -o remount, rw /system
/system/bin/su
mkdir -p /system/xbin
exit
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
Noob
Hey guys any instructions noob friendly or a video in youtube,i stick up at dab connect 192.168.0.10.I dos't have a Windows PC and using Mac whit Parallels Desktop.Is it possible instructions for Mac?
The above instructions from N00b-un-2 should work fine running a vm with parallels on your Mac.
OB
Sent from my SPH-D710VMUB using Tapatalk 2
valentin1985 said:
Hey guys any instructions noob friendly or a video in youtube,i stick up at dab connect 192.168.0.10.I dos't have a Windows PC and using Mac whit Parallels Desktop.Is it possible instructions for Mac?
Click to expand...
Click to collapse
Before you perform the adb connect step you need to find out what your IP address is:
On your nook, click on the settings icon in the top right corner and then select "Change"
Under Wireless Networks, select the wifi name that you are already connected to (where it says "Connected to the internet")
This will display your connection details, remember that IP address
Now go back to your pc and type:
adb connect [IP address]
darz said:
Before you perform the adb connect step you need to find out what your IP address is:
On your nook, click on the settings icon in the top right corner and then select "Change"
Under Wireless Networks, select the wifi name that you are already connected to (where it says "Connected to the internet")
This will display your connection details, remember that IP address
Now go back to your pc and type:
adb connect [IP address]
Click to expand...
Click to collapse
BIG HINT! If you're using Powershell ISE, you have to type .\adb.exe connect [IP address] or else it won't recognize "adb" as an executable!
Don't ask why, because I don't know. :?
thenookieforlife3 said:
BIG HINT! If you're using Powershell ISE, you have to type .\adb.exe connect [IP address] or else it won't recognize "adb" as an executable!
Don't ask why, because I don't know. :?
Click to expand...
Click to collapse
So far so good,but now what?
valentin1985 said:
So far so good,but now what?
Click to expand...
Click to collapse
I just gave a little tip on Powershell ISE. I do not know much about the Nook GlowLight rooting process, as I have a NSTG, not a NG. Ask someone else.
thenookieforlife3 said:
I just gave a little tip on Powershell ISE. I do not know much about the Nook GlowLight rooting process, as I have a NSTG, not a NG. Ask someone else.
Click to expand...
Click to collapse
Yes,i try whit dis command .\adb.exe connect 192.168.0.9 but result is the same.
valentin1985 said:
Yes,i try whit dis command .\adb.exe connect 192.168.0.9 but result is the same.
Click to expand...
Click to collapse
But that's okay! What I said was, if you are using the command program Powershell ISE, do it that way instead. But you are just using cmd.exe, not Powershell ISE!
In cmd.exe, which is what you are using, it is not neccessary to type .\adb.exe. Just type adb.
From there, ask someone else in this thread.
thenookieforlife3 said:
But that's okay! What I said was, if you are using the command program Powershell ISE, do it that way instead. But you are just using cmd.exe, not Powershell ISE!
In cmd.exe, which is what you are using, it is not neccessary to type .\adb.exe. Just type adb.
From there, ask someone else in this thread.
Click to expand...
Click to collapse
I prefer to use ConEmu or Console2 when I am forced to use Windows. Not a big fan of CMD.EXE or Powershell/PowershellISE. there are plenty of other CLI alternatives out there
N00b-un-2 said:
I prefer to use ConEmu or Console2 when I am forced to use Windows. Not a big fan of CMD.EXE or Powershell/PowershellISE. there are plenty of other CLI alternatives out there
Click to expand...
Click to collapse
Well, as I ONLY use Windows and Powershell ISE has a nice-enough layout for my purposes, I use it. That's why I gave a tip on it.
Actually on a lot of installs just typing adb in the command console won't work either unless it's got the path variable set up correctly, I find it easiest to just right click and choose run as administrator, no need for the path to be setup.
OB
Sent from my SPH-D710VMUB using Tapatalk 2
FW 1.2.1
Hi guys,
thanks for creating this thread. I was wondering if this rooting procedure was tested with the firmware 1.2.1 ?
real-6 said:
Hi guys,
thanks for creating this thread. I was wondering if this rooting procedure was tested with the firmware 1.2.1 ?
Click to expand...
Click to collapse
This rooting procedure is for the new Nook GlowLight with firmware 1.3.1. Your device is a Nook Simple Touch with GlowLight, which can be rooted very easily using the rooting package here.

Categories

Resources