Anyone else having an issue trying to remove certain apps from their device like YouTube or Netflix or whatever? I installed BusyBox by osmosis and the debloater terminal emulator by veez and I'm using termux but I keep getting this error
-h show this message
ebloat -d com.google.android.youtube <
com.google.android.youtube is not a system app
error: Use "debloat -d -h" for help
And when I do the -l option I get this
:/data/data/com.termux/files/home # debloat -l
Debloater (Terminal Emulator) v17.3.3(76)
by veez21
Usage: debloat
or: debloat [options]...
Options:
-nc removes ANSI escape codes
-l [app|priv-app|vendor] list system apps
-d [app label|app folder name] uninstall apps (use debloat -d -h)
-i [file] import config from file
-e [file] export current settings
-h show this message
1|:/data/data/com.termux/files/home #
I used ADB AppControl to debloat the apps on my OP 9.
[TOOL] ADB AppControl 1.8.0 🚀 Ultimate App Manager & Debloat Tool + Tweaks
ADB AppControl 🚀 Root is not required. Works with any Android device. Can do almost everything you dreamed about with applications. ADB AppControl - the desktop program, that will allow you to easily manage applications on your android device...
forum.xda-developers.com
Give it a shot.
Awesome thanks man!
I use debloater and don't have any issues, but I run it without options and do it interactively. The ones I debloat regularly are in a .txt file so I just enter "i" at the menu, and for anything else I navigate through the prompts.
Related
Hello all,
I recently rooted my phone and installed the RemICS-UX Port | ICS 4.0.4 by Team D.I.R.T. It's been great so far but I'm running into some issues running adb shell commands. For example:
Code:
$ adb shell
sh-3.2$ pm list packages
Segmentation fault
However, if I use su then I can run the commands:
Code:
sh-3.2$ su
sh-3.2# pm list packages
package:android
package:android.googleSearch.googleSearchWidget
package:com.anddoes.launcher
package:com.android.backupconfirm
...etc...
Has anyone run into a similar issue before? The IDE I use for Android development uses "pm install" and "am start" to deploy apps to the device. I really need to be able to run those commands without requesting superuser access. Any and all help is greatly appreciated.
The Android Shell
A "shell" is a program that listens to keyboard input from a user and performs actions as directed by the user. Android devices come with a simple shell program. This shell program is mostly undocumented. Since many people are curious about it I thought I'd write up some documentation for it.
Currently this documentation is incomplete, sorry!
Common problems
The built-in shell has very limited error handling. When you type a command name incorrectly it will say "permission denied", even though the real problem is that it couldn't find the command:
$ dir
dir: permission denied <---- this is a misleading error message, should say 'dir: not found'
$ ls
... listing of current directory
The PATH variable
The Android shell will run any program it finds in its PATH. The PATH is a colon (':') seperated list of directories. You can find out what your shell's PATH is set to by using the built-in echo command:
$ echo $PATH
/data/local/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
Depending upon your shell, you may see a different result.
Built in Commands
Every shell has a few built-in commands. Some common built-in commands are:
echo -- prints text to stdout.
set -- sets shell variables
export -- makes shell variables available to command-line programs
cd -- change the current directory.
pwd -- print name of the current directory.
Commands
To find out what commands you have available to you, use the "ls" command on each of the directories in the PATH variable.
Finding documentation for the Android commands.
Many of the Android commands are based on standard Linux (or bsd) commands. If you're curious about a command, you can sometimes learn how it works by using the "man" command on a desktop Linux or OSX (Apple Macintosh) computer. The Linux or OSX version of the command may be different in details, but much of the documentation will still apply to the Android version of the command.
Another source of documentation for people without a Linux or OSX machine handy is to use a web browser and use a web search engine to search for the text: "man Linux command-name".
List of commands
The following is a list of the commands that are present on a Nexus S phone running an Android 2.3.3 "user-debug" build. Many of these commands are not present on a "user" phone. (They are missing from a "user" phone because they are specific to developing or debugging the Android operating system.)
$ ls /data/local/bin
/data/local/bin: No such file or directory
Notice that by default there is no /data/local/bin directory. You can create this directory using the "mkdir" command if you like.
$ ls /sbin
opendir failed, Permission denied
The /sbin directory exists, but you don't have permission to access it. You need root access. If you have a developer phone, or otherwise have root access to your phone you can see what's in this directory.
$ su
# ls /sbin
ueventd
adbd
# exit
$
Notice that the shell prompt changes from a '$' to a '#' to indicate that you have root access.
Notice also that neither of the /sbin commands are useful to the shell -- the adb and ueventd files are 'daemon' programs used to implement the Android Debugger "adb" program that is used by developers.
$ ls /vendor/bin
gpsd
pvrsrvinit
Vendor/bin is where device vendors can put device-specific executables. These files are from a Nexus S.
$ ls /system/sbin
/system/sbin: No such file or directory
This directory does not exist on a Nexus S.
$ ls /system/bin
am
am is the Android Activity Manager. It's used to start and stop Android activities (e.g. applications) from the command line. Type am by itself to get a list of options.
amix
aplay
Command line audio file player.
app_process
applypatch
Used to apply patches to android files.
arec
Command line audio recorder.
audioloop
bluetoothd
BlueTooth daemon
bmgr
Backup manager - type command by itself to get documentation.
bootanimation
Draws the boot animation. You may have to reset your phone to get out of this.
brcm_patchram_plus
bugreport
cat
Copy the contents of a file to standard output.
chmod
Change the mode of a file (e.g. whether it can be read or written.)
chown
Change the owner of a file.
cmp
Compare two files byte-by-byte
dalvikvm
The dalvik virtual machine. (Used to run Android applications.)
date
Prints the current date and time
dbus-daemon
dd
Convert and copy a file. By default copies standard in to standard out.
debuggerd
dexopt
df
Shows how much space is free on different file systems on your device.
dhcpcd
dmesg
dnsmasq
dumpstate
dumpsys
dvz
fsck_msdos
gdbserver
getevent
getprop
gzip
hciattach
hd
id
ifconfig
Shows the current configuration of network interfaces (IP, MAC address etc)
iftop
Shows the current processes using the network interfaces (top, but for networks)
ime
input
insmod
installd
ioctl
ionice
iptables
Manage the firewall
keystore
keystore_cli
kill
Send signals to processes.
linker
ln
Used to set up a file system link.
log
logcat
Prints the Android runtime log.
logwrapper
ls
Lists files.
lsmod
lsof
make_ext4fs
mediaserver
mkdir
Make a directory.
monkey
A program that sends random events, used to test applications. (Like having a monkey playing with the device.)
mount
mtpd
mv
Move a file from one directory to another. (Only on the same file system. Use "cat a > b" to copy a file between file systems.
nandread
ndc
netcfg
netd
netstat
newfs_msdos
notify
omx_tests
pand
ping
pm
pppd
printenv
ps
List active processes.
qemu-props
qemud
racoon
radiooptions
reboot
Reboot the device.
record
renice
rild
rm
Remove a file.
rmdir
Remove a directory.
rmmod
route
rtp_test
run-as
schedtest
schedtop
sdcard
sdptool
sendevent
service
servicemanager
setconsole
setprop
setup_fs
sh
showlease
sleep
smd
stagefright
start
Starts the Android runtime.
stop
Stops the Android runtime.
surfaceflinger
svc
sync
system_server
tc
testid3
toolbox
top
Shows which processes are currently using the most CPU time.
umount
uptime
Prints how long your device has been running since it was last booted.
vdc
vmstat
vold
watchprops
wipe
wpa_cli
wpa_supplicant
$ ls /system/xbin
add-property-tag
btool
check-lost+found
dexdump
dhdutil
hcidump
latencytop
librank
opcontrol
oprofiled
procmem
procrank
rawbu
scp
Secure copy program. (Used to copy files over the network.)
showmap
showslab
sqlite3
Used to administer SQLite databases.
strace
System trace command - use to see what system calls a program makes.
su
Start a shell with root privileges.
Versions of the Android Shell
Android 1.0 used a shell that had no tab completion or history editing.
Android 2.3 added history editing. You can for example use the up/down arrows to edit previous commands.
Hello,
I would like to start an app installed on a non rooted fire tv (generic solution, and as an example for xbmc) by adb. I found some examples, which all don't work... (I am able to start the adb shell and launch other commands...)
eg:
Code:
am start -a android.intent.action.MAIN -n org.xbmc.xbmc/android.app.NativeActivity
returns
Code:
Error type 3
Error: Activity class {org.xbmc.xbmc/android.app.NativeActivity} does not exist
.
Is this not possible on non rooted fire tv's?
Or do I just use a wrong syntax?
I am working on some remote conrtrol options, so launchers are not a solution for me.
Thanks for support.
adb shell am start -n org.xbmc.xbmc/.Splash
Kramar111 said:
adb shell am start -n org.xbmc.xbmc/.Splash
Click to expand...
Click to collapse
Works, thanks a lot!
Is there any way to get this for other apps out of the system?
eg: if I want to start netflix the same way, can I get the parameters from anywhre in the system or is "google my friend""?
with aapt (part of Android SDK):
run
Code:
aapt dump badging name.apk
and search line "launchable-activity"
or in GNU/Linux run
Code:
./aapt dump badging name.apk | grep "launchable-activity"
Kramar111 said:
with aapt (part of Android SDK):
run
Code:
aapt dump badging name.apk
and search line "launchable-activity"
or in GNU/Linux run
Code:
./aapt dump badging name.apk | grep "launchable-activity"
Click to expand...
Click to collapse
adb shell am start -n ir.hamgam.mobile/.Splash
for doesn't work plz help me
This has been a great forum so I thought I'd share my experience rooting another misc tablet from china. A reeder A7IX from Turkey. It has a nice 1920x1200 display, crappy z2520 processor.
*
Possible Problem 1: 'fastboot oem unlock' does not work and I could only connect with fastboot under windows using the provided manufacturer flash tool from reeder. This lets you install a custom recovery.
Problem 2: there is no obvious custom recovery available for this device
Problem 3: most google searches for installing supersu require custom recovery
Problem 4: SRSroot, the first google hit, reports it is already rooted,as do root checking apps but it apps that require root do not work.
*
Solution: since the 'adb root' command is successful, you can manually execute commands with adb to install SuperSU.
1. Go to http://forum.xda-developers.com/showthread.php?t=1538053
Click CWM / TWRP / MobileODIN installable ZIP: http://download.chainfire.eu/supersu
(At this point you could try adb sideloading the zip, maybe it works? I didn't try it)
Extract the zip file to a place where you can access with ADB.
2. In the zip file there is a folder /META-INF/com/google/android/update-binary
Open update-binary in a text editor
At the top it has instructions on how to manually root. I followed the ones for API 7+ and 17+ and 19+ but not 20+ since it is android 4.2
Here is my copy from update-binary for example:
# To install SuperSU properly, aside from cleaning old versions and
# other superuser-type apps from the system, the following files need to
# be installed:
#
# API** source*********************** target***************************** chmod** chcon********************** required
#
# 7-19* common/Superuser.apk********* /system/app/Superuser.apk********** 0644*** ubject_r:system_file:s0** gui
# 20+** common/Superuser.apk********* /system/app/SuperSU/SuperSU.apk**** 0644*** ubject_r:system_file:s0** gui
#
# 17+** common/install-recovery.sh*** /system/etc/install-recovery.sh**** 0755*** *1************************* required
# 17+******************************** /system/bin/install-recovery.sh**** (symlink to /system/etc/...)******* required
# *1: same as /system/bin/toolbox: ubject_r:system_file:s0 if API < 20, ubject_r:toolbox_exec:s0 if API >= 20
#
# 7+*** ARCH/su********************** /system/xbin/su******************** *2***** ubject_r:system_file:s0** required
# 7+********************************* /system/bin/.ext/.su*************** *2***** ubject_r:system_file:s0** gui
# 17+******************************** /system/xbin/daemonsu************** 0755*** ubject_r:system_file:s0** required
# 17+******************************** /system/xbin/sugote**************** 0755*** ubject_r:zygote_exec:s0** required
# *2: 06755 if API < 18, 0755 if API >= 18
#
# 19+** ARCH/supolicy**************** /system/xbin/supolicy************** 0755*** ubject_r:system_file:s0** required
# 19+** ARCH/libsupol.so************* /system/lib(64)/libsupol.so******** 0644*** ubject_r:system_file:s0** required
#
# 17+** /system/bin/sh or mksh *3**** /system/xbin/sugote-mksh*********** 0755*** ubject_r:system_file:s0** required
# *3: which one (or both) are available depends on API
*
What does it all mean? Basically you need to transfer files from the zip file using 'adb push' and then 'adb shell chmod' as per the above list. There is one 'ln -s' as well for install-recovery.sh. I found the chcon is not required and I ignored it. (ARCH is x86).
e.g. for the first line
# 7-19* common/Superuser.apk********* /system/app/Superuser.apk********** 0644*** ubject_r:system_file:s0** gui
you need to use the commands (where (ZIP/) is from where you extracted the ZIP file):
adb root
adb push (ZIP/)common/Superuser.apk /system/app/Superuser.apk
adb shell chmod 0644 /system/app/Superuser.apk
*
The exception is
# 17+******************************** /system/bin/install-recovery.sh**** (symlink to /system/etc/...)******* required
adb shell ln -s /system/etc/install-recovery.sh /system/bin/install-recovery.sh
*
Have fun! and of course at your own risk.
Do you think this same procedure would work with the Reeder A10iX?
Hi
I received my new Oneplus 5T and installed everything on it. So far so good, the only problem I have is to re-use my tasker scripts.
Some of those scripts use shell command to send a sqlite3 request on various databases located in /data/data/...
The problem is that those scripts doesn't work anymore, seems unable to access /data/data/...
Using a terminal emulator, the same command works very well.
I don't understand what's happen now.
Found the solution.
I added the su command before the sqlite3 command:
su
sqlite3 ....
Instead of using the root tickmark.
The proposed solution only works with SuperSU. It doesn't work under magisk.
pantale said:
The proposed solution only works with SuperSU. It doesn't work under magisk.
Click to expand...
Click to collapse
Have you tried adding -c to the su command? The shell command would then be:
Code:
su -c sqlite3...
Didgeridoohan said:
Have you tried adding -c to the su command? The shell command would then be:
Click to expand...
Click to collapse
Doesn't work, even with quotes.
Work well using SuperSU but not with Magisk
Here is the error message:
09.29.16/E Lancer un Shell: %folder -> %folder
09.29.16/E Lancer un Shell: ->
09.29.16/E Lancer un Shell: ->
09.29.16/Shell runBackground su -c 'sqlite3 /data/data/me.bluemail.mail/databases/2513211d-9c12-4de3-ba85-67b5a78cc0c3.db "SELECT id FROM folders WHERE name=\"INBOX\";" ' root: false timeout: -1
09.29.16/Shell start process-thread ID 391
09.29.16/E add wait type Shell1 time 2147483647
09.29.16/E add wait type Shell1 done
09.29.16/E add wait task
09.29.16/Variables doreplresult: |%folder| -> |%folder|
09.29.16/E Erreur: 134
Using SuperSU the Tasker sqlite3 plugging doesn't work also.
Seems unable to access /data/data/...
Even with root authorization.
Can this be related to encrypted data partition ?
Finally, I found the solution...
Had to find a 64bits version of sqlite3, and now it works normaly.