# Question
Title: How do I safely install an app not from the Play store?
I have always installed apps from the official store but today I wanted to install an app from SlideMe so I clicked "download" but it didn't install automatically. It just downloaded an .apk file and then a window popped up with two options called "Google installer" and "package installer"..how do I proceed? I have an unrooted S3.

OS: 4.1.1

# Answer
> 0 votes
Choosing the Google installer option will verify the application with Google before installing. Choosing the Package installer option will install the application as is. Since I like to be safe, I installed AVG Antivirus from the Play Store. A third option will be to scan the package for viruses before installing.

# Answer
> 0 votes
How do you know you can trust that the app you wish to install will not contain malicious code?

1. Source-

Consider where you are downloading the application from.
Take the Google Play Store for example: Considering that GPS has been plagued with malware, ( https://www.forbes.com/sites/zakdoffman/2020/07/09/ldangerous-android-malware-warning-google-play-store-security/?sh=736c8ba61f9e ) how do you know that an app installed from GPS is safe? Here we can see the value is of using reputation as a metric:
Much like a lender uses an individual's credit score before assuming the risk of lending them money, end user reviews of an app too can help gauge many factors regarding an application, including assessing its inherent safety on your device (not to mention mited to if ads will be present snd if so, how many/frequent). Google Play Store utilizes this by allowing end users to provide their feedback of facts and opinions of an application through a text based data entry which is then added to an archive ( or 'database' so to speak) of user reviews that is not only accessible to other end users but uses a 5 Star scoring system to display a mefian score, ultimately reflecting the average opinion of the end user in regards to an application (available on a 'per application' basis.)

While reputation is helpful it does not rule out the possibility of harboringbmalicious code or preventing its execution. This is exactly why applications hosting services such as F-Droid and professional developers as seen on XDA only trust applications that offer 100% transparency. How do they do this?

2. SOURCE-

An application that offers its source code to be accessible publically, when found to be malicious, (whether to be built from and or for review etc,)isn't going to last very ling without being flagged by the FOSS community and thus shut down /stopped. ..which is one of many benefits to supporting open source projects, and one of the reasons I continue to trust application repositories like F-Droid, The Gaurdian Project and Arora Store, (so much so that I have installed and continue to use the F-Droid app and the Aurora Store app.)

In conclusion, you can trust the indtallation of an application whose source code is publically available to be reviewed and has a positive reputation from the community that installs and utilizes it.

---
Tags: applications, side-loading
---


title: Google photos keeps crashing

text:
# Question
Title: Google photos keeps crashing
My google photos app keeps crashing whenever I open it. Sometimes it crashes in the background. I tried some fixes like clearing data, reinstalling, deleting big video files, maintaining nearly 4GB space etc. None of these fixed. I also tried an old version of the app which previously was working fine, now that one is also crashing.

I have the latest app version. I am on stock rom of 6.0.1 android version. My device is Lenovo K6 Power.

Since it keeps my photos synced to google cloud, so I would like it fixed rather than any alternative.

---

My findings :

1. App crashes when media scan is started.
2. Every version of app is crashing.

# Answer
By my search, I got some key points which are reasons for crashing Google Photos app.

* First is low space.
In my case, I was not having such problems as my device has good space. But need at least 1GB to work.
* The second was a bad video file.
There is no way we can identify which one, but cleaning all videos after taking backup will help.
* The third one was a bad photo file.
It wasn't posted as answer till I asked on google product forums. Clearing all of the photos from device helped me to get my photos app and as well as my device working fluently. Now, I don't have any problem.

These are those points which can't be helped by clearing data, reinstalling or trying any old version. These are also independent of device or android version.
> 1 votes

# Answer
I was having the same problem every time I oppended the app it crashed and I found that if i oppened it with wifi off it worked just fine so it had something to be with the automatic back up, I went to settings and allowed Backups trough cellular data and It started backing up just fine, then I turned off that option, went back to Wifi and all worked just fine, My guess is that a particular video or photo that was beeing uploades caused the crash with wifi so once it was uploaded with the cellular data the crash was no longer there, hope it helps.

I Have a Pixel 2 XL with Oreo 8.1
> 2 votes

# Answer
I found that Google photos was crashing for me because I had two folders with very large file size pictures (over 100MB), so I went into the file explorer and deleted those folders (completely off the phone, since I have backups) and that resolved the issue.
> 0 votes

# Answer
in my case i can confirm that is a corrupted file, when gphoto try to upload it, go into troubles.

To find the file: Set airplane mode Open gphoto On your avatar you will find a file in "waiting to sync" Understand what file is and delete it (open image details) Done!

I hope to help someone!
> 0 votes

---
Tags: photos, crashes, google-apps
---


# Question
Title: Create 'Add to Home Screen' shortcut for local offline HTML page
I have developed a web-based HTML and Javascript app which is distributed to company mobile phones via email or USB transfer as a zip file, which I would like to set up on people's devices with a shortcut on their home screen.

However, I can't get the option in the Chrome browser to add it as a shortcut for the offline page.

The option only becomes available if, for example, I upload the package to my online webspace and then load that URL in chrome. This isn't an option, as the app will load in confidential information which I don't want online.

Are there any solutions or alternative options for this?

# Answer
# 1. Using Chrome Browser (without root)

If you are looking for a solution using Chrome app, `Chrome isn't associated with Html files`, thus you can't associate it with HTML files, but you can:

> **P.S**: Allow the storage permission for the Chrome App

* Open Chrome Browser
* Type the path of your file Ex: `file://mnt/sdcard/Documents/App/index.html`
* Goto Options Menu (Three dots on the upper right)
* Tick the Star on the top to Bookmark the html file in Mobile Bookmarks.
* From your launcher put the "Chrome Bookmarks" widget on the desktop to access your bookmarked local file.

# 2. Using Total Commander (without root)

> **P.S**: First, Allow the storage permission for the Total Commander App

* Install & Launch Total Commander - file manager
* Locate your "index.html" file.
* Tap & maintain on the index.html file.
* From the pop-up Menu, tick the option "Create Link on Desktop"
* Select the shortcut name.
* Select the app used to open HTML files (I suggest to install Opera or Firefox before this)
* Choose an Icon if you want.
* Tap OK/ Apply.

# 3. Using Opera Browser (without root)

Opera Browser is a solution for your situation, maybe other browsers are also fine.

> **P.S**: First, Allow the storage permission for the Opera App

* Install Opera browser - news & search
* Type the path of your file Ex: `file://mnt/sdcard/Documents/App/index.html`
* Goto Options Menu (Three dots on the upper right)
* At the bottom of the Option Menu, tick the option "Home Screen"
* Select the shortcut name, and tap Add.
> 2 votes

# Answer
Download the page, open it in chrome, click the three dots in the top right and select 'Add to home'

Edit: Just realized, I'm using the Brave browser (free on google play) and it works. It looks a lot like Chrome so it doesn't take long to get used to it.

Edit #2: Orfox browser (Tor browser), also free, is able to do it. Just open the file and create a shortcut, just like with normal pages in chrome. This is a tor browser though, but maybe there are other browser that are lighter and also able to do it. Firefox browser also does the trick. Click the 3 dots in the top right, press page and create shortcut.
> 1 votes

# Answer
Here's an alternative I am using to access a local HTML via (my Samsung) Home Screen.

1. Have a shortcut to Samsung Internet (because it allows Locked Tab)
2. Open the HTML file manually (eg. Using My Files file manager, "Open With" Samsung Internet)
3. Tap on the Tabs button to display the list of open tabs, press and hold the 'RecyclerView' of the tab showing the HTML file, choose to Lock it.
> 0 votes

# Answer
I use a simple app called Website Shortcut created by Deltac Development. This app may work for your needs and can be edited and customized (i.e. company logo, changing path to different location, etc)
> 0 votes

---
Tags: chrome-for-android, home-screen-shortcuts
---


# Question
Title: What is this pop-in from the bottom of Chrome for Android?
I'm suffering from a pop-in, coming in from the bottom of the screen, in Chrome for Android.

It seems to be doing a Google search with whatever text I may have tapped. There's no button to close, and it's much more of a nuisance than a help.

What is it, and how do I turn it off?

# Answer
**This is Chrome for Android's feature known as Touch to Search.**

The user can tap a word to let Google search quickly without leaving the current page.

From Google Chrome Help - Search the web on Chrome,

> ### Search for words
>
> You can find more info about a specific word or phrase on a page with Touch to Search.
>
> **Important**: To use Touch to Search, Google must be set as your default search engine.
>
> 1. On your Android device, open the Chrome app.
> 2. Open a page.
> 3. To highlight a word on a page, tap it or touch and hold it.
> 4. To show search results for the highlighted word, tap the panel that opens at the bottom of the page.
>
> **Turn Touch to Search on or off**
>
> 1. On your Android device, open the Chrome app.
> 2. Tap More \> Settings \> **Google services**.
> 3. Tap **Touch to Search**.
> 4. Turn **Touch to Search** on or off.
> 16 votes

---
Tags: chrome-for-android
---


# Question
Title: Is there a 'format painter' function in Excel for Android?
is there a 'format painter' function in Excel for Android? I'm starting to feel like you get what you pay for here - not much, by that, I mean, that the Android version of Excel is short on features that I find useful.

# Answer
> 1 votes
The closest I've been able to come, is:

1. Click on the cell with the formatting I like, then long click on the little square bottom right of the cell, and release, then click on the clipboard icon.
2. Click on the cell I want to format, and long click on the square, bottom right of the cell, and release again, this time, click on the downward facing arrow, and choose "Formatting". It works, but much more awkward than the format painter function in the Windows versions of Excel. (and Word)

If anyone has a way to be able to do this quicker, it would be much appreciated!

# Answer
> 0 votes
Use the standard copy and paste function. Copy the cell with the format you want. Then paste on the desired cell using "special paste", then select "paste format" only. This pastes just the format, not the data.

# Answer
> 0 votes
1. Hit the "Copy" icon.

*(Click on image to enlarge)*
2. Long click on the target cell.
3. Instead of the "Paste" icon (clipboard), click the drop-down arrow.

*(Click on image to enlarge)*
4. Click on "Formatting" (paintbrush icon)

*(Click on image to enlarge)*
5. Should have copied the format successfully!

---
Tags: microsoft-excel
---


# Question
Title: Heimdall errors, "ERROR: Failed to detect compatible download-mode device."
When trying to flash a Galaxy S3 (ATT), I get

> ERROR: Failed to detect compatible download-mode device.

below is the log,

```
$ sudo heimdall flash --RECOVERY recovery.img
Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
ERROR: Failed to detect compatible download-mode device.

```

# Answer
**Start off by making sure that you're plugged into a USB 2.0 port.** Then,

put the device in download-mode,

> $ sudo adb reboot download

continue flashing with heimdall,

> $ sudo heimdall flash --RECOVERY recovery.img

That should work,

```
Initialising connection...
Detecting device...
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Uploading RECOVERY
100%
RECOVERY upload successful

Ending session...
Rebooting device...
Releasing device interface...
Re-attaching kernel driver...

```
> 16 votes

# Answer
Got the same issue years later, and solved it by.. **using another USB cable!**

Indeed, some USB cables are only made for energy transfer and do not support data transmission

You may also want to test other USB ports and check if your device is detected with `lsusb`
> 4 votes

# Answer
One possible explanation is that you have confused recovery mode and download mode which are (I have just discovered) two different things on some phones, mine included. I had the same error and switching to download-mode fixed it.
> 3 votes

# Answer
Install Teamwin recovery put in recovery mode wipe everything fix system partition reboot from recovery into download mode now flash worked for me
> -1 votes

---
Tags: samsung-galaxy-s-3, heimdall
---


title: Easily scroll to last page of apps

text:
# Question
Title: Easily scroll to last page of apps
I have to scroll right 63 times from the home screen to get to the page where icons are placed for new apps installed on my phone. Is there some shortcut to get there? Some gesture I can enable or an icon I can put on my home page or something?

Google Now Launcher 1.4.large, Android 8.1.0, Nexus 6P

I just found a faster way to scroll through the pages. If I tap and hold on an empty space on a page then the page will get smaller and it will scroll multiple pages at once when I swipe.

# Answer
> 0 votes
In Google Now Launcher, there is no settings that allows to go directly to the last page. And there is no infinite scroll that would have allowed you to scroll from the first to the last page.

My advice is to install another launcher (if possible).

# Answer
> 0 votes
on the bottom of my screen there is a series of dots, each representing a page of apps. Touch the rightmost dot (63 pages of apps??) and it should take you to the rightmost page where your newest apps are placed

---
Tags: google-now, home-screen-shortcuts, 8.1-oreo, nexus-6p
---


# Question
Title: On Pixel 5 phones, how to re-order home screen pages?
On Pixel 5 phones, how to re-order home screen pages? For example, my home screen have 5 pages, and I want to swap the 4th page and 3rd page. How to do it? My Pixel 5 phone is using the default system softwares if that matters.

# Answer
not sure if Pixel phones are different functionally from Samsungs, but holding your finger on a blank place on your screen should make the entire page movable, allowing you to insert it wherever you want between other pages of apps
> 0 votes

---
Tags: google-pixel
---


# Question
Title: Why "adb remount" retruns "remount failed" on Android emulator?
I'm using Android Studio. I was trying to set up dev environment and it requires to modify `hosts` file. So,

1. I created new devices in ADM (Nexus 4, Android 10 x86\_64 without Google API and without Google Play).
2. I lunched the emulator
3. Then I tried following instructions from stackoverflow. I'm using Linux Mint so:

```
$ ~/Android/Sdk/platform-tools/.adb root

output:
restarting adbd as root

```

Okay, I got root:

```
$ ~/Android/Sdk/platform-tools/.adb shell whoami

output:
root

```

Then I suppose to remount and this is where I stuck:

```
 ~/Android/Sdk/platform-tools/.adb remount

output:
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
avb_ops_user.cpp:217: ERROR: Error writing data.
avb_user_verity.c:205: ERROR: Error writing to partition 'vbmeta'
E Skipping /system
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
W DM_DEV_STATUS failed for scratch: No such device or address
E [liblp]No device named scratch
[liblp]Partition scratch will resize from 0 bytes to 814587904 bytes
E [liblp]bool android::fs_mgr::WritePrimaryMetadata(int, const android::fs_mgr::LpMetadata &, uint32_t, const std::string &, const std::function<bool (int, const std::string &)> &) write 540 bytes failed: Operation not permitted
E [libfs_mgr]add partition scratch
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
W DM_DEV_STATUS failed for scratch: No such device or address
E Can not mount overlayfs for partitions: No such file or directory
Skip mounting partition: /product
Skip mounting partition: /product_services
E failed to remount partition dev:/dev/block/dm-1 mnt:/vendor: Read-only file system
E Consider providing all the dependencies to enable overlayfs
/system/bin/remount exited with status 10
remount failed

```

I don't know if `remount` is the critical issue, but i guess so. At the moment I don't have permission to modify `/etc/`. For example:

```
$ ~/Android/Sdk/platform-tools./adb shell "cp /etc/hosts /etc/hosts.bak"

output:
cp: /etc/hosts.bak: Read-only file system

```

# Answer
Run Android Emulator with `--writable-system` commandline option in order to temporarily disable `dm-verity`. Then you can run `adb remount`.
> 4 votes

---
Tags: adb, android-studio
---


# Question
Title: Disabling the clipboard history on Samsung devices
Samsung Galaxy Note 9 running on Android 9 stores all old clipboard entries which requires me to manually delete it every time.

How can I opt-out of this "feature"?

# Answer
> 11 votes
After a long while and more serious privacy flops I had, I found a solution to this security breach of Samsung (Credit).

1. Install `adb` on your computer (manual)
2. Setup adb access (e.g. USB Debugging) on your device (manual)
3. Launch `adb shell` and execute the following commands:
    * `pm uninstall --user 0 com.samsung.clipboardsaveservice`
    * `pm uninstall --user 0 com.samsung.android.clipboarduiservice`

# Answer
> -1 votes
Not tested because I am not rooted

ClipboardSaveService and ClipboardUI are made to keep copies of the Clipboard, and your system copy functionality will break if you disable/uninstall them (You need a ported AOSP version to let it only copy once and to make it be stored in the RAM not stored in the NAND)

You can use an Automation software (like Automate or Tasker) to delete "/data/Clipboard" files after you paste. (Yes this is the directory that Samsung store the files in it instead of RAM)

---
Tags: 9.0-pie, copy-paste, samsung-galaxy-note-9
---


# Question
Title: Today, my phone out of nowhere started opening random spam/scam sites. What can I do to make it stop
I have an Huawei mate 10 lite, and today it started randomly opening my browser and showing me scam sites. I have tried some anti-virus apps, but after a full scan they didn't find anything. I also looked at my apps, to see if anything suspicious app was there, but I didn't find any blank app/unknown app. The only thing I don't want to do is to factory reset my phone. Can you help me with my problem?

# Answer
This thread had the answer for me. It turned out to be the latest QR code scanner. It said it had ads but did not say it opened them in the default browser randomly.
> 0 votes

---
Tags: malware
---


# Question
Title: Find history of entering and exiting apps on Android
I have a Samsung Galaxy A3 2016 running Android. I would like to know whether there is a way to recover the exact history of when one entered and exited an app during one day.

I have tried this trick, but it does not work.

Do you know any other solution? Many thanks!

# Answer
> 0 votes
I don't think there is anyway to get this info from Android (at least, I am not aware of it, if it exists).

You have an app alternative, Usage Analyzer: Apps, Data & History, which gives this information and much more information.

It does not give you explicitly exit time but it gives you start time and usage time, and you can add both to get exit time. Chrome usage highlighted in screenshot below

(click to enlarge )

It also gives you day/week app usage details.

---
Tags: applications, logging, history
---


# Question
Title: How do I move my AnkiDroid data to external SD card?
My phone is Samsung Galaxy J7. Internal Memory is full and I want to move this large pp to SD. How can I do so?

# Answer
It is NOT recommended by the AnkiDroid team. Here is the Github issue about this: https://github.com/ankidroid/Anki-Android/issues/3106

Someone reported success using the procedure below, please make backups and remember that you are on your own if you choose to do it.

1. Go to your external SD card folder via file management app and create a folder with the apk's package name ("com.ichi2.anki") containing an AnkiDroid sub-folder: the exact path depends on your devices. E.g. On my Desire 820, the path of the external SD card folder is "/storage/ext\_sd/", and after I created the folders the complete path of the AnkiDroid folder is "/storage/ext\_sd/Android/data/com.ichi2.anki/AnkiDroid/"
2. Install AnkiDroid, open it, and change the storage path to the path I mentioned above.

Specifying where your AnkiDroid collection is:
> 6 votes

# Answer
If you want to use anki in external storage above Marshmallow, use the following folder:

```
/storage/Your_SD_Card/Android/data/com.ichi2.anki/Ankidroid

```

Replace `Your_SD_Card` with your SD card's name. Check it with your file manager.
> 0 votes

# Answer
Those who are facing problem by this method is only because you are not correctly putting your external storage name properly best way is to download Es file explorer and copy the file location and paste it. https://www.youtube.com/watch?v=hYoQ\_7tT0I0
> 0 votes

---
Tags: external-sd, ankidroid
---


# Question
Title: How do you root a device with Magisk when it doesn't have a custom recovery
This is a self answered question to address the subject of title.

With a recovery in place, rooting with Magisk is straightforward,it gets a tad difficult when you don't have a recovery.This was vaguely addressed in Stock image dump for running Magisk necessary?.

So, I thought of making a self answered question to

* Help those who don't know and
* Add to canonical questions. It's important for our site to have such questions as easy reference (not-so-subtle request to others to post more self answered questions!).

**Notes:**

1. I have tried both Linux and Android versions of the answer and they work fine (tested on Pixel 4a, Android 11). The process *may* look daunting but it isn't (I know nothing about Linux, yet managed to root without issues).
2. Moderators are free to make this a community wiki, if more answers are posted depending on the device variants :)

