[SOLVED] Shell script for enable and disable an app - General Topics

Hi,
First of all: I am using Linux and generally bash scripts since years.
On my phone I made a bash script to toggle (enable or disable) an application:
Code:
#!/bin/bash
checkstatus=$(adb shell cmd package list packages | grep -o "com.miui.cleaner")
if [[ ! -z "$checkstatus" ]] ; then
adb shell pm disable-user --user 0 com.miui.cleaner
else
adb shell pm enable com.miui.cleaner
fi
exit 0
But works only once: it only disable the package and doesn't reactivate it; I tried such script on my laptop (obviously using another application) and works as expected.
Why doesn't properly works on Android?
I hooked this script on a Termux Widget, but the situation is the same if I execute such script inside Termux: it only disable the package and doesn't reactivate it.
EDIT:
I forget to say that if I manually execute adb shell pm enable com.miui.cleaner or adb shell pm enable --user 0 com.miui.cleaner, the package is re-enabled as expected: this operation won't work inside the script.

SOLUTION:
I was wrong about getting the package status (enabled or disabled); the following is the proper mode:
Code:
checkstatus=$(adb shell pm list packages -d 2>/dev/null | grep -o com.miui.cleaner)
if [[ "$checkstatus" == "com.miui.cleaner" ]] ; then
adb shell pm enable com.miui.cleaner
else
adb shell pm disable-user com.miui.cleaner
fi

Related

[Guide] Write a batch script + ADB/Fastboot commands

