Overview
This rooting method is based on a new vulnerability in the ARM Mali GPU driver (CVE-2022-46395) discovered by security researcher Man Yue Mo at GitHub Security Lab, to gain root access to the 2nd gen Cube that is on firmware PS7633/3445 and PS7646/3550. Check the older root method for firmware PS7624/3337 and older.
The exploit program (raven_buf) is run directly on the Cube to spawn a temporary root shell for quick access. On average it takes 2-5min for the exploit to gain root access. For best results, run raven_buf after a fresh reboot.
Temporary Root
Open an adb root shell to for quick access admin access
Pros:
Access all files and folders from ADB
Simple to use, runs in RAM and doesn't make any changes to the Cube, no chance of bricking.
Remove app package protection so that you can enable/disable any app even without root (eg custom launchers, disabling updates, debloat, etc).
Cons:
Only enables ADB root
NOTE: raven_buf won't brick your device, but what you do with that root access can. DM-verity is still in place checking the integrity of the system/vendor partitions, do NOT modify anything in those directories, or the boot partition!!
Instructions
Enable ADB debugging in FireOS settings
Download, unzip and copy raven_buf to your Cube
adb push raven_buf /data/local/tmp/
Open and ADB shell and give raven_buf execution permission (only needs to be done once)
adb shell ---> opens a 'raven: / $' prompt
raven:/ $ chmod +x /data/local/tmp/raven_buf
Run the program. Takes 2-5min on average.
Root access is gained when the '$' prompt changes to '#' (raven:/ $ --> raven:/ #)
raven:/ $ /data/local/tmp/raven_buf
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Disable package protections
Use raven_shrinker to open a root shell and delete all the apps listed in the file /data/system/PackageManagerDenyList
raven:/ # echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><map><set name="DenyListKeyPackages"></set></map>' > /data/system/PackageManagerDenyList
Exit out of the root shell, and clear Arcus Proxy
raven:/ # exit
raven:/ $ pm clear com.fireos.arcus.proxy
A reboot is required before the changes take effect, but FireOS will attempt to connect to Amazon servers on bootup and rebuild PackageManagerDenyList. Temporarily disable your internet (eg disconnect internet provider cable from router), so that the Cube can't connect to the internet, then reboot.
Package protections are now removed, and Arcus Proxy needs to be disabled to prevent it from being re-activated
raven:/ $ pm disable-user com.fireos.arcus.proxy
raven:/ $ pm clear com.fireos.arcus.proxy
Disable Amazon's ability to block apps on your device (eg Launcher Manager)
raven:/ $ pm disable-user com.amazon.adep
raven:/ $ pm clear com.amazon.adep
Disable updates
raven:/ $ pm disable-user com.amazon.device.software.ota
raven:/ $ pm clear com.amazon.device.software.ota
raven:/ $ pm disable-user com.amazon.device.software.ota.override
raven:/ $ pm disable-user com.amazon.tv.forcedotaupdater.v2
Check & confirm the list of disabled apps:
raven:/ $ pm list packages -d
Contributors:
Man Yue Mo, @Functioner, @Pro-me3us
Thanks to @Renate for many great tools
@RiCkLaR for tip on disabling ADEP and AppBlockList
reserved
reserved
This release is mostly for the Raven folks that missed the last exploit because their devices had already updated.
@errut @yakovperelman69 @u_no_fr @ktjensen
I don't know if anyone is interested in running bootless Magisk, but it should be doable with this root as well. There will just be more of a delay before Magisk starts since it takes longer for this exploit to work. I haven't had a chance to test it, I prioritized getting the basic root exploit out this time over testing Magisk.
Pro-me3us said:
Overview
This rooting method is based on a new vulnerability in the ARM Mali GPU driver (CVE-2022-46395) discovered by security researcher Man Yue Mo at GitHub Security Lab, to gain root access to the 2nd gen Cube that is on firmware PS7633/3445 and PS7646/3550. Check the older root method for firmware PS7624/3337 and older.
The exploit program (raven_buf) is run directly on the Cube to spawn a temporary root shell for quick access. On average it takes 2-5min for the exploit to gain root access. For best results, run raven_buf after a fresh reboot.
Temporary Root
Open an adb root shell to for quick access admin access
Pros:
Access all files and folders from ADB
Simple to use, runs in RAM and doesn't make any changes to the Cube, no chance of bricking.
Remove app package protection so that you can enable/disable any app even without root (eg custom launchers, disabling updates, debloat, etc).
Cons:
Only enables ADB root
NOTE: raven_buf won't brick your device, but what you do with that root access can. DM-verity is still in place checking the integrity of the system/vendor partitions, do NOT modify anything in those directories, or the boot partition!!
Instructions
Enable ADB debugging in FireOS settings
Download, unzip and copy raven_buf to your Cube
adb push raven_buf /data/local/tmp/
Give raven_buf execution permission (only needs to be done once)
raven:/ $ chmod +x /data/local/tmp/raven_buf
Run the program. Takes 2-5min on average.
Root access is gained when the '$' prompt changes to '#' (raven:/ $ --> raven:/ #)
raven:/ $ /data/local/tmp/raven_buf
Disable package protections
Use raven_shrinker to open a root shell and delete all the apps listed in the file /data/system/PackageManagerDenyList
raven:/ # echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><map><set name="DenyListKeyPackages"></set></map>' > /data/system/PackageManagerDenyList
Exit out of the root shell, and clear Arcus Proxy
raven:/ # exit
raven:/ $ pm clear com.fireos.arcus.proxy
A reboot is required before the changes take effect, but FireOS will attempt to connect to Amazon servers on bootup and rebuild PackageManagerDenyList. Temporarily disable your internet, so that the Cube can't connect to the internet, then reboot.
Package protections are now removed, and Arcus Proxy needs to be disabled to prevent it from being re-activated
raven:/ $ pm clear com.fireos.arcus.proxy
raven:/ $ pm disable-user com.fireos.arcus.proxy
Disable updates
raven:/ $ pm disable-user com.amazon.device.software.ota
raven:/ $ pm clear com.amazon.device.software.ota
raven:/ $ pm disable-user com.amazon.device.software.ota.override
raven:/ $ pm disable-user com.amazon.tv.forcedotaupdater.v2
Contributors:
Man Yue Mo, @Functioner, @Pro-me3us
Thanks to @Renate for many great tools
Click to expand...
Click to collapse
hi, thanks pro-me3us for post this.
im on S7646/3550 and following steps via ADB wireless (ubuntu), because I dont know how connect through a cable and send commands (never in a cube)
I was able to reach step 3
raven:/ $ chmod +x /data/local/tmp/raven_buf
but in this command :
raven:/ $ /data/local/tmp/raven_buf ... i got this:
benchmark_time 132
failed after 100
finished reset: 125054016 fault: 120552766 2746 err 0 read 3
failed to find pgd, retry
........and loops forever.
any help will be appreciate.
thanks
yakovperelman69 said:
hi, thanks pro-me3us for post this.
im on S7646/3550 and following steps via ADB wireless (ubuntu), because I dont know how connect through a cable and send commands (never in a cube)
I was able to reach step 3
raven:/ $ chmod +x /data/local/tmp/raven_buf
but in this command :
raven:/ $ /data/local/tmp/raven_buf ... i got this:
benchmark_time 132
failed after 100
finished reset: 125054016 fault: 120552766 2746 err 0 read 3
failed to find pgd, retry
........and loops forever.
any help will be appreciate.
thanks
Click to expand...
Click to collapse
I Got it.
finally I completed all steps via wireless.
now I will need some help/instructions/link to install Magisk and get SU rights.
in a meanwhile I have a question: the OTA updates are permanently disabled? i need to be sure of that.
yakovperelman69 said:
but in this command :
raven:/ $ /data/local/tmp/raven_buf ... i got this:
benchmark_time 132
failed after 100
finished reset: 125054016 fault: 120552766 2746 err 0 read 3
failed to find pgd, retry
........and loops forever.
Click to expand...
Click to collapse
Yeah, this is a much different type of bug than the previous Mali GPU bug, it takes many attempts to gain root. You just have to be patient and let raven_buf run for a few minutes until it finishes.
yakovperelman69 said:
now I will need some help/instructions/link to install Magisk and get SU rights.
in a meanwhile I have a question: the OTA updates are permanently disabled? i need to be sure of that.
Click to expand...
Click to collapse
If you disabled the OTA packages in the instructions, you should get an error when you check for updates in FireOS settings. As far as I know, there aren't any FireOS apps that re-enable the disabled OTA packages, but every new firmware has potential new hidden tricks.
Right now I'm noticing that Launcher Manager is being disabled by some other FireOS app. This was reported in the Launcher Manager thread. I need to see if I can figure out what app is responsible for this, so that it can be disabled.
Temp root can only work with bootless Magisk. I haven't had a chance to test it yet, so I'll need a couple days. Be aware that bootless Magisk has limitations. You can grant apps SU, but most Magisk modules don't work. My feeling is that you shouldn't use bootless Magisk unless you know you need it.
I'm not sure how many people are actually using it from the last temp root. There haven't been any comments about it, so maybe that just means it's working flawlessly
Roligov was the only person that I know of that was really trying it out. @roligov are you still using bootless Magisk regularly?
Pro-me3us said:
If you disabled the OTA packages in the instructions, you should get an error when you check for updates in FireOS settings. As far as I know, there aren't any FireOS apps that re-enable the disabled OTA packages, but every new firmware has potential new hidden tricks.
Click to expand...
Click to collapse
That's good news, mainly to avoid an unwanted update and to be able to wait on my current build PS7646/3550 until developers can figure out a permanent root, install TWRP, etc.
For now I'll be testing my Raven cube and reporting anything strange that happens.
Now I have another question, if I want to access root tomorrow, can I do this? :
raven:/ $ /data/local/tmp/raven_buf
raven:/ # "any command I need"?
And here I have to disable the internet again?
Do I have to disable package protections again?
thanks Pro-me3us for your help
yakovperelman69 said:
Now I have another question, if I want to access root tomorrow, can I do this? :
raven:/ $ /data/local/tmp/raven_buf
raven:/ # "any command I need"?
And here I have to disable the internet again?
Do I have to disable package protections again?
thanks Pro-me3us for your help
Click to expand...
Click to collapse
Yea, if you just want to spawn a root shell, you only need to run raven:/ $ /data/local/tmp/raven_buf
From raven:/ #, you are root user at the commandline until you close that window
You don't need to disable internet, or disable packages, that was a one time thing to clear package protections. With package protections cleared, you don't need root anymore to enable/disable any packages / APKs.
Pro-me3us said:
Yea, if you just want to spawn a root shell, you only need to run raven:/ $ /data/local/tmp/raven_buf
From raven:/ #, you are root user at the commandline until you close that window
Click to expand...
Click to collapse
Well, all that reassures me, and I'm fine with it. We don't really need root access every day.
I had already thanked you for the post and for the help, but I hadn't thanked you for mentioning me in post #4. That's how I received an email alert and was able to see this post on time. I think I was the first one to use it.
Thanks again Pro-me3us .
I have got cube 2nd with 7.2.2.9 with disabled updates should I update and do this? Whats your opinion? @Pro-me3us
ForbEx said:
I have got cube 2nd with 7.2.2.9 with disabled updates should I update and do this? Whats your opinion? @Pro-me3us
Click to expand...
Click to collapse
I HIGHLY recommend the bootloader unlock method for any 2nd gen Cubes with firmware PS7292 and below
This is the ultimate goal for any device. It will flash full Magisk & TWRP. And you will be able to flash any firmware up to ps7646 and keep root (as long as you only update through TWRP). This will also keep the DFU fuse in tact, so that it's an option in case you have some sort of catastrophe.
I personally would not recommend updating the firmware to the more recent builds unless you need to for some reason. The newer firmware adds more Amazon BS than user utility.
Thank you so much! Finally have blocked firmware updates, my Cube is on fiirmware PS7646/3550, I had missed the chance to use the last exploit by about a week last time.
In the other/old thread some people asked what else can be disabled besides the OTA apps, so thought I'd share what I've disabled; so here is my list of disabled packages in my Raven:
Code:
raven:/ $ pm list packages -d
package:com.android.internal.display.cutout.emulation.corner
package:com.android.internal.display.cutout.emulation.double
package:com.amazon.recess
package:com.amazon.platform.fdrw
package:com.amazon.dummy.settings
package:com.amazon.tv.arc
package:com.amazon.whisperplay.contracts
package:com.android.providers.media
package:com.amazon.device.rdmapplication
package:com.amazon.dcp.contracts.library
package:com.amazon.ftv.xpicker
package:com.amazon.hybridadidservice
package:com.amazon.bueller.photos
package:com.ivona.orchestrator
package:com.amazon.device.logmanager
package:com.amazon.shoptv.firetv.client
package:com.amazon.dpcclient
package:com.amazon.centrix
package:com.amazon.ceviche
package:com.amazon.alta.h2clientservice
package:com.amazon.ftv.screensaver
package:com.amazon.tv.ooberesource
package:com.amazon.dp.logger
package:com.amazon.ods.kindleconnect
package:com.android.providers.downloads.ui
package:com.android.simappdialog
package:com.amazon.sharingservice.android.client.proxy
package:com.amazon.android.marketplace
package:com.android.internal.display.cutout.emulation.tall
package:com.amazon.prism.android.service
package:com.amazon.tifobserver
package:com.amazon.client.metrics.api
package:com.amazon.aca
package:com.amazon.ale
package:com.amazon.dcp
package:com.amazon.neodelegate
package:com.amazon.tv.easyupgrade
package:com.android.nfc
package:com.amazon.tv.csapp
package:com.amazon.logan
package:com.amazon.tahoe
package:com.amazon.ftvads.deeplinking
package:com.amazon.naatyam
package:com.android.settings.intelligence
package:com.amazon.stillwatching.activity
package:com.amazon.a4b.mcc
package:com.amazon.sneakpeek
package:com.amazon.wirelessmetrics.service
package:com.fireos.arcus.proxy
package:com.amazon.tv.fw.metrics
package:com.android.dreams.basic
package:com.amazon.whasettings
package:com.amazon.firehomestarter
package:com.amazon.tv.ffsprovisioneeclient
package:com.amazon.ftv.profilepicker
package:com.amazon.device.metrics
package:com.amazon.tv.ottssocompanionapp
package:com.amazon.device.sale.service
package:com.amazon.dummy.contacts
package:com.svox.pico
package:com.amazon.tv.forcedotaupdater.v2
package:com.amazon.client.metrics
package:com.amazon.minitv.android.app
package:amazon.jackson19
package:com.amazon.tmm.tutorial
package:com.amazon.wha.mediabrowserservice
package:com.amazon.device.software.ota
package:com.amazon.d3
package:com.amazon.tv.developer.dataservice
package:com.amazon.dummy.calendar
package:com.amazon.dcp.contracts.framework.library
package:com.amazon.dummy.gallery
package:com.amazon.tv.support
package:com.amazon.aiondec
package:com.amazon.sync.provider.ipc
package:com.amazon.tv.legal.notices
package:com.amazon.dummy.alarmclock
package:android.amazon.perm
package:com.amazon.kso.blackbird
package:com.amazon.providers.contentsupport
package:com.amazon.hearingaid
package:com.amazon.whisperjoin.middleware.np
package:com.amazon.application.compatibility.enforcer
package:com.amazon.whisperplay.service.install
package:com.ivona.tts.oem
package:com.amazon.tv.launcher
package:com.amazon.shoptv.client
package:com.amazon.device.software.ota.override
package:com.amazon.franktvinput
package:com.amazon.adep
package:com.amazon.whad
package:com.amazon.communication.discovery
package:com.android.traceur
package:com.amazon.tv.releasenotes
package:com.amazon.gamehub
package:com.amazon.cloud9
package:com.amazon.tv.livetv
package:com.amazon.hedwig
package:com.amazon.vizzini.ftvcds
package:com.amazon.dummy.music
package:com.amazon.application.compatibility.enforcer.sdk.library
Pro-me3us said:
Right now I'm noticing that Launcher Manager is being disabled by some other FireOS app. This was reported in the Launcher Manager thread. I need to see if I can figure out what app is responsible for this, so that it can be disabled.
Click to expand...
Click to collapse
I don't know if it was mentioned in that thread, but I think I saw someone on Reddit say that it was system package:{com.amazon.adep} that was disabling the latest version of LauncherManager. Though, in my Cube I had previously (months ago) disabled that ADEP package before the attacks on LM started happening, and am still running last years old version of LauncherManager and none of the recent updates had killed LauncherManager or Wolf_Launcher from being my default launcher, guess I was lucky; so don't know for sure if that system-app is the culprit. And then a subsequent firmware update added ADEP to the Protected Package list now.
I think @boxster03 was looking for recommendations on apps to disable
RiCkLaR said:
I don't know if it was mentioned in that thread, but I think I saw someone on Reddit say that it was system package:{com.amazon.adep} that was disabling the latest version of LauncherManager. Though, in my Cube I had previously (months ago) disabled that ADEP package before the attacks on LM started happening, and am still running last years old version of LauncherManager and none of the recent updates had killed LauncherManager or Wolf_Launcher from being my default launcher, guess I was lucky; so don't know for sure if that system-app is the culprit. And then a subsequent firmware update added ADEP to the Protected Package list now.
Click to expand...
Click to collapse
Thanks, that's a solid tip!
Looking at com.amazon.adep, it's got lots of instructions on blocking apps. My guess is that the app block list retrieval involves:
https://d1h88bafe13ct7.cloudfront.net/com.amazon.adep.nimh.appBlockList_V
The other url that pops up in the app is https://arucs-uswest.amazon.com, which I have seen returning hashes to the Cube.
Blocking the d1h88bafe13ct7.cloudfront.net domain may be enough to prevent it from disabling apps. That would be more precise if it works that blocking arucs-uswest.amazon.com
Based on the data in the com.amazon.adep folder, I would guess that the blocklist is based on the hash of the apk, rather than directly on the package name
The app block list includes several versions of Launcher Manager, as well as a number of hashes for unknown apps. I've probably never installed any of these other apps so no package name was added to match any of the hashes.
I'll try just disabling adep for two days, and assuming that works, add it to the OP as another app to disable.
I'm attaching a list of the current apps in the PackageManagerDenyList as well as a reference in case something is added or changed down the line. This is the list of apps that are cleared in the instructions in the OP. The list also includes packages only present on the Fire Tablets and Kindle.
Hello again Pro-me3us
Since I don't understand much of this, I just follow instructions and advices. I'm not going to ask which command blocks each amz action. Just tell me please, which list should I use?
Despite having blocked updates, amz could still update some apps? (I understood that)
Do I have to write each command separately?
Something like :
raven:/ $pm disable user amazon.fireos
raven:/ $ pm disable-user com.amazon.adep
Thanks to you two Pro-me3us and RiCkLaR for the post.
yakovperelman69 said:
Do I have to write each command separately?
Something like :
raven:/ $pm disable user amazon.fireos
raven:/ $ pm disable-user com.amazon.adep
Click to expand...
Click to collapse
I'm not recommending disabling all the apps on the PackageManagerDenyList! I posted it for comparison in case the list changes in the future.
You can disable Adep, and that should prevent Amazon from disabling any apps like Launcher Manager on your Cube
raven:/ $ pm disable-user com.amazon.adep
Don't disable amazon.fireos.
You can try @RiCkLaR's list. You may use some apps or features that he doesn't and has disabled. Eg disabling com.amazon.whad and com.amazon.whasettings breaks Alexa Home Theater mode and the Alexa Home Theater settings sub-menu. If something breaks, you can ask back and someone may be able to point out which app is responsible, and to re-enable.
I almost bricked the cube... hehe.
Thanks for the clarifications, I haven't changed the launcher yet. I plan to try the Wolf.
U are my man! works like charme. Now i dont need lm anymore and can use my own launcher. i can everyone prefer to try projectify launcher.. its the best looking and working launcher i ever used on ftv.
I tried to do this today but ran into a few problems. First of all I am on 7.4.6.4. My first problem was that I was unable to get my FireTV cube to show up on adb via USB so I connected to it wirelessly and that worked. I was able to get root shell with raven_buff and use the command to disable package protections. I disabled the internet and restarted. But once I turned the wifi back on to adb back in and disable arcus it said I couldn't disable protected packages. I believe it may be happening because I have to turn the wifi back on rather than USB debug while the wifi is still off but I saw in the comments someone was able to do it with wireless only. Am I disabling package protections correctly? I made sure I typed this command correctly and restarted with no wifi: echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><map><set name="DenyListKeyPackages"></set></map>' > /data/system/PackageManagerDenyList
I would appreciate any help on either solving this wirelessly or figuring out how to get USB debugging to work. Thanks.
Turtlear said:
First of all I am on 7.4.6.4.
Click to expand...
Click to collapse
Assuming you meant PS7646?
Turtlear said:
I was unable to get my FireTV cube to show up on adb via USB
Click to expand...
Click to collapse
To use USB ADB, you have to use a regular microUSB to USB-A (or whatever your computer accepts) cable with a data line. You can't use an OTG cable. Secondly, the cable has to be already attached to your computer and Cube BEFORE the Cube is powered on.
Turtlear said:
I connected to it wirelessly and that worked
Click to expand...
Click to collapse
This is the easier way.
Turtlear said:
once I turned the wifi back on to adb back in and disable arcus it said I couldn't disable protected packages.
Click to expand...
Click to collapse
It sounds like you are disabling Wifi on the Cube itself? Which means you can't connect to WiFi ADB to disable Arcus Proxy. So when you re-enable WiFi on the Cube, the FireOS immediately contacts Amazon, to retrieve and restore the PackageManagerDenyList, before you are able to make a WiFi ADB connection to run pm disable com.fireos.acrus.proxy. If the PackageManagerDenyList is rebuilt before you disable Arcus Proxy, you will get 'can't disable protected package' message.
Here's what I recommend. Make a WiFi ADB connection with your Cube, and repeat the process:
raven:/ $ /data/local/tmp/raven_buf
raven:/ # echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><map><set name="DenyListKeyPackages"></set></map>' > /data/system/PackageManagerDenyList
raven:/ # exit
raven:/ $ pm clear com.fireos.arcus.proxy
At this point you need to disable internet access. Don't disable WiFi on the Cube, or turn off your router. Unplug the the internet cable that plugs into the back of your router. This way you can still connect your devices in your home, but none of your devices can contact the internet on the outside world. Then reboot your Cube, connect to it via WiFi ADB, and disable Arcus Proxy
raven:/ $ pm disable-user com.fireos.arcus.proxy
NOW you can reconnect your internet to your router, and you shouldn't get any package protection errors.
Then you can finish the process and disable these last new packages
Disable Amazon's AppBlockList
raven:/ $ pm disable-user com.amazon.adep
raven:/ $ pm clear com.amazon.adep
Disable OTA updates
raven:/ $ pm disable-user com.amazon.device.software.ota
raven:/ $ pm clear com.amazon.device.software.ota
raven:/ $ pm disable-user com.amazon.device.software.ota.override
raven:/ $ pm disable-user com.amazon.tv.forcedotaupdater.v2
Related
EDIT 09/23/16
I finally found a permanent solution to how to change fire launcher on the Amazon Fire without root. It works on any version (FireOS 5.3.1) on any tablet variant (7, HD 8, HD 10 etc...).
You can read the detailed tutorial at http://forum.xda-developers.com/ama...-remove-default-launcher-amazon-fire-t3288310 but basically you run one command, must be done after reboot currently via adb shell:
Noval Launcher on Amazon Fire no-root:
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.teslacoilsw.launcher/.NovaLauncher; done &
That's it. Once you paste that into your adb shell you're done; you now have a default launcher programmatically set via ADB.
Optionally, you can install the modded firelauncher.apk so you can finally delete it without root .
(this is optional, you wont have any launcher after doing this! backup your old APK!!)
Code:
adb install -r -d com.amazon.firelauncher.apk
... as you can now see this will -r reinstall and -d downgrade the launcher, causing it to crash and never open.
Thanks for your support guys, I love android!
EDIT:
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
I'm new to the whole Android scene, and recently I had acquired an Amazon Fire HD 8. The only complaint about this tablet is the lack of Google Play and the horrible firelauncher. There is currently no root options available for the Fire HD modles 8 & 10, so I have spent the time to develop a temporary workaround.
Please take a quick look at the developmental thread I previously created so we can collaborate to make a more efficient version of this:
http://forum.xda-developers.com/hd8...zon-fire-hd-8-10-remove-firelauncher-t3286646
Disclaimer:
If you plan on installing new applications/packages while this script is running you may have a hard time. Installing packages may take 2-10 minutes, or maybe not at all!
If you experience any problems you can undo everything by running the undo script attatched (unix), or by typing "adb shell ps | grep /system/bin/sh", you will see anywhere from 2-10 processes listed. For each type "adb shell kill -9 <pid>", pid would be the process ID, should be the first number you see on each line.
There is a small chance when you press the home button that it will load the regular firelauncher, do not fret, try again and it will go to whichever launcher you previously selected.
Performance may be slightly altered, if it becomes too bad to use try adjusting the script and change the interval at which it loops (set to 20 by default).
This is an alpha experiment, and I am a noob with Android so please bare with me
This is a noobish approach to disabling the firelauncher (com.amazon.firelauncher.apk), please do not judge it, this is also my first time releasing something for Android.
If you are using a unix operating system (like Linux or Mac), I have compiled a script that does the work for you! Windows users will have to wait and do it manually since I am unfamilar with batch (would someone like to help with this?)
Automatic Tool (easy, linux, mac only)
Step One:
Download the two script attachments:
remove_default_launcher.sh - disables amazon's firelauncher
re-endable_firelauncher(undo).sh - reverts the process, if you have any issues
Step Two:
Run the following commands to make the scripts executable:
Code:
chmod +x remove_default_launcher.sh
chmod +x re-endable_firelauncher(undo).sh
Run the tool to remove amazon's nasty launcher!
Code:
./remove_default_launcher.sh
Step Three:
The script should automatically do everything, when it's done, check your Fire. Keep pressing the home button and switching between applications until you get the "Change default launcher" dialogue, make sure you have an alternative launcher installed beforehand or else you won't have a launcher! When it's all working how it should be go to step four!
Step Four:
Simply exit out of your terminal window, do not type anything, just exit ADB. The script will continue running!
This is what a successful window looks like, whenever you have confirmed it is working, close out of the ADB window and end that process.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Manually (harder, windows)
Step One:
Open up a new ADB shell window and type
Code:
adb shell
Step Two:
Once you are in the shell window, simply copy and paste this line of code and press return. It is just a simple bash script that loops the command "install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk"" which will reinstall the firelauncher repeatedly, which temporary uninstalls it.
Code:
#!/system/bin/sh
nohup
while :
do
kill $!
sleep 1 & pm install -r -d "/system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk" & sleep 20; kill $!
kill $!
done &
exit
#press enter now
After pressing enter, you can watch it go to work, or you can close out of the adb window and unplug your device, it will continue to run until you kill the shell processes or reboot the device. Make sure you have an alternative launcher already installed so it can easily be set as default. EDIT: Reboot may not reset it, which is cool but could be annoying. To turn off this wonderful feature open up adb shell and use "ls | grep shell" and kill using "kill <pid>" all releated processes to /bin/shell or whatever. It may take up to a minute to reset.
If you have any issues at all please comment and I will send you a private message with detailed instructions catered to your specific issue!
If you are a dev, take a look at my unix auto-install script, it may help you figure it out yourself as well. I need someone who understands batch to help me write a windows version .
I literally spent about 45 minutes working on this noobish approach, so if you find bugs or want to modify the script, simply post in the comments your version and why you think it is more efficient. If you want to help make a dedicated and more efficient approach to this, check out the development thread here (there are alternative methods here too):
http://forum.xda-developers.com/hd8...zon-fire-hd-8-10-remove-firelauncher-t3286646
This appears to be a very stable system actually, I recommend everyone does this to the Fire HD tablets!
I hope this helps someone, if this helps you please give me a thanks so I know it
Confused as to why you'd post this here after using the correct forum section for the HD8 and 10 already.
Pond-life said:
Confused as to why you'd post this here after using the correct forum section for the HD8 and 10 already.
Click to expand...
Click to collapse
I was not sure whether it was the correct forum actually, it is stable enough to use for all versions of Fire now, so I posted for users who do not want to root their device, but hate the launcher. If you think it is in the wrong place I will remove it promptly. I actually did post this in the wrong spot.. It is in development instead... At least there will not be any flaming here
I have also noticed 6x more downloads in 1/5 of the time this thread has been posted compared to the other.
I have updated with a new method that is much better, the only negative to this new method is when you hit the home button, for a brief moment you see the firelauncher. Performance, speed, and bugs are perfect.
Just paste this code in adb shell, I'm working on setting up nohup to work with it, when you close adb it will stop working.. Going to bed for now though.
Code:
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start [B]com.newlauncher.launcher[/B]
fi
done
Good job on this!
glitch3yf0x said:
Good job on this!
Click to expand...
Click to collapse
No problem, hopefully I will find some more time to work on this in the future .
I am glad you like it.
nyln said:
If you are using a unix operating system (like Linux or Mac), I have compiled a script that does the work for you! Windows users will have to wait and do it manually since I am unfamilar with batch (would someone like to help with this?)
Click to expand...
Click to collapse
If you're still in need, I'd be happy to help port it to windows!
as for me,on windows, worked simply:
adb shell
pm hide com.amazon.firelauncher
to enable the fire launcher again,
adb shell
pm unhide com.amazon.firelauncher
This is one of the best thread for Fire OS world! Can't wait for you to perfect this.
P.S: Plz, someone here port it to Windows.
Does it work on Fire 5.3.1 ?
Please message me if you want me to keep working on this. After the root I stopped.
working great. And how to restore in the laucher back?
I am in Win10
update: After reboot, it turns back to original FireOS launcher. Is there a way to make it auto applied?
ttcontributor said:
update: After reboot, it turns back to original FireOS launcher. Is there a way to make it auto applied?
Click to expand...
Click to collapse
I will do some work on it. I am not an android developer, so maybe i will write a python application.
nyln said:
I will do some work on it. I am not an android developer, so maybe i will write a python application.
Click to expand...
Click to collapse
It's great to hear you still have your hands on this
nerakkaren said:
as for me,on windows, worked simply:
adb shell
pm hide com.amazon.firelauncher
to enable the fire launcher again,
adb shell
pm unhide com.amazon.firelauncher
Click to expand...
Click to collapse
If I am not mistaken, this will only bennefit those who have a rooted device. Fire 7 and HD 8 got updated via OTA removing my root. I am now working on a better way right now .
Please PM or Thank me if you're interested in this, it'll come out faster if I know people are waiting
I finally found a permanent solution to how to change fire launcher on the Amazon Fire without root. It works on any version (FireOS 5.3.1) on any tablet variant (7, HD 8, HD 10 etc...).
You can read the detailed tutorial at http://forum.xda-developers.com/ama...-remove-default-launcher-amazon-fire-t3288310 but basically you run one command, must be done after reboot currently via adb shell:
Noval Launcher on Amazon Fire no-root:
Code:
nohup logcat -c; logcat | grep --line-buffered 'flg=0x10200000 cmp=com.amazon.firelauncher/.Launcher' | while read line; do am start com.teslacoilsw.launcher/.NovaLauncher; done &
That's it. Once you paste that into your adb shell you're done; you now have a default launcher programmatically set via ADB.
Optionally, you can install the modded firelauncher.apk so you can finally delete it without root .
Thanks for your support guys, I love android!
Here is a teaser of my application:
[email protected]:/ $ adb install -r -d com.amazon.firelauncher.apk
/system/bin/sh: adb: not found
im getting this error, so i still c the default launcher for a couple of seconds before it goes to nova launcher
ahac85 said:
[email protected]:/ $ adb install -r -d com.amazon.firelauncher.apk
/system/bin/sh: adb: not found
im getting this error, so i still c the default launcher for a couple of seconds before it goes to nova launcher
Click to expand...
Click to collapse
You are already inside adb shell, type exit then type it again silly
I am tryng to remove the bloatware from the Amazon Fire 7 (9th gen) that i recently buy in the prime days.
Do i need Root acces for that?
Lets say i want to remove the parental control (package: com.amazon.parentalcontrols)
I do as follows:
1. Open an ADB command window
2. Type "adb devices" to make sure the fire is connected
3. Type "adb shell"
4. Which command should i write to delete the pakage?
Thank you in advance
jpa1911 said:
I am tryng to remove the bloatware from the Amazon Fire 7 (9th gen) that i recently buy in the prime days.
Do i need Root acces for that?
Lets say i want to remove the parental control (package: com.amazon.parentalcontrols)
I do as follows:
1. Open an ADB command window
2. Type "adb devices" to make sure the fire is connected
3. Type "adb shell"
4. Which command should i write to delete the pakage?
Thank you in advance
Click to expand...
Click to collapse
You need root, yes.
There is a root procedure that is fully working (I've done it myself and can confirm it works)
If all you wish to do is uninstall a few packages then you might be happy just using mtk-su which is essential for the full rooting procedure.
To answer your exact question, you need to type 'pm disable com.amazon.parentalcontrols'
(This will disable the package rather than uninstall)
I believe that to actually uninstall you'd need 'pm uninstall -k user1 com.amaz..........' (please feel free to correct me if I've got this syntax incorrect)
Edit 2 add
Link for thread with root instructions
https://forum.xda-developers.com/am...ire-7-2019-mustang-unbrick-downgrade-t3944365
To disable the lock screen ads, just type this command on your PC
Code:
adb shell settings put global LOCKSCREEN_AD_ENABLED 0
adb shell settings put global ksoHash 0
//Reboot your device. (Do not copy this comment)
adb reboot
AmznUser444 Dev said:
To disable the lock screen ads, just type this command on your PC
Code:
adb shell settings put global LOCKSCREEN_AD_ENABLED 0
adb shell settings put global ksoHash 0
//Reboot your device. (Do not copy this comment)
adb reboot
Click to expand...
Click to collapse
i did this and the ads come back after a while. is there something else I need to do?
AdvilSmith said:
To disable the lock screen ads, just type this command on your PC
i did this and the ads come back after a while. is there something else I need to do?
Click to expand...
Click to collapse
Of course they did. The member who gave that guidance has no idea what he is talking about.
DB126 said:
Of course they did. The member who gave that guidance has no idea what he is talking about.
Click to expand...
Click to collapse
Alright then, is there something I can do that doesn't involve giving amazon $15 to disable ads?
AdvilSmith said:
Alright then, is there something I can do that doesn't involve giving amazon $15 to disable ads?
Click to expand...
Click to collapse
Root the device or try disabling like this (i have heard they can get re-enabled, but it worked for me so far on my hd10)
adb shell pm disable-user --user 0 com.amazon.kindle.otter.oobe.forced.ota
adb shell pm disable-user --user 0 com.amazon.device.software.ota
adb shell pm disable-user --user 0 com.amazon.device.software.ota.override
adb shell pm disable-user --user 0 com.amazon.kindle.kso
AdvilSmith said:
Alright then, is there something I can do that doesn't involve giving amazon $15 to disable ads?
Click to expand...
Click to collapse
The best option (if unrooted) is to call Amazon and tell them you find the ads offensive. They will almost always disable at no charge without a fuss.
The "pm disable-user ..." method trafficked in many threads is a non-durable measure that can be easily reversed by Amazon via OTA updates. However, the commands are easy to reapply when the ads rematerialize. And they will rematerialize if history is any guide.
I just picked up a "renewed" unlocked G8 thinq (Model LM-G820UM) on Amazon for a pretty good price. I'm using it on ATT prepaid, but its got a Sprint logo on startup. It also complained about network activation at every startup, but otherwise worked fine.
Combined with the fine work of rldev, here's a guide to remove the bloatware and ditch that activation message. It will still say sprint on bootup/shutdown, but other than that, no way I can tell its a sprint phone.
rldev said:
Remove Sprint from LG G8
We are removing the following files. See bottom for some notes. If you are using the floating bar, disable it or adb may not work.
Caller Id
Carrier device manager
Carrier Hub
MCM Client
Mobile Installer
Sprint Mobile Framework Support
Sprint Service
Software Update
pm uninstall -k --user 0 com.lookout
pm uninstall -k --user 0 com.coremobility.app.vnotes
pm uninstall -k --user 0 com.sprint.w.installer
pm uninstall -k --user 0 com.sprint.ms.cdm
pm uninstall -k --user 0 com.sprint.zone
pm uninstall -k --user 0 com.sprint.ecid
pm uninstall -k --user 0 com.sprint.extension
pm uninstall -k --user 0 com.sprint.care
pm uninstall -k --user 0 com.sprint.ce.updater
pm uninstall -k --user 0 com.lge.sprintnativewfc.smf
pm uninstall -k --user 0 com.sprint.ms.smf.services
pm uninstall -k --user 0 com.lge.sprintserver
pm uninstall -k --user 0 com.lge.lgdmsclientspr
NOTE: The last line will remove the Sprint Activation at boot. There are 3 of these that come up when you search in the app.
I don't know how to get rid of the Sprint bootup. The last one I purchased had it removed, so it is possible. Someone let me know.
Click to expand...
Click to collapse
Just wanted to shout out and say thanks! Worked perfectly.
I'll add some info for noobs just to contribute and make it easier for people in the future..
To get ADB working (windows):
Get and install LG USB drivers from here: http://tool.lime.gdms.lge.com/dn/downloader.dev?fileKey=UW00120120425
Get the ADB binary from here: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Unzip it somewhere on your computer you can keep track of.
On your phone, go to Settings and tap on About Phone. Find the Build Number and tap on it 7 times to enable Developer Options.
Now enter Developer Options and find USB Debugging. Enable it.
Plug your phone into the computer and change it from “charge only” mode to “file transfer (MTP)” mode.
On your computer, open a CMD prompt (windows key, type cmd, hit enter)
Change directory to the folder you unzipped with the adb binary (CD <folder path>)
enter the following command: adb devices
You will see that the system is starting the ADB daemon. If this is your first time running ADB, you will see a prompt on your phone asking you to authorize a connection with the computer. Grant it.
Now if you re-run the adb devices command, the terminal will print the serial number of your device. If so, then you’re ready to move on.
Enter the following command: adb shell
Now run each of the commands from the post above
Sources
brandontw said:
I just picked up a "renewed" unlocked G8 thinq (Model LM-G820UM) on Amazon for a pretty good price. I'm using it on ATT prepaid, but its got a Sprint logo on startup. It also complained about network activation at every startup, but otherwise worked fine.
Combined with the fine work of rldev, here's a guide to remove the bloatware and ditch that activation message. It will still say sprint on bootup/shutdown, but other than that, no way I can tell its a sprint phone.
Just wanted to shout out and say thanks! Worked perfectly.
I'll add some info for noobs just to contribute and make it easier for people in the future..
To get ADB working (windows):
Get and install LG USB drivers from here: http://tool.lime.gdms.lge.com/dn/downloader.dev?fileKey=UW00120120425
Get the ADB binary from here: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Unzip it somewhere on your computer you can keep track of.
On your phone, go to Settings and tap on About Phone. Find the Build Number and tap on it 7 times to enable Developer Options.
Now enter Developer Options and find USB Debugging. Enable it.
Plug your phone into the computer and change it from “charge only” mode to “file transfer (MTP)” mode.
On your computer, open a CMD prompt (windows key, type cmd, hit enter)
Change directory to the folder you unzipped with the adb binary (CD <folder path>)
enter the following command: adb devices
You will see that the system is starting the ADB daemon. If this is your first time running ADB, you will see a prompt on your phone asking you to authorize a connection with the computer. Grant it.
Now if you re-run the adb devices command, the terminal will print the serial number of your device. If so, then you’re ready to move on.
Enter the following command: adb shell
Now run each of the commands from the post above
Sources
Click to expand...
Click to collapse
Will the device be able to receive software updates after this?
kimush said:
Will the device be able to receive software updates after this?
Click to expand...
Click to collapse
Yep. Just got one today actually.
Hi. thanks for the info and the procedure. all went fine on my LG V50 thinq from Sprint (LM-V450PM). some interesting data is that I could get rid of the Sprint bootup performing a hard reset with the key convination before turning the phone on. I could not say if the device will be able to receive software updates after all these procedures because I already had it updated before to android 10. now the phone seems to be running a clean official rom. hope to hear about some root news for this device.
i am stumped at #9. was the next step" CD<path address>?" because that did not work.
then i tried to skip it to enter abd devices in cmd and that didn't work either.
could someone please answer if it's not too much trouble?
brandontw said:
I just picked up a "renewed" unlocked G8 thinq (Model LM-G820UM) on Amazon for a pretty good price. I'm using it on ATT prepaid, but its got a Sprint logo on startup. It also complained about network activation at every startup, but otherwise worked fine.
Combined with the fine work of rldev, here's a guide to remove the bloatware and ditch that activation message. It will still say sprint on bootup/shutdown, but other than that, no way I can tell its a sprint phone.
Just wanted to shout out and say thanks! Worked perfectly.
I'll add some info for noobs just to contribute and make it easier for people in the future..
To get ADB working (windows):
Get and install LG USB drivers from here: http://tool.lime.gdms.lge.com/dn/downloader.dev?fileKey=UW00120120425
Get the ADB binary from here: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Unzip it somewhere on your computer you can keep track of.
On your phone, go to Settings and tap on About Phone. Find the Build Number and tap on it 7 times to enable Developer Options.
Now enter Developer Options and find USB Debugging. Enable it.
Plug your phone into the computer and change it from “charge only” mode to “file transfer (MTP)” mode.
On your computer, open a CMD prompt (windows key, type cmd, hit enter)
Change directory to the folder you unzipped with the adb binary (CD <folder path>)
enter the following command: adb devices
You will see that the system is starting the ADB daemon. If this is your first time running ADB, you will see a prompt on your phone asking you to authorize a connection with the computer. Grant it.
Now if you re-run the adb devices command, the terminal will print the serial number of your device. If so, then you’re ready to move on.
Enter the following command: adb shell
Now run each of the commands from the post above
Sources
Click to expand...
Click to collapse
Hi, mate!
The Sprint boot up animation is still present after following the procedure. by the way, 2 commands (somewhere in the middle of the list) read "failure (not installed for 0). what does this mean?
i truly appreciate your work, mate.
brandontw said:
Yep. Just got one today actually.
Click to expand...
Click to collapse
Hi mate. So my LG G8X can still receive update, right? Although the LG software update is already gone from the update center section?
biscuitcrust said:
i am stumped at #9. was the next step" CD<path address>?" because that did not work.
then i tried to skip it to enter abd devices in cmd and that didn't work either.
could someone please answer if it's not too much trouble?
Click to expand...
Click to collapse
replace <path address> with (if you simply downloaded it and unzipped it) example: Downloads\platform-tools_r30.0.5-windows\platform-tools so it'll be "cd Downloads\platform-tools_r30.0.5-windows\platform-tools"
Do you think this process will allow WiFi calling to work on T-Mobile?
It worked perfectly but i would like to install stock rom for this device without bloatware and that one that does not have to do these steps every time I reset the phone. Can somebody help me to find that rom 'cause i found a lot of regions and i don't know wich one is the one i need.
when doing this process is there a risk of brick? It is the first time that I will try
Lennylegendary said:
when doing this process is there a risk of brick? It is the first time that I will try
Click to expand...
Click to collapse
modding anything theres always a risk but if it bootloops you might just have to go to recovery and do a hard rest
brandontw said:
I just picked up a "renewed" unlocked G8 thinq (Model LM-G820UM) on Amazon for a pretty good price. I'm using it on ATT prepaid, but its got a Sprint logo on startup. It also complained about network activation at every startup, but otherwise worked fine.
Combined with the fine work of rldev, here's a guide to remove the bloatware and ditch that activation message. It will still say sprint on bootup/shutdown, but other than that, no way I can tell its a sprint phone.
Just wanted to shout out and say thanks! Worked perfectly.
I'll add some info for noobs just to contribute and make it easier for people in the future..
To get ADB working (windows):
Get and install LG USB drivers from here: http://tool.lime.gdms.lge.com/dn/downloader.dev?fileKey=UW00120120425
Get the ADB binary from here: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Unzip it somewhere on your computer you can keep track of.
On your phone, go to Settings and tap on About Phone. Find the Build Number and tap on it 7 times to enable Developer Options.
Now enter Developer Options and find USB Debugging. Enable it.
Plug your phone into the computer and change it from “charge only” mode to “file transfer (MTP)” mode.
On your computer, open a CMD prompt (windows key, type cmd, hit enter)
Change directory to the folder you unzipped with the adb binary (CD <folder path>)
enter the following command: adb devices
You will see that the system is starting the ADB daemon. If this is your first time running ADB, you will see a prompt on your phone asking you to authorize a connection with the computer. Grant it.
Now if you re-run the adb devices command, the terminal will print the serial number of your device. If so, then you’re ready to move on.
Enter the following command: adb shell
Now run each of the commands from the post above
Sources
Click to expand...
Click to collapse
Hello can you assist me
Disabling Sprint Activation for non-Sprint Networks (on Mac)
1) Enable Developer options on G8X ThinQ.
Go to Settings > About Phone > Software info and then tap Build number a few times to enable Developer Mode. Accept warning. In the now available "Developer Options" settings, enable USB debugging.
2) Connect the phone to Mac through USB. No additional drivers need to be installed.
2) Following these instructions to install adb and issue commands on Mac
Install and Use ADB and Fastboot on Mac [How to]
If you want to use ADB commands in Mac terminal, you'll have to download and install ADB and Fastboot on Mac or you'll get 'not found' error.
technastic.com
I placed the unzipped platform tools in the Application folder.
3) list potentially unneeded Sprint packages to uninstall.
./adb shell pm list packages | grep sprint
For all packages:
./adb shell pm list packages
3) Check for the existence of com.lge.lgdmsclientspr, the service which initiates the Sprint activation at boot.
./adb shell pm list packages -f com.lge.lgdmsclientspr
or without -f
./adb shell pm list packages com.lge.lgdmsclientspr
4) Uninstall/Disable com.lge.lgdmsclientspr package
Uninstall
./adb shell pm uninstall -k --user 0 com.lge.lgdmsclientspr
Reinstall later
./adb shell pm install-existing com.lge.lgdmsclientspr
Alternatively,
Disable
./adb shell pm disable-user --user 0 com.lge.lgdmsclientspr
Enable
./adb shell pm enable com.lge.lgdmsclientspr
5) Confirm packages enabled or disabled
List all enabled apps filtered by "sprint":
./adb shell pm list packages -e | grep sprint
List all disabled apps
./adb shell pm list packages -d
6) Reboot the device by ADB command
./adb reboot
In Windows, the adb shell command is started as follows:
Windows Command Prompt: adb shell pm list packages -d
Windows PowerShell: .\adb
question 1: is it recommended to remove the (active european) sim card before injecting those commands or does it not affect the system change anyway?
question 2: although my refurbed G8 from California works with a german sim card, it seems the phone itself still has a country lock, due to not accepting european LG Smartworld login. It only offers login possibility via US, Canadian and Mexican LG accounts. Will this restriction be overridden after the here mentioned debrand codes initiation?
Hey there XDA! I'm here to show off a new Android app I've published that I think a certain audience may find useful.
Ever heard of ADB? If not, you likely won't need this app. But for those of you who have used or encountered ADB in the past, you know that you usually need a PC to shell into your phone. While yes, apps such as Termux exist, they don't have elevated privileges as ADB does.
Behold, LADB! A truly local ADB shell server. That means no root, no computer, and no hassle.
Here's how it works. LADB bundles an ADB server within the app libraries and extracts it upon runtime (W^X compliant). Normally, this server cannot connect to itself because it requires an active USB connection to be visible. However, Android's Wireless ADB Debugging feature allows the server and the client to speak to each other through localhost. LADB initializes the ADB server and asks to connect to localhost, solving this limitation.
So, what can you do with it? Well, anything that ordinarily uses "adb shell <command>" can now be done locally. That means granting apps special privileges for things like SystemUI Tuner, many logcat apps, and generally anything else that needs elevated privileges. That's not all though. You can disable system apps using pm disable-user com.android.whatever, you can enable and disable system overlays with cmd overlay, you can get a logcat with logcat -d | tail -n 20, and the possibilities go on.
Here's the link to the app. It is paid, and it's actually my first paid app in a very long time. If you just need to use the ADB server for a minute, you can buy the app, use it for a few minutes, and then refund it through the store (don't tell Google).
https://play.google.com/store/apps/details?id=com.draco.ladb
Note, this app is also open source! I'm a huge fan of FOSS so I went ahead and published the app on GitHub so that anyone can compile the app for themselves for free. Any purchases through the Google Play store can be considered as donations <3.
https://github.com/tytydraco/ladb
I'm always available for support if you encounter any issues either by direct message, by telegram (@tytydraco), or by email [email protected]. I'll also be answering questions in the comments of this post. Enjoy!
Reserved for any updates or questions
Hi! I bought this app few minutes ago. I haven't tied yet. Can I use this app on 2 phones with the same google account or I have to pay twice?
badmania98 said:
Hi! I bought this app few minutes ago. I haven't tied yet. Can I use this app on 2 phones with the same google account or I have to pay twice?
Click to expand...
Click to collapse
You only need to pay once for it to be in your library
” While we tested this and found it working on essentially every modern Android phone sold in the US in the last four years, not every device is guaranteed to have the Wireless Debugging feature. It's part of AOSP, Android's open source code base, but OEMs sometimes remove functionality from their skinned versions of Android. If your phone doesn't have this option, sadly, LADB won't work for you. ”
Unfortunately my Mate 30 Pro has not this option.
LE: I managed to work.
Anybody tried to use appops https://play.google.com/store/apps/details?id=rikka.appops using ladb?
Is there a way to automate some task, for example after reboot?
Unfortunately my galaxy note 10+ has no wireless adb so i can't try but i hope it will come with android 11...
Yes, well...
alessandro_xda said:
Anybody tried to use appops https://play.google.com/store/apps/details?id=rikka.appops using ladb?
Is there a way to automate some task, for example after reboot?
Unfortunately my galaxy note 10+ has no wireless adb so i can't try but i hope it will come with android 11...
Click to expand...
Click to collapse
I quote myself...
I've a galaxy note 10+ (exynos) on android 10 and in the developer options there is no wireless debugging toggle, nevertheless ladb works!
Now a question: is it possible to execute "adb backup' or 'adb restore' in some way?
alessandro_xda said:
I quote myself...
I've a galaxy note 10+ (exynos) on android 10 and in the developer options there is no wireless debugging toggle, nevertheless ladb works!
Now a question: is it possible to execute "adb backup' or 'adb restore' in some way?
Click to expand...
Click to collapse
This functionality is on it's way
alessandro_xda said:
I quote myself...
I've a galaxy note 10+ (exynos) on android 10 and in the developer options there is no wireless debugging toggle, nevertheless ladb works!
Now a question: is it possible to execute "adb backup' or 'adb restore' in some way?
Click to expand...
Click to collapse
What do you mean by work? can you prompt an adb command?
I've the same device and it doesn't work (NO wireless ADB in devOpts) just waiting
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
when I press reset it gives me this message
And FC's.
Using v1.1.2 under Android 10 with rootfs.
Thanks
rypz79 said:
What do you mean by work? can you prompt an adb command?
I've the same device and it doesn't work (NO wireless ADB in devOpts) just waiting
View attachment 5170637
when I press reset it gives me this message
View attachment 5170639
And FC's.
Using v1.1.2 under Android 10 with rootfs.
Thanks
Click to expand...
Click to collapse
I've just typed ls
alessandro_xda said:
I've just typed lsView attachment 5170783
Click to expand...
Click to collapse
I've no idea why it's not working on my SM-N975F (N10+)
Say what ROM are you using? what kernel? do you have root access (magisk)?
TnXaLoT
rypz79 said:
I've no idea why it's not working on my SM-N975F (N10+)
Say what ROM are you using? what kernel? do you have root access (magisk)?
TnXaLoT
Click to expand...
Click to collapse
I'm on stock rom (unrooted)
I think you only need to start the wireless connection using the cable connected to a pc and then the wireless adb will survive until next reboot
No wireless abd option on A50
I have ladb up and running but I am having trouble getting basic advanced commands to function.
When I enter:
adb shell pwd
It returns:
system/bin/sh: <stdin>[24]: adb: inaccessible or not found
It returns this for every adb command I have tried.
what happens if I disable the system keyboard (Gboard) on my oppo? I'm using SwiftKey and it "fights" with gboard autocorrection...
Tuvor said:
I have ladb up and running but I am having trouble getting basic advanced commands to function.
When I enter:
adb shell pwd
It returns:
system/bin/sh: <stdin>[24]: adb: inaccessible or not found
It returns this for every adb command I have tried.
Click to expand...
Click to collapse
It isn't really a bug. On pc you would always type something like adb {acction} {parameters}. Adb - is the program which is going to be executed so in windows it will be adb.exe (it contains server for adb interface). Action - specifies what adb server should do, so things like devices - list adb devices, shell - open android shell. The last one contains parameters for action, so if you used shell as action it takes shell command as parameter. In this situation, when we use local shell we need to skip adb shell part because we don't have a whole adb server like adb.exe on windows with a lot more options, because we are always using just this adb shell functionality.
pawloland said:
It isn't really a bug. On pc you would always type something like adb {acction} {parameters}. Adb - is the program which is going to be executed so in windows it will be adb.exe (it contains server for adb interface). Action - specifies what adb server should do, so things like devices - list adb devices, shell - open android shell. The last one contains parameters for action, so if you used shell as action it takes shell command as parameter. In this situation, when we use local shell we need to skip adb shell part because we don't have a whole adb server like adb.exe on windows with a lot more options, because we are always using just this adb shell functionality.
Click to expand...
Click to collapse
could you please explain this like I was completely stupid?
I am trying to get running the SystemUITuner. When I enter the path with cd / /storage/emulated/0/Download/platform ecc LADB doesnt show anything. I think that should be ok. But when I then enter ./adb shell pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS it tells me "permission dinied".
What am I doing wrong?
mathias.ngr said:
could you please explain this like I was completely stupid?
I am trying to get running the SystemUITuner. When I enter the path with cd / /storage/emulated/0/Download/platform ecc LADB doesnt show anything. I think that should be ok. But when I then enter ./adb shell pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS it tells me "permission dinied".
What am I doing wrong?
Click to expand...
Click to collapse
You don't need to type " adb shell"....just type pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS
See if that works
Ryano89 said:
You don't need to type " adb shell"....just type pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS
See if that works
Click to expand...
Click to collapse
Click to expand...
Click to collapse
That worked. Thanks a lot and have a nice sunday!
In this guide we will see step by step how to debloat the Galaxy Tab S8
First of all we have to enable: Developer Options
Settings->About tablet->Software information->(tap 7 times)Build number
After that we will enable: OEM Unlocking & USB Debbuging
Settings->Developer Options->OEM Unlocking(ON) & USB Debbuging(ON)
On the next step we need to download & install : ADB & Fastboot tools
Once you install the tools, connect your {Tablet} - {PC}
Select: USB Debbuging & Open your: Terminal
We are almost there
Now i will make a short explanation in order to understand what are we doing exactly & how we will do it.
What is ADB?
ADB provides us with commands that can be used to debug Android devices,
installing or uninstalling apps and getting information about a connected device.
adb shell
This command activates the remote shell command console on the connected Android smartphone or tablet.
adb shell pm uninstall -k --user 0
Using this, you can easily uninstall the unwanted system apps. To be able to execute it, you must issue 'adb shell' command first.
You can then use 'pm uninstall -k --user 0' followed by the Android app package name as shown below.
pm uninstall -k --user 0 com.whatsapp_2.20.apk
This command can help you if you want to remove all the bloatware from your phone.
Please note that most system apps don't have the 'Uninstall' option on the device but this command works magically.
If you don't know the app package name for the apps you want to remove, you can use adb shell pm list packages to find it out.
adb shell pm list packages
Using the above ADB Shell command, you can print the list of the app package names for all apps installed on your Android device.
You can use this command with different parameters to get a more specific list of app packages.
For instance, if you want to list the system apps only, use
adb shell pm list packages -s
In order to list all third-party apps installed on your Android phone or tablet, you issue the following command.
adb shell pm list packages -3
Do you want ADB Shell to show the list of all enabled or disabled apps on your device,
try the command with '-d' (disabled apps) and '-e' (for enabled apps) parameter.
adb shell pm list packages -d
adb shell pm list packages -e
Now, if pm list command troubles you or you are unsure that you are making the right choice you should stop right there
(uninstalling the wrong app might harm your tablet's operating system) and use another method for identifying which app you want to uninstall.
(GUI method - Graphical User Interface) For example: APK Inspector will provide you with a detailed list of installed packages (plus their icon) on your device, once you select an app, extra details will be shown to you & that's how you will get the correct name.of.the.app
Thanks for your time ❤
Reserved
I really appreciate this write-up it has been a big help..
I use my OnePlus 9 pro with ADB and fastboot for Android NDK to debloat..
and that application inspector is a God send so again. thank you
I don't know if it was just a fluke or what but when I rebooted after successfully deleting digital well-being my tablet booted up super fast...
either way I'm good.
Awesome thanks for the tip. Is using "install" put the app back if I screw up something?
So it really doesn't uninstall just uninstalls from your app draw?
striker59 said:
So it really doesn't uninstall just uninstalls from your app draw?
Click to expand...
Click to collapse
For the os, it is like it has been uninstalled. But you don't free disk space, as the data of the app are still there. They just been hidden from os. That's why you can have back the app again just with an adb command again.
Man I used this to shut down numerous apps on all of my Android devices. Samsung and Verizon apps. Thanks!
Went back in to uninstall more apps. Device is recognized but adb shell won't load. The last time I used adb it was for my phone.
Figured it out, had to revoke USB debugging on my tablet. Delete on the computer c:user.android and restart (actual path on the computer could be different than what I stated).
Hi there.
Can anyone confirm, if it is save to remove the phone app from the device since it is connected to this samsung feature "calls/ messages on other Galaxy devices"? Actually i fully wanne get rid of this feature and app since i don´t use a galaxy phone.
Can someone share experiences/ideas according this topic?
Stogie87 said:
Hi there.
Can anyone confirm, if it is save to remove the phone app from the device since it is connected to this samsung feature "calls/ messages on other Galaxy devices"? Actually i fully wanne get rid of this feature and app since i don´t use a galaxy phone.
Can someone share experiences/ideas according this topic?
Click to expand...
Click to collapse
I have Debloated it (adb frozen) months ago. Didn't have any problem. You can always enable it again.
Am I right? If i debloat I don't clean up the system space used from the os ?
nofear5888 said:
Am I right? If i debloat I don't clean up the system space used from the os ?
Click to expand...
Click to collapse
You won't earn more free space. Apps are still there after Debloating.
sosimple said:
For the os, it is like it has been uninstalled. But you don't free disk space, as the data of the app are still there. They just been hidden from os. That's why you can have back the app again just with an adb command again.
Click to expand...
Click to collapse
@striker59
You remove the app for the current user but its still inside system's root directory.
You don't gain storage.
What you can achieve tho if you remove/disable the unnecessary services without causing softbrik or error spamming 'service has stop working' is a lightweight $user who uses less ram, your phone's overall performance is better and the battery reduction is slower.