[GUIDE] Disabling stock apps on the G2 (and other NAND locked devices)

Search This thread

f231f

Senior Member
Aug 12, 2010
252
91
How do I disable Quickoffice? I don't see that in the package list.

Edit: I found it: com.qo.android.oeme

Thanks for the tip, paul!
 
Last edited:

mightyab

Senior Member
May 24, 2009
411
56
Wichita
So if I do this will it free up more memory on the internal or does it just not show the app in the app drawer?

Sent from my T-Mobile G2 using XDA App
 

hendusoone

Senior Member
Dec 13, 2009
113
42
Boston, MA
With some of these, I'm getting output like this:

[1] Killed pm disable com.google.android.listen

Most of them work, but it seems I can't disable Listen or HTC Setup. I've already checked to make sure those apps aren't running. Any other suggestions?
 

TL24

Senior Member
Oct 2, 2010
583
30
Minneapolis, MN
With some of these, I'm getting output like this:

[1] Killed pm disable com.google.android.listen

Most of them work, but it seems I can't disable Listen or HTC Setup. I've already checked to make sure those apps aren't running. Any other suggestions?

I've got the same issue... I've been trying to disable a few apps and I'm also getting:

[1] Killed pm disable com.android.tts

Any suggestions Paul?
 

hendusoone

Senior Member
Dec 13, 2009
113
42
Boston, MA
Ahh, figured it out. Turns out, that's the output you see when you enter an incorrect package name.

It's not com.google.android.listen, it's com.google.android.apps.listen. Oops :eek:
 

xile6

Senior Member
Dec 2, 2008
1,709
215
Dallas
this works great for me just wanted to know if there was a way to see what all has been disable

Sent from my T-Mobile G2 using XDA App
 

TL24

Senior Member
Oct 2, 2010
583
30
Minneapolis, MN
Ahh, figured it out. Turns out, that's the output you see when you enter an incorrect package name.

It's not com.google.android.listen, it's com.google.android.apps.listen. Oops :eek:

Weird... it still doesn't work when i try to disable TTS:

I've tried both # pm disable com.android.tts and com.android.apps.tts

EDIT!

Nevermind, i looked at the name again it was actually just "android.tts" no "com.android.tts"
 

borodin1

Senior Member
Jan 3, 2009
1,436
45
Minneapolis MN
That's a great tut, thank you Paul for this.

One last question from me: If you reboot without root, will these changes stay? I'm not particularly convinced yet that I want to run Visionary on boot, so I want to check before getting into disabling packages.

Thanks again for your contributions.
 

DirectMatrix

Senior Member
Jun 16, 2009
495
7
Norfolk, VA
This actually makes changes to the packages file on /data, so the NAND protection doesn't matter.

i.e. - you only have to do it once. :)

P

This makes me think that regardless of root access or permissions, the packages remain disabled which seems to mean that regardless of whether you run VISIONary or not to get temp root, the packages will remain disabled.
 

havikx

Senior Member
Feb 4, 2009
494
61
just bought g2...came from g1. the g1 had enough blotware on it when it dropped. amazonmp3 namely. i could not believe how much stuff the g2 comes loaded with and even told the sales guy i couldnt wait to root the thing to delete all the crap. lol.

he almost looked offended.

thank you opt. i was worried with the hastle of rooting the g2 that i would have to see amazon mp3 everyday til we got perma root.
 

havikx

Senior Member
Feb 4, 2009
494
61
Hah!

My next tutorial - how to fix Goggles so it actually updates properly. :p

P

rm google goggles
uninstall google goggles (having trouble typing that over and over)
redownload thru market?

something like that? i almost had a fit when it didnt update properly as soon as i walked outta the store.
 

Jaysn

Member
Jul 30, 2009
41
0
This is great, thanks! It would definitely be worth some beer money if anyone were able to make an app to read in all installed apps & uncheck the undesired ones.

Sent from my T-Mobile G2 using XDA App
 

DirectMatrix