Write a batch script with ADB and Fastboot commands​
1. Introduction:
Hi guys,
First of all, I've some words to say:
I've decided to make a tutorial for beginners how to write a windows batch file with ADB and Fastboot commands. I think it's quite easy and everybody can learn it.
My target is, that all of you can write your own batch files to control your device.
You don't need any knowledges about batch files or similar things. It's just helpful to know the adb commands and how they work.
I hope you'll understand every step, I make. The guide is splitted in several parts.
If you want, I'll add some more tips and tricks.
2. Requirements:
Windows Computer
Notepad++
ADB Tools
Just search on the internet for those files. They are easy to find.
Create a folder and place your adb/fastboot files in it. Make sure that they are working
Install Notepad++ on any place on your computer
Open Notepad++ and create a new file
Go to Languages -> Batch and activate it
Save the file as batch file in your adb folder
Well, I think now we can start with the main commands.
3. Main batch commands:
In this section, I'll explain you important main commands for your batch file.
Don't enter the quotationmarks in your file.
"@echo off" - Is always at the beginning of your file. This command blocks the output of your command in the cmd
"echo TEXT" - Here you enter "echo" and your text at the beginning of the line. This text appears in the cmd. E.g. : "echo Hello this is my first file"
"echo." - Will create a blank line
"pause" - Will create a pause in your file. The file continues by pressing any key. A message for that appears in the cmd
"pause>nul" - Has the same function like "pause" but you won't get the output in the cmd, that you need to press any key to continue
":TEXT" - Creates a certain section in your script
"goto TEXT" - This command brings you to the section "TEXT" in your code. "TEXT" can e.g. include any certain command, you want to execute
Declaration of variables:
Now I'll show you, how to declare a variable
"set test= Hello XDA-Members"
The variable "test" includes the string "Hello XDA-Members"
To access this variable, you need to enter %test%
"set /p input= Enter your variable:"
Here, the user needs to enter something in the cmd. This input will be saved in the variable "input".
To access this variable, you need to enter %input%
You can select the variable name as you want.
Now we have already some commands, so let's try them out.
In my example, I'll add comments to the commands, which are written in blue. Please don't add them to yours.
The second "@echo off" is not necessary
So, now we save the file and run it with a double-click.
Your script should look like this:
(Not everything is in mine included)
Making a selection menu:
Now, we make a selection meu where the user has several options
Step by step:
Create a list with "echo" commands
Create an input variable
Create an if statement
Let's take a look at my example code.
You should already understand the old commands.
As you can see, this is still quite simple
If everything worked right, you should see this
Well, for the beginning that's enough. For the next step, you should know all these commands and how they work.
4. Including ADB/Fastboot commands:
Okay, now we'll start to add ADB and Fastboot commands to our batch file for controling our device with our tool.
The previous steps are the base for the following commands
First of all, we start with a quite easy command.
We want a batch file, which reboot our phone into Recovery,Bootloader or normal.
Now we need the adb files in our folder
Step by step:
Create a selection menu
Include the ADB/Fastboot commands
Let's take a look at my example code.
Our Reboot-Tool should look like this
These commands are still easy. You just need to enter your adb command
E.g.: adb.exe reboot recovery
Now we'll execute our file
You can see, that this tool is already very useful.
So, Congratulation to everybody who came so far
Are you ready for the next step? Let's go!
5. Including advanced ADB/Fastboot commands:
Okay, now we will add some more difficult commands to our script.
You need to know the old commands and how the work
Step by step:
Reboot device in different modes
Flash a custom recovery
Do a Factory Reset
Install Apps
Ok, let's take again a look at our example code
I won't explain the old commands, only the new ones.
Take your time and read it slowly.
The script is splitted in two pictures, so read both.
As you can see, we have now some more difficult codes, which include flashing Recoverys with certain file names.
Again, Congratulation who came so far.
6. Additional Commands:
- SOON -
7. Hints:
Now we are almost done with our first batch script.
At the end I have some more useful hints for you
Have always a clear structure
Take your time, it may not work for the first time
Read some other Batch-Guides on the internet
Just discover the batch coding and learn new commands, you can add to your script.
There are a lot of posibilities.
You can download the last script and the pictures from my dropbox:
https://www.dropbox.com/sh/jfogzlnj4df90uf/AABwRajM0piQHi5MnuEmzON5a?dl=0
Moreover check out my Universal_ADB-Helper, which is based on this:
http://forum.xda-developers.com/android/software/utility-universaladb-helper-1-0-t2969165
8. Last words:
Now we are done with our batch script. I hope you enjoyed my tutorial and that it was easy to understand for beginners.
Moreover I want to say thank you at RootJunky who inspired me to start with batch scripting.
Check out this video from him:
https://www.youtube.com/watch?v=8q3y9zkEeHM
and his website:
http://www.rootjunky.com/
Reserved for later
Additional commands will be added soon.
Nice!
Hey! Nice tut! BTW a little late
HERE's why
MZ_. said:
Hey! Nice tut! BTW a little late
HERE's why
Click to expand...
Click to collapse
Hi,
Thanks
I think the difference between our threads is that mine is a tutorial how do code such a tool and yours is the finished tool.
Some time ago, I've done something similar:
http://forum.xda-developers.com/android/software/utility-universaladb-helper-1-0-t2969165
Very Very DOPE! Im wondering if you can help me with something. I have taken your script to automate alot of my processes. Could you possibly help me with this problem im having?!?! Thank you in advanced!
Code:
:installA
cls
echo.
echo You will install an app
echo The app need to be in your ADB-Folder
echo Before you hit enter INSTALL "iKoNo"" on your FireTV
echo.
pause
echo.
echo You can find your IP by going to Settings > About > Network on your device
set /p ip=Enter the IP of your FireTV or FireTVStick:
adb kill-server
adb connect %ip%
adb install "C:\Users\demo\Desktop\FireTV\kodi.apk"
adb install "C:\Users\demo\Desktop\FireTV\settings.apk"
adb install "C:\Users\demo\Desktop\FireTV\llama.apk"
[CODE]Ok here I want some code to go where you can check and verify the top three were installed and if not stop the script i guess using
adb shell pm list packages <- just dont know the proper way of doing it. And does the syntax below look right? Im trying to mimic the functions that adbfire does to automate the LLAMA install. Posted below
adb push "C:\Users\demo\Desktop\FireTV\busybox" /data/local/tmp/
adb shell chmod 755 /data/local/tmp/busybox
adb shell "C:\Users\demo\Desktop\FireTV\busybox" --install -s /data/local/tmp
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko" /sdcard/Llama/
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko\Llama_Profiles.txt" -> /sdcard/Llama/Llama_Profiles.txt
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko\Llama_NfcNames.txt" -> /sdcard/Llama/Llama_NfcNames.txt
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko\Llama_IgnoredCells.txt" -> /sdcard/Llama/Llama_IgnoredCells.txt
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko\Llama_Events.txt" -> /sdcard/Llama/Llama_Events.txt
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko\Llama_Areas.txt" -> /sdcard/Llama/Llama_Areas.txt
adb shell rm -r /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv
adb shell mkdir -p /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\icons\ikokodi.icon" /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\icons\ikokodi.icon\B00NEJS7ZO\thumbnail_bfc0289736b3b0fbd3e32dec9d5d44c9dbe7cef5a082645ab0af157c6f3f600b.png" -> /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv/B00NEJS7ZO/thumbnail_bfc0289736b3b0fbd3e32dec9d5d44c9dbe7cef5a082645ab0af157c6f3f600b.png
adb push "C:\Users\demo\Desktop\FireTV\adbfw128\icons\icons\ikokodi.icon\B00NEJS7ZO\preview_5dd7e33b605bec171c4bba546e5b35c783feb32a53c44227249ad52f653dc49c.png" -> /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv/B00NEJS7ZO/preview_5dd7e33b605bec171c4bba546e5b35c783feb32a53c44227249ad52f653dc49c.png
adb kill-server
echo.
echo Done!
exit
pause>nul
cls
goto menu
[/CODE]
Llama's logs:
Code:
adbFire v1.28
073115131544
Windows
------------
"./adb.exe" kill-server
server stopped
server started
"./adb.exe" start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
starting server
initial open
192.168.137.174
"./adb.exe" kill-server
server stopped
server started
"./adb.exe" start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
connection attempt
"./adb.exe" connect 192.168.137.174:5555
connected to 192.168.137.174:5555
"./adb.exe" push ./busybox /data/local/tmp/
503 KB/s (1356524 bytes in 2.632s)
"./adb.exe" shell chmod 755 /data/local/tmp/busybox
"./adb.exe" shell /data/local/tmp/busybox --install -s /data/local/tmp
process time duration: 9 seconds
llama options function entered
com.kebab.Llama not found
"./adb.exe" shell pm list packages
opening Llama dialog
org.xbmc.kodi is installed
"./adb.exe" shell pm list packages
org.ikonotv.smarttv is installed
"./adb.exe" shell pm list packages
"./adb.exe" shell rm -r /sdcard/Llama
rm failed for /sdcard/Llama, No such file or directory
"./adb.exe" push .//events/llamakodi/linkiko /sdcard/Llama/
push: .//events/llamakodi/linkiko/Llama_Profiles.txt -> /sdcard/Llama/Llama_Profiles.txt
push: .//events/llamakodi/linkiko/Llama_NfcNames.txt -> /sdcard/Llama/Llama_NfcNames.txt
push: .//events/llamakodi/linkiko/Llama_IgnoredCells.txt -> /sdcard/Llama/Llama_IgnoredCells.txt
push: .//events/llamakodi/linkiko/Llama_Events.txt -> /sdcard/Llama/Llama_Events.txt
push: .//events/llamakodi/linkiko/Llama_Areas.txt -> /sdcard/Llama/Llama_Areas.txt
5 files pushed. 0 files skipped.
10 KB/s (501 bytes in 0.047s)
"./adb.exe" shell rm -r /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv
"./adb.exe" shell mkdir -p /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv
"./adb.exe" push ./icons/ikokodi.icon /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv
push: ./icons/ikokodi.icon/B00NEJS7ZO/thumbnail_bfc0289736b3b0fbd3e32dec9d5d44c9dbe7cef5a082645ab0af157c6f3f600b.png -> /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv/B00NEJS7ZO/thumbnail_bfc0289736b3b0fbd3e32dec9d5d44c9dbe7cef5a082645ab0af157c6f3f600b.png
push: ./icons/ikokodi.icon/B00NEJS7ZO/preview_5dd7e33b605bec171c4bba546e5b35c783feb32a53c44227249ad52f653dc49c.png -> /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv/B00NEJS7ZO/preview_5dd7e33b605bec171c4bba546e5b35c783feb32a53c44227249ad52f653dc49c.png
2 files pushed. 0 files skipped.
696 KB/s (94838 bytes in 0.133s)
exit llama function
process time duration: 75 seconds
closing program
"./adb.exe" kill-server
server stopped
---------- Post added at 07:31 PM ---------- Previous post was at 07:10 PM ----------
Code:
You will install an app
The app need to be in your ADB-Folder
Before you hit enter INSTALL "iKoNo"" on your FireTV
Press any key to continue . . .
Enter the IP of your FireTV or FireTVStick:213
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
connected to 192.168.137.213:5555
383 KB/s (60646715 bytes in 154.478s)
pkg: /data/local/tmp/kodi.apk
Success
375 KB/s (3269290 bytes in 8.500s)
pkg: /data/local/tmp/settings.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]
367 KB/s (2783570 bytes in 7.397s)
pkg: /data/local/tmp/llama.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]
376 KB/s (1356524 bytes in 3.514s)
/system/bin/sh: C:UsersdemoDesktopFireTVbusybox: not found
push: C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko/Llama_Profiles.txt -> /sdcard/Llama/Llama_Profiles.txt
push: C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko/Llama_NfcNames.txt -> /sdcard/Llama/Llama_NfcNames.txt
push: C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko/Llama_IgnoredCells.txt -> /sdcard/Llama/Llama_IgnoredCells.txt
push: C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko/Llama_Events.txt -> /sdcard/Llama/Llama_Events.txt
push: C:\Users\demo\Desktop\FireTV\adbfw128\events\llamakodi\linkiko/Llama_Areas.txt -> /sdcard/Llama/Llama_Areas.txt
5 files pushed. 0 files skipped.
4 KB/s (501 bytes in 0.117s)
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
push: C:\Users\demo\Desktop\FireTV\adbfw128\icons\ikokodi.icon/B00NEJS7ZO/thumbnail_bfc0289736b3b0fbd3e32dec9d5d44c9dbe7cef5a082645ab0af157c6f3f600b.png -> /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv/B00NEJS7ZO/thumbnail_bfc0289736b3b0fbd3e32dec9d5d44c9dbe7cef5a082645ab0af157c6f3f600b.png
push: C:\Users\demo\Desktop\FireTV\adbfw128\icons\ikokodi.icon/B00NEJS7ZO/preview_5dd7e33b605bec171c4bba546e5b35c783feb32a53c44227249ad52f653dc49c.png -> /sdcard/.imagecache/com.amazon.venezia/org.ikonotv.smarttv/B00NEJS7ZO/preview_5dd7e33b605bec171c4bba546e5b35c783feb32a53c44227249ad52f653dc49c.png
2 files pushed. 0 files skipped.
296 KB/s (94838 bytes in 0.312s)
The system cannot find the path specified.
The system cannot find the path specified.
Done!
Sorry but at the moment I've no idea.
Thanks for the response though lol
Hi,
Can you see what is the problem for my script? Fastboot devices doesn't appear...
spicediablo said:
Hi,
Can you see what is the problem for my script? Fastboot devices doesn't appear...
Click to expand...
Click to collapse
Why do you switch into another directory?
Place your batch and adb/fastboot files in the same folder.
Then try the following:
Code:
fastboot.exe
fastboot.exe devices
pause
Otherwise you can try to use yours but use "fastboot.exe" instead of "fastboot". Hope it helps.
Lars124 said:
Write a batch script with ADB and Fastboot commands​
1. Introduction:
Hi guys,
First of all, I've some words to say:
I've decided to make a tutorial for beginners how to write a windows batch file with ADB and Fastboot commands. I think it's quite easy and everybody can learn it.
My target is, that all of you can write your own batch files to control your device.
You don't need any knowledges about batch files or similar things. It's just helpful to know the adb commands and how they work.
I hope you'll understand every step, I make. The guide is splitted in several parts.
If you want, I'll add some more tips and tricks.
2. Requirements:
Windows Computer
Notepad++
ADB Tools
Just search on the internet for those files. They are easy to find.
Create a folder and place your adb/fastboot files in it. Make sure that they are working
Install Notepad++ on any place on your computer
Open Notepad++ and create a new file
Go to Languages -> Batch and activate it
Save the file as batch file in your adb folder
Well, I think now we can start with the main commands.
3. Main batch commands:
In this section, I'll explain you important main commands for your batch file.
Don't enter the quotationmarks in your file.
"@echo off" - Is always at the beginning of your file. This command blocks the output of your command in the cmd
"echo TEXT" - Here you enter "echo" and your text at the beginning of the line. This text appears in the cmd. E.g. : "echo Hello this is my first file"
"echo." - Will create a blank line
"pause" - Will create a pause in your file. The file continues by pressing any key. A message for that appears in the cmd
"pause>nul" - Has the same function like "pause" but you won't get the output in the cmd, that you need to press any key to continue
":TEXT" - Creates a certain section in your script
"goto TEXT" - This command brings you to the section "TEXT" in your code. "TEXT" can e.g. include any certain command, you want to execute
Declaration of variables:
Now I'll show you, how to declare a variable
"set test= Hello XDA-Members"
The variable "test" includes the string "Hello XDA-Members"
To access this variable, you need to enter %test%
"set /p input= Enter your variable:"
Here, the user needs to enter something in the cmd. This input will be saved in the variable "input".
To access this variable, you need to enter %input%
You can select the variable name as you want.
Now we have already some commands, so let's try them out.
In my example, I'll add comments to the commands, which are written in blue. Please don't add them to yours.
The second "@echo off" is not necessary
So, now we save the file and run it with a double-click.
Your script should look like this:
(Not everything is in mine included)
Making a selection menu:
Now, we make a selection meu where the user has several options
Step by step:
Create a list with "echo" commands
Create an input variable
Create an if statement
Let's take a look at my example code.
You should already understand the old commands.
As you can see, this is still quite simple
If everything worked right, you should see this
Well, for the beginning that's enough. For the next step, you should know all these commands and how they work.
4. Including ADB/Fastboot commands:
Okay, now we'll start to add ADB and Fastboot commands to our batch file for controling our device with our tool.
The previous steps are the base for the following commands
First of all, we start with a quite easy command.
We want a batch file, which reboot our phone into Recovery,Bootloader or normal.
Now we need the adb files in our folder
Step by step:
Create a selection menu
Include the ADB/Fastboot commands
Let's take a look at my example code.
Our Reboot-Tool should look like this
These commands are still easy. You just need to enter your adb command
E.g.: adb.exe reboot recovery
Now we'll execute our file
You can see, that this tool is already very useful.
So, Congratulation to everybody who came so far
Are you ready for the next step? Let's go!
5. Including advanced ADB/Fastboot commands:
Okay, now we will add some more difficult commands to our script.
You need to know the old commands and how the work
Step by step:
Reboot device in different modes
Flash a custom recovery
Do a Factory Reset
Install Apps
Ok, let's take again a look at our example code
I won't explain the old commands, only the new ones.
Take your time and read it slowly.
The script is splitted in two pictures, so read both.
As you can see, we have now some more difficult codes, which include flashing Recoverys with certain file names.
Again, Congratulation who came so far.
6. Additional Commands:
- SOON -
7. Hints:
Now we are almost done with our first batch script.
At the end I have some more useful hints for you
Have always a clear structure
Take your time, it may not work for the first time
Read some other Batch-Guides on the internet
Just discover the batch coding and learn new commands, you can add to your script.
There are a lot of posibilities.
You can download the last script and the pictures from my dropbox:
https://www.dropbox.com/sh/jfogzlnj4df90uf/AABwRajM0piQHi5MnuEmzON5a?dl=0
Moreover check out my Universal_ADB-Helper, which is based on this:
http://forum.xda-developers.com/android/software/utility-universaladb-helper-1-0-t2969165
8. Last words:
Now we are done with our batch script. I hope you enjoyed my tutorial and that it was easy to understand for beginners.
Moreover I want to say thank you at RootJunky who inspired me to start with batch scripting.
Check out this video from him:
https://www.youtube.com/watch?v=8q3y9zkEeHM
and his website:
http://www.rootjunky.com/
Click to expand...
Click to collapse
Wow ty so much for much needed help!!!! Having a fused problem with my m8 and its kernal, and its driving me madddd!!!
Power user said:
Wow ty so much for much needed help!!!! Having a fused problem with my m8 and its kernal, and its driving me madddd!!!
Click to expand...
Click to collapse
I think here's not the right place for Kernel or Rom problems.
Lars124 said:
I think here's not the right place for Kernel or Rom problems.
Click to expand...
Click to collapse
Every bit helps. So many different commands and options. Guess after a while after reading and trying so many different things better to take a step back and regroup lol. Thanks anyways got the mind distracted for a bit.
How I created my batch file to run commands in windows, for Minimal ADB and Fastboot
LG V30 Just factory defaulted.
Here is a snipit of the text I used to create my windows batch file for Minimal ADB and Fastboot, to give app freezer by MobizSystems, owner permissions and then to disable 1 program I can't uninstall, and then to uninstall a bunch of programs from the current user.
This batch file is run AFTER installing app freezer, then uninstalling my google account (can't apply owner permissions if there is an account installed). The pauses are to allow me to to verify each different command ran properly, and to terminate the program if a command is not running properly.
This is NOT meant to be a complete list of programs to uninstall, just a small list to show you how the batch file worked for me.
CD C:\Program Files (x86)\Minimal ADB and Fastboot\
adb devices
pause
adb shell dpm set-device-owner com.wakasoftware.appfreezer/.receiver.DPMReceiver
Pause
adb shell pm disable-user --user0 com.android.calendar
pause
adb shell pm uninstall -k --user 0 com.android.bips
pause
adb shell pm uninstall -k --user 0 com.android.egg
adb shell pm uninstall -k --user 0 com.android.mms
adb shell pm uninstall -k --user 0 com.android.printspooler
adb shell pm uninstall -k --user 0 com.android.settingsaccessibility
adb shell pm uninstall -k --user 0 com.android.vpndialogs
adb shell pm uninstall -k --user 0 com.facebook.system
adb shell pm uninstall -k --user 0 com.google.android.feedback
adb shell pm uninstall -k --user 0 com.google.android.marvin.talkback
adb shell pm uninstall -k --user 0 com.google.android.printservice.recommendation
adb shell pm uninstall -k --user 0 com.google.android.apps.cloudprint
adb shell pm uninstall -k --user 0 com.ipsec.vpnclient
adb shell pm uninstall -k --user 0 com.ipsec.profile
adb shell pm uninstall -k --user 0 com.ipsec.service
adb shell pm uninstall -k --user 0 com.lge.clock
adb shell pm uninstall -k --user 0 com.lge.cloudhub
adb shell pm uninstall -k --user 0 com.lge.easyhome
adb shell pm uninstall -k --user 0 com.lge.exchange
adb shell pm uninstall -k --user 0 com.lge.floatingbar
adb shell pm uninstall -k --user 0 com.lge.fmradio
adb shell pm uninstall -k --user 0 com.lge.gallery.aodimagewidget
adb shell pm uninstall -k --user 0 com.lge.gallery.collagewallpaper
adb shell pm uninstall -k --user 0 com.lge.gametuner
adb shell pm uninstall -k --user 0 com.lge.gestureanswering
adb shell pm uninstall -k --user 0 com.lge.jansky.service
adb shell pm uninstall -k --user 0 com.lge.jansky.settings
adb shell pm uninstall -k --user 0 com.lge.lgaccount
adb shell pm uninstall -k --user 0 com.lge.provider.signboard
adb shell pm uninstall -k --user 0 com.lge.qhelp
adb shell pm uninstall -k --user 0 com.lge.remote.setting
adb shell pm uninstall -k --user 0 com.lge.signboard
adb shell pm uninstall -k --user 0 com.lge.signboard.settings
adb shell pm uninstall -k --user 0 com.lge.snappage
adb shell pm uninstall -k --user 0 com.lge.sync
adb shell pm uninstall -k --user 0 com.lge.wallpaper.lightwave
adb shell pm uninstall -k --user 0 com.lge.wallpaper.nightsky
adb shell pm uninstall -k --user 0 com.lge.wifi.p2p
adb shell pm uninstall -k --user 0 com.lge.video.vr.wallpaper
adb shell pm uninstall -k --user 0 com.tmobile.services.nameid
I'm trying to create a little batch file to restart my new TicWatch pro it seems Not to measure my HR and other vitals whilst working out so I've thought that if I retstart it before going out for a run than it will be more likely to read correctly this is what I have now but it won't run the darn thing. I can do it manually but I'm missing the proper commands to automate in batch file format::
@Echo off
echo here we go.
pause
C:\Users\death\Downloads\MyBot.run788\lib\adb\adb.exe
adb devices
adb connect 192.168.0.53:5555
adb shell “pm clear com.google.android.gms && reboot”
Sorry scratch "pm clear" command darn it..
Also for some reason when tethered my PC doesn't see the TicWatch but I am able to connect via IP
Scratch that, it obviously wants to make me a liar I just tried again::
C:\Users\death\Downloads\MyBot.run788\lib\adb>adb devices
List of devices attached
192.168.0.53:5555 device
What happens::
I double click the batch file Echos:: here we go with request to unpause and then Nothing. I know its something simple but its alluding me pretty well.
i'm trying to create a batch to flash custom twrp recovery(for xiaomi devices), but if device is not connected it throws
error: no devices/emulators found
and i want to catch it to... well retry the rebooting to fastboot(aka bootloader), and i have zero idea how to do that, so i thought i could find some help here

Cloning Pre-configured Android 8.1 Device / ROM

Hey guys,
Not sure if this is the correct place to post, but I am at my wits end and think I need a bit of help. I have been cloning devices on Android 7.1 without too much trouble, but something has changed in Android 8.1 which breaks things. Here is my setup:
Device: Xiaomi Redmi Note 4X 16GB, unlocked bootloader
OS: LineageOS 15.1 (Android 8.1)
My setup process is as follows:
Let stock ROM update (for latest firmware), unlock BL, flash TWRP, clean wipe, flash LineageOS + Gapps + Magisk
Skip through setup wizard, apply customisations (apps via APKs, launcher, settings, etc)
Clear Data for following:
com.google.android.gms.setup
Google App
Google Account Manager
Google Backup Transport
Google One Time Init
Google Partner Setup
Google Play Services
Google Play Services for Instant Apps
Google Play Store
Google Services framework
Reboot to TWRP
Connect to PC, run following ADB command: adb pull /data/system/users/0/settings_secure.xml
Open settings_secure.xml and delete "android_id" line
Push settings_secure.xml back to device: adb push settings_secure.xml /data/system/users/0/
Capture system image, flash onto other devices (either via TWRP backup or pushing system images via ADB)
Boot device, log into client Google account, done
Now this process used to work great on LineageOS 14.1 (Android 7.1), but now I get the following issues:
When adding a Google Account, it does not appear in Android device manager, but it appears in the list of devices in the Google Play Store? If I remove the account and then add it again it appears, but the issues below still occur.
Google's messaging / push system is broken. If I send a Hangouts message to my Google account, it won't appear until I open the app.
Any pre-installed apps won't appear in the "installed" list of apps in the play store, and therefore not update automatically until the user manually searches for the app in the Play Store and hits "update" (ugh).
I need to be deploying around 100 units over the next couple of months or so I need something that is scalable. I might be going around this the wrong way completely. I am not a ROM developer or programmer, just found something that has worked well in the past, so if I need to develop a ROM from scratch based on LineageOS I'll probably need to hire someone to do this for me as this is a bit beyond my current capabilities and time constraints. Let me know your thoughts! Thanks.
Android ID is same for many devices if you clone. That is really bad and can cause issues.
Rayman96 said:
Android ID is same for many devices if you clone. That is really bad and can cause issues.
Click to expand...
Click to collapse
I am deleting the Android ID from settings_secure.xml though. Unless it is somewhere else as well?
I'm still struggling with this problem. Is there anything else I can try? I googled this problem and the first result is this thread :/
stephendt0 said:
I'm still struggling with this problem. Is there anything else I can try? I googled this problem and the first result is this thread :/
Click to expand...
Click to collapse
Code:
adb shell settings delete secure android_id
adb shell settings delete secure advertising_id
adb shell settings delete secure bluetooth_address
adb shell settings put secure bluetooth_name 'YOURNAME'
adb shell settings put global device_name 'YOURNAME'
adb shell settings put global wifi_p2p_device_name 'YOURNAME'
The two IDs are then randomly regenerated. YOURNAME is any name of your choice.
rainman74 said:
Code:
adb shell settings delete secure android_id
adb shell settings delete secure advertising_id
adb shell settings delete secure bluetooth_address
adb shell settings put secure bluetooth_name 'YOURNAME'
adb shell settings put global device_name 'YOURNAME'
adb shell settings put global wifi_p2p_device_name 'YOURNAME'
The two IDs are then randomly regenerated. YOURNAME is any name of your choice.
Click to expand...
Click to collapse
Thanks for that. I believe I actually found their respective strings in settings_secure.xml:
<setting id="59" name="config_update_certificate"
<setting id="43" name="bluetooth_address"
And of course the Android ID. Once I deleted these, they auto-generated on the next boot, so I do this using ADB in TWRP.
I tried this and so far I'm not having any problems! Will report back if I experience any issues.
Another update - turn out that this is NOT enough. You will also want to clear data for the following apps (ideally just before shutting down the system and clearing android, bluetooth and config_update_certificate) to ensure that push notifications continue to work:
Com.google.android.gms.setup
Google App (not 100% sure if this is required, but I do it anyway)
Google Play Services
Google Play Store
Google Services framework
Reboot, clear your IDs, and then take your image. It should be OK after that, I think. I generally like to setup Hangouts on the device and then reboot, and let it sit for 5 minutes so its fully dozed before I send a test message.
Edit: STILL not working even after all this. Anyone else able to offer an explanation as to why push notifications is such an issue? This is becoming really difficult
stephendt0 said:
Another update - turn out that this is NOT enough. You will also want to clear data for the following apps (ideally just before shutting down the system and clearing android, bluetooth and config_update_certificate) to ensure that push notifications continue to work:
Com.google.android.gms.setup
Google App (not 100% sure if this is required, but I do it anyway)
Google Play Services
Google Play Store
Google Services framework
Reboot, clear your IDs, and then take your image. It should be OK after that, I think. I generally like to setup Hangouts on the device and then reboot, and let it sit for 5 minutes so its fully dozed before I send a test message.
Edit: STILL not working even after all this. Anyone else able to offer an explanation as to why push notifications is such an issue? This is becoming really difficult
Click to expand...
Click to collapse
ok, if you want to reset everything in a clone, proceed as follows:
Code:
adb shell su -c mount -o remount,rw /system
adb shell su -c rm /data/system/users/0/accounts.db
adb shell su -c rm /data/system/users/0/accounts.db-journal
adb shell su -c rm /data/system/users/0/photo.png
adb shell su -c rm /data/system/sync/accounts.xml
adb shell su -c rm /data/system/sync/pending.xml
adb shell su -c rm /data/system/sync/stats.bin
adb shell su -c rm /data/system/sync/status.bin
adb shell su -c pm clear com.android.packageinstaller
adb shell su -c pm clear com.android.providers.downloads
adb shell su -c pm clear com.android.vending
adb shell su -c pm clear com.google.android.backuptransport
adb shell su -c pm clear com.google.android.gms
adb shell su -c pm clear com.google.android.gsf
adb shell su -c mount -o remount,ro /system
Please also follow my instructions above for resetting the IDs before rebooting.
Google then recognizes a new device! Have fun :fingers-crossed:
rainman74 said:
ok, if you want to reset everything in a clone, proceed as follows:
Code:
adb shell su -c mount -o remount,rw /system
adb shell su -c rm /data/system/users/0/accounts.db
adb shell su -c rm /data/system/users/0/accounts.db-journal
adb shell su -c rm /data/system/users/0/photo.png
adb shell su -c rm /data/system/sync/accounts.xml
adb shell su -c rm /data/system/sync/pending.xml
adb shell su -c rm /data/system/sync/stats.bin
adb shell su -c rm /data/system/sync/status.bin
adb shell su -c pm clear com.android.packageinstaller
adb shell su -c pm clear com.android.providers.downloads
adb shell su -c pm clear com.android.vending
adb shell su -c pm clear com.google.android.backuptransport
adb shell su -c pm clear com.google.android.gms
adb shell su -c pm clear com.google.android.gsf
adb shell su -c mount -o remount,ro /system
Please also follow my instructions above for resetting the IDs before rebooting.
Google then recognizes a new device! Have fun :fingers-crossed:
Click to expand...
Click to collapse
OMG, I think that worked, thank you! I spent 5 hrs and stayed up to 3am trying to work this out with no luck, and this did the trick. To make things easier however, I morphed these commands into a dirty "one-liner" that saves entering each command.
Code:
adb shell settings delete secure android_id && adb shell settings delete secure advertising_id && adb shell settings delete secure bluetooth_address && adb shell settings put secure bluetooth_name 'Redmi Note 4' && adb shell settings put global device_name 'Redmi Note 4' && adb shell settings put global wifi_p2p_device_name 'Redmi Note 4' && adb shell su -c mount -o remount,rw /system && adb shell su -c rm /data/system/users/0/accounts.db && adb shell su -c rm /data/system/users/0/accounts.db-journal && adb shell su -c rm /data/system/users/0/photo.png && adb shell su -c rm /data/system/sync/accounts.xml && adb shell su -c rm /data/system/sync/pending.xml && adb shell su -c rm /data/system/sync/stats.bin && adb shell su -c rm /data/system/sync/status.bin && adb shell su -c pm clear com.android.packageinstaller && adb shell su -c pm clear com.android.providers.downloads && adb shell su -c pm clear com.android.vending && adb shell su -c pm clear com.google.android.backuptransport && adb shell su -c pm clear com.google.android.gms && adb shell su -c pm clear com.google.android.gsf && adb shell su -c mount -o remount,ro /system
I'm sure there is a more efficient way of stacking commands, but this worked. Replace "Redmi Note 4" with your actual device and reboot. I cleared data for any messaging apps and removed my Google account before I began, however.
stephendt0 said:
OMG, I think that worked, thank you! I spent 5 hrs and stayed up to 3am trying to work this out with no luck, and this did the trick. To make things easier however, I morphed these commands into a dirty "one-liner" that saves entering each command.
I'm sure there is a more efficient way of stacking commands, but this worked. Replace "Redmi Note 4" with your actual device and reboot. I cleared data for any messaging apps and removed my Google account before I began, however.
Click to expand...
Click to collapse
Perfect! You don't need to remove your Google account as the commands do this anyway
rainman74 said:
Perfect! You don't need to remove your Google account as the commands do this anyway
Click to expand...
Click to collapse
Quick update.
After a bit more testing, turns out that there were still a few things that needed clearing, particularly on different versions of Android (7.1). Also, I've noticed that a GSF ID can be generated before you get a chance to capture an image if you leave Wi-Fi enabled, so I've included that in the script. I've ended up with a .BAT file with the following:
Code:
echo on
adb shell settings delete secure android_id
adb shell settings delete secure advertising_id
adb shell settings delete secure bluetooth_address
adb shell su -c mount -o remount,rw /system
adb shell su -c svc wifi disable
adb shell su -c rm /data/system/users/0/accounts.db
adb shell su -c rm /data/system/users/0/accounts.db-journal
adb shell su -c rm /data/system/users/0/photo.png
adb shell su -c rm /data/system/users/0/settings_ssaid.xml
adb shell su -c rm /data/system/sync/accounts.xml
adb shell su -c rm /data/system/sync/pending.xml
adb shell su -c rm /data/system/sync/stats.bin
adb shell su -c rm /data/system/sync/status.bin
adb shell su -c pm clear com.google.android.ext.services
adb shell su -c pm clear com.google.android.ext.shared
adb shell su -c pm clear com.google.android.gsf.login
adb shell su -c pm clear com.google.android.onetimeinitializer
adb shell su -c pm clear com.android.packageinstaller
adb shell su -c pm clear com.android.providers.downloads
adb shell su -c pm clear com.android.vending
adb shell su -c pm clear com.google.android.backuptransport
adb shell su -c pm clear com.google.android.gms
adb shell su -c pm clear com.google.android.instantapps.supervisor
adb shell su -c pm clear com.google.android.gsf
adb shell su -c mount -o remount,ro /system
I have found that this works consistently across both LineageOS 14.1 and LineageOS 15.1 devices.
stephendt0 said:
OMG, I think that worked, thank you! I spent 5 hrs and stayed up to 3am trying to work this out with no luck, and this did the trick. To make things easier however, I morphed these commands into a dirty "one-liner" that saves entering each command.
Code:
adb shell settings delete secure android_id && adb shell settings delete secure advertising_id && adb shell settings delete secure bluetooth_address && adb shell settings put secure bluetooth_name 'Redmi Note 4' && adb shell settings put global device_name 'Redmi Note 4' && adb shell settings put global wifi_p2p_device_name 'Redmi Note 4' && adb shell su -c mount -o remount,rw /system && adb shell su -c rm /data/system/users/0/accounts.db && adb shell su -c rm /data/system/users/0/accounts.db-journal && adb shell su -c rm /data/system/users/0/photo.png && adb shell su -c rm /data/system/sync/accounts.xml && adb shell su -c rm /data/system/sync/pending.xml && adb shell su -c rm /data/system/sync/stats.bin && adb shell su -c rm /data/system/sync/status.bin && adb shell su -c pm clear com.android.packageinstaller && adb shell su -c pm clear com.android.providers.downloads && adb shell su -c pm clear com.android.vending && adb shell su -c pm clear com.google.android.backuptransport && adb shell su -c pm clear com.google.android.gms && adb shell su -c pm clear com.google.android.gsf && adb shell su -c mount -o remount,ro /system
I'm sure there is a more efficient way of stacking commands, but this worked. Replace "Redmi Note 4" with your actual device and reboot. I cleared data for any messaging apps and removed my Google account before I began, however.
Click to expand...
Click to collapse
YES, this did it. I cloned a kindle fire hdx using TWRP backup&restore and had to perform the action mentioned above in order to use both devices independetly.
ATTENTION!
Remember to change the values listed in stephendt0's example that were not part of the original code from rainman74:
- device_name: Equals the device type. E.g. adb shell settings put global device_name 'KFHDX'
- bluetooth_name: Hostname of the device seen in bluetooth.
- wifi_p2p_device_name: Hostname used for a p2p wifi network aka "ad hoc network". Not supported on all devices.

Modding (removing bloatware, blocking ads, YT in background) without root/unlocked BL

Since it is now complicated and expensive to get Bootloader code for Huawei devices with EMUI 9 or newer (even EMUI 8 firmwares from July 2018 and onwards), let's discuss tips for useful modding without root:
Ads and analitycs can be blocked by dns66 app:
https://forum.xda-developers.com/android/apps-games/app-dns66-source-host-ad-blocker-root-t3487497
Dns66 can auto-update from the same hosts sources used also for updating AdAway (while AdAway requires root):
Adaway hosts
https://adaway.org/hosts.txt
StevenBlack's hosts file
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
WinHelp 2000
https://raw.githubusercontent.com/E...assets/active/filter/winhelp2002.mvps.org.txt
Dan Pollock's hosts file
https://someonewhocares.org/hosts/hosts
hpHosts’s Ad and tracking servers
https://hosts-file.net/ad_servers.txt
Long-lived malware domains
https://mirror.cedia.org.ec/malwaredomains/immortal_domains.txt
Malware domains
https://mirror.cedia.org.ec/malwaredomains/justdomains
Malware domain list
https://www.malwaredomainlist.com/hostslist/hosts.txt
Peter Lowe’s server list
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext
Hosts File
https://www.hostsfile.org/Downloads/hosts.txt
User can also define his own blacklist and whitelist - for how-to details see (in German, Chrome can automatically translate to the language of your choice):
https://www.android-hilfe.de/forum/...moeglich-ist.900205-page-3.html#post-11742906
Additionally, particular apps can be completely whitelisted from being affected by dns66 (there is no such feature in e.g. AdAway)
To block ads in Chrome (and its derivatives) with dns66 or even AdAway, following steps are additionally needed:
https://wccftech.com/how-to-fix-dns-based-ad-blockers-on-chrome/
https://www.malwarefox.com/block-ads-android-chrome/
Steps and screenshots are collected here (Chrome will automatically translate from German):
https://www.android-hilfe.de/forum/...moeglich-ist.900205-page-3.html#post-11734599
Unwanted (system) apps can be disabled or uninstalled (for default/current user) by ADB commands (again, root not required) - for complete guides, see here:
https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/
https://forum.xda-developers.com/ap...v1-universal-systemless-t3432382/post80288347
Batch script with examples of some Huawei system apps that can be disabled is given here:
Code:
ECHO OFF
CLS
adb wait-for-device devices
PAUSE
ECHO List packages
adb shell pm list packages
PAUSE
ECHO List disabled packages
adb shell pm list packages -d
PAUSE
ECHO Disable System Update
adb shell pm disable-user com.huawei.android.hwouc
PAUSE
ECHO Disable Files
REM adb shell pm disable-user com.huawei.hidisk
PAUSE
ECHO Disable HiCare
adb shell pm disable-user com.huawei.phoneservice
PAUSE
ECHO Disable HiSearch
adb shell pm disable-user com.huawei.search
PAUSE
ECHO Disable Market Feedback Agent
adb shell pm disable-user com.google.android.feedback
PAUSE
ECHO Disable Tips
adb shell pm disable-user com.huawei.tips
PAUSE
ECHO Disable Duo
adb shell pm disable-user com.google.android.apps.tachyon
PAUSE
ECHO Disable GMail
adb shell pm disable-user com.google.android.gm
PAUSE
ECHO Disable Google
adb shell pm disable-user com.google.android.googlequicksearchbox
PAUSE
ECHO Disable Google Play Music
adb shell pm disable-user com.google.android.music
PAUSE
ECHO Disable Google Play Videos
adb shell pm disable-user com.google.android.videos
PAUSE
ECHO Disable Google Photos
adb shell pm disable-user com.google.android.apps.photos
PAUSE
ECHO Disable SwiftKey
adb shell pm disable-user com.touchtype.swiftkey
adb shell pm disable-user com.swiftkey.swiftkeyconfigurator
PAUSE
ECHO Disable Facebook
adb shell pm disable-user com.facebook.appmanager
adb shell pm disable-user com.facebook.system
adb shell pm disable-user com.facebook.services
PAUSE
ECHO Disable AutoNavi
adb shell pm disable-user com.amap.android.ams
PAUSE
ECHO Disable Browser
adb shell pm disable-user com.android.browser
PAUSE
ECHO Disable E-mail
adb shell pm disable-user com.android.email
PAUSE
ECHO Disable Find my Phone
adb shell pm disable-user com.huawei.android.findmyphone
PAUSE
ECHO Disable Wallet
adb shell pm disable-user com.huawei.wallet
PAUSE
ECHO Disable Health
adb shell pm disable-user com.huawei.health
PAUSE
ECHO Disable HiBoard
adb shell pm disable-user com.huawei.intelligent
PAUSE
ECHO Disable HiPayment
adb shell pm disable-user com.huawei.android.hwpay
PAUSE
ECHO Disable HiVoice
adb shell pm disable-user com.huawei.vassistant
PAUSE
ECHO Disable Huawei IME
adb shell pm disable-user com.baidu.input_huawei
PAUSE
ECHO Disable Yellowpage
adb shell pm disable-user com.huawei.yellowpage
PAUSE
ECHO Disable SIM Toolkit
adb shell pm disable-user com.android.stk
PAUSE
ECHO Disable Smart Repair
adb shell pm disable-user com.huawei.hwdetectrepair
PAUSE
ECHO Disable SkyTone
adb shell pm disable-user com.huawei.skytone
PAUSE
ECHO Disable Android Tips
adb shell pm disable-user com.huawei.android.tips
PAUSE
ECHO Disable Weather
adb shell pm disable-user com.huawei.android.totemweatherapp
adb shell pm disable-user com.huawei.android.totemweatherwidget
adb shell pm disable-user com.huawei.android.totemweatherapp
PAUSE
ECHO Disable DayDreams
adb shell pm disable-user com.android.dreams.basic
adb shell pm disable-user com.android.dreams.phototable
PAUSE
ECHO Disable Navigation Dock
adb shell pm disable-user com.huawei.android.FloatTasks
PAUSE
ECHO Disable Digital Balance
adb shell pm disable-user com.huawei.parentcontrol
PAUSE
ECHO Disable Partner Bookmarks
adb shell pm disable-user com.android.providers.partnerbookmarks
adb shell pm disable-user com.android.partnerbrowsercustomizations.tmobile
PAUSE
ECHO List disabled packages
adb shell pm list packages -d
Pause
ECHO Re-enable HiSearch
REM adb shell pm enable com.huawei.search
PAUSE
ECHO Uninstall HiSearch
REM adb shell pm uninstall -k --user 0 com.huawei.search
PAUSE
ECHO Re-install HiSearch
REM adb shell cmd package install-existing com.huawei.search
PAUSE
Prepend corresponding lines by REM (or remove) if you want to keep FaceBook, SwiftKey, Health, etc
Of course, Developer menu and ADB debugging must be enabled (few clicks)
To find out package names for particular apps, install and use an app like AppInspector or PackageManager (from Playstore)
Some configurational properties can be also modified without root:
https://forum.xda-developers.com/showpost.php?p=79249421&postcount=3
Again, you need adb and then SetEdit app (install from Playstore).
Give write permissions to SetEdit by adb:
Code:
adb shell pm grant by4a.setedit22 android.permission.WRITE_SECURE_SETTINGS
Open SetEdit, and therefrom Secure Table,
change Hide_Pocket_Mode value from 1 to 0
I've similarly enabled setting for Virtual HD sound in calls, see screenshots
Similarly, additional statistic can be enabled in GSam Battery Monitor, with adb command instead of by granting it root permission:
Code:
adb shell pm grant com.gsamlabs.bbm.rootcompanion android.permission.BATTERY_STATS
Regarding to playing YouTube in background and blocking it ads, I've tried YouTube Vanced app, two versions v12.32.59 and the latest v14.21.54:
https://vanced.app/
YT Vanced can play in background and block ars (most important for me) and it comes with practically the same interface as standard YT applicatioon
It works almost the same as Magisk module YT Vanced, but the app does not require root and (unlike the Magisk module) it requires an additional MicroG app if you want to sign to your YT accoount.
Unfortunately, I was unable to makle it sign with MicroG 0.2.6.17455:
- If I try to Sign in from YT Vanced v14.21.54, it calls MicroG but MicroG was unable to sign to my existing YT account(s), popping out: Please Check your Network Connection, Tap to retry
(I've tested also with DNS66 switched off, to make sure it does not interfere)
- With MicroG installed, YT Vanced v12.32.59 crashes for me right away on starting (with MicroG not installed, it works fine)
There are few other replacements for the YT app like OGYouTube, TubeMate, iTube, or NewPipe, allowing download and/or playing in the background.
E.g., with iTube I was able to play in the background but also to login to the YT account (but interface is somewhat strange, user must get accustommed to)
However, ATM, I will stick with this latest YT Vanced v12.32.59, since I'm used to the very similar Vanced module on rooted phones
Logcat can be also enabled without root, install Logcat 4U from Google Play:
https://play.google.com/store/apps/details?id=com.sam.logcat
and enable it Read Logs permission:
Code:
adb shell pm grant com.sam.logcat android.permission.READ_LOGS
PIN can be also unlocked with ADB, if it e.g. happens that you by mistake remove/disable virtual keyboards (replace XXXX with your PIN):
Code:
adb shell input text XXXX
Not related to root but to (adb and) fastboot - following commands are useful when phone is bricked to read IMEI(s) and Ser num, info about Bootloader, model, cust and possibly build number from the last used stock firmware
Boot to fastboot:
- switch off
- connect to PC (e.g., Mininal ADB and Fastboot must be installed)
- press and keep pressing Vol-
- boot by Pow
And execute as bat script
Code:
fastboot devices
PAUSE
fastboot oem get-bootinfo
PAUSE
fastboot oem get-psid
PAUSE
fastboot oem get_hwnff_ver
PAUSE
fastboot oem hwdog certify begin
PAUSE
fastboot oem get-product-model
PAUSE
fastboot oem get-build-number
PAUSE
fastboot oem oeminforead-SYSTEM_VERSION
PAUSE
fastboot getvar vendorcountry
PAUSE
REM fastboot getvar rescue_enter_recovery
PAUSE
fastboot reboot
Free of charge method for updating to Approved firmwares (not received yet by OTA) by HiSuite and Firmware Finder - no root, TWRP or unlocked boot loader required.
Original XDA post:
https://forum.xda-developers.com/showpost.php?p=78850439&postcount=1334
More details (Chrome can automatically translate from German):
https://www.android-hilfe.de/forum/...s-mit-hisuite-und-firmware-finder.930081.html
Note:
This method is similar in concept to HSTool (originating from FunkyHuawei) + HiSuite method:
https://forum.xda-developers.com/mate-20-pro/how-to/manual-upgrading-mate-20-pro-bl-locked-t3905924
https://forum.xda-developers.com/honor-view-20/how-to/hstool-upgrading-firmware-bl-locked-t3948040
https://forum.xda-developers.com/huawei-p30-pro/how-to/guide-how-to-ota-update-p30-pro-wipe-t3953138
Both methods don't require unlocked Bootloader, both use patched, particular versions of HiSuite and trick the HiSuite to download/install a stock firmware but not from the Huawei server.
Differences:
- In the method here, phone must be running Firmware Finder, and FF triggers the Team MT server to provide download of selected firmware for HiSuite.
- In the HSTool method, HSTool provides the firmware to HiSuite.
Interesting:
MiXPlorer is able to read e.g. /system, /vendor and /proc partitions.
You can browse through, read textual files, copy to Internal memory.
Of course, cannot write to (delete, change, create new files, etc)
Also, it cannot read /data partition
Tested also with Terminal Emulator, it can do similar - see screenshots
Btw, even if the phone was rooted (again, it isn't, BL is locked), /system and /vendor partitions would still be read only (EMUI 9.1, EROFS) - but nevertheless, Magisk would supposedly be able to provide systemless hosts access to AdAway
Is there any way to enhance sound (like with Viper4Android or JamesDSP), without root?
Eg, Equilizer - Bass Booster is free.and does not require root:
https://play.google.com/store/apps/details?id=music.basss.booster.effect.equalizer
As equilizer it works great but If you highly boost the bass or volume, sound will deteriorate
There is even an easier way to substitute AdAway on a non-rooted device. Just define dns.adguard.com for your private DNS server - see a screenshot below
However, compared to AdAway or DNS66, here you cannot add your own blacklist and whitelist, and you have no freedom to choose between (or use several of them) hosts sources.
Be aware, I have encountered a WiFi hotspot where DNS requests outside were blocked, and as result, I was unable to resolve any domain name to IP address, and therefore unable to eg open any site in the browser - I had to disable private DNS as long as staying on that WiFi hotspot
The following way you can unlock the screen by ADB, but:
- ADB must be already enabled on the phone
- PC you are using must be already granted ADB usage
(Otherwise it would pop-up on the still locked screen where you cannot confirm)
First, verify ADB and enter the shell
Code:
adb wait-for-device devices
adb shell
At this point press Power button (if screen is ok, it would light up).
By the first command you swipe the screen (if screen is ok, you would see popup to enter the unlock pin/pass)
By the second command you enter your unlock pin/password:
Code:
input touchscreen swipe 930 880 930 380
input text <your-screen-unlock-pin-password>
At the end, exit the shell:
Code:
exit
So, I have two SIM cards (both locked by pin) and lock screen (all the same pins).
Keyevent 66 means Ok.
The following worked for me to unlock the phone on reboot - but you MUST wait to start until the MTP pops up on the PC:
Code:
adb devices
adb shell
input text 1234
input keyevent 66
input text 1234
input keyevent 66
input touchscreen swipe 930 880 930 380
input text 1234
exit
As said, on Huawei it works without root.
---
Note:
On Xiaomi, phone must be rooted and ADB must be already given root access, hence instead of
Code:
adb shell
start with
Code:
adb shell
su
Also, on Xiaomi I didn't need to wait for MTP to pop-up on the PC upon rebooting the phone - I can start right away with ADB
I am on emui 9.1 and of course Pie.
Is there any way to change your font without having to have root? Really disliking this Huawei font that doesn't have a true bold.

[GUIDE] Root + Clean up Kindle Fire HD 10 and install Google Family Link

I got a Kindle Fire HD 10 for my son and intended to have it supervised with Google Family Link. I was searching for a while how to achieve at the same time the following:
- root, debloat and remove ads ("special offers")
- have access to Play Store and all the google apps
- be logged on to Amazon account for Prime video access
- have the tablet be supervised by Google Family Link
The last part in particular wasn't working. A few discussions in Reddit and elsewhere suggested that it's not possible, as Google and Amazon don't (want to) play well together, and Family Link won't take over a tablet signed in/registered with Amazon.
After some trial and error I managed to achieve it, so I'm posting here for anyone who wants to do the same.
Here are all the steps I did:
- Follow this guide (including brick-unbrick) to unlock, install TWRP, root and debloat the tablet:
https://forum.xda-developers.com/hd8-hd10/orig-development/unlock-fire-hd-10-2017-suez-t3913639/
- From TWRP flash the ROM in this thread:
https://forum.xda-developers.com/hd8-hd10/development/rom-t3929969/amp/
- Boot and set the tablet up without registering it with Amazon, only Google.
- Set up Google Family Link. Sign in with the kid's account (approve with parent's as usual). I had to do it twice, the first time it gave me an error message, the second it registered.
- Install a launcher and set it as default. Instructions here:
https://forum.xda-developers.com/hd8-hd10/general/successfully-changed-launcher-to-nova-t3744067
- At this point everything works except Amazon apps. Do a full backup from TWRP just in case the next step kicks Google out.
- Now we need to register with Amazon. If Google Family Link is used to supervise the tablet however, it won't work. So Family Link needs to be disabled temporarily and then set up again. So we deactivate Family Link (stop monitoring the child). Then we register with Amazon, and then we activate Family Link again.
- Fingers crossed, everything should work now.
airmark said:
I got .
Click to expand...
Click to collapse
Thanks for sharing!
Questions :
1 how to debloat? edit: never mind fount it. The problem is my device is showed up as unauthorized in Ubuntu. No issue with Windows.
2 I clean flashed that deodexed fireos ROM v2 and Wi-Fi is on and off. Any fix?
Excellent thread, thankyou!
I have one issue remaining. I cannot enable developer options (for ADB) using the"press on serial number 7 times".. nothing comes up. Also if I try to enable install form unknown sources, the setting app seems to crash back to the home screen.
I'm trying to sideload an APK and have tried enabling unknown sources by altering the SQL settings.db which seemed to work (the toggle is enabled) but alas, installs from unknown sources are still restricted.
Have you come across this in your install?
EDIT / SOLUTION: I found that this could be enabled through the parent app (phew!)
airmark said:
- Boot and set the tablet up without registering it with Amazon, only Google.
- Set up Google Family Link. Sign in with the kid's account (approve with parent's as usual). I had to do it twice, the first time it gave me an error message, the second it registered.
Click to expand...
Click to collapse
Can't seem to get this to work (haven't flashed the custom ROM as I'm only after the Family Link functionality) it gets stuck after I select "This device" then select the account I want to supervise - goes to a screen that says "Checking for updates" then after a minute or so it goes back to the screen asking me to select the device again, any thoughts?
Thanks
edit: the reason for the "Checking for updates" message, I think, was that it was trying to download/install "Family Link Manager" and it probably couldn't e.g. due to permissions, so I installed it manually from the Play Store - see my post below.
I understand OPs need to use family link since the internets a scary place, but...
I dont understand why we as a people are ok after google has proven they will kill anything that doesnt make or (legally) save them money.
entombor2 said:
I understand OPs need to use family link since the internets a scary place, but...
I dont understand why we as a people are ok after google has proven they will kill anything that doesnt make or (legally) save them money.
Click to expand...
Click to collapse
Err...because they are a private business and that's the nature of capitalism. If you want a different legal framework talk to your government representative. Might bone up on the number of successful societies that assume control of private entities. History has a tale to tell.
Argh. Closer but now gets stuck on a different step!
Installed "Family Link Manager" and I can now get it to recognise the device and account I want to manage but when I get to the screen that lists the things a parent will be able to do and tap "Next" then on the popup tap "Allow" I then get a screen that says " Cancel supervision setup?" and the only buttons are "Back" (which loops back to the same screen i.e. does nothing) and "Start Again" which I obviously do not want!
I wasn't prompted to grant any permissions so I suspect this is the issue?
Has anyone got this far?
Edit: Enabled "Family Link Manager" as a device administrator and....still doesn't work. Damn.
2019 version?
Hi! Will this work in 2019 Fire HD 10? It runs Fire OS 7...
Thanks in advance!
whatever2020 said:
Hi! Will this work in 2019 Fire HD 10? It runs Fire OS 7...
Thanks in advance!
Click to expand...
Click to collapse
Depends, you can root if you are on 7.3.1.0, after that there are work arounds for most things...
unlock - No
TWRP- No
Root - Yes ( if on 7.3.1.0)
Debloat - Yes With or without root (possibly temporary but stable so far)
Launcher - Yes
Disable OTA (Likely Yes without root)
Disable Ad's (disable is working so far)
What are you looking to do?
Mostly, make Family Link work... Bloat/launcher /etc are not that important. lock screen ads I can Live with.
Thank you!
Ok, this might be a little necro, but I've got this working on a 2016 Fire HD8.
I'm factory resetting it and taking some more detailed notes, basically you need to install the mtk-su/root
Then all the google framework, play store and family link teen + family link manager....
Now I was stuck in a loop for "Also stuck on "Next, you'll activate Family Link Manager, which helps parents...".
And it kept looking between that and "Got It"...
I got an idea from a gmail crashing thread to use Link2SD to set apps as "System Apps"
This was the missing link, i got the system popup to accept new permissions which wasn't happening before and all was glorious.... now I'm not sure if there's a way to adb install as a system app, going to be looking into that as well...
I'm so excited because this actually makes the tablet usable for my kids again.
Steps confirmed for Fire HD8 2016 (Gen6):
1. Factory Reset
2. MTK-SU Root - Includes setting default permission to allow su/root
I used the batch file included from @Rortiz2 - HERE
3. I modified the MTK-SU batch file to add the following lines:
Code:
...
echo Completed! Now update the binary!
[B]echo [*] Running Custom Scripts...
echo [*] Debloating...
call debloat.bat
echo [*] Installing Google Applications
call play-store.bat[/B]
pause
...
4. Create the debloat.bat file in the same directory as MTK-SU.bat
debloat.bat
Code:
@echo off
echo Disabling Over The Air Updates...
files\adb shell "/data/local/tmp/mtk-su -c pm disable com.amazon.kindle.otter.oobe.forced.ota"
files\adb shell "/data/local/tmp/mtk-su -c pm disable com.amazon.device.software.ota"
files\adb shell "/data/local/tmp/mtk-su -c pm disable com.amazon.device.software.ota.override"
echo Removing Adds...
files\adb shell "/data/local/tmp/mtk-su -c pm disable com.amazon.kindle.kso"
echo Removing Legal Notices
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.legalsettings"
echo Removing Weather...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.weather"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.platform"
echo Removing System updates...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.settings.systemupdates"
echo Removing Kindle books...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.kindle"
echo Removing Prime video...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.avod"
echo Removing Special offers...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.kindle.kso"
echo Removing Content Management service...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.kindle.cms"
echo Removing Kindle store
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.webapp"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.tahoe"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.iris"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.audible.application.kindle"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.cloud9.kids"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.cloud9.contentservice"
echo Removing Silk browser...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.cloud9"
echo Removing Amazon app store...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.venezia"
echo Removing Amazon goodreads share...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.unifiedsharegoodreads"
echo Removing Goodreads...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.goodreads.kindle"
removing Amazon gamecircle...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.ags.app"
echo Removing Amazon Maps...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.geo.mapsv2.services"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.geo.mapsv2"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.geo.client.maps"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.windowshop"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.csapp"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 amazon.alexa.tablet"
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.dee.app"
echo Removing Amazon Music...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.mp3"
echo Removing Amazon Photos...
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.photos"
echo Disable Device Setup
files\adb shell "/data/local/tmp/mtk-su -c pm disable-user --user 0 com.amazon.kindle.otter.oobe"
5. Download the Following APKs and save them to the apps sub-directory that you extracted from the MTK-SU archive:
com.android.vending_18.9.11-all_0_PR_295870256-81891100.apk
com.buak.Link2SD_4.3.4-415_minAPI9(arm64-v8a,armeabi,armeabi-v7a,mips,x86,x86_64)(nodpi).apk
com.google.android.apps.kids.familylinkhelper_flh.release.1.23.0.E.277396481-963364_minAPI21(nodpi).apk
com.google.android.apps.kids.familylinkmanager.1.0.0.257492102.apk
com.google.android.gms_20.04.14_(020400-294335909)-200414010_minAPI21(arm64-v8a,armeabi-v7a)(nodpi).apk
com.google.android.googlequicksearchbox_10.98.9.21.arm64-301070062_minAPI21(arm64-v8a,armeabi-v7a)(nodpi).apk
com.google.android.gsf.login_5.1-1743759-22_minAPI21(nodpi).apk
com.google.android.gsf_5.1-1743759-22_minAPI22(nodpi).apk
com.google.android.launcher_1.4.large-104002_minAPI16_maxAPI25(nodpi).apk
Here's a BUNDLE!
6. create play-store.bat in the same directory as MTK-SU.bat and debloat.bat
play-store.bat
Code:
@echo off
echo Google Services / Play Store for Fire HD8
echo Thanks to diplomatic for creating "MTK-SU" and Rortiz2 for the MTK-SU.bat.
echo .
echo [*] Installing Google Framework...
files\adb.exe install "apps\com.google.android.gsf_5.1-1743759-22_minAPI22(nodpi).apk"
files\adb.exe install "apps\com.google.android.gsf.login_5.1-1743759-22_minAPI21(nodpi).apk"
files\adb.exe install "apps\com.google.android.gms_20.04.14_(020400-294335909)-200414010_minAPI21(arm64-v8a,armeabi-v7a)(nodpi).apk"
echo [*] Installing Google Play Store...
files\adb.exe install "apps\com.android.vending_18.9.11-all_0_PR_295870256-81891100.apk"
echo [*] Installing Google Application...
files\adb.exe install "apps\com.google.android.googlequicksearchbox_10.98.9.21.arm64-301070062_minAPI21(arm64-v8a,armeabi-v7a)(nodpi).apk"
echo [*] Installing Google Family Link
files\adb.exe install "apps\com.google.android.apps.kids.familylinkhelper_flh.release.1.23.0.E.277396481-963364_minAPI21(nodpi).apk"
echo [*] Installing Family Link Manager
files\adb.exe install "apps\com.google.android.apps.kids.familylinkmanager.1.0.0.257492102.apk"
echo [*] Installing Google Launcher...
files\adb.exe install "apps\com.google.android.launcher_1.4.large-104002_minAPI16_maxAPI25(nodpi).apk"
echo [*] Installing Link2SD...
files\adb.exe install "apps\com.buak.Link2SD_4.3.4-415_minAPI9(arm64-v8a,armeabi,armeabi-v7a,mips,x86,x86_64)(nodpi).apk"
echo [*] Changing Launcher...
echo [*] Disable Fire Launcher
files\adb.exe shell "/data/local/tmp/mtk-su -c pm disable com.amazon.firelauncher"
echo [*] Enable Google Launcher
files\adb.exe shell "/data/local/tmp/mtk-su -c pm enable com.google.android.launcher"
7. Update your SuperUser Binary by launching SuperUser (This is now an installed application in your app drawer). You should be prompted to update.
8. In the SuperUser application change the default SU permission to Grant vs. Prompt.
9. Reboot
10. Use Link2SD to mark all of the Google/Family Manager apps from step 6 as system apps.
- THIS IS THE MONEY - If you are stuck in activating Family Link Manager with the message: "This profile manager is required for Google Accounts managed with Family Link." This is the Fix!
- If you are unfamiliar with the application, just find the app in the main Link2SD list then hit the 3 dots on the top right, here you can choose to set as system application.
- This is the part that is kinda wonky, If someone knows a way to just install these applications as system application from ADB then I'll gladly take the Link2SD part out of here...
11. Open the Play Store and sign in through play store as kids account...
12. Authorize sign in as parent...
13 Continue to step through approval dialogue...
14 done..
Great instructions. I have already successfully performed this on a Fire HD 10. With the second, the Google Launcher does not start. If it is active, I only see a black screen with a clock and battery. When I activate the fire launcher, everything works perfectly. What can that be?
I'm wondering about the step 7 and 8, can you please provide details on how to do that ?
Thanks !
The MTK-SU Root no longer works on the latest FireOS 7.3.1.2 on Fire HD 10 (2019). So, no way to get root means no way to change Family Link to a system app means no way to activate Family Link which means no way to get a child account on the device at all. I guess the only option is to change the child's birthday to 1 day before 13 years old, wait a day, then convert the child account to an adult account and use the table with no parental controls.
I still can't get Family link to work properly but I was able to use a child's account on the Fire 10 by installing the Family Link MANAGER apk from apk mirror. I can't control the device from the parents app to the full extent, but I can still require that she gets approval for downloading any apps and the approval process works.
This was all done without root.
skybar87 said:
I still can't get Family link to work properly but I was able to use a child's account on the Fire 10 by installing the Family Link MANAGER apk from apk mirror. I can't control the device from the parents app to the full extent, but I can still require that she gets approval for downloading any apps and the approval process works.
This was all done without root.
Click to expand...
Click to collapse
skybar87, can you explain how you got this working on your HD10? Is it a specific manager APK? I am trying on an 2018 HD8, but I always end up in the loop trying to activate the family link app, both the kid and parent versions. I tried just skpping the last step. If I do that, app approvals work for a bit but then it keeps signing out of the Play Store. All I want is the ability to approve app installs...
martinbrecko said:
Great instructions. I have already successfully performed this on a Fire HD 10. With the second, the Google Launcher does not start. If it is active, I only see a black screen with a clock and battery. When I activate the fire launcher, everything works perfectly. What can that be?
Click to expand...
Click to collapse
Did you miss setting one of the Google apps as system? Maybe there is a different launcher/apk needed for that device?
Gizzzmo said:
I'm wondering about the step 7 and 8, can you please provide details on how to do that ?
Thanks !
Click to expand...
Click to collapse
This is done by launching the SuperSU application from the app drawer.
---------- Post added at 01:07 PM ---------- Previous post was at 01:05 PM ----------
skybar87 said:
I still can't get Family link to work properly but I was able to use a child's account on the Fire 10 by installing the Family Link MANAGER apk from apk mirror. I can't control the device from the parents app to the full extent, but I can still require that she gets approval for downloading any apps and the approval process works.
This was all done without root.
Click to expand...
Click to collapse
This is as far as you will get without root.
You need at least temporary root to get the google apps registered as system apps.
Without that the process will always fail.
Can someone please create an easy script from this long tutorial? It is hard to follow. I have hd 10 7th Gen 5.3.7.0

Disable system packages [ADB - Android 13]

Hi...
I made the very bad mistake of updating my Oppo Reno 6 5G to ColorOS 13...
There is no possibility to downgrade and moreover some packages can no longer be uninstalled or disabled via ADB.
For example, if I wanted to uninstall/disable com.oplus.ota to avoid further updates, the ADB commands that worked until yesterday would no longer work...
Es:
shell pm uninstall --user 0 com.oplus.ota
Failure [DELETE_FAILED_INTERNAL_ERROR]
shell pm disable-user --user 0 com.oplus.ota
Package com.oplus.ota new state: default
shell pm disable com.oplus.ota
[Error]:failed to disable com.oplus.ota
Anyone has a solution? Thanks....
Is the mentioned file listed as package?
Code:
adb devices
adb shell "pm list packages -s"
If not then you can't use pm cmd to operate on this file.
jwoegerbauer said:
Is the mentioned file listed as package?
Code:
adb devices
adb shell "pm list packages -s"
If not then you can't use pm cmd to operate on this file.
Click to expand...
Click to collapse
Yes the package is in the list! However both the disable and the uninstall give the error...
If one wants to get completely rid off of a system-package he/she
1. must make /sstem partition RW - what requires Android is got rooted
Code:
su -c "mount -o rw,remount /system"
2. simply runs
Code:
su -c "rm -f /system/<package-name>"
jwoegerbauer said:
If one wants to get completely rid off of a system-package he/she
1. must make /sstem partition RW - what requires Android is got rooted
Code:
su -c "mount -o rw,remount /system"
2. simply runs
Code:
su -c "rm -f /system/<package-name>"
Click to expand...
Click to collapse
Thank you for the info... My phone is not routed unfortunately...
I want to downgrade it but i can't... :-(
jwoegerbauer said:
If one wants to get completely rid off of a system-package he/she
1. must make /sstem partition RW - what requires Android is got rooted
Code:
su -c "mount -o rw,remount /system"
2. simply runs
Code:
su -c "rm -f /system/<package-name>"
Click to expand...
Click to collapse
hallo, i've been using this method from a2.3 to a11 to uninstall system apps, but this method is not useable with a11 in a TWRP shell, so i'm curious, are these steps still works correctly in a13? in a system shell or TWRP shell?
The code excerpt printed above is meant to be run via ADB as
Code:
adb shell 'su -c "mount -o rw,remount -t auto /system"'

Categories

Resources