# Answer
> 11 votes
If you happen to have a PIXEL device then Pixel Flasher , an open source project can do everything below, real easy-easy. For help on interface, see here

This tool apparently works for some One Plus devices, YMMV

---

This answer is **not** applicable to Samsung / Huawei devices

---

* First, unlock your bootloader. This again ranges from very easy to complicated procedures getting unlock codes, waiting period etc, so read that up first and you have installed (this would help , if you don't have it Is there a minimal installation of ADB?).
* Second, and **very important** read these installation instructions from Magisk Developer before proceeding. There are many variants of device architectures and OEM specific issues.
* Third, read **above step thoroughly** and accept outcome of your actions. Especially, Samsung /Huawei users, see respective linked sections.
* Fourth, this answer is applicable to devices having

+ boot ramdisk in which case you need a copy of the `boot.img` (in which case custom recovery if available can also be used, but then we are assuming it isn't available)
    + If your device does NOT have boot ramdisk, you need a copy of the `recovery.img` ( To verify, install Magisk Manager and check `SAR`, as explained in official Magisk instructions, linked in second bullet point or read up the forums in XDA to figure out).
* Substitute `recovery.img` for `boot.img`, if your device doesn't have ramdisk. Answer talks of `boot.img` as an example but they are interchangeable as far as process is concerned.
* This process works on all Android versions, including 11. I did it on my Pixel 4a running Android 11 (on earlier versions, my devices had custom recovery, so I didn't need this).

# Extracting boot image (or recovery)

* Get the **official firmware package or OTA files** from official firmware packages, your custom ROM zip (if using one), or go to XDA-Developers and seek for resources, guides, discussions, or ask for help in your device’s forum.
* Pick up the firmware or *full OTA* (*not* incremental OTA) file that corresponds to the Android security update of your device , not necessarily the latest (you never know if the `boot.img` has been changed).
* Prior to A/B partition system implementation ,these update firmware/ OTA packages came with partition images, which could easily be extracted and used for manual flashing. But now, these update packages come with a single `Payload.bin` file that contains the individual partition images (`boot.img` or `recovery.img`).
* There are many blogs that tell you how to this. I found How to Extract Android OTA Payload.bin File using Payload Dumper Tool on a PC or Android Device to be very comprehensive and clear.

This shows how you can extract the boot image using a Linux machine, Android or Windows.I don't intend copy pasting the article with photos in it's entirety, but all essential steps are listed.

**Using Payload Dumper Tool to Extract `Payload.bin`**

* Payload Dumper tool is basically a Python script/program created by developer ius that allows users to easily extract `Payload.bin`

**Installing Payload Dumper tool**

**On laptop (Windows/ Linux)**

1. The tool requires Python 3 or above, which can be downloaded from the official page.
2. When installing Python, make sure that it’s added to the PATH on your PC. For Windows PC, this could be easily done by checking the `Add Python to PATH` option within the installer. For Linux/macOS, you can use the instructions provided on this page.
3. Download the latest version of the Payload Dumper Tool on your PC from this link and extract its contents to a suitable location. Upon extracting you should have a new folder named `payload_dumper`.
4. Open the command-line window on your PC in the `payload_dumper` folder, where the tool and the payload.bin files are present. To do this:

* On a Windows PC: Hold the SHIFT key and right-click on an empty space inside the folder, then select the `Open PowerShell window here` option.
* On a macOS/Linux PC: Launch the Terminal and change its directory to the `payload_dumper` folder using the `cd` command. For example: If the `payload_dumper` folder is located in the `Documents` directory, then the command should look like: `cd Documents/payload_dumper`

5. In order to use the tool on your PC, you must first install ‘Protobuf‘ (Google’s data interchange format) which is basically a dependency. To install it, enter the following command.

* On Windows (in PowerShell): `python -m pip install protobuf`
    * On Linux/macOS (in Terminal): `python3 -m pip install protobuf`
6. Now to finally extract the Android OTA payload.bin file, first,extract the downloaded ZIP file to your PC . The extracted contents will include the “Payload.bin” file, which is what you’d need to extract. Copy the Payload.bin file inside the “payload\_dumper” folder. Next,enter the following command.

* On Windows (in PowerShell): `python payload_dumper.py payload.bin`
    * On Linux/macOS (in Terminal):`python3 payload_dumper.py payload.bin`
7. The tool will now start extracting the individual partition images from the Payload.bin file. Once finished, you will find the extracted files inside the same `payload_dumper` folder and you can pick up the `boot.img` or `recovery.img`

**On Android**. This is a little slower but also saves one step as you would see later.

1. Download the Payload Dumper Tool from here. Once downloaded, extract the contents of the `payload_dumper_tool_by_ius.zip` file to the root of your phone’s internal storage. You could extract it anywhere, however, the root directory is more convenient. The extracted ‘payload\_dumper’ folder will contain the tool’s Python scripts
2. Now, download the full OTA / firmware package from which you want to extract the firmware images. Once downloaded, extract the package on your device to get the `payload.bin` file. Then copy the extracted `payload.bin` file inside the ‘payload\_dumper’ folder that you extracted during step 1 above.
3. Download and install the Termux app (a Terminal Emulator, avoid the Play Store version as it is not updated) on your Android device. Once installed, launch the app from your phone’s app drawer.
4. Install and set up Python on your Android device. To do this, enter the following commands in Termux *one after the other*:

`pkg install python -y`

`pip install --upgrade pip`

`pip install protobuf`

`apt update && apt upgrade -y`
5. Now, use the following command to grant storage permissions to ‘Termux’: `termux-setup-storage`. As soon as you enter the command, you’ll see a prompt to “Allow Termux to access photos, media and files on your device”. Simply press “Allow” to grant the permissions.
6. Change Termux’s directory to the “payload\_dumper” folder using the following command, provided that you have the folder placed on the root of your phone’s internal storage.

`cd storage/shared/payload_dumper`
7. Finally, enter the following command in Termux to extract the Android OTA Payload.bin bile on your Android device: `python payload_dumper.py payload.bin`

Once finished, the extracted firmware images will be placed inside the same ‘payload\_dumper’ tool.

You are nearly done!

# Last step of patching images

(from the official Magisk instructions)

> * Copy the boot/recovery image to your device (*this step not needed if you used Android method*)
> * *Download the latest stable Magisk apk from the official source and install on your device (grant permission for installing from other sources)*
> * Press the Install button in the Magisk card
> * If you are patching a recovery image, make sure “Recovery Mode” is checked in options. In most cases it should already be automatically checked.
> * Choose “Select and Patch a File” in method, and select the stock boot/recovery image
> * Magisk Manager will patch the image to `[Internal Storage]/Download/magisk_patched.img`.
> * Copy the patched image to your PC with ADB: `adb pull /sdcard/Download/magisk_patched.img`
> * Flash the patched boot/recovery image to your device.
> * For most devices, reboot into fastboot mode and flash with command: `fastboot flash boot /path/to/magisk_patched.img` or `fastboot flash recovery /path/to/magisk_patched.img` if flashing a recovery image
> * Reboot and voila!

(Text in Italics added)

For any issue with Magisk, you will find this guide by Didgeridoohan very handy.

---
Tags: rooting, magisk, python, android-11, google-pixel-4a
---


# Question
Title: Timezone is not updating with WiFi and ethernet network in Android
I am working with Android **AOSP**. When I connect my Android device with **cellular network**, then the timezone is updating (if I enable the "auto-update time zone" option). But if I connect my device with **WiFi** or **ethernet network**, then the timezone is not updating (even if the "auto-update time zone" option is enabled).

I studied some forums, they are saying that the timezone will not update with WiFi and ethernet network.

Is it right? Please give some summary regarding this issue.

# Answer
Time synchronization via Wifi/Ethernet bases on the NTP protocol. All NTP server are running with UTC time, hence they can not provide a time zone.

If if they would the time-zone would be useless, as an NTP server can be located anywhere in the world. Typically one NTP DNS name consists on multiple NTP servers, and based on a region the closest server is selected, but that still does not mean that the server is located in the same time-zone as you are.

Only the cellular network has the Network Identity and Time Zone (NITZ) service which provides not only time but also the current time-zone. As a mobile network cell is limited to a very small area it is possible to deliver correct time zone data via cellular.
> 2 votes

---
Tags: wi-fi, settings, internet, time-zones
---


# Question
Title: Can I play DRM music from iTunes on my Android?
I thought that DRM content on iTunes could only be played on iTunes, but then I saw SongBird, a non-Apple application that can play DRM protected music.

Is there an app for that uses similar technology that can play my old iTunes purchases?

Is there any other ways I can play my music on my Android (Wildfire)?

# Answer
This has basically been answered in the comments above but I'll wrap it all up into an answer:

**No, you can't play songs that have Apple's Fairplay DRM protection on your Android phone without removing the DRM protection** *(which technically violates Apple's toc)*. As Edarerathis pointed out, Songbird doesn't actually support Fairplay DRM'd media, Quicktime does, so SongBird (like RealPlayer) uses Quicktime to decode the songs and play them. It wont work without Quicktime installed and so you can't use this functionality in Linux or Android.
> 7 votes

# Answer
Try going to the Play Store and looking for 'M4P players for Android'. There are about a dozen choices.

I'm using Video Player for Android to play my older Rolling Stones and Traffic purchases. Works fine. Even comes with an equalizer.
> 1 votes

---
Tags: music, drm, itunes
---


# Question
Title: WhatsApp on Android 11: getting rid of all notifications except for receiving messages?
I have recently installed WhatsApp on a new phone with Android 11. For some reason, WhatsApp keeps bothering me with tons and tons of notifications. 'Backing up' or 'Checking new messages' or 'WhatsApp Web is active' and whatever.

I've never seen this behaviour before on my previous installment (which was on Android 8 or 9) but it's quite annoying.

I can of course disable WhatsApp notifications entirely. However I *do* want to receive notifications in case of actual messages. I just want to disable to other ones.

I've been looking in WhatsApp Settings \> Notifications but I can't seem to find any way to do so.

Is this possible, and how?

# Answer
Starting from Android 8.0, all notifications are assigned to "channels". You can access these notification channel settings from Android settings (not the settings within WhatsApp itself) and turn individual channels' notifications on or off. It is up to the developer of the app to decide which notification goes to which channel.

Go to: `Settings -> Apps & notifications`. Select the app in question, then select `Notifications` to access the notification settings.
> 1 votes

---
Tags: notifications, whatsapp-messenger
---


# Question
Title: Why I get permission denied on ADB on Android phone?
I'm trying to cast my Android device to a PC with `adbcontrol` (tutorial here). The phone has a broken (black) screen and when I input the command `java -jar adbcontrol.jar` I get this error:

```
java.io.IOException:Cannot run program..error=13, Permission denied.

```

I have Java version: OpenJDK version "11.0.9.1" 2020-11-04

I tried getting permissions with `chmod +rwx` of the folder where `adbcontrol.jar` is located but the error persists.

Any ideas?

# Answer
before actually running `adbcontrol` you must specify paths in config file

check adb connection is working fine (previously authorized) and find a writeable location on device, for example

```
/sdcard
/storage/emulated/0
/data/local/tmp

```

depending on encryption and lock screen the location might not be available in this boot state, so better double check `adb push` is working

```
adb push ~/file.txt /sdcard

```

now open the `config.properties` file and define paths

```
adbCommand = adb
screenshotDelay = 100
localImageFilePath = adbcontrol_screenshot.png
phoneImageFilePath = /sdcard/adbcontrol_screenshot.png

```

if your adb binary is not in env you must specify path in first line. for windows paths backslash should escaped like

```
adbCommand = C:\\Android\\platform_tools\\adb.exe

```

when configured you can finally run adbcontrol from command line. the terminal will floated by debugging log (you can minimize). another window will open showing your phone screen. your keyboard and mouse input is recognized in android now

```
java -jar adbcontrol.jar

```
> 0 votes

---
Tags: adb, permissions, broken-screen
---


title: Read audio from USB OTG

text:
# Question
Title: Read audio from USB OTG
I have a lot of music files. Far more from what my SD card + internal memory could support even if they had no apps, pictures and whatnot stored into.

I have a 128Go USB stick where I store all my music so I can listen to it on any device. However, this does not work with my Android 6.0 phone.

I mean, I can plug the stick on the device with the cable, then click onto the "USB drive" notification to see the files and then play the file I want. Problem: I want to listen to music through a proper player, which goes onto the next song when one is finished and let me browse my music in an intuitive manner.

So far I was unable to find any player that would detect music on my USB stick. I think I understood now the problem comes from OTG itself - which is made for using a DAC more than a USB stick or to store files more than play them - but I wonder if there isn't some kind of trick or workaround to get, for example, my phone to detect my USB stick as an SD card, or to make it treat the stick as internal memory (which is possible with SD cards).

My phone is **not** rooted for now (haven't got the time to investigate much on this) by I do have a custom recovery (TWRP) if that can help. If rooting is necessary I'll dig more into it.

Thanks for your help !

# Answer
> 2 votes
Well, finally, I found an app that can read music from an USB stick.

# ES File Explorer

It is a file eplorer which:

1) detects USB sticks

2) comes with a simple music player with basic functions

3) can create a playlist from a specified folder

4) **can do this with USB folders**

While the player in itself is not exactly the most advanced one (it won't detect id3 tags on USB files, doesn't sort songs by Artist, Album or whatever else than alphabetical order) nor the most beautiful, it has all I need for listening music in the subway (which was my main goal here) i.e. making a playlist from my music folder and being able to shuffle it.

Hope it helps people who had the same problem as me.

**Edit**

This player has some problems. It crashes, don't detect the stick sometimes and often goes as far as restarting my phone. It does the job, but it does not do it well and the user experience is unpleasant. Therefore, if anybody has a better suggestion, please write an answer !

# Answer
> 0 votes
Okay so this is a pretty easy method, however it requires root. Luckily you have TWRP installed so all you have to do is flash SuperSU.zip (google for it "supersu xda") in TWRP. Once rebooted, grab a terminal emulator.

1. Type `su`
2. Then `mkdir /sdcard/somemusic`
3. Then `mount -o bind /path/to/otg /sdcard/some music`

You could also try StickMount in the PlayStore but I do not know if this works, it also requires root.

# Answer
> 0 votes
There's a solution over at XDA:

Simply open terminal and type:

su

sm set-force-adoptable true

# Answer
> 0 votes
If you can live with playing all the tracks of an album in your preferred predetermine order or a set of tracks like in a playlist, you could concatenate several audio tracks(files) to create single audio file.

Then, you could play the created audio file from an OTG USB drive with any audio/media app as your created file will look like a single file, but it will contain all the concatenated songs. As an example, if you have 100 tracks you could organize them into 5 or ten files. A work-around.

---
Tags: 6.0-marshmallow, music, usb-on-the-go, music-player
---


title: How to remove KINGroot?

text:
# Question
Title: How to remove KINGroot?
I installed KINGroot and regretted it. Now I can't remove all of its files because of permissions only KINGroot has. My friend tried to remove it by using towelroot and other methods but my phone crashes them. I need a PC method to remove all KINGroot files but also having my phone permanently rooted. The friend I mentioned and my other friend have rooted phones without KINGroot.

Can you please help me solve this issue.

I have:

* Samsung Galaxy S3 mini - model number: GT - I8190
* version 4.1.2
* Phone manufacturing date: Jul 28 2013

If you require any other information about my phone please let me know. I messed up.

# Answer
> 3 votes
Firstly, soon after uninstalling KingRoot be sure to get another **SU management app**, to protect your device against malicious attacks since it has elevated privileges than a non rooted device,

A checklist just in case;

* Check if KingRoot is enabled as **device administrator** (under settings≥security), sometimes it's difficult to uninstall apps with such privileges
* Try to uninstall the app from within itself, rather than dragging to uninstall (you will need to reinstall su binaries with this method, but if your goal is to just get rid of KingRoot for another SU app it's worth a go)
* Navigate directly to /system/app/ and search for a package with name com.kingroot.kinguser and delete the contents.

If the app is still stubborn, then try the PC method

Connect your device via USB with debugging enabled,

On your PC open ADB terminal and type the codes one by one

```
# mount -o rw, remount /system

# am kill com.kingroot.kinguser

# pm uninstall com.kingroot.kinguser

```

Check if the app is removed

# Answer
> 0 votes
This is what i have done: TWRP install superSu alongside Kingroot, then install an root app unistaller and delete the Kingroot app. Restart and should be SU instead of Kingroot.

# Answer
> 0 votes
You can also remove it without PC. I made a tool that will do this thing. Replace it with SuperSU from https://forum.xda-developers.com/t/2020-replace-kingroot-v5-x-or-kingo-root-with-supersu.3904880/ Which works with newer versions of KingRoot too.

---
Tags: rooting, root-access, 4.1-jelly-bean, samsung-galaxy-s-3-mini
---


# Question
Title: Can I navigate to a specific URL in Samsung Internet Browser instead of doing a Google search?
Using Samsung Internet 11.1.2.2 on Android 8.1.0.

Whenever I type an URL in the top bar, it performs a Google search with that parameter. The worst thing is that in some cases, the target URL is not in the list of the search results. Thus, I cannot go to the intended URL.

**Is there any solution for this, so I can visit the target URL in Samsung Internet Browser?**

# Answer
> 3 votes
You can simply disable the automatic searching for entered values in the address bar:

Open Settings -\> Search engine and disable "Suggest websites and search terms"

Afterwards if you enter a valid DNS name like `exampleabc.com` you will get directly to the page (in this case a generated error page as the domain does not exist).

If you just enter some search terms like `holiday` a Google search will be performed.

# Answer
> 0 votes
A workaround:

1. Create a "phantom" group in WhatsApp, where you are the only member (add another person and then remove him/her).
2. Send the URL to that group. Or you can send the URL to any other contact, if that is not a problem for you and the other.
3. Click on the URL in WhatsApp.

It will open the browser and navigate to the URL.

Plus, you can save the bookmark now.

---
Tags: google-search, url, samsung-internet-browser
---


# Question
Title: Is there anyway to make any other keyboard quick prediction insert like Swift Key?
I love swiftkey I use it as my main keyboard typing layout.

It autocorrects words like rhe-\>the automatically when you hit space. It is called quick prediction insert.

Is there any way to get this effect in GBoard or effectively any other keyboard? iOS works this way.

# Answer
> 1 votes
1. Open Gboard settings \> Text Correction
2. In the Correction section, enable Auto-Correction. Word like `rhe` will automatically be corrected to `the` when you press the Space bar.

When using Gboard version 10.0.02.338070508, an indication of the auto-correction for the word `rhe` by **`the`** being bolded among the suggested words. When it is not in bold, it won't be auto-corrected.

# Answer
> 0 votes
That feature is practically useless because you can always tap the word on the suggestion strip easily.

No (after considering possible scenarios) it is not possible in gboard because even if you somehow get it to write words on tapping spacebar (with Automate app.. i can suggest method for that if you want.. but it will be pointless in my opinion) then you won't get it to be "intelligent" (I mean when you don't want the suggest word and just willing to hit a simple space)

---
Tags: gboard
---


title: Password-protected APK installation?

text:
# Question
Title: Password-protected APK installation?
I am seeking ways to disable installing apps with APK, i.e. make the setting "Allow apps from unknown sources" password-protected or disable completely for user. Is there a way? Maybe it's possible from adb shell?

I am running LinageOS 13 on Lenovo Vibe A Plus and can flash 14.1 if needed.

# Answer
I feel I found a solution to my problem. Though it is not exactly what is in the question title it perfectly does the job.

In the LineageOS there is a special setting that is located in the *Settings\>Privacy* menu, this setting is called **Protected apps**

In this applet you can specify any app and protect it with pattern.

Just literally ANY, including **Settings**, which perfectly fits my needs. If the user cannot enter the settings he cannot install APK as well!
> 0 votes

---
Tags: security, apk, lineageos, lenovo, password-protection
---


# Question
Title: Is media volume only now integrated into Android?
The following app: media volume only allows you to only change the media volume on Android phones(and phone when using).

Have briefly experimented with phones in stores it appears this feature is integrated now into Android. Is this correct?

# Answer
**Yes**, this was a change introduced in Android 9. Prior to Android 9, volume buttons controlled ringer volume.

See Handling changes in audio output | Android Developers

> Users expect to be able to control the volume of an audio app.... By default, pressing the **volume control modifies the volume of the active audio stream**. If your app isn't currently playing anything, hitting the volume keys adjusts the music volume (or the **ringer volume before Android 9**).

(Emphasis added)

You can see the same in the review of Android 9 by Android Police Android P feature spotlight: Volume buttons change media volume by default instead of the ringer.

> By default, pressing the volume buttons on Android Oreo (and below) will change the ringer volume. If you're currently playing media, the volume buttons change to control the media volume. Starting with Android P, the volume buttons now control the media volume by default. No more accidentally setting your phone to vibrate.
> 4 votes

---
Tags: volume-control, volume
---


# Question
Title: How Do We Set the Default Camera App in Android 11?
In Android 11 Beta 3, Google is blocking the ability for third-party camera apps to handle photo/video requests on behalf of other apps. Interested developers can read the release notes for the rationale behind this change.

However, there is one odd sentence in that explanation:

> A user can set a third party camera app as the default camera app.

Here is the "Default apps" screen in Settings:

I don't see "Camera" on there. And if I search for "default" in Settings, I do not see an option for setting the default camera app.

So... how do we set the default camera app in Android 11?

# Answer
> 9 votes
I am on Android 11 (Pixel 4a) and was searching to do this and I recalled this question (had posted an answer and deleted, not being correct) . Here's the answer from Android 11 Changelog — Full List of All 50+ New Features

> **You Can't Change the Default Camera** To prevent malicious apps from capturing your location, Google has removed the ability to set a third-party camera app as default. You can continue to use the third-party app as usual, but if an app requests to use the camera app, it will use the preinstalled one. But the change isn't as dramatic as it sounds — you can still use the cameras that are built into apps such as Snapchat and set shortcuts to third-party apps.

As Andrew said in comments(now deleted) , the release notes do not include that sentence to the effect that third party apps can be set as default camera app.

---
Tags: camera, default-applications, developer-preview, android-11
---


# Question
Title: Understand new icon in Android 11 call logs
In the phone call log, what does the green network icon mean after I upgraded to Android 11?

Does that mean that the phone call went through the Wi-FI network instead of 4G/5G ?

# Answer
> 2 votes
Yes, this is voice calling over Wi-Fi but not related to Android 11.

I have a Pixel 4a, Android 11 with Wi-Fi calling enabled but do not see that symbol in call logs. I couldn't find any reference to it in the Android 11 changes.

Wi-Fi calling needs to enabled by a) carrier b) compatible devices. Both need to be compatible. Probably your carrier, recently upgraded to this facility and hence you see this symbol. This symbol has been reported in call logs on certain devices four years ago on Galaxy S7 Edge. So, it looks to me like an OEM specific feature.