Senior Member
Jun 16, 2009
495
7
Norfolk, VA
This is great, thanks! It would definitely be worth some beer money if anyone were able to make an app to read in all installed apps & uncheck the undesired ones.

Sent from my T-Mobile G2 using XDA App

Its a good idea, but it will have limited use once the device gets permanent root so the devs probably wouldn't be interested in putting the time in for something that will just end up being abandoned.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    As promised on Twitter (@paulobrien), here's a guide on how to disable your chosen stock junk-ware on your G2.

    Normally, you would remove stock apps by deleting the APKs from /system/app, however on the G2 this is not possible due to it's NAND protection. On reboot the apps will just re-appear, so that's no good. You could delete them on every boot via a script, but that's a bit kludgey... there has to be a better way right? RIGHT! :p

    Internally, Android manages installed apps via something called 'Package Manager'. Package Manager (PM) references installed apps not by their filename or displayed name but by their internal package name (e.g. com.google.android.apps.maps). Handily, from a command line you can actually call Package Manager with the command 'pm', which gives you access to do some pretty cool stuff - especially if you have root - including disabling packages.

    What does disabling a package do? It leaves the file on the system, but prevents the app from running or appearing in the launcher. This is actually quite cool because it means although the app isn't displaying or using any resources, if an update to the app is released, you'll still be notified by the Market. Should you choose to install the update, the package will be re-enabled, after which you can then disable it again if you choose. Neat eh?

    So, let me give you a few examples of how you'd disable packages. Firstly you need to have temproot on your device (use VISIONary for this), and open a command shell. You can do this either via 'adb shell' on your PC, or using 'Connectbot' or 'Terminal Emulator' on your device (if you're feeling particularly sadistic). The shell needs to be elevated to root in order to use disable functionality, so type 'su'. You know if you are elevated because the prompt is a '#' instead of a '$'.

    In order to disable a package, you first need to know the name of the package. pm has a function to list installed packages... simply type 'pm list packages' (obvious huh!). The output will look something like this:

    Code:
    # pm list packages
    package:com.google.android.location
    package:com.tmobile.selfhelp
    package:com.android.voicedialer
    package:com.android.defcontainer
    package:com.android.launcher
    package:com.google.android.maps.mytracks
    package:com.android.debugtool
    package:com.android.contacts
    package:com.android.phone
    package:com.tmobile.userkeystool
    package:com.android.calculator2
    package:com.android.htmlviewer
    package:com.android.providers.calendar
    package:com.android.bluetooth
    package:com.android.calendar
    package:com.android.browser
    package:com.android.music
    package:com.google.tts
    package:com.android.email.policy
    package:com.android.qxdmlog
    package:com.android.mms
    package:com.android.provision
    package:com.htc.copyright
    package:com.android.providers.media
    package:com.android.certinstaller
    package:com.google.android.deskclock
    package:com.android.updater
    package:com.android.settings
    package:com.google.android.carhome
    package:com.google.android.street
    package:com.google.android.apps.genie.geniewidget
    package:com.facebook.katana
    package:com.google.android.googlequicksearchbox
    package:com.android.providers.drm
    package:com.adobe.flashplayer
    package:com.android.musicvis
    package:com.google.android.apps.unveil
    package:com.google.android.apps.listen
    package:com.android.wallpaper.livepicker
    package:com.htc.web2goshortcut
    package:com.android.packageinstaller
    package:com.htc.fieldtest
    package:com.android.providers.telephony
    package:com.android.providers.subscribedfeeds
    package:com.svox.pico
    package:com.android.email
    package:com.google.android.apps.maps
    package:com.google.android.latinimetutorial
    package:com.android.providers.settings
    package:com.android.magicsmoke
    package:com.android.providers.downloads
    package:com.amazon.mp3
    package:com.android.server.vpn
    package:com.google.android.apps.googlevoice
    package:com.photobucket.android
    package:com.android.soundrecorder
    package:com.htc.android.htcsetupwizard
    package:com.android.vending.updater
    package:com.android.inputmethod.latin
    package:com.google.android.partnersetup
    package:com.android.cardock
    package:com.qo.android.oeme
    package:com.google.android.voicesearch
    package:com.google.android.apps.finance
    package:com.google.android.feedback
    package:com.google.android.apps.shopper
    package:com.google.android.talk
    package:com.htc.htcMessageUploader
    package:com.cooliris.media
    package:com.android.stk
    package:com.android.providers.userdictionary
    package:com.android.setupwizard
    package:android.tts
    package:com.google.android.stardroid
    package:com.twitter.android
    package:com.google.android.syncadapters.calendar
    package:android
    package:com.android.providers.contacts
    package:com.android.protips
    package:com.google.android.apps.uploader
    package:com.google.android.apps.translate
    package:com.android.providers.applications
    package:com.android.vending
    package:com.google.android.gm
    package:com.swype.android.inputmethod
    package:com.android.providers.htcCheckin
    package:com.android.wallpaper
    package:com.android.camera
    package:com.google.android.youtube
    package:com.google.earth
    package:com.google.android.gsf
    package:com.google.android.syncadapters.contacts
    package:com.google.android.backup
    #
    Most of the names are pretty self explanatory... you can work out what you want to get rid of.

    To disable an app, you use the 'pm disable' command with the package name. I wanted to disable the T-Mo App, MyTracks, Goggles, Listen, Web2Go, Amazon MP3, Google Voice, Photobucket, the Setup icon, Finance, Twitter and Translate, so I did this...

    Code:
    pm disable com.tmobile.selfhelp
    pm disable com.google.android.maps.mytracks
    pm disable com.google.android.apps.unveil
    pm disable com.google.android.apps.listen
    pm disable com.htc.web2goshortcut
    pm disable com.amazon.mp3
    pm disable com.google.android.apps.googlevoice
    pm disable com.photobucket.android
    pm disable com.htc.android.htcsetupwizard
    pm disable com.google.android.apps.finance
    pm disable com.twitter.android
    pm disable com.google.android.apps.translate
    #

    ...which returned...

    Code:
    #Package com.tmobile.selfhelp new state: disabled
    # Package com.google.android.maps.mytracks new state: disabled
    # Package com.google.android.apps.unveil new state: disabled
    # Package com.google.android.apps.listen new state: disabled
    # Package com.htc.web2goshortcut new state: disabled
    # Package com.amazon.mp3 new state: disabled
    # Package com.google.android.apps.googlevoice new state: disabled
    # Package com.photobucket.android new state: disabled
    # Package com.htc.android.htcsetupwizard new state: disabled
    # Package com.google.android.apps.finance new state: disabled
    # Package com.twitter.android new state: disabled
    ...and that's it, job done!

    You'll need to restart your Launcher to see the changes (you can do this from Settings -> Applications -> Launcher -> Force Stop) and then you're done! :)

    P
    1
    This disables them from starting up and running if phone is rebooted and not running temproot? Or do we have to put these cmd lines in again once rebooted?

    Sent from my T-Mobile G2 using XDA App

    This actually makes changes to the packages file on /data, so the NAND protection doesn't matter.

    i.e. - you only have to do it once. :)

    P
    1
    Great tip! Thanks!

    But...dude, you disabled some of my most frequently used apps. Google Voice, Twitter, Goggles, Listen...I use all of those apps every day. But Photobucket, MyAccount, Facebook, all killed. :cool:

    Voice - doesn't work in UK
    Twitter - Seesmic > Official App
    Goggles - Meh
    Listen - Meh

    :D

    P
    1
    lol - i never did get sdk & adb figured out

    connectbot is much easier and quicker - you just need a magnifying glass to read that #2 font size

    you can actually use the volume up/down to increase the font size :)
    1
    Sweet! That would be awesome.
    Thanks brotha!

    Sent from my T-Mobile G2

    Here you go.

    For those who don't know how to use ADB (which you should learn should the phone get fully rooted in the future), or don't like typing out the command to disable a package one by one, here's a script that'll disable a few in one go. You can easily modify it yourself to add/remove packages you want disabled.

    Prerequisites:
    - Install Terminal Emulator from market place.
    - Install Superuser from market place.
    - Rooted

    Instructions:
    1. Copy the file (from the attachment) to the root of your SD card.
    2. Temp root your phone (using Visionary or some alternative)
    3. Open Terminal and type "su" (without the quotes)
    4. This will bring up a Superuser prompt asking for permission. Allow it. You should now see a "#" sign (instead of the previous "$" sign, indicating you have root permissions in Terminal)
    5. Type "cd /sdcard" (without the quotes)
    6. Type "dos2unix disabler.txt" (without the quotes)
    7. Type "sh disabler.txt" (without the quotes)

    My little script will disable the following packages. I'll probably update the script to add more later but this was just a preliminary removal of the ones I saw in the app drawer that I don't use.
    Web2Go, Photobucket, Finance, GenieWidget (news/weather widget), T-Mobile's My Account/Device, Earth, Talk, My Tracks, Quick Search Box, Listen, Unveil (think this is part of Listen but not sure), Latin IME Tutorial (tutorial to use the stock android keyboard, not the swype tutorial), Setup Wizard, Translate, Shopper

    You can easily modify the list as you see fit by adding or removing these lines with the proper package names:
    Code:
    pm_pkg_list=$pm_pkg_list" com.package.name"

    If you need to enable the packages, just uncomment the lines towards the bottom (the text file indicates which ones to uncomment), then run the script again. It will enable ALL the packages listed in the file.

    Here's the code if anyone is interested (or download the attached file):
    Code:
    #!/system/bin/sh
    #Package Disabler v1
    #Created by Stryder5 on XDA (Oct. 21, 2010)
    #This is to disable apps (not remove/uninstall them). Useful for temp roots.
    #Run "dos2unix scriptname.ext" before running the script itself to correctly format it
    #Run "sh scriptname.ext" to actually execute
    
    #List of apps to Enable/Disable
    #You can change this as you see fit.
    pm_pkg_list=$pm_pkg_list" com.photobucket.android"
    pm_pkg_list=$pm_pkg_list" com.google.android.apps.finance"
    pm_pkg_list=$pm_pkg_list" com.google.android.apps.genie.geniewidget"
    pm_pkg_list=$pm_pkg_list" com.tmobile.selfhelp"
    pm_pkg_list=$pm_pkg_list" com.google.earth"
    pm_pkg_list=$pm_pkg_list" com.google.android.talk"
    pm_pkg_list=$pm_pkg_list" com.google.android.maps.mytracks"
    pm_pkg_list=$pm_pkg_list" com.google.android.googlequicksearchbox"
    pm_pkg_list=$pm_pkg_list" com.google.android.apps.listen"
    pm_pkg_list=$pm_pkg_list" com.google.android.apps.unveil"
    pm_pkg_list=$pm_pkg_list" com.google.android.latinimetutorial"
    pm_pkg_list=$pm_pkg_list" com.htc.android.htcsetupwizard"
    pm_pkg_list=$pm_pkg_list" com.google.android.latinimetutorial"
    pm_pkg_list=$pm_pkg_list" com.google.android.apps.translate"
    pm_pkg_list=$pm_pkg_list" com.google.android.apps.shopper"
    
    
    #Start of disabling script
    echo "Disabling Packages in 2 Seconds"
    sleep 2
    for pkg in $pm_pkg_list; do
            echo "Disabling $pkg"
    		pm disable $pkg
    done
    
    echo "Package Disabling Complete"
    
    #Start of enabling script
    #To enable all the disabled packages, remove the pound sign (#) from the beginning of each line below. This will undo all the changes this file has done.
    #echo "Enabling Packages in 2 Seconds"
    #sleep 2
    #for pkg in $pm_pkg_list; do
    #        echo "Enabling $pkg"
    #		pm enable $pkg
    #done
    #
    #echo "Package Enabling Complete"
    
    
    echo "Please reboot the phone or restart Launcher to take effect"
    sleep 2
    echo "Script Completed"