I'm going through these instructions but they are pretty complicated for me.
lukegb said:
Instructions for getting rid of ZIP version only <4.0.3:
Open ClockworkMod Recovery
Download the correct files from http://googlewallet.lukegb.com/stock/system/ that match your Android build and system - ICL53F is Android 4.0.2, yakju is GSM and mysid is LTE.
You'll need:
NfcGoogle.apk
com.android.nfc_extras.jar
Open an adb shell from your computer to your device from the directory you've just downloaded those files to
Run (on device via adb shell):
Code:
mount /system
mount /data
rm /system/app/Wallet.*
rm /system/app/NfcGoogle.*
rm /system/framework/com.android.nfc_extras.*
exit
Run (on computer):
Code:
adb pull /data/system/packages.xml packages.xml
Make a backup of the newly-created packages.xml file which is on your computer
Open packages.xml in a text editor (which isn't notepad)
Copy ALL the content
Open http://googlewallet.lukegb.com/gn_packages_xml_fixer.html in a web browser
Paste the content into the left-hand "Input" box
Click "Fix it"
Copy ALL the content from the right-hand "Output" box
Delete all the content in the text editor with packages.xml open
Paste the content
Save packages.xml
Close your text editor
Run (on computer):
Code:
adb push NfcGoogle.apk /system/app/NfcGoogle.apk
adb push com.android.nfc_extras.jar /system/framework/com.android.nfc_extras.jar
adb push packages.xml /data/system/packages.xml
adb shell chmod 644 /system/app/NfcGoogle.apk
adb shell chmod 644 /system/framework/com.android.nfc_extras.jar
You're done.
EDIT (28/12/11)
Important notice for all those who have already attempted to remove the ZIP version to replace with the APK version
Read this if NFC has disappeared from your more menu, you get crashes in the More menu, Wallet now forcecloses where it didn't before after removing the ZIP
I have just (idiotically) noticed a blindingly obvious flaw with the files I had previously uploaded to the stock folder on http://googlewallet.lukegb.com - they were the odexed versions of the files, crucially WITHOUT the .odex files. I've replaced them with pseudo-stock (same signatures) versions of the apks and if you replace the NfcGoogle.apk, Android should correctly take this into account.
Don't forget to chmod 644 the NfcGoogle apk and the com.android.nfc_extras.jar files!
Click to expand...
Click to collapse
I'm stumped here: Open an adb shell from your computer to your device from the directory you've just downloaded those files to
I can open cmd and open adb shell but i don't understand how to open adb from the directory where i donwloaded said files.
Are you trying to install Google Wallet thru ADB? Why don't you just install it from Google Play?
babymatteo said:
Are you trying to install Google Wallet thru ADB? Why don't you just install it from Google Play?
Click to expand...
Click to collapse
I'm trying to fix google wallet because it is giving me an error. The post I quoted shows me the directions to fix that error.
Best thing to do is put the file(apk) in the tools directory of the android-sdk directory and use the exact same command
Same thing for the jar file...
haitu said:
[snip]
I can open cmd and open adb shell but i don't understand how to open adb from the directory where i donwloaded said files.
Click to expand...
Click to collapse
Open a command prompt and navigate to where the directory is. For example, let's say you downloaded the files to C:\users\n00b\desktop\junk, and you open a command prompt and it opens in C:\users\n00b\, then all you have to do is type:
cd /users/n00b/desktop/junk
Make sure you have your adb files in that directory.
haitu said:
I'm trying to fix google wallet because it is giving me an error. The post I quoted shows me the directions to fix that error.
Click to expand...
Click to collapse
Just out of curiosity, what error are you getting?
Related
I have looked around quite a bit, and haven't really figured out the straight answer on this.
I have seen apks that can be downloaded of things like the clock or gallery app, and then I have seen custom roms that include things like the AOSP dialer, contact app, browser, etc. However in my small amount of trying, I couldn't install them on top of another ROM (or stock).
Is there an issue with signing them, or does it have to be done in recovery mode, or do I have to remove the existing stuff in something like Titanium backup and then install the other APKs, or would my only option be to learn the dark arts of rom cooking?
Edit: Answered thanks to mrchu001. Doing an "adb remount" and then issuing the install command from the shell worked.
I'm not sure if this works for ALL apks between roms, but when i flashed Fresh it didn't have the cooliris 3d gallery that DC has, so i opened the zip, and copied the APK from one rom to the other then flashed it. I'm sure there are some programs that just won't work even if you did it this way, but something to consider.
That works in most cases..
Just get the zip on your computer, open it extract the apk you want and adb install it to your connected device.
No luck with either method mentioned above. I'm sure I don't know what I'm doing... but I did an adb install <apk name> and got an error:
Code:
MacBook: tools laydros$ adb install CarDock.apk
1344 KB/s (238640 bytes in 0.173s)
pkg: /data/local/tmp/CarDock.apk
Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
And I grabbed one of the base rooted roms, unzipped, added the CarDock and DeskClock apks to the system/app folder with everything else, and the ROM failed to load. I did the same clockwork rom manager install rom from SD card methods I have done before. I assume this means that the zip was not properly signed.
The apks I was testing were ones from bugless beast 0.4, any ideas?
laydros said:
No luck with either method mentioned above. I'm sure I don't know what I'm doing... but I did an adb install <apk name> and got an error:
Code:
MacBook: tools laydros$ adb install CarDock.apk
1344 KB/s (238640 bytes in 0.173s)
pkg: /data/local/tmp/CarDock.apk
Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
Click to expand...
Click to collapse
it looks like you didnt direct your terminal correctly. i'm assuming you have the sdk on your computer btw. now try to upload the rom you want on your phone. plug it in. make sure usb debugging is set. make sure the apks you want to put on your phone are on your desktop. and try this:
Code:
cd ~/*where every your sdk is*/tools
./adb remount
./adb shell
./adb install ~/desktop/*apk name* /system/app
./adb shell reboot
maybe you already tried but just incase.. do you have the Unknown sources check box "Checked" under "Settings/application" menu? if not you need to to install apps not from the market..
mrchu001 said:
it looks like you didnt direct your terminal correctly. i'm assuming you have the sdk on your computer btw. now try to upload the rom you want on your phone. plug it in. make sure usb debugging is set. make sure the apks you want to put on your phone are on your desktop. and try this:
Code:
cd ~/*where every your sdk is*/tools
./adb remount
./adb shell
./adb install ~/desktop/*apk name* /system/app
./adb shell reboot
Click to expand...
Click to collapse
The remount part did it, and then doing the install from adb shell. Thanks so much.
For the sake of anyone else that finds this, once you type adb shell, you are working from the phones shell instead of the one on your computer, so you would skip that command. I ended up moving the files to the sdcard, and then doing
Code:
cd ~/*where every your sdk is*/tools
./adb remount
./adb shell
(at this point you are at the phone's prompt)
install /sdcard/*apk name* /system/app
exit
(now you are back at the computer's prompt)
./adb shell reboot
Now I need to figure out what to install to get the phone/contacts working. Calendar and Mms applications were easy, but after installing several apks for the phone and contacts I just have a mess.
FroydVillain 1.0.0 install *.apk files in /system/app
Hi has anyone tried installing another apk file in FroydVillain 1.0. I follow the steps in the thread described i am able to issue adb shell commands and i have placed the apk files in the SD card as described. but i am getting an error as below that the file or dir is not found. tried several paths:
# install /mnt/sdcard/*.apk /system/app
install /mnt/sdcard/*.apk /system/app
install: can't stat '/mnt/sdcard/*.apk': No such file or directory
# install /sdcard/*.apk /system/app
install /sdcard/*.apk /system/app
install: can't stat '/sdcard/*.apk': No such file or directory
I use /mnt/sdcard path cause on Froyo the SDCARD folder is under /mnt.
any help solving this. i am trying to install some of the HTC Sense UI app to sys app. Like Stock.apk for test. and HTCAlbum.apk and others same result every time.
I have tried also AndroidCommander 0.7.9.6 updated for froyo. installing with it's install option button, and also from the console i run the shell command for install, successfully adds the apk in sys app folder but the apk is not installed, and asks for installation.
Thanks.
Regards Alek
help
Hi,
Can you explain to begginers (like me) how do you installed the apk in system/app? please, I want to install contacs.apk form CM9 to other rom.
Thanks.
I wanted to change my device model, so I copied build.prop from another mobile to my mobile. I am already rooted. But unfortunately I did not change the o.s. from gingerbread to froyo in build.prop ( I have android 2.2 FROYO) When I rebooted, there were many errors. It is now showing no sim card. Mobile network search gives error. Effectively, I can not use the mobile. Terminal emulator, X-plore etc. stopped working. Only Rom toolkit free version works and astro file manager works. Other programs are forcefully closed. Needles to say, I must replace new build.prop with new one.
Using adb I can only pull files but can not write as it is in read only mode.
adb root and adb remount works only if you are in recovery mode ? Y mobile does not have any custom recovery so when I boot in recovery mode it hangs.
Superuser has installed su in system\bin directory. But from adb shell I can use su also. It gives permission denied error. Hence I can not remount the system.
I have read similar threads and found that on some mobiles adb root or adb shell su works but on some not.
I am using Vista 32 bit with admin rights, still can not use root in adb.
Please tell me, how can I mount system read-write. I can not install root explore as google play and even internet is not working.
Please help.
maheshchavan said:
Using adb I can only pull files but can not write as it is in read only mode.
Click to expand...
Click to collapse
activate USB debugging then in console
Code:
adb shell
su
mount -o rw,remount /dev/block/mmcblk0p1 /system
adb push build.prop /system/build.prop
check where is your build.prop
ruscan.calin said:
activate USB debugging then in console
Code:
adb shell
su
mount -o rw,remount /dev/block/mmcblk0p1 /system
adb push build.prop /system/build.prop
check where is your build.prop
Click to expand...
Click to collapse
OMG ruscan.calin i COULD KISS YOU! I had tried to change my OG EVO 4G's buildprop file to another phone so that I could purchase & download an incompatible Google Play app. However after I restarted the phone wouldn't start! It would boot into my rooted HTC EVO 4G Android 2.3.3 and HTC Sense 2.1 but it would get stuck on the wallpaper with just the notification bar at the top and all buttons would be frozen. However I noticed when I plugged in my phone to my computer via usb the computer recognized it. I always keep my phone with USB debugging enabled so I thought I should be good right? I have spent the last 4 hours trying to install and setup adb with no real previous experience with it. I am familiar with dos from years ago and that helped me as it's basic procedure, commands, etc. Then I found out how to install the HTC drivers which I needed and then download the Android SDK with adb that's included which many guides show easily. I started the command prompt (cmd), typed my adb devices command and hurray it showed my phone! I connected and quickly navigated to the build.prop system folder! Luckily when I changed the file I made a bak backup and left it in the same folder. Now the main issue was figuring out how to change the naming of the files which I did via usual adb commands (mv build.prop.bak build.prop). But then to no avail I couldn't get it to write due to it being a system read only folder! Arg! Then I found your post on here, above, and typed it in simply leaving out the adb push portion and replacing that with the mv file command instead and first changing the name of the bad file and then replacing the bak file as the good copy! I exited back to the adb main and unplugged my phone. Moment of truth and man was everything flashing through my head at once! I booted up and YESSSSSSSSSSSSSS, it worked! I went back into root explorer and got rid of the offending leftovers and I've learned my lesson! I just don't want to think about what would have happened if I hadn't found this post. Thank you and if anyone else makes this hug mistake let me know and maybe I can help. Moral of the story don't mess with the build.prop or any system folder unless you know what you're doing! Thanks again!
Quick Guide to Fix Android "build.prop" Issues:
1. Find and download USB drivers for your phone by model or type (HTC EVO 4G's HTC Fastboot drivers): http://downloads.unrevoked.com/HTCDriver3.0.0.007.exe
2. Download and install Android SDK and choose adb: http://developer.android.com/sdk/index.html
Guide: http://htcevohacks.com/htc-evo-hacks/how-to-install-android-sdk-and-adb-drivers-for-htc-evo-4g/
3. Run a command prompt from the "c:/program files/android/android-sdk/platform-tools/" directory. I had to copy the command prompt to get it to open there but sometimes a right-click action will do it. The guide below will help just navigate down to "Using ADB" and skip the rest.
Guide: http://www.howtogeek.com/114667/how...y-default-move-almost-any-app-to-the-sd-card/
4. Once you open the command prompt and you're in the "c:/program files/android/android-sdk/platform-tools/" foler type "adb devices" and your device should appear. If it does move on to next step.
5. Then type adb shell and use the ls command to see directories. Then you'll need to navigate to the system folder by typing "cd system" and then type "ls" to look around in the directory (similar to "dir" in DOS). You should now see the bad build.prop file.
6. You'll need to rename the file or push a correct version. First you need to use the "adb shell" command again and then "su" and finally "mount -o rw,remount /dev/block/mmcblk0p1 /system" to make the directory writable (see ruscan.calin post above for additional info).
Note: I only had to rename my build.prop as I already had my old one in the same system folder. You may have to copy the bad build.prop to your computer, edit it and then push it back to the same system directory. These directions are only for renaming files in the same folder. For the info on how to copy the file to your computer and push it back to your phone go to step *10 below or use the guide below it.
7. I already had the bad build.prop in the system directory with my old one which I had named build.prop.bak. If you have this too simply rename by changing the name first of the bad file to anything by typing "mv build.prop build.prop.bad" or similar.
8. Next rename the build.prop.bak to build.prop by typing "mv build.prop.bak build.prop". Everything should go smoothly and move onto the next step.
9. Finally, If no error messages are found, simply type "adb reboot" or "adb shell reboot" (Depending which version of ADB you have). You should be done, your phone will reboot like normal (working, lol) and everything should be working again! YAY!
*10. To copy the build.prop to your phone type "adb pull /system/build.prop c:\" and the file should be placed in the main c:/ directory on your computer. Navigate to the root (c:/) directory and then right click and "open with" the "build.prop" file using a notepad or other file editor. Then use the text editor (Notepad, etc) to change back what you originally changed to mess everything up. There is tons of stuff on the net to let you know what to fill back in depending on your phone model/type. Or it's possible to get a previous version from an old Nandroid backup or similar. Save the changed text file and make sure its named the same "build.prop" and make sure it's still in the root directory (If you're having issues on this step or just want more insight check out the guides and threads below for more help).
Guide 1: http://androidforums.com/admire-all...p-computer-not-phone-using-root-explorer.html
Guide 2: http://www.modaco.com/topic/328943-quick-guide-to-modifying-buildprop-with-adb/
Guide 3: http://forums.androidcentral.com/sp...-replaced-build-prop-phone-wont-start-up.html
*11. We've already made the directory writable in step 6 so we simply need to push the file back to the phone. If any error message appear re-do step 6 to make writable again. Otherwise push the modified file back to the phone by typing "adb push c:\build.prop /system/". Back to step 9 above! Yay!
If anyone wants to help cleanup this quick guide or make any changes feel free. I just wanted something so that if anyone else has this issue they won't have to worry or search forever to find a solution. OMG it's 2:30AM, to bed... I ride! LOL
Enjoy,
5th :highfive:
THANK YOU!!! Totally saved me today.
One thing that I noticed. After pushing the correct build.prop, I had to fully power down, then turn back on my Razr for it to load up the fixed build.prop.
error message,Help please
Hello, when i am going to mount and change the permission i am getting constant error od device not found or sh:not found.
What to do?Help me please?
jigarpattani said:
Hello, when i am going to mount and change the permission i am getting constant error od device not found or sh:not found.
What to do?Help me please?
Click to expand...
Click to collapse
What step are you on? What phone do you have? More info please?
i am have problem whit my pantech flex i need to use the build.prop.bak but when i type the su it stay in blank do nothing any ideas pls help
ehy there hope someone can help me...i have an archos 97b platinum, messed up with build.prop. So i pulled out and restored but can't push in any way. I have a cwm installed, tablet rooted but i alwais got "permission denied" at push command. Other error is operation not permitted" if i try remount command from adb. i can do mount -o rw,remount /dev/block/mtdblock7 /system but after that push still give me permission denied.
any suggestion?
http://imgur.com/FDLp4fl
i open a 2nd cmd, give the mount -o rw,remount /dev/block/mtdblock7 /system , and system is now rw, but from the first cmd when i give "push build.prop /system (or /system/build.prop) it will always return me permission denied
help
dev.block
i want to view to dev/block using adb shell #
eg . what block is boot.img
what block is recovery.img
what block is system.img
what block is cache.ing
adb shell getprop mtd is not work . Pls Help Me & sent to mail [email protected]
ADB:-
Android Debug Bridge
Very useful program made itself by Google for Programmers and developers. Its based on command line and basically communicates with your Android to respond to certain commands. There is vast amount of knowledge about adb but its most useful commands limit to getting:-
Logcat:-
A real time log of what is happening in background of our devices. It is really useful for developers to see which component has malfunctioned and helps to narrow down their search for what failed and what needs to be fixed. Several times users are asked to give logcats of their devices which are giving errors. We will go in detail that how to get logcats in every and easiest way possible.
App Installation and Management:-
adb proves really handy if you want to install apks directly from your PC or want to batch install or delete them.
Shell Execution:-
You must have heard of Terminal Emulator. It is an app for android to execute shell commands(linux commands) which are basically present as applets in /system/bin, /system/sbin or /system/xbin(in our case) folders. A very imporant applet called busybox is installed there mainly used for execution of basic commands during root browsing or ROM installation. Many times updater script of ROMs use busybox commands to install it. Well, these commands can be initiated from your device too but they can be initiated from adb also making it easy for programmers.
Pushing and Pulling:-
Most used commands of adb. adb makes it a piece of cake for new device developers to get an ideo of structure and basic knowledge of devices by pulling command. We can pull out i.e copy any files or folders from our devices to our PC, even the root directories without rooting the devices. It help rooters and ROM chefs of new devices to get an idea and implement their mods on them. Pushing is also very useful command. It copies your files and folders from PC to your device. Very useful in pushing some /system apps and other things
Remounting and setting permissions
Basic commands:-
Of-course basic commands such as reooting and rebooting in recovery ode and download mode are supported.
Others:-
There are several other features of adb such as fastboot, aapt, etc
Setting up ADB
Pre Requirements:-
A little amount of brain
PC(This is a windows guide, if asked I will add linux and mac guide later)
Java Runtime environment or Java Developing kit
Your Device Drivers
An Android Device
Assuming you all these ready and working properly, we continue
If you are having trouble completing Pre-Requisites, there are several guides featuring them too
Start
1. First Download Android SDK. Roughly about 70 MB
2. There may be any compressed zip file or exe file
If zip file, then extract it to C:\android-sdk
If exe file then double click on it and install it in C:\ Drive(or any other drive you want)
3. Now to get adb and other tools, you need to download 'Platform Tools'
To download them, go to the android-sdk folder and double click on SDK Manager
It will ask you which package to download? However, it is your choice which package to Download, but here, we will only talk about platform
Tools. So, simply tick on Platform Tools and click on install. Once you have done it. Go to the platform-tools folder in the directory where you installed android-sdk. You will find several files there like adb, fastboot, aapt, etc
4. Now, you can backup the whole folder of android-sdk to any external storage that will make you not download package
again if you want to. You can have it placed in any computer and run it as it does not require registry to work
5. Now, you are just one step away from using adb. Next step is SKIPPING SETTING ENVIRONMENT VARIABLE
Many guides on internet say that it is to be done for making it easy for users and if you have some basic knowledge of Command Prompt,
you will know that to execute any application with command prompt, you first need to change the directory to the one where application is
placed. And to skip changing the directories every time you open CMD, you need to put that application is environment variable. Howeve, we will not do so.
6. Type cmd in the search bar. Copy cmd.exe from there. Go to the directory where you have installed android-sdk. Go to platform-tools folder. Paste cmd there, right click on it and in the settings, select Run as Administrator.
7. You are done. Now what to do in it?
ADB Commands
Type adb in command prompt. And several commands will show up on your screen. It is very difficult to analyse these all commands, so we will only talk about most used and important commands
Connect your device via USB cable
And open the CMD in platform-tools folder(Make a shortcut of it on desktop). And type the suitable commands
Code:
adb devices
Will show the list of devices attached to the PC andtheir serial numbers. If this shows up correctly on your PC, then it means that everything is fine for continuing.
Logcat
Code:
adb logcat
It will display the real time log of your device
Best time to do it is when your device boots up
Now, many users ask me how to copy the logcat and upload it from CMD
There are several methods:-
1. Right click on the Title Bar of Command Prompt. Hover the cursor over edit and select mark. Select all the things you want to copy and then click enter. All the things will be copied to clipboard.
2. This is the correct way of getting logcat saved.
Code:
adb logcat > logcat.txt
This command will create a logcat.txt document in platform-tools folder with the complete logcat of the device. Ofcourse you can type any name instead of logcat.txt
3. I prefer taking logcat this way as it neatly compiles logs of different time
Code:
adb logcat -v long > logcat.txt
This is a very nice way to get logcat.
Installing Apps
Code:
adb install %PATH OF APK%
This will install an app on your Android
For example, if my app AreeB.apk is in G:\ drive (G:\AreeB.apk)
Then I will type
Code:
adb install G:\AreeB.apk
Be sure your apk is not in a folder that has space in its name, else the command will break at space bar.
For eg:-
G:\Program Files\AreeB.apk
Mounting
However, I never found any problem in tweaking with system files with adb, but some users said that they couldn't do it, so the problem was that their system partition was mounted as Read Only(R/O)
So, it is necessary now to tell how to mount system partition as Read Write(R/W)
Code:
adb remount
It is easiest way to do so, if it does not work then
There is another method that we will discuss in ADB Shell commands section
Pushing and Pulling
For pushing,
Type
Code:
adb push %PATH TO BE PUSHED% %PATH WHERE TO BE PUSHED%
Suppose I have an app named SystemUI.apk(PATH = G:\SystemUI.apk) which I want to push in /system/app/ on my android(or in other words, install an app as a system app). Then I would type
Code:
adb push G:\SystemUI.apk /system/app/
More examples
G:\Dance.txt file to be pushed in Dance folder in sdcard
Code:
adb push G:\Dance.txt /sdcard/Dance/
OR
Code:
adb push G:\Dance.txt /mnt/sdcard/Dance/
G:\Movies folder to be transferred in SDCARD in Videos Folder
Code:
adb push G:\Movies /sdcard/Videos/
G:\system\framework\framework-res.apk to be pushed in /system/framework/
Code:
adb push G:\system\framework\framework-res.apk /system/framework/
For pulling,
push command replaces with pull and paths are swapped
Code:
adb pull %PATH TO BE PULLED FROM% %PATH TO PLACE PULLED FILE%
Example,
All system apps are to be pulled to G:\ROM\system\app
Code:
adb pull /system/app G:\ROM\system\app\
build.prop to be extracted to desktop
Code:
adb pull /system/build.prop C:\Users\Areeb\Desktop\
However, if a folder is in platform-tools folder, you don't need to type full path
Suppose if I type
Code:
adb pull /system/ system
Then a folder named system will be created inside platform-tools with all the files in system in it
If a file is in platform-tools folder, then also no need to type full path
For example,
There is an app name DeskClock.apk in this folder then, to push it to /system/app, type
Code:
adb push DeskClock.apk /system/app/
ADB Shell Commands
This mode of adb allows you to execute linux shell commands from your PC
These commands can aldo be executed through the mobile using Terminal Emulator
To initiate shell mode
Type
Code:
adb shell
You will get an prompt like this
sh-3.2#
Now you are in shell mode
adb commands won't work here and a new set of commands will work here. But we will only go in a little detail here.
Assuming you are in adb shell mode, I will only type commands that will work on shell. Note:- These commands won't work if you type them alone on cmd. But, these command will directly work on your mobile's Terminal Emulator
As these commands can also work on mobile, I am going to tell you a way of taking logcat on mobile
Type
Code:
logcat
You will see log of your device
To save this
Type
Code:
logcat > /sdcard/log.txt
A file named log.txt will be generated in sdcard
Uninstalling Applications
Code:
cd /data/app
This will change the directory to /data/app
Code:
ls
This will show the list of files in there
Suppose, there is an app named com.opera.browser (Opera Mobile) you want to uninstall it
Type
Code:
rm -r com.opera.browser
This will uninstall the app
Mounting Command:-
Code:
mount -o rw,remount /dev/block/mtdblock3 /system
Miscellanous commands:-
su: Initiates root request
du: Shows file foldrs and size
date: Shows todays date
Forgot next ones, will write later
Credits
Google: For Android and several searchings
Samsung: For Galaxy Ace s5830I
Broadcom: For their Open Sourceness
XDA Forums : For the precious knowledge
My Uncle: For gifting me this Phone
My Teachers: For teaching me English(I would not be here without them)
You: For future Thanks
Till now, thats it, will add some more things later
If any problem, I will add it too
Suggestion? They are welcome
Doesn't it belong to General section???
great work, now i know how to make a logcat. hehehehe. tnx a lot.
Ganesh A said:
Doesn't it belong to General section???
Click to expand...
Click to collapse
Well if you say so
I will request a mod to move it
But I have seen several threads (even stickies) that are guides just about logcat
And my guide features it all
Well I will not argue and request a mod if you insist
Keep it in this section
ADB:-
Android Debug Bridge
Very useful program made itself by Google for Programmers and developers. Its based on command line and basically communicates with your Android to respond to certain commands. There is vast amount of knowledge about adb but its most useful commands limit to getting:-
Logcat:-
A real time log of what is happening in background of our devices. It is really useful for developers to see which component has malfunctioned and helps to narrow down their search for what failed and what needs to be fixed. Several times users are asked to give logcats of their devices which are giving errors. We will go in detail that how to get logcats in every and easiest way possible.
App Installation and Management:-
adb proves really handy if you want to install apks directly from your PC or want to batch install or delete them.
Shell Execution:-
You must have heard of Terminal Emulator. It is an app for android to execute shell commands(linux commands) which are basically present as applets in /system/bin, /system/sbin or /system/xbin(in our case) folders. A very imporant applet called busybox is installed there mainly used for execution of basic commands during root browsing or ROM installation. Many times updater script of ROMs use busybox commands to install it. Well, these commands can be initiated from your device too but they can be initiated from adb also making it easy for programmers.
Pushing and Pulling:-
Most used commands of adb. adb makes it a piece of cake for new device developers to get an ideo of structure and basic knowledge of devices by pulling command. We can pull out i.e copy any files or folders from our devices to our PC, even the root directories without rooting the devices. It help rooters and ROM chefs of new devices to get an idea and implement their mods on them. Pushing is also very useful command. It copies your files and folders from PC to your device. Very useful in pushing some /system apps and other things
Remounting and setting permissions
Basic commands:-
Of-course basic commands such as reooting and rebooting in recovery ode and download mode are supported.
Others:-
There are several other features of adb such as fastboot, aapt, etc
Setting up ADB
Pre Requirements:-
A little amount of brain
PC(This is a windows guide, if asked I will add linux and mac guide later)
Java Runtime environment or Java Developing kit
Your Device Drivers
An Android Device
Assuming you all these ready and working properly, we continue
If you are having trouble completing Pre-Requisites, there are several guides featuring them too
Start
1. First Download Android SDK. Roughly about 70 MB
2. There may be any compressed zip file or exe file
If zip file, then extract it to C:\android-sdk
If exe file then double click on it and install it in C:\ Drive(or any other drive you want)
3. Now to get adb and other tools, you need to download 'Platform Tools'
To download them, go to the android-sdk folder and double click on SDK Manager
It will ask you which package to download? However, it is your choice which package to Download, but here, we will only talk about platform
Tools. So, simply tick on Platform Tools and click on install. Once you have done it. Go to the platform-tools folder in the directory where you installed android-sdk. You will find several files there like adb, fastboot, aapt, etc
4. Now, you can backup the whole folder of android-sdk to any external storage that will make you not download package
again if you want to. You can have it placed in any computer and run it as it does not require registry to work
5. Now, you are just one step away from using adb. Next step is SKIPPING SETTING ENVIRONMENT VARIABLE
Many guides on internet say that it is to be done for making it easy for users and if you have some basic knowledge of Command Prompt,
you will know that to execute any application with command prompt, you first need to change the directory to the one where application is
placed. And to skip changing the directories every time you open CMD, you need to put that application is environment variable. Howeve, we will not do so.
6. Type cmd in the search bar. Copy cmd.exe from there. Go to the directory where you have installed android-sdk. Go to platform-tools folder. Paste cmd there, right click on it and in the settings, select Run as Administrator.
7. You are done. Now what to do in it?
ADB Commands
Type adb in command prompt. And several commands will show up on your screen. It is very difficult to analyse these all commands, so we will only talk about most used and important commands
Connect your device via USB cable
And open the CMD in platform-tools folder(Make a shortcut of it on desktop). And type the suitable commands
Code:
adb devices
Will show the list of devices attached to the PC andtheir serial numbers. If this shows up correctly on your PC, then it means that everything is fine for continuing.
Logcat
Code:
adb logcat
It will display the real time log of your device
Best time to do it is when your device boots up
Now, many users ask me how to copy the logcat and upload it from CMD
There are several methods:-
1. Right click on the Title Bar of Command Prompt. Hover the cursor over edit and select mark. Select all the things you want to copy and then click enter. All the things will be copied to clipboard.
2. This is the correct way of getting logcat saved.
Code:
adb logcat > logcat.txt
This command will create a logcat.txt document in platform-tools folder with the complete logcat of the device. Ofcourse you can type any name instead of logcat.txt
3. I prefer taking logcat this way as it neatly compiles logs of different time
Code:
adb logcat -v long > logcat.txt
This is a very nice way to get logcat.
Installing Apps
Code:
adb install %PATH OF APK%
This will install an app on your Android
For example, if my app AreeB.apk is in G:\ drive (G:\AreeB.apk)
Then I will type
Code:
adb install G:\AreeB.apk
Be sure your apk is not in a folder that has space in its name, else the command will break at space bar.
For eg:-
G:\Program Files\AreeB.apk
Mounting
However, I never found any problem in tweaking with system files with adb, but some users said that they couldn't do it, so the problem was that their system partition was mounted as Read Only(R/O)
So, it is necessary now to tell how to mount system partition as Read Write(R/W)
Code:
adb remount
It is easiest way to do so, if it does not work then
There is another method that we will discuss in ADB Shell commands section
Pushing and Pulling
For pushing,
Type
Code:
adb push %PATH TO BE PUSHED% %PATH WHERE TO BE PUSHED%
Suppose I have an app named SystemUI.apk(PATH = G:\SystemUI.apk) which I want to push in /system/app/ on my android(or in other words, install an app as a system app). Then I would type
Code:
adb push G:\SystemUI.apk /system/app/
More examples
G:\Dance.txt file to be pushed in Dance folder in sdcard
Code:
adb push G:\Dance.txt /sdcard/Dance/
OR
Code:
adb push G:\Dance.txt /mnt/sdcard/Dance/
G:\Movies folder to be transferred in SDCARD in Videos Folder
Code:
adb push G:\Movies /sdcard/Videos/
G:\system\framework\framework-res.apk to be pushed in /system/framework/
Code:
adb push G:\system\framework\framework-res.apk /system/framework/
For pulling,
push command replaces with pull and paths are swapped
Code:
adb pull %PATH TO BE PULLED FROM% %PATH TO PLACE PULLED FILE%
Example,
All system apps are to be pulled to G:\ROM\system\app
Code:
adb pull /system/app G:\ROM\system\app\
build.prop to be extracted to desktop
Code:
adb pull /system/build.prop C:\Users\Areeb\Desktop\
However, if a folder is in platform-tools folder, you don't need to type full path
Suppose if I type
Code:
adb pull /system/ system
Then a folder named system will be created inside platform-tools with all the files in system in it
If a file is in platform-tools folder, then also no need to type full path
For example,
There is an app name DeskClock.apk in this folder then, to push it to /system/app, type
Code:
adb push DeskClock.apk /system/app/
ADB Shell Commands
This mode of adb allows you to execute linux shell commands from your PC
These commands can aldo be executed through the mobile using Terminal Emulator
To initiate shell mode
Type
Code:
adb shell
You will get an prompt like this
sh-3.2#
Now you are in shell mode
adb commands won't work here and a new set of commands will work here. But we will only go in a little detail here.
Assuming you are in adb shell mode, I will only type commands that will work on shell. Note:- These commands won't work if you type them alone on cmd. But, these command will directly work on your mobile's Terminal Emulator
As these commands can also work on mobile, I am going to tell you a way of taking logcat on mobile
Type
Code:
logcat
You will see log of your device
To save this
Type
Code:
logcat > /sdcard/log.txt
A file named log.txt will be generated in sdcard
Uninstalling Applications
Code:
cd /data/app
This will change the directory to /data/app
Code:
ls
This will show the list of files in there
Suppose, there is an app named com.opera.browser (Opera Mobile) you want to uninstall it
Type
Code:
rm -r com.opera.browser
This will uninstall the app
Mounting Command:-
Code:
mount -o rw,remount system /system/
Miscellanous commands:-
su: Initiates root request
du: Shows files, folders and size
date: Shows todays date
surfaceflinger: Shows your bootanimation (Tested on GB)
grep: Used to search through text files
chmod: Sets permission to files
sh: Initiates shell mode
echo: Displays the text you wrote with the command. Analogous to PRINT command on QBasic
Forgot next ones, will write later
Credits
Google: For Android and several searchings
Samsung: For Galaxy Ace s5830I
Broadcom: For their Open Sourceness
XDA Forums : For the precious knowledge
My Uncle: For gifting me this Phone
My Teachers: For teaching me English(I would not be here without them)
You: For future Thanks
Till now, thats it, will add some more things later
If any problem, I will add it too
Suggestion? They are welcome
Nice thread , every thing is very clearly stated.
Thx, Nice guide.
I suggest to change the 'remount' command in:
mount -o remount,rw /system
As the effect is the same and it works universally (at least, should)
Sent from my GT-5660 using xda app-developers app
ItachiSama said:
I suggest to change the 'remount' command in:
mount -o remount,rw /system
As the effect is the same and it works universally (at least, should)
Sent from my GT-5660 using xda app-developers app
Click to expand...
Click to collapse
I use the command you mentioned every time. Thanks for reminding. I can't remember why I wrote that command there!
ADB
Android Debug Bridge
Very useful program made itself by Google for Programmers and developers. Its based on command line and basically communicates with your Android to respond to certain commands. There is vast amount of knowledge about adb but its most useful commands limit to getting:-
Logcat:-
A real time log of what is happening in background of our devices. It is really useful for developers to see which component has malfunctioned and helps to narrow down their search for what failed and what needs to be fixed. Several times users are asked to give logcats of their devices which are giving errors. We will go in detail that how to get logcats in every and easiest way possible.
App Installation and Management:-
adb proves really handy if you want to install apks directly from your PC or want to batch install or delete them.
Shell Execution:-
You must have heard of Terminal Emulator. It is an app for android to execute shell commands(linux commands) which are basically present as applets in /system/bin, /system/sbin or /system/xbin(in our case) folders. A very imporant applet called busybox is installed there mainly used for execution of basic commands during root browsing or ROM installation. Many times updater script of ROMs use busybox commands to install it. Well, these commands can be initiated from your device too but they can be initiated from adb also making it easy for programmers.
Pushing and Pulling:-
Most used commands of adb. adb makes it a piece of cake for new device developers to get an ideo of structure and basic knowledge of devices by pulling command. We can pull out i.e copy any files or folders from our devices to our PC, even the root directories without rooting the devices. It help rooters and ROM chefs of new devices to get an idea and implement their mods on them. Pushing is also very useful command. It copies your files and folders from PC to your device. Very useful in pushing some /system apps and other things
Remounting and setting permissions
Basic commands:-
Of-course basic commands such as reooting and rebooting in recovery ode and download mode are supported.
Others:-
There are several other features of adb such as fastboot, aapt, etc
Setting up ADB
Pre Requirements:-
A little amount of brain
PC(This is a windows guide, if asked I will add linux and mac guide later)
Java Runtime environment or Java Developing kit
Your Device Drivers
An Android Device
USB Debugging MUST be turned ON in the device for ADB to see it & Developer options is hidden in Android 4.2 and
above, Hitting Build number 10 times in
About Phone/Tablet reveals the menu (Thanks lilHermit for reminding me to add it)
Assuming you all these ready and working properly, we continue
If you are having trouble completing Pre-Requisites, there are several guides featuring them too
Start
1. First Download Android SDK. Roughly about 70 MB
2. There may be any compressed zip file or exe file
If zip file, then extract it to C:\android-sdk
If exe file then double click on it and install it in C:\ Drive(or any other drive you want)
3. Now to get adb and other tools, you need to download 'Platform Tools'
To download them, go to the android-sdk folder and double click on SDK Manager
It will ask you which package to download? However, it is your choice which package to Download, but here, we will only talk about platform
Tools. So, simply tick on Platform Tools and click on install. Once you have done it. Go to the platform-tools folder in the directory where you installed android-sdk. You will find several files there like adb, fastboot, aapt, etc
4. Now, you can backup the whole folder of android-sdk to any external storage that will make you not download package
again if you want to. You can have it placed in any computer and run it as it does not require registry to work
5. Now, you are just one step away from using adb. Next step is SKIPPING SETTING ENVIRONMENT VARIABLE (If you however want to set environment variables.)
We can easily append the sdk platform-tools and tools folder to your systems environmental path variable directly from command line(cmd) by simply issuing one command and performing a system reboot:
Code:
SETX PATH "%PATH%;SDK_Install_Path\platform-tools;SDK_Install_Path\android-sdk-windows\tools" -m
Just replace the "SDK_Install_Path" in the above with the proper path of your SDK installation. Example: C:\android-sdk-windows
Many guides on internet say that it is to be done for making it easy for users and if you have some basic knowledge of Command Prompt,
you will know that to execute any application with command prompt, you first need to change the directory to the one where application is
placed. And to skip changing the directories every time you open CMD, you need to put that application is environment variable. Howeve, we will not do so.
6. Type cmd in the search bar. Copy cmd.exe from there. Go to the directory where you have installed android-sdk. Go to platform-tools folder. Paste cmd there, right click on it and in the settings, select Run as Administrator.
7. You are done. Now what to do in it?
ADB Commands
Type adb in command prompt. And several commands will show up on your screen. It is very difficult to analyse these all commands, so we will only talk about most used and important commands
Connect your device via USB cable
And open the CMD in platform-tools folder(Make a shortcut of it on desktop). And type the suitable commands
Code:
adb devices
Will show the list of devices attached to the PC andtheir serial numbers. If this shows up correctly on your PC, then it means that everything is fine for continuing.
Logcat
Code:
adb logcat
It will display the real time log of your device
Best time to do it is when your device boots up
Now, many users ask me how to copy the logcat and upload it from CMD
There are several methods:-
1. Right click on the Title Bar of Command Prompt. Hover the cursor over edit and select mark. Select all the things you want to copy and then click enter. All the things will be copied to clipboard.
2. This is the correct way of getting logcat saved.
Code:
adb logcat > logcat.txt
This command will create a logcat.txt document in platform-tools folder with the complete logcat of the device. Ofcourse you can type any name instead of logcat.txt
3. I prefer taking logcat this way as it neatly compiles logs of different time
Code:
adb logcat -v long > logcat.txt
This is a very nice way to get logcat.
Installing Apps
Code:
adb install %PATH OF APK%
This will install an app on your Android
For example, if my app AreeB.apk is in G:\ drive (G:\AreeB.apk)
Then I will type
Code:
adb install G:\AreeB.apk
Be sure your apk is not in a folder that has space in its name, else the command will break at space bar.
For eg:-
G:\Program Files\AreeB.apk
Note:
If you have spaces in path of apk, you can execute the command without breakage if you include the path inside quotes. (Thanks to etcman)
Eg:-
Code:
adb install "G:\Program Files\AreeB.apk"
Mounting
However, I never found any problem in tweaking with system files with adb, but some users said that they couldn't do it, so the problem was that their system partition was mounted as Read Only(R/O)
So, it is necessary now to tell how to mount system partition as Read Write(R/W)
Code:
adb remount
It is easiest way to do so, if it does not work then
There is another method that we will discuss in ADB Shell commands section
Pushing and Pulling
For pushing,
Type
Code:
adb push %PATH TO BE PUSHED% %PATH WHERE TO BE PUSHED%
Suppose I have an app named SystemUI.apk(PATH = G:\SystemUI.apk) which I want to push in /system/app/ on my android(or in other words, install an app as a system app). Then I would type
Code:
adb push G:\SystemUI.apk /system/app/
More examples
G:\Dance.txt file to be pushed in Dance folder in sdcard
Code:
adb push G:\Dance.txt /sdcard/Dance/
OR
Code:
adb push G:\Dance.txt /mnt/sdcard/Dance/
G:\Movies folder to be transferred in SDCARD in Videos Folder
Code:
adb push G:\Movies /sdcard/Videos/
G:\system\framework\framework-res.apk to be pushed in /system/framework/
Code:
adb push G:\system\framework\framework-res.apk /system/framework/
For pulling,
push command replaces with pull and paths are swapped
Code:
adb pull %PATH TO BE PULLED FROM% %PATH TO PLACE PULLED FILE%
Example,
All system apps are to be pulled to G:\ROM\system\app
Code:
adb pull /system/app G:\ROM\system\app\
build.prop to be extracted to desktop
Code:
adb pull /system/build.prop C:\Users\Areeb\Desktop\
However, if a folder is in platform-tools folder, you don't need to type full path
Suppose if I type
Code:
adb pull /system/ system
Then a folder named system will be created inside platform-tools with all the files in system in it
If a file is in platform-tools folder, then also no need to type full path
For example,
There is an app name DeskClock.apk in this folder then, to push it to /system/app, type
Code:
adb push DeskClock.apk /system/app/
ADB Shell Commands
This mode of adb allows you to execute linux shell commands from your PC
These commands can aldo be executed through the mobile using Terminal Emulator
To initiate shell mode
Type
Code:
adb shell
You will get an prompt like this
sh-3.2#
Now you are in shell mode
adb commands won't work here and a new set of commands will work here. But we will only go in a little detail here.
Assuming you are in adb shell mode, I will only type commands that will work on shell. Note:- These commands won't work if you type them alone on cmd. But, these command will directly work on your mobile's Terminal Emulator
As these commands can also work on mobile, I am going to tell you a way of taking logcat on mobile
Type
Code:
logcat
You will see log of your device
To save this
Type
Code:
logcat > /sdcard/log.txt
A file named log.txt will be generated in sdcard
Uninstalling Applications
Code:
cd /data/app
This will change the directory to /data/app
Code:
ls
This will show the list of files in there
Suppose, there is an app named com.opera.browser (Opera Mobile) you want to uninstall it
Type
Code:
rm -r com.opera.browser
This will uninstall the app
Mounting Command:-
Code:
mount -o rw,remount /dev/block/mtdblock3 /system
Miscellanous commands:-
su: Initiates root request
du: Shows file foldrs and size
date: Shows todays date
ls: Shows list of directory
cd: Changes working directory
rm: Removes the file
logcat: Displays logcat
mount: Mounts the partition
busybox: Busybox Applets
Forgot next ones, will write later
All credits go to
iamareebjamal
For writing this up.