Skip to main content
replaced http://android.stackexchange.com/ with https://android.stackexchange.com/
Source Link

The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a disabled app can receive broadcastsbroadcasts it has registered for, which can only be done if it is loaded into the memory1. Nevertheless, a disabled app cannot act on its own, neither can it be executed by any other app.

I've argued some of the differences between hide/block and disable on my question pm hide VS pm disable -- the identity crisispm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.

The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memory1. Nevertheless, a disabled app cannot act on its own, neither can it be executed by any other app.

I've argued some of the differences between hide/block and disable on my question pm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.

The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memory1. Nevertheless, a disabled app cannot act on its own, neither can it be executed by any other app.

I've argued some of the differences between hide/block and disable on my question pm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.

added 123 characters in body
Source Link
Firelord
  • 25.3k
  • 21
  • 126
  • 292

The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memorysince even a disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memory1. Nevertheless, ita disabled app cannot act on its own, neither can it be executed by any other app.

adb shell su -c 'chmod 000 /data/app/PACKAGE*'             # 000 means no read-write-executable permission to user,group and others. 
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE'  # doing renaming by moving the file
adb reboot

1: Lacking technical evidence to support the fact

The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memory. Nevertheless, it cannot act on its own, neither can it be executed by any other app.

adb shell su -c 'chmod 000 /data/app/PACKAGE*'   # 000 means no read-write-executable permission to user,group and others. 
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE'  # doing renaming by moving the file
adb reboot

The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memory1. Nevertheless, a disabled app cannot act on its own, neither can it be executed by any other app.

adb shell su -c 'chmod 000 /data/app/PACKAGE*'             # 000 means no read-write-executable permission to user,group and others. 
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE'  # doing renaming by moving the file
adb reboot

1: Lacking technical evidence to support the fact

added 802 characters in body
Source Link
Firelord
  • 25.3k
  • 21
  • 126
  • 292
pm block PACKAGE # for KitKat
pm hide PACKAGE  # for Lollipop

Append adb shell before very command to execute them from PC.

The function behind hide has the following comment inside the source code

I've argued some of the differences between hide/block and disable on my question pm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.

EDIT:

It appears that the technique doesn't work for all apps on Android KitKat. In that case, simply revoke read permission from app's APK or remove the extension .APK from the file name of the app (latter suggested by Jaskaranbir once), followed by a soft/full reboot. This is same as deleting an app from system, with only difference that all files would remain at their place.

Both of the steps can be executed using any root file manager app. The command line way is:

adb shell su -c 'chmod 000 /data/app/PACKAGE*'   # 000 means no read-write-executable permission to user,group and others. 
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE'  # doing renaming by moving the file
adb reboot
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop

The function behind hide has the following comment inside the source code

I've argued some of the differences between hide/block and disable on my question pm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.

pm block PACKAGE # for KitKat
pm hide PACKAGE  # for Lollipop

Append adb shell before very command to execute them from PC.

The function behind hide has the following comment inside the source code

I've argued some of the differences between hide/block and disable on my question pm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.

EDIT:

It appears that the technique doesn't work for all apps on Android KitKat. In that case, simply revoke read permission from app's APK or remove the extension .APK from the file name of the app (latter suggested by Jaskaranbir once), followed by a soft/full reboot. This is same as deleting an app from system, with only difference that all files would remain at their place.

Both of the steps can be executed using any root file manager app. The command line way is:

adb shell su -c 'chmod 000 /data/app/PACKAGE*'   # 000 means no read-write-executable permission to user,group and others. 
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE'  # doing renaming by moving the file
adb reboot
deleted 9 characters in body
Source Link
Firelord
  • 25.3k
  • 21
  • 126
  • 292
Loading
deleted 3 characters in body
Source Link
Firelord
  • 25.3k
  • 21
  • 126
  • 292
Loading
deleted 3 characters in body
Source Link
Firelord
  • 25.3k
  • 21
  • 126
  • 292
Loading
Source Link
Firelord
  • 25.3k
  • 21
  • 126
  • 292
Loading