Modding (removing bloatware, blocking ads, YT in background) without root/unlocked BL - Huawei Mate 9 Questions & Answers

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.

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

How to install/enable uninstalled/disable app using adb command

Is it possible to reverse the process and to install or enable an app that has been previously uninstalled/disabled by one of the two adb commands below?
Code:
adb shell pm uninstall package_name
adb shell pm disable package_name
Rejerf said:
Is it possible to reverse the process and to install or enable an app that has been previously uninstalled/disabled by one of the two adb commands below?
Code:
adb shell pm uninstall package_name
adb shell pm disable package_name
Click to expand...
Click to collapse
Yes, I think so.

[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

adb command to get app list

Hello, can someone help me with adb pls?
With "adb shell pm list packages -f > c:\1.txt" I get a list of my installed apps as text file, is there any way to get a list of the installed default apps? Removing an app with "adb shell pm uninstall --user 0" removes it from the user profile, but I can reinstall it and I can reset my phone to get the apps back, that means they are all still installed on other level, is there a command like "adb shell pm list packages" to see the default apps? I want to get a list of the apps, user apps and system apps installed as if I had reset the phone or start it the first time.
Also, is there maybe a command for rebuild/delete cache? Just interested, because I have no idea if that is a thing today, with old Android versions it was helping sometimes but only possible with root.
With regards to apps that get installed by user ( called 3rd-party apps in contrast to system apps ) an app always gets installed in the space that's reserved for the user who invoked app's installation: typically it's user with id 0 - the default Android user. Knowing this then it will be clear that 3rd-party-apps on multi-user Android systems get installed in different user spaces.
Hence you always should add --user <USER-ID> to any action that should taken by PM.
To get list of installed system apps belonging to specific user you run
Code:
adb shell "cmd package list-packages -s --user <USER-ID>"
To get list of installed 3rd-party apps belonging to specific user you run
Code:
adb shell "cmd package list-packages -3 --user <USER-ID>"
jwoegerbauer said:
With regards to apps that get installed by user ( called 3rd-party apps in contrast to system apps ) an app always gets installed in the space that's reserved for the user who invoked app's installation: typically it's user with id 0 - the default Android user. Knowing this then it will be clear that 3rd-party-apps on multi-user Android systems get installed in different user spaces.
Hence you always should add --user <USER-ID> to any action that should taken by PM.
To get list of installed system apps belonging to specific user you run
Code:
adb shell "cmd package list-packages -s --user <USER-ID>"
To get list of installed 3rd-party apps belonging to specific user you run
Code:
adb shell "cmd package list-packages -3 --user <USER-ID>"
Click to expand...
Click to collapse
With adb shell cmd package list-packages -s --user 0 it closed without anything
With adb shell cmd package list-packages -s --user 0 -f > c:\2.txt I get Unknown command: list-packages
Same with using "adb shell cmd package list-packages -s --user 0" and adb shell "cmd package list-packages -s --user 0" -f > c:\2.txt
What I'm doing wrong?
Also, that's not exactly what I meant, even if the command is working I don't want the list of user 0, I want a list of the default apps. I already debloat the phone, I want to see the apps I debloat, the apps that are installed on admin(?) level to see if I can reinstall something that I need.

adb shell pm enable does not persist after reboot

I accidentally copied the wrong command and used adb shell pm disable-user --user 0 $app instead of adb shell pm uninstall --user 0 $app
I can uninstall / install-existing it just fine but for some reason using enable doesn't work.
When I do adb shell pm enable $app I get an error message, when I use su it works, and when I first unfreeze it with sdmaid and then use the enable command it works too, however it is back to being disabled again after reboot.
I also tried adb shell pm default-state --user 0 $app with the same result.
It works just fine with other apps, but they are typically either disabled or uninstalled.
Now "com.android.sdm.plugins.connmo", "com.android.sdm.plugins.dcmo" and "com.android.sdm.plugins.diagmon" are both disabled and uninstalled.
I somehow was able to reinstall them and have that persist after reboot but they were still disabled after that.
Always get correct user id of user who should get prevented to run an app
Code:
adb shell "pm list users"
before running shell command like this
Code:
adb shell "pm disable --user <USER-ID> <PKG-NAME>"
and this using the same user id
Code:
adb shell "pm enable --user <USER-ID> <PKG-NAME>"
instead of stupidly using user id 0
What's the matter with just: pm disable com.annoying.app ?
The --user <USER-ID> parameter is usually needed on newer Android versions to specify which user ID the pm utility needs to apply the changes to.
jwoegerbauer said:
Always get correct user id of user who should get prevented to run an app
Code:
adb shell "pm list users"
before running shell command like this
Code:
adb shell "pm disable --user <USER-ID> <PKG-NAME>"
and this using the same user id
Code:
adb shell "pm enable --user <USER-ID> <PKG-NAME>"
instead of stupidly using user id 0
Click to expand...
Click to collapse
UserInfo{0:Owner:c13} running
My user ID is 0
would be great if it would work like that except it doesn't for whatever reason.
Is there a difference using "disable-user --user <USER-ID> <PKG-NAME>" vs "disable --user <USER-ID> <PKG-NAME>"?
I mean thats not rly my problem as I wanna *enable* it again, but yea..
running either enable or disable command in non elevated shell results in
java.lang.SecurityException: Shell cannot change component state for null to 1
which is weird as it does work for literally any other app.
using elevated shell it works, however it resets back to disabled state on reboot, which is even weirder given that the default state of this package would be enabled=1
and I should note that it mustve worked before as well, as it was originally enabled and I slipped in the wrong line and accidentally copied the command to disable apps instead of what I wanted to do.
And for some reasom that worked..
specifically the command I used was adb shell pm disable-user --user 0 com.android.sdm.plugins.connmo and it works for any other app to disable it and i can enable them right back.

Categories

Resources