Related What is this icon depicting a phone and Wi-Fi together?. You should see this or similar symbol when you are placing a call on Wi-Fi.

---
Tags: wi-fi, call-history, samsung-galaxy-s-20
---


# Question
Title: how does share it application use our information?
I would like to know, does share it application store our photos and videos on its server since it has access to phone's gallery

# Answer
> 1 votes
But it's said in their TOS. Please refer it here.

# Answer
> 0 votes
No, when you share files, the two devices work by creating a hotspot on one device, and connecting to it on the other. This way, the data is transmitted from one phone to another using the Wi-Fi network, and no data is sent to any servers. This is why they make it clear that no mobile data is needed.

---
Tags: applications, shareit
---


# Question
Title: Firefox for Android showing "There is a more recent version of the page [...], do you want to reload?"
When I reopened Firefox after a few hours, it normally opens the last website I've viewed, but it displayed for a second a strange message popup similar to:

> There is a more recent version of the page on the server, do you want to reload?

(maybe it's not the exact phrase because of my translation and that I may have not read the popup correctly).

I opened Firefox about 4 hours before, then left Firefox on standby on the phone. Then I reopened the site without refreshing when I saw the notification above.

I have no malware on the smartphone, and it was just a normal website about cars.

What does the notification mean?

# Answer
> 1 votes
The message "*there is a more recent version of the page on the server, do you want to reload?*" is shown by the website itself. It is generated via JavaScript and other web techniques and therefore can vary by size, displayed text, and other properties.

When you re-open Firefox, the previously cached web page is displayed. Some websites use special web techniques (JavaScript + WebSocket) to connect to the server in the background and check for provided update information.

For example, the Stack Overflow/Stack Exchange web pages also use this technique for displaying an info header that new questions are available or that there is a new message in your "inbox".

Therefore, if your browser first loads the cached page and then checks for updates and displays this message. As the message is generated by the web page, not by the web browser itself, it will only appear on web pages that use this technique and it may look totally different on each page.

---
Tags: firefox-for-android
---


# Question
Title: Updating Pixel after many months. Will I get all the missing monthly security patches?
**Not** a duplicate of this Are security patches only applied to the latest Android version?

---

I have a Pixel 4a, Android 11, running November security update. For various reasons, I do not wish to apply monthly updates, maybe do it once in a quarter or maybe even more (I know & accept the risk, let's not get into that).

> This (OTA) has the same effect as flashing the corresponding factory image, but without the need to wipe the device or unlock the bootloader.

My question now is that **will the June 21 full OTA incorporate all the intermediate security patches (seven months) ?**

I searched a lot (fairly good at that) but couldn't get a conclusive answer.

I am looking for an answer with credible backing (it may change my update plan).

# Answer
Thanks to the chat discussion with Irfan Latif, alecxs and Kulfy the consensus was :

* The OTA update *should* in theory have all previous security patches applied.
* Updates are not covered under AOSP documentation and it's left to OEMs discretion. Probably that's why there isn't documentation around this.
* Therefore, reach out to Google for a conclusive answer.

I chatted with Google and this person had to take help of technical resource. The chat window is tiny but here is the conclusion

> I've checked this with my resources and would like to inform you that once you've updated your device to the latest security patch so it should cover all the security patch features up till date.

Despite my request they couldn't offer any technical insight in terms of documentation or code,which would have been nice but then I got a credible answer!
> 6 votes

---
Tags: updates, security, ota-update, android-11, google-pixel-4a
---


# Question
Title: Chose which player is activated by headphones play/pause buttons
I have 3 pairs of Bluetooth headphones:

1. Sony WH-1000xm4
2. Jabra Elite Active 65t
3. Cardo PacTack bold (motorcycle communicator, works as Bluetooth headset)

On my Pixel 5 I have 2 sound players installed:

1. YouTube Music (for music)
2. Smart AudioBook Player (for audiobooks)

Whenever I am listening to music using YouTube music and press the pause and then resume button on any of my Bluetooth devices, it switches to playing audiobooks in Smart Player! This is very annoying, especially on a motorcycle where I need to stop to be able to unlock my screen to switch back to YouTube!

If there is a way to set up which player is activated when a play button on Bluetooth headphones is pressed? Or at least disable some players from being ever activated by a button?

# Answer
> 3 votes
Bluetooth connect & Play from Play Store meets your needs. App description says

> This app is designed to tie the Bluetooth connect event to playing the music player of your choice. Unlike other auto-play options, this allows you to select the specific player that should be used.

I have Jabra Elite 65T (not active) and it worked by letting me choose which music player to be activated on key press. I didn't try with your audio book player, though, but I guess it should work.

Bonus point is that it has zero trackers as per Exodus

---
Tags: music-player, bluetooth-audio, audiobooks, audio-controls
---


# Question
Title: How can I enable usb debugging on a broken phone?
My android mobile is accidentally broken. And the usb debugging is set to off. If I can enable it I could use it through visor in PC. But can't do it now. :( I don't have OTG supported too. My android version is **7.0 Nougat**. The manufacturer is **Symphony LiteTel**. Model: **Symphony LiteTel - LT4502** Is there any way? :(

# Answer
**you can't do much because device has locked bootloader**

well. so spoken, you can't do much wrong and can try something stupid ;) basically `adb` can be enabled by modifying `boot` or `system` partition. but locked bootloader means no modifications allowed.

some older devices have no protection for flashing modified partitions, only `avb/dm-verity` will deny boot in such case.

**however, Magisk is able to by-pass dm-verity** in some cases. most likely you will **brick** your device with this method, but give it a try (you can repair it by restoring official partitions)

* download latest platform-tools
* get a flash tool for your device. for Spreadtrum/Unisoc chipset it's SPD Upgrade Tool (make sure you download latest version)
* install Spreadtrum USB drivers
* download stock ROM according to your current android version / build number (you can check from fastboot)

```
fastboot devices
fastboot getvar all

```
* in `UpgradeDownload.ini` (SPD\_Upgrade\_Tool) change the following flags

```
Repartition = 0
ShowOtherPage = 1
CanEdit = 1
CanSelect = 1

```
* extract the stock ROM and find the `boot.img` (you will patch) and the `userdata.img` (you must delete) in **SPD ImageFiles/\_DownloadFiles**

---

**1. Magisk root + enable usb-debugging + by-pass dm-verity**

* unpack the `boot.img` with any ramdisk tool
(i recommend AIK **unpackimg.bat**)
* modify `default.prop` to enable adb
(use Notepad++ for correct line ending **LF**)

```
ro.secure=0
ro.adb.secure=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb

```
* repack ramdisk/kernel and copy `image-new.img` to any android device (android 7.0 recommended)
* install Magisk Manager and patch the image file with settings *"keep AVB/dm-verity"* and *"keep force encryption"*
* goto settings - about device - tap build number 7x (seven) times and enable usb-debugging in developer options
* open `cmd.exe`, navigate to **platform-tools** folder and copy `magisk_patched.img` back to PC

```
adb devices
adb pull /sdcard/Download/magisk_patched.img

```

---

**2. now comes the tricky part. you must flash that file to your broken device (boot partition). that is untested and may fail**

* open SPD Upgrade Tool - Settings - Main Page. uncheck all entries that do not apply to boot partition
* especially make sure all entries related to *"Erase"* or *"UserData"* are removed. you only want to flash boot (not to confuse with uboot)
* select `magisk_patched.img` from **platform-tools** folder and replace the original `boot.img` in the proper entry
* Power off your device. connect your device. start the flashing process

---

**finally, reboot your device and check adb connection**

```
adb devices
scrcpy

```

if no adb connection that means the bootloader does not allow modified partitions and your device is bricked now

unbrick by flashing the **original** `boot.img` (see step 2)

**make sure never flash userdata you will lose all data**
> 1 votes

---
Tags: usb, usb-debugging, broken-screen
---


# Question
Title: How can I change media volume when no media is being played?
Sometimes I want to play games in (near) silence, and don't like the background music to disturb people. If I use the volume buttons, the ringtone volume is changed instead of media volume. When I'm already in the game, the volume buttons do change the volume of background music, but it's kinda too late.

Is there a way for me to change the media volume to a level I like, from the home screen, before starting apps/games?

# Answer
> 12 votes
1. You can go to `Settings > Sound > Volume` and turn down the Media volume all the way to 0.
2. I used AutomateIt to Mute Media sound unless the earphone is plugged.
3. A hack that I used to do is to just cover up the speaker hole until I can turn down the volume.

# Answer
> 4 votes
On AOSP Android 6.0 Marshmallow, this feature is integrated into the OS.

From an article on Pocket-lint,

> **Android 6.0 Marshmallow: Volume controls**
>
> One of the places where Lollipop went a little haywire was with the volume and controlling those new notifications. These new fangled volume controls sent ripples across Android devices on Lollipop with manufacturer skins that followed, and have been tweaked by all and sundry ever since.
>
> On Android 6.0 Marshmallow, they have changed. Hooray!
>
> Hitting volume down or up will open the volume controller and a drop-down arrow will let you change the ringer volume, alarm volume and media volume independently. That means you can ensure that game you're about to start up in bed doesn't blare out music as soon as it opens.
>
> Image courtesy of TrustedReviews

# Answer
> 3 votes
If you have Tasker, you can use it to adjust your media volume based on proximity to a WiFi network and many other conditions. I have mine configured to set the media volume to 1 when in range of the office WiFi (as well as setting the ringer volume to an appropriate level, etc.). You can also configure gestures as triggers, but I have not tried this.

# Answer
> 3 votes
On some firmware (e.g. Xperia Z series, WanamLite Jellybean ROM), when you hit the hardware volume keys, a slider pops up with a settings icon next to it. Tapping on this icon allows you to change the Media Volume:

Click image to view larger version

# Answer
> 2 votes
Much simpler way to do,

1. Open your music player(any) app
2. Without playing any song just lower the volume from the volume rockers(buttons) while in the app.

This will lower the all media Volume. :-)

# Answer
> 0 votes
The people at bug #65491 and Android Central suggest the app Rocker Locker.

1. Install Rocker Locker.
2. Launch it (screenshot).
3. Tap “Enable” (screenshot).
4. Remove the automatically created app shortcut from your launcher/homescreen (do not uninstall it, of course) because you are never going to need to open it again.

This app was created specifically to address the annoyance with the functionality of volume buttons in Android 5.x (Lollipop). The app causes the volume buttons to always change the media volume instead of ringer volume. It works from the lock screen. It claims to work across restarts, though I haven’t tried this.

# Answer
> 0 votes
I think Rocker locker is battery drainer because it play empty media file on background service and it makes white noise.

I suggest utility app named NGC 4388 on Play store is better than before. The app doesn't make white noise and battery drain.

https://play.google.com/store/apps/details?id=catchpower.gogo.blackholeaddons

# Answer
> 0 votes
I suggest Rocker Locker, the best choice for android, keep it auto-run when restart. The ringtone volume can be adjust by drop-down shortcut, and volume-up,down button can be used to adjust media volume, it's perfect. can't live without it Lol:)

# Answer
> 0 votes
go to settings, then sound and vibration, look for "use volume keys for media" turn it off! it took me 2 weeks of HORROR to find it. s8 plus owner

# Answer
> 0 votes
if you have samsung s7 + I know you can enable Media Volume to be adjusted without playing media by default, just press volume key down up then pie swipe handle down then press use volume keys for media or on Oreo press the arrow in top corner then at bottom press use volume keys for media also found in device settings tab sounds.

---
Tags: volume-control
---


# Question
Title: Why can't Windows detect phones, even when the USB driver is installed?
After reinstalling Windows, both two of my Samsung phones cannot be recognized by the OS. In Device Manager it shows this:

I tried to install:

And activated USB Debugging mode, but none of this still work.

Despite of that Odin can still detect it:

Using `adb devices -l` yields this result:

```
List of devices attached
420039c4de446300       device product:j1x3gxx model:SM_J120H device:j1x3g

```

or

```
List of devices attached
504bc61e               device product:j2y18ltedx model:SM_J250F device:j2y18lte

```

Do you know why?

# Answer
It seems that the reason for this is because you are using the N version of Windows. Microsoft explicitly states that some features are effected in this version. Users have reported that the wpdmtp.inf file is missing, and this is why the MTP protocol has error.

You can download Media Feature Pack to fix this.

And why does this need to happen? From What Is an “N” or “KN” Edition of Windows?

> These editions of Windows exist entirely for legal reasons. In 2004, the European Commission found Microsoft had violated European antitrust law, abusing its monopoly in the market to hurt competing video and audio applications. The EU fined Microsoft €500 million and required Microsoft to offer a version of Windows without Windows Media Player. Consumers and PC manufacturers can choose this version of Windows and install their preferred multimedia applications without Windows Media Player also being present. It’s not the only version of Windows offered in the European Union—it’s just an option that has to be available. This is why the “N” editions are only available in Europe.
> 2 votes

# Answer
Often you first have to install the driver and then connect the device. If you do it the other way around the driver will not be applied correctly. Delete the shown MTP entry and disconnect + reconnect your phone. Also run Windows update with enabled "updates for all Microsoft products".

Regarding adb your new PC is unknown to the device (because the stored adb RSA key has been lost because of the new installation) and therefore it denies adb access (device unauthorized).
You first have to unlock the device (enter pin/password/pattern) and then accept the dialog that asks you if your device is allowed to connect via adb.

And that Odin works at the same time is because Odin uses different drivers. From the perspective of your computer you have 3 USB devices, one for MTP, one for adb and one for Odin. Check it out by selecting the MTP device and then changing the device manager "View" -\> "Devices by connection".

You will see al the USB device endpoints from your device.
> 1 votes

---
Tags: adb, samsung, usb-debugging, usb-connection-mode
---


# Question
Title: How can I find the exact factory image version that my Pixel is using?
I have a Pixel 3XL on android 10 and a Pixel 3a on android 11. I had previously installed magisk on the Pixel 3a when android 11 was in beta. Recently I found that it had lost root, presumably because android 11 is out of beta and the phone had upgraded to the latest android 11 and was not using the magisk-patched boot image anymore. So, I patched the corresponding boot image for the latest android 11 factory image for pixel 3a, and fastboot flashed it, and it worked.

Unfortunately, I had mixed up my two phones in the fastboot flash step at first, and so then I ended up with the Pixel 3a with android 11 rooted again, but also with the Pixel 3XL stuck on boot, I guess because it had a wrong boot image (for pixel 3a actually) flashed into it. I tried to fix the Pixel 3XL by getting the latest android 10 factory image for it and patching the boot image with magisk. However, after fastboot flash of that patched boot image, it only worked partially. Namely, it could boot, adb shell works, etc., *but* it no longer responds to touch, so can't be used except for adb shell.

I'm guessing the problem is that I didn't know what was the factory image actually installed on my Pixel 3L, so I just guessed it was the latest, but the boot image from the latest might have some incompatibility with the actual factory image in the phone. I would like to find out what is the actual factory image installed on the Pixel 3L, so I can try to patch the matching boot image.

Hence, my question, how can I know what is the exact version of the android 10 factory image installed on my Pixel 3L? Googling doesn't seem to help, as most pages talk about how to install factory images, not how to find out what is the version installed. In answering my question, please note that I can't interact with the phone now through touch, so cannot check anything under "Settings" with the touch GUI, but can only see the fastboot info (see screenshot below) as well as anything I can access with adb shell (for example, any file in the phone I can check to find out the factory image version installed on the phone?)

# Answer
> 2 votes
Problem solved, my android 10 phone is working again!

The **first** crucial observation was that there are something like 18 different different versions of the factory images for Pixel 3 XL for Android 10. However, there is an interesting difference in the naming convention for the first 5 of these factory images, compared to the rest. The first 5 begin with "QP1A" where the rest begin with "QQ1A". See snapshot below for what I mean ..

Originally, I had just tried with the most recent factory image, which is QQ3A.200805.001, dated August 2020. Now, the most recent QP.. image, QP1A.191105.003, dated Nov 2019, was emerging as a candidate to try.

The **second** crucial observation was, looking at the factory image for QQ3A.200805.001, in the same zip file inside it that contains the boot.img, there is also an android-info.txt file, highlighted in blue in the screenshot below. So I was like, "duh .. why don't I see what it says?"

Here is what the android-info.txt says:

> require board=crosshatch|blueline
>
> require partition-exists=product
>
> require version-bootloader=b1c1-0.2-6374987
>
> require version-baseband=g845-00107-200409-B-6382632

Now, compare the bootloader and baseband versions here with the versions shown in my fastboot screen (the screenshot posted in my question above). So for this phone, I have bootloader=b1c1-0.2-5672671 and baseband=g845-00048-190722-B-5745561

Unless I misunderstand what "require" means, then "require version-bootloader=b1c1-0.2-6374987" and "require version-baseband=g845-00107-200409-B-6382632" clearly explain why the boot image from QQ3A.200805.001 didn't work as desired. It ***requires*** different versions of the bootloader and baseband than I had on my phone.

Excitedly, I checked the android-info.txt from the factory image of QP1A.191105.003, and the versions matched!

> require board=crosshatch|blueline
>
> require partition-exists=product
>
> require version-bootloader=b1c1-0.2-5672671
>
> require version-baseband=g845-00048-190722-B-5745561

By the way, I also checked another of the QP.. factory images (QP1A.191005.007, Oct 2019), and the bootloader and baseband versions also matched. Whereas even the earliest of the QQ.. factory images, (QQ1A.191205.008, Dec 2019), didn't match.

Anyway, happy to report that after patching the boot image from QP1A.191105.003, Nov 2019, and flashing it to the phone, touch has been restored and everything appears to be working properly again.

---
Tags: fastboot, google-pixel, factory-image, google-pixel-3-xl
---


# Question
Title: Chrome browser frozen from scam tab. How to fix?
I got an ad popup in a new tab in the Chrome broswer from visiting a site & now that tab ad won't close or let me use Chrome.

Tried force stopping & clearing cache but Chrome is still frozen. Tried restarting phone. No change. See the photo for the tab that won't close. It's the "critical..." one that has frozen Chrome. Can't close any tabs at all too. Any suggestions? Also, Malwarebytes' scan result = nothing.

# Answer
You could always uninstall chrome, and then reinstall. That's assuming you don't have any bookmarks you care about.
> 1 votes

# Answer
If you don't have a warranty on your phone anymore, you can root it and then uninstall 'preinstalled apps'.
> 0 votes

# Answer
Just wipe user data, related to browser (Settings =\> Apps). No need for reinstall, wiping data+cache is the important step!
> 0 votes

---
Tags: chrome-for-android
---


# Question
Title: Is erasing the `misc` partition a solution to automatic/unnecessary boot into TWRP after having installed LineageOS 15?
*I'm sure this question has been asked before, but I'm unable to find a good answer that I can understand, so bear with me:*

I've recently installed TWRP & LineageOS 15 on my Moto G5 (cedric), although I'm sure I messed the process up a bit, because I had almost-bricked my phone in the meantime and don't really understand how I solved it either. Now everything is working again, except for the fact that **when I (re)start my phone, it automatically boots into TWRP instead of LineageOS**. The way I boot into LineageOS anyway, is to tell TWRP to reboot into the bootloader (or go to the bootloader directly with the volume key trick), and then from the bootloader I use 'start'.

A possible solution that I've found on the internet involved changing / erasing the `misc` partition, as it would be responsible for directing a boot to either TWRP or LineageOS. However, other google results tell me that erasing `misc` could gravely upset your phone.

**The main question is: Is it correct that zero-ing the `misc` partition is a solution to this boot issue, as the possible solution states? Or is it misleading and the boot issue is probably something else entirely?**

Here's the hexdump of the current contents of my `misc` partition (the result of first copying it to my computer with `dd if=/dev/block/bootdevice/by-name/misc of=/storage/FE84-1705/misc.img` and `adb pull ...`, and then running `hexdump -C misc.img`):

```
hexdump -C misc.img
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800  62 6f 6f 74 2d 72 65 63  6f 76 65 72 79 00 00 00  |boot-recovery...|
00000810  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000840  72 65 63 6f 76 65 72 79  0a 2d 2d 77 69 70 65 5f  |recovery.--wipe_|
00000850  64 61 74 61 0a 2d 2d 72  65 61 73 6f 6e 3d 77 69  |data.--reason=wi|
00000860  70 65 5f 64 61 74 61 5f  76 69 61 5f 72 65 63 6f  |pe_data_via_reco|
00000870  76 65 72 79 0a 00 00 00  00 00 00 00 00 00 00 00  |very............|
00000880  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001500  71 65 20 30 2f 30 00 00  00 00 00 00 00 00 00 00  |qe 0/0..........|
00001510  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001520  31 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |1...............|
00001530  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000

```

And this is the result of running `fdisk -l misc.img`:

```
Disk misc.img: 1 MiB, 1048576 bytes, 2048 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

```

Furthermore, I've installed TWRP 3.2.1-0-cedric and LineageOS 15.0-20171125\_073252-UNOFFICIAL-cedric.

# Answer
I went ahead and changed it anyway, and the answer is **YES**.

The `qe 0/0` part has something to do with Motorola's way of assessing whether the phone is and/or has been rooted, and the last `1` I don't understand. I went ahead and used `hexedit` to remove only the `boot-recovery` and `recovery.--wipe_data.--reason=wipe_data_via_recovery` parts, then transferred and wrote the new image back to the `misc` partition; and now the phone starts up to LineageOS automatically.
> 1 votes

# Answer
Some comments for those who need (save your time to google):

### What is the misc partition?

> MISC - also FOTA on older devices
> It's a tiny partition used by recovery to communicate with bootloader store away some information about what it's doing in case the device is restarted while the OTA package is being applied. It is a boot mode selector used to pass data among various stages of the boot chain (boot into recovery mode, fastboot etc.). e.g. if it is empty (all zero), system boots normally. If it contains recovery mode selector, system boots into recovery mode. It may also carry some necessarily required information in the form of switches to control hardware or settings related tasks such as CID (Carrier or Region ID) information and USB configurations etc.

Source: \[INFO\] ANDROID DEVICE PARTITIONS and FILESYSTEMS | XDA Developers Forums

### Locating misc/fota folder

From TWRP terminal (or via adb shell):

```
ls -d $(find /dev/block -name by-name)/*

```

### Windows equivalent of `hexdump`

Windows doesn't provide an equivalent command for `hexdump`. However, in PowerShell 5.0+, there is one with `format-hex`. Still, in my opinion `hexdump` is better.

### Don't forget to backup

To create backup:

```
adb pull /dev/block/platform/soc/7824900.sdhci/by-name/fota fota.img

```

To restore backup:

```
adb push fota.img /dev/block/platform/soc/7824900.sdhci/by-name/fota

```

In my case it didn't work, so I restore it because only the OEM knows what it means
> 2 votes

---
Tags: boot, twrp, partitions, lineageos
---


title: Viewing distance in Google Fit

text:
# Question
Title: Viewing distance in Google Fit
I can't figure out how to view distances in Google Fit. When I walk, it only shows steps and duration. Is it possible to see the distance? How?

# Answer
> 2 votes
At current there is no way to view distance, however it will probably come in a future update.

However you could calculate it by multiplying your steps by your average stride.

You can get your average stride by walking 10 metres, counting how many steps you take, and divide 10 by the number of steps.

One thing to bear in mind about google fit, is that it isn't designed to track say, where you went on a run, it is designed to do low power, background tracking and this is probably why there was no distance feature to begin with.

# Answer
> 6 votes
Good news! As of May 13, 2015, Google Fit was updated to show more kind of data: calories burned and **distance**. Note that the distance *is approximated*.

On the main screen, select the right drop-down list to change from active time/steps to distance, **or** tap/slide the big circle diagram to the second point.

You can also set the units to kilometers/miles in the settings.

<sup>(Image courtesy of Google)</sup>

# Answer
> 0 votes
The km is not calculated correctly in Google Fit.

It should calculate 1400 steps = 1 km

When there us a break it does not take the previous stros into account.

The calculation should be in a day how many steps walked and it should calculate 1 KM at 1400 steps.

By the process we come to know from 12 am to 12 pm how much we walked in a day in e Steps KM Calories Heart beat

---
Tags: google-fit
---


title: Which phones have the purest Android?

text:
# Question
Title: Which phones have the purest Android?
I'm looking for phones with stock Android. I was able to find articles on the internet, but they mention mostly new phones, and I'm more interested in older (cheaper) versions.

I have Google Pixel (one) and from what I read, it's the one with "vanilla" Android. But there are some preinstalled apps on it - like Google Play Music, Google Play Movies, which I cannot uninstall (without rooting). I neither need nor use them and consider them bloatware.

Is it possible to find a phone from a manufacturer which does not have even such Google apps? Or they just must be there?

# Answer
**tl:dr;** Google phones have the purest Android. They come with Google apps

In Android ecosystem, phones launched by Google are *stock* Android (aka vanilla). It's the purest form of Android because Google developed the OS and tightly integrated with the hardware (earlier Nexus and now Pixel). They come with Google apps, you *can't avoid them*, unless you root your device and uninstall.

If you are looking for a phone that is running Android LineageOS -XDA launched a phone that ran LineageOS /Ubuntu out of box. Such devices are more of an exception to the rule (running LineageOS out of the box, as you mentioned in the last paragraph of the question, though LineageOS doesn't qualify as pure Android)
> 18 votes

# Answer
How about looking for models supported by LineageOS? This is a ROM you can flash to your device, and you can even use it without the Google Apps (or flash them later)

> Although they are not included in LineageOS as such due to legal issues,\[44\] users can flash the normal Google apps, including the Google Play Store and Play Apps, with a Zip package, usually referred to as gapps, while installing LineageOS.

You'll need to make sure that you can unlock your phone's bootloader/root the device (double check before you buy it).
> 16 votes

# Answer
The question has quite deep implications.

Android is not an OS, it is an "ecosystem".

There is Android Open Source Project. This is the "base" of the Android OS.

Hardly usable and you will not find pure AOSP on any factory phone.

Vendors get AOSP and build over it to make some phone firmware that fits their business model (it may as well be useful for the user, but this is completely optional).

Then, there is Lineage OS \- a community-built Android OS made for selected phone models. In general, it is built just like the vendors' firmwares, except for not having a real business model and driven more or less by the contributors' understanding of usability.

LineageOS comes without any Google apps (not even Google Play, so you cannot directly get apps from it). But you can use OpenGApps to get either the bare minimum of Google stuff (like "pico" package with Google Play only), something more, or a full-blown Google suite. There are also great sources to obtain open-source apps, such as F-Droid.

Or you may skip this step and use some other means to get apps (a lot of limitations apply).

It's worth mentioning that neither Google nor phone vendors are happy with people installing LineageOS (or other similar packages). This breaks their business model. The process of replacing the phone vendor's software is intentionally made complex and challenging. In most cases, it also voids phone's warranty.

There are also a niche phone vendors that ship phones with LineageOS.
> 11 votes

# Answer
In addition to the Pixel phones from Google, Android One phones also enjoy a clean interface and receive timely software updates and security patches. Currently, Nokia and Motorola phones are the most prominent Android One phones (see, e.g., Best Android One Phones in 2020.

Some phone brands like OnePlus and Realme keep their Android flavor light but I would not call them vanilla Android.
> 0 votes

# Answer
Sony Xperia Phones have a very close to Stock Android UI eg Sony Xperia 1 II

You can learn more about the latest update to Android 11 for the aforementioned phone in the following Youtube Video:

Sony Xperia 1 II Update Android 11 | 15 New Features.

Hope this helps & Merry Christmas !
> 0 votes

---
Tags: stock-android, system-apps, stock-rom, google-pixel, bloatware
---


# Question
Title: At what decibel does Android Pie shows high volume warning?
At what decibel does Android Pie shows high volume warning?

# Answer
> 0 votes
According to an article here by Kevin Arrows:

> The reason Android phones \[give high volume warning\] is due to regulations set by the European Committee for Electrotechnical Standardization, which dictate that media playback devices must have a maximum output value of 85 dB – past 85 dB and the user must accept a warning.

So, the decibel limit might be 85 in Android Pie.

---
Tags: volume
---


# Question
Title: Sideload non-'Android TV' app to show on the home screen
I've sideloaded an app on my Xiaomi Mi Box `adb install myapk.apk`. It worked and I can start it. My problem is, that it got installed as system app, which is only accesible over the settings and prevents me from adding it to the home screen, which makes it really anoying.

Can I sideload an app directly as user app or can I convert a existing system app to a user app?

EDIT: The app I sideloaded is a tv app of a provider which is supposed to only run on mobile devices, as the distribute apple tv.

# Answer
> 2 votes
I found a working solution for me. As I cannot add the sideloaded app to my home screen, I used this service to generate a launcher app which can be added to the home screen and will start the main app: http://atvlauncher.trekgonewild.de/index.php

---
Tags: system-apps, android-tv, side-loading
---


# Question
Title: How to use multibyte file names in adb shell?
I have a Galaxy S6 running Android 7.0:

```
zeroflte:/ $ getprop ro.build.version.release
7.0

```

There exists a file which uses the Unicode codepoint `U+1F308` (`RAINBOW`) in its name:

```
zeroflte:/ $ ls -al /sdcard/tmp
total 1024
drwxrwx--x  5 root sdcard_rw 4096 2020-07-09 05:44 .
drwxrwx--x 49 root sdcard_rw 4096 2020-06-25 07:27 ..
-rw-rw----  1 root sdcard_rw   17 2018-04-25 20:47 123.org
drwxrwx--x  2 root sdcard_rw 4096 2020-07-09 05:54 crypt
-rw-rw----  1 root sdcard_rw    9 2020-07-08 13:26 .gpx
zeroflte:/ $

```

However, I have no idea how to use this file name in an adb shell command. I would like to apply `ls -1 -d -l /sdcard/tmp/\.gpx` or similar, but I cannot enter the `RAINBOW` char. Any idea how to do this?

# Answer
> 2 votes
`mksh` developer here.

`mksh` uses UTF-8 internally, but is currently limited to the BMP (basic multilingua plane), which means U+0000 to U+FFFD. If you want to use SMP codepoints (U-00010000 to U-0010FFFD) on the input line, you currently have to *dis*able the UTF-8 mode (sorry):

```
$ set +U

```

That switches to a byte-wise mode which does not limit the input. (You can tab-complete files with SMP characters in them, but not directly input them, because input is validated.)

```
$ set -U   # switches back to UTF-8 mode

```

Switching mksh to full 21-bit Unicode is already on my TODO, and I’m currently hoping to be able to provide it for the next release.

---
Tags: adb, shell, mksh
---


# Question
Title: How to save specific WhatsApp video when by default Media Visibility is off?
I normally have the Media Visibility setting off so it doesn't store WhatsApp media on my phone but recently a friend sent some videos I want to transfer to computer/email. I cannot find these anywhere - I looked in the File Manager for all possible WhatsApp folders, both internal and SD card. I changed the Media Visibility to "on" but it's not a "new" video so it still doesn't save them. It's gotta be downloaded somewhere on my phone - is there any way to transfer them? The "Share" function only allows forwarding to other WhatsApp contacts and not email etc

# Answer
> 0 votes
Okay, finally found a way. From the chat, I have to click the group of videos, then tap and hold on one specific video, then the "Share" button shows up to share through email. Gotta do the videos one at a time - it won't show the Share button for multiple videos selected, only the Forward button.

---
Tags: whatsapp-messenger, file-management, media-files
---


# Question
Title: No text message notifications on Android 4.4.2
I just upgraded my Note 2 with 4.4.2, and since then I stop receiving notifications from text messages, voice mails and emails. I do not see the LED blinking on any text messages or voice messages.

Everything is active in my LED indicator, everything in my "messagings notification settings" is enable, all my volume are at 100%

What can I do to fix thiS?

# Answer
For your SMS:

Check if the notifications in "messaging" is turned off. Maybe you, someone or an app turned it off (untrusted app). Turn on the app and make sure the "show notifications" is checked.

Go to: Settings -\> More -\> Application Manager -\> All -\> Messaging

You can do the same process for emails and voice messages.

Now, make sure all the services are ON for emails and voice messages.

Go to: Settings -\> More -\> Application Manager -\> Turned off

Check if any emails or voice services are off. If these are off (you prob have rooted your phone) then you should be able to turn them back on.

You might need to reboot for these.
> 0 votes

# Answer
sorry but I have to ask, did you restarted your phone and checked if that fixes the problem, if so then go to System Settings-\>Notifications and check there if everything is set there.
> 0 votes

# Answer
Two ideas.
From your home screen, go to Settings, then choose Sounds, then choose Volume then look at the slider for Notifications. If it's all the way to the left, then your notification volume is off, slide it to the right and that might fix the problem

Also, I was told that there was a problem in the 4.4.2 build and only the "whistle" sound works.

Last, Go to settings. then choose sounds, then look for the banner that reads, "Samsung Applications" there are 4 choices under it. (Call Messaging Email Calendar) Pick Messaging. Make sure Notifications is checked. Select Ringtone must be "default ringtone".

Michael
> 0 votes

# Answer
Go to Settings -\> Apps -\> All (scroll horizontally), search for Messaging, and check Show Notifications.
> 0 votes

# Answer
I just had this issue on my Google Pixel 3XL. Click on "Shortcut to Prevent Ringing" and turn it off. All of my sounds started working after that.
> 0 votes

# Answer
Try going to sounds and notifications \> Application notifications \> Messages \> Unblock
> -1 votes

# Answer
You could as well uninstall your phone launcher. Most of these launchers might interfere with your app notifications by listing them as junk.

All the best.
> -3 votes

---
Tags: sms, 4.4-kitkat, notifications
---


# Question
Title: Contacts doesn't show up under account sync
I can't get my contacts to sync. In the contacts app (both google and default phone app) it shows "1 account" (won't tell me what, presumably the 'on device' since it still shows that if I remove my Gmail). If I try to add my Gmail account it tells me the account is "already on the device". If I go to settings\>accounts\>my Gmail\>sync there's a few switches, but contacts is not one of them. I can click my account instead of the sync menu and scroll over to People and Sharing and it tells me I have 480 contacts, and will open contacts.google.com and show them, but I can't get them on my phone.

I've tried deleting and re-adding my Gmail, clearing contacts app data, looked for a google contacts sync app (didn't have one). Contacts apps have all permissions granted.

# Answer
> 0 votes
I went under settings\>apps ticked show system apps, and searched for 'google'. Found my google contacts sync there. Went through a bunch of relevant sounding system apps that didn't all have the contacts permission, and granted contact permissions. It was to several apps, so no telling which one actually made it work.

---
Tags: contacts, sync, google-account, android-10, oneplus-5
---


# Question
Title: Checking for software vs. hardware keyboard problems.? Lenovo A12 YB-Q501F Android 6.0.1
I've got the tablet listed above, and discovered that the built-in keyboard (called the Halo Keyboard) now barely functions.

A few keys on the left side of the keyboard work, but not consistently. None on the right half of the keyboard respond at all.

It all worked fine a few months ago.

The tablet has an attached keyboard and operates almost like a laptop, but the keys are pressure-sensitive buttons rather than physical keys. The keyboard lights up when it's in a configuration to be used.

I use it mostly in tablet-only mode, and the keyboard is on the other side of the device in that mode, not active.

I tried checking for system updates but haven't found anything.

A lot of searching doesn't turn up my problems, and often gather in responses from a Windows version of this same machine. They usually refer to reinstalling drivers but I can't determine if that's applicable from the posts.

One error that I've noticed is after many attempts at hitting keys on the physical board, and then going to use the android keyboard, many of these random presses will show up later. When I start typing in a search bar, I will get hit with a long string of 'aaaaaa' or 'zzzzzz' etc.

I've rebooted the machine twice; I'm also going to try a factory reset, though there is data on the machine I want to get off first.

I'd love to see if I can determine if this is a software problem or if the keyboard itself has become faulty. I'm familiar with Linux but I'm not an expert with Android! Is there any kind of diagnostic that I can do?

# Answer
In this particular case, I discovered a small hairline crack along the physical keyboard section. (It is touch-based and flat, with no physical keys, just outlined sections for key placement.)

Everything on one side of the hairline crack is not working, and most of the stuff on the other side is, with some errors.

Although my device's problems can't be solved through software, @alecxs had some good advice for listing and monitoring devices, if that is useful for however finds this later!
> 1 votes

---
Tags: keyboard, external-keyboard, lenovo-yoga
---


title: Can't remove bloatware after rooted

text:
# Question
Title: Can't remove bloatware after rooted
After my phone is rooted (confirmed by Advanced Root Checker\*) using this tutorial, I can't remove bloatware. Normally this can be done by System app remover pro, but now the removal keeps failing. Do you know why is that?

<sub>\*It says that I don't have "Read/Write Path". I don't know what this mean and am not sure if it's relevant here.</sub>

# Answer
You don't have to root your device for debloating.
System apps can be "uninstalled" from adb shell

```
adb shell pm disable --user 0 <pkgname>

```

(actually that will disable the app. Do this again after each factory reset)

---

If your device is rooted with Magisk you can remove apps from system (overlay).
Just create some empty files for the file/directory you want remove

```
/data/adb/modules/DEBLOAT/system/app/Bloatware/.replace
/data/adb/modules/DEBLOAT/system/app/Bloatware.apk

```

where DEBLOAT is the id name of your Magisk module and module.prop is the module info

```
/data/adb/modules/DEBLOAT/module.prop

id=DEBLOAT
name=my first module
version=0.0.0 pre alpha
versionCode=000
author=my name
description=just remove some of my system apps

```

If you want you can create a Magisk flashable zip for your module, so you have it handy in case you need it again.

---

Additional explanation quoted from the Magisk Developer Guides:

**Module Tricks**

> **Remove Files**
>
> How to remove a file systemless-ly? To actually make the file *disappear* is complicated (possible, not worth the effort). Replacing it with a dummy file should be good enough! Create an empty file with the same name and place it in the same path within a module, it shall replace your target file with a dummy file.

> **Remove Folders**
>
> Same as mentioned above, actually making the folder *disappear* is not worth the effort. Replacing it with an empty folder should be good enough! A handy trick for module developers is to add the folder you want to remove into the `REPLACE` list within `customize.sh`. If your module doesn’t provide a corresponding folder, it will create an empty folder, and automatically add `.replace` into the empty folder so the dummy folder will properly replace the one in `/system`
> 4 votes

---
Tags: root-access, uninstallation, magisk, bloatware, systemless-root
---