title: How to tell current frequency band?

text:
# Question
Title: How to tell current frequency band?
I have a Samsung Galaxy Ace, with quad-band I believe. It is possible to see the current connection network type, e.g. UMTS, EDGE, etc, by going to Settings -\> About Phone -\> Status. But it does not tell which frequency band it is on. Is it possible to find out which frequency band (either exactly, or just which of the four major bands) that I am using?

# Answer
Based on avirk's hint, I found a way. First press the code \*#0011#

**GSM example:**

```
GSM900: IDLE
T: 10, B: 10
Rx Pwr: -94, Rx ual: -
Rx Lev: 21, Tx Lev: 0-
Speech VER: AMR EFR FR
VOC: AdaptiveRate
TS: 0
Temp: 68 Batt: 71 LNA: 0
Service: Available

```

It is obvious that it's using 900MHz band, from the "GSM900".

**UMTS WCDMA example:**

```
WCDMA: Idle
Rx CH: 10612, R: -94
Tx CH: 9662, Tx Pwr: -
EdIo: -6, RSCP: -98
SpeechVER: AMR EFR FR
RF: Sleep2
L1: PCH_Sleep
Drx cycle: 64, PSC: 392
Temp: 67 Batt: 69 LNA: 0
Service: Available

```

UMTS can use two different physical layers (low level radio) UMTS-FDD and UMTS-TDD. Android just shows WCDMA, which I think is the same as UMTS-FDD, but perhaps it can refer to both of them. By looking up the channel number here you can tell the frequency bands and whether it is UMTS-FDD or UMTS-TDD.

In the above example it is using UMTS-FDD, the down-link channel (Rx) is in the 2100MHz band and the up-link channel (Tx) is in the 1900MHz band.
> 13 votes

# Answer
You can try dialing

```
*#*#4636#*#*

```

and then going to "Phone Information".

That will show details about the network like cell tower ID and network type. As you can see from the below screenshot, it shows "EDGE" mode :-

Also, this may only work on stock Android builds.
> 11 votes

# Answer
LTE Discovery app tells this for 4G/LTE.
> 3 votes

# Answer
Have you tried using MTK engineering tool? It works pretty well for most android phones i've come across as it also shows you the current 4G bands.
> 0 votes

---
Tags: networking, samsung-galaxy-ace, gsm
---


# Question
Title: Does LineageOS provide "Zip Signature Verification"
TWRP provides an option on boot for "Zip signature verification". Is that option part of Android ROM packaging and would LineageOS support it? For me, that option does

```
Checking for Digest file...
Skipping Digest check: no Digest file found
verifying zip signature...
Zip signature verification failed!
Error installing zip file '/data/lineageos_updates/lineage-nightly-n1awifi-signed.zip'
Updating partition details...
...done

```

I ask this because this ROM was download with the OTA update from LineageOS, and when it failed I download a new ROM from the website and it also failed.

# Answer
No! LineageOS does not Zip Signature Verify, instead the LineageOS download site provides SHA256 codes which the user or the downloading app can use to verify their downloads (using a tool like `sha256sum`).

---

You can click on the `sha256` link above and change the `?sha256` in the url to `?sha1sum` for example make this

https://mirrorbits.lineageos.org/full/guacamole/20191212/lineage-16.0-20191212-nightly-guacamole-signed.zip?sha256

Look like this,

https://mirrorbits.lineageos.org/full/guacamole/20191212/lineage-16.0-20191212-nightly-guacamole-signed.zip?sha1

---

You can verify build authenticity by checking the signature,

```
keytool -J-Duser.language=en -printcert -jarfile lineage-build-signed.zip

```
> 3 votes

---
Tags: twrp, lineageos, zip, signature-error
---


# Question
Title: How do I enable SEANDROID ENFORCING over adb inside TWRP?
When I boot into TWRP Recovery, it says,

```
RECOVERY IS NOT SEANDROID ENFORCING

```

but when I run `sestatus`, it tells me

```
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 26
Policy from config file:        sepolicy

```

How do I set the SEANDROID ENFORCING?

# Answer
> 1 votes
I believe that what that warning is referring too is the SEAndroid **ENFORCING**, you can change that with `setenforce`

```
$ setenforce Enforcing
$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 26
Policy from config file:        sepolicy

```

You can also test this with `getenforce`

```
$ getenforce
Enforcing

```

---
Tags: adb, twrp, usb-debugging, command-line, seandroid
---


# Question
Title: How to automatically remove placeholders for ads when blocking them in Chrome?
I have a Moto Z2 Play running a Pixel Experience Oreo (8.1) 64-bit ROM. I have TWRP, Magisk root and Xposed Framework running. My browser is Chrome 70.0.3538.110 which is the latest stable release as of 5th of December 2018.

As the top answer in "How to block ads on Chrome for Android?" suggests, I have "AdAway", which works using the hosts file. It does work, however the space normally taken up by the ads is now taken up by a "sad face" icon as in the message Chrome shows when a page fails to load.

To me this is better than no ad-blocking at all, but one of the points of an ad-blocker is to remove clutter and use more display real-estate for actual content. Therefore, I am looking for a way to block ads in Chrome while also freeing up the space used by them so it can be used to show actual content. This is how most ad-blockers for desktop Chrome work.

I know that the newest Chrome Canary releases have a native ad blocker built in. However, it only blocks the most obnoxious ads. I am looking for a way to block all (or the great majority of) ads.

# Answer
> 2 votes
Browser based ad blocker extensions, such as uBlock Origin, work by preventing third party (cross site) requests from being made at first place. They explicitly have a list of which third parties loads ads, so they prevent the request, which in turn means no placeholder (the space occupied to show them on a page) for them in the rendered page output because those third party scripts were blocked from execution.

Non-browser based ad block solutions, such as Adaway and DNS66, focus on hosts based blocking, in which a request to an advertisement is redirected to localhost (user's own system), which in turn does not load anything. Since they don't prevent third party scripts from being executed, the scripts get to be loaded, with the placeholder the advertisement getting reserved in the rendered output of the page, but with no real ad being shown because of content request redirection to localhost.

So, if you want to save that real estate in the screen, you'd have to find a browser which has support for a popular browser based ad blocking extension.

Chrome does not support extensions as of now, so it is out of the equation. I don't know of Chromium based browsers with support for extensions, except Yandex browser which supports some Chrome extensions, and Brave browser who's native ad blocker at some sites achieve what you want. But, Firefox for Android is explicitly supported by the mighty uBlock Origin.

Here's how a sample page from Vox website looks like, first with host based solution, than with uBlock Origin extension based solution, in Firefox.

---
Tags: chrome-for-android, ads
---


# Question
Title: Multi-window: prevent the out-of-focus app from pausing?
Android 7.0 introduced the native multi-window API which allows apps to be viewed in split-screen mode globally.

However, in actual usage, one downside prevents it from being as useful as some users would imagine. Many apps, when in the multi-window view but not in focus (i.e. user is interacting with another app in the multi-window view), pauses its activities: IM apps would no longer update incoming messages; music/video apps would pause playback; games would not proceed with their actions.

The official developer guideline briefly mentions the pausing behavior, and from what I understand, apps need to be programmed with this in mind so as to not exhibit it. But is there a way I can force the way around the limitation as a user? From what I've heard from fellow users, certain manufacturers' Android forks such as MIUI do not show such pausing whatsoever.

**TL;DR: Can I prevent the out-of-focus app from pausing in multi-window?**

# Answer
Early this November, Google has confirmed that multi-resume - running two apps simultaneously without pausing - will be part of the next major Android release (Q), thus indirectly confirming that this functionality is currently not a part of AOSP Android.

However, Google also stated that...

> To help developers provide the best user experience on multi-window with minimal effort, we're allowing device manufacturers to keep all apps resumed when in multi-windows in P.
>
> To opt-in to this behavior in Android P, add the following meta-data in your app manifest:
>
> `<meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" />`
>
> How to test: There are no device at the moment with this behavior but device manufacturers are working to update existing devices to allow developers to test. Stay tuned for more details from device manufacturers.

This implies that such functionality will be available in Android P at a later time. As of now (December 2018) though, there is zero reference to `allow_multiple_resumed_activities` in AOSP Android code, meaning that the time has yet to come.

Sources: Google Blog, XDA-Developers

---

Android Q beta was released on March 13, 2019, marking the first public debut of the multi-resume feature on non-OEM Android. Unfortunately, there's still no reference to `allow_multiple_resumed_activities` in AOSP Android P code (Q not open-source yet, obviously), and the "There are no device at the moment with this behavior" statement didn't change in the aforementioned blog either - the situation remains unchanged for the majority of users and the custom ROM community.

---

As of the formal release of Android 10, multi-resume has been made the default behaviour, as indicated in the multi-resume design page.
> 4 votes

# Answer
No that's not something you can effect as a user, or a developer. The multi-window behavior is defined by Android and any device that calls itself "Android" has implement the rules for multi-window life cycle.

The bottom line is the app needs to be coded to respect the resume/pause vs. start/stop differentiation. Prior to the invention of multi window the distinction between the two was tenuous at best. Now it actually matters.

In my experience, Google apps do a great job of working with multi window and it's hit or miss with everything else. YMMV.
> 2 votes

---
Tags: 7.0-nougat, multi-window
---


# Question
Title: How to export a list as Text of all Play Store Apps that I have ever installed
I need to generate a text export of the list under the MyApps-\> Library Tab of the Play Store App for Android. I need a list of every App that I have ever installed from the Play Store, and not just a list of the subset of those which are currently installed. Thanks, Jim

# Answer
> 9 votes
Use Google Takeout to export out of Google services a list of all activity involving the **Google Play Store** for a Google account.

No root or even device is required as you are exporting out of Google's collected cloud data, you just need account credentials.

For reference I just did it for my account and was able to obtain a zip file containing the following JSON files:

```
Devices.json
Installs.json
Library.json
Order History.json
Play Settings.json
Purchase History.json
Redemption History.json
Reviews.json

```

If you check `Installs.json` you should be able to extract out the name of the app from "title" as well as when it was first installed/last updated.

A few caveats that I see:

1. Apps on pre-Google Play devices appear to show up with package app name (i.e. com.publisher.awesomeapp). The earliest in my history is 2011. So there appears to be Android Market installs are held in this dataset.
2. `Devices.json` only seems to hold recently accessed devices. I'm pretty sure I had older devices with Google Play but they aren't listed. Its possible those old devices (Gingerbread/KitKat) have 'aged' out due to lack of access so that might explain why the older app installs like from 2011 show `"deviceDisplayName": "Unknown Device"`
3. `title` could either be plain app name or package name.

As the files are in text in JSON format, it shouldn't be too difficult extract out what you need.

From @JimCramer's comments, one can use https://json-csv.com/ to get a `csv` file from a `json` file.

1. Download Google Takeout `zip` file.
2. Unpack `zip` file
3. Upload `Library.json` file to that service
4. Review "Choose Output Options", if required
5. Click "Convert JSON to CSV"
6. For the `Library.json` file there will be three columns:
> 'DocumentType', 'Title', 'Acquisition Time'
7. Download CSV result file
8. Import into spreadsheet, sort by 'DocumentType' to get `Android Apps` and enjoy

From what I recall, Excel itself can import `json` files.

If you don't want a third-party site to have access to your data. A search in your favorite search engine naming your spreadsheet tool with the topic of 'JSON conversion' will show either how to do it or what plugins/scripts are required for the effect.

---
Tags: google-play-store, google-account, 8.0-oreo
---


# Question
Title: Google Play Services only recognizes deleted account; cannot update any apps
I got my Samsung Galaxy J7 in September and signed in using my primary, personal Google account ("A"). In early November, I downloaded Skype for Business for my job purposes, and created a new Google account out of habit ("B"). **I DID NOT DOWNLOAD ANY OTHER APPS USING THIS ACCOUNT.** A few weeks later, my boss informed me that a Google account is in violation of company policy, so I apologized and permanently deleted the account.

After the account was permanently deleted, I got an unclear-able notification saying "Account Action Required." Going to Google Play Services (which I didn't even know existed until then) led to a screen which "prompted" me to sign in with account B, but highlighting the email address does not pop the keyboard up. I have no choice but to sign in to that account, with predictable results.

Now account A is experiencing issues, which I'm positive are linked to this problem. I cannot check for updates, updates in general seem to have been disabled, and my list of installed apps appears to be blank, even though they all show up in my library. Again, **all of these apps were downloaded on account A.**

Does someone help me resolve this issue? Thanks in advance!

# Answer
This could be happen because you deleted your account permanently from the web but that account still saved in the device and triggering a force sign in to identify you.

Follow these steps:

For Samsung specific-

1. Open Settings》Cloud and accounts 》Accounts》Google.
2. Now click the account that you have deleted permanently.
    3. Tap 3 dots on the upper right corner and choose ***Remove account.***

It must work.

Else last option would be a factory reset and set up device again.
> 7 votes

---
Tags: google-play-store, google-account
---


# Question
Title: How do I enable multilingual suggestions in GBoard
I switched to a different phone recently and had to install all the apps anew.

I am bilingual and I used GBoard (Google Keyboard) on both, and on the old one I had it configured in such a way that it would automatically treat both languages I speak as one, so as I typed it would suggest words from both languages, even in the same sentence.

I can't figure out how to get that feature back on the new phone. It only ever suggests English words. How can I make it suggest words in both languages?

In GBoard settings -\> Languages I have both languages installed and on both I have *Multilingual typing* enabled. Still it seems to make no difference

# Answer
> 1 votes
https://android.stackexchange.com/a/165510

"On the the keyboard options you'll find settings for Languages, Preferences, Theme... and in Text correction you'll find the toggle you're looking for: multilingual typing."

# Answer
> 1 votes
In 2018 it is here: Latest Gboard moved the multilingual typing toggle to Languages \> Language. There, each language defines whether it uses multilingual typing or not, and with which languages.

# Answer
> 0 votes
Go to language → spelling check → if it says that it's system language, then go and click it and select the desired language. That way even if the Gboard has languages that don't support multilingual , you can still make it so that it can work with both languages

---
Tags: gboard
---


# Question
Title: how to change the Mac address without rooting your phone
I do have a Samsung Galaxy J5 2016, and I am trying to change its MAC address without rooting it.

I've done a lot of internet search, and I've come across many useful guides and advice, such as https://www.quora.com/How-can-I-change-my-Android-non-rooted-Mac-address.

Anyway, Terminal Emulator doesn't allow the operation indicated in the guide (ip link set...etc etc.): it outputs permission denied.

More search gives as a result that you can't do this command without logging as superuser and, in turn, that you can't do that if you aren't on a rooted device.

So I'm starting feeling as I'm chasing my tail...

Can anybody please help?

# Answer
> 1 votes
Simply, you can't. Because of how the permissions work in Linux, what android is built on, you are required to use a root account to make those changes. The root account being `su`, which is only accessible when you have a rooted device. To my knowledge there is no way around that, even using alternate commands that might exist.

# Answer
> 0 votes
it's possible to make root changes without root access on some models... MTK for example.

If you have an MTK Device,
Use Engineering Mode to write a new MAC Address

1. Open Dialer ( Phone )
2. Type this number, replacing the letters for the numbers

`*#*#ENGMODE#*#*`

This is called a secret launch code, it'll launch Engineer(ing) Mode and you can change MAC with the guide here

Scroll down to the MTK Part.

Other device's can use Terminal Emulator

Some can use factory image flashing software

Some ( Like your device manufacturer's ) can change the IMEI, MAC & Bluetooth Address using a pre-boot ... Used for factory address writing in the masses.

It's possible without root, but a lot more difficult....

Try your Terminal Emulator commands running as a shell user ID ... To do this, just use ADB and connect to the shell with

```
adb shell

```

This gives you more permissions as you'll be running as shell user.

---
Tags: terminal
---


# Question
Title: Add Miracast function to newer Android versions
According to Wikipedia:

> Miracast support was built into Android with version 4.2 ...
>
> ... Support was dropped again with Android 6.0 Marshmallow in 2015, in favor of Google's own Google Cast protocol.

Any answers associated with these older versions of Android do not apply.

Modern Android devices include a "cast" function, but it's Google proprietary and so cheap HDMI TV dongles might not support it, especially since it's probably a moving target, and Google wants you to buy their device.

There are apps that simply help you turn the casting function on and off, but all those do is save you from digging into the settings yourself (they don't add any casting functionality).

**Is there a way to add Miracast function to a modern Android device?**

# Answer
> 2 votes
If Zillinium's suggestion to make changes into the "system / build.prop" does not make it fully function, you might need to also change the "/system/etc/wfdconfig.xml" file also. The following steps require both require root access and custom recovery TWRP.

Pre N (Nougat) the long way. You could use the nano command to add and/or change values, but for simplicity and to stay in-bounds, just use a file explorer and text editor.

1. Go into the file `/system/etc/wfdconfig.xml`
2. Change the code:

```
...
<ContentProtection>
    <Valid>1</Valid>
 ...

```

Change 1 to 0 to make it look like this code:

```
...
<ContentProtection>
    <Valid>0</Valid>
...

```
3. Go into the file `/system/build.prop`. Go down to this line of code and **AFTER** it:

```
persist.debug.wfd.enable=1

```

Add a new line of code by creating this line:

```
persist.debug.wfd.appmonitoring=1

```
4. Save and exit.
5. Restart phone.
6. connect phone to computer.
7. Open an elevated command prompt and throw these commands:

```
adb shell
su
setprop persist.debug.wfd.appmonitoring 1

```
8. Verify the setprop `getprop persist.debug.wfd.appmonitoring`

If 1 is returned, then you should be good to go.

**Side note**: if this should put you into a bootloop, go into custom recovery TWRP.
9. Open a command prompt and throw these commands:

```
adb shell
chmod 644 /system/build.prop

```

That should fix bootloop.

For Android N (Nougat) the short way:

From the custom recovery TWRP:

1. Open a elevated command prompt:

```
adb reboot bootloader

```
2. Next, mount the /vendor partition from within TWRP\`
3. Then throw the command:

```
adb shell 'echo persist.debug.wfd.enable=1 >>/vendor/build.prop'

```
4. Reboot system from TWRP menu

You should be good to go.

# Answer
> 1 votes
i can't possibly walk you through all the system modifications that are required but it's definitely possible with root access...

Reasons for Google's changes....

MiraCast has never been fully supported by Android, it usually had serious problems trying to convert the screen into a standard 1080 or 720 resolution video, this usually caused just a phone shape video on the screen and not utilizing the entire screen... I believe that designing their own cast software was necessary to combat the problems Android was experiencing.

To Enable a Disabled MiraCast you'd need

---

You'll need root enabled.

All you have to do is change one line on your build.prop. ( system / build.prop )

You have to change the line

```
 persist.debug.wfd.enable=0

```

To

```
persist.debug.wfd.enable=1

```

If you're on stock or stock based ROM, you will edit the line.

If you're Lineage based rom, you will have to add the line.

Now you reboot and Miracast can be enabled.

Reference

To Add MiraCast is difficult if it wasn't disabled by the manufacturer, usually to enable ChromeCast you'd disable the older MiraCast, so if you're device has ChromeCast you should be able to enable it with the information above...

However if it was never part of your system to begin with, you'd need to manually build it into your system... Outside the scope of this site.

---
Tags: chromecast, screencast, miracast
---


# Question
Title: Flashed BTU from sammobile but is still EVR
I'm trying to flash BTU stock firmware from sammobile for my s9 g960f. I got the firmware from here https://www.sammobile.com/firmwares/galaxy-s9/SM-G960F/BTU/ date: 14/11/18 pda: G960FXXS2BRJ6.

I used Odin to install the firmware, it appared to work from odin and the phone restated and went straight to android setup, but is started to install EE apps and is showing as EVR crc in software info. Could this an error on my end or not the right files on sammobile?

# Answer
Not sure if it is an error on your end or Sammobiles. You did however appear to have flashed EVR firmware variant instead of Blu firmware variant.

Carefully check and re-download the Blu firmware variant and flash again through Odin.

Thinking about it though, as long as the CSC you are changing it from is not included in the CSC you are flashing, otherwise it will just default back to the phones original CSC.

You will need to flash CSC and not HOME\_CSC in order to change though, which will reset the phone back to factory.

If the problem persists, contact Sammobile customer support to inform them of issue.
> 1 votes

---
Tags: rom-flashing, device-firmware, samsung-galaxy-s-9
---


# Question
Title: How to know why is my Nook unable to boot into ClockWorkMod?
I have a Nook Simple Touch that is already rooted. I've used the Clockworkmod file that I downloaded from the XDA-developers website here.

These are the steps I followed:

1. I connected my device to my laptop with the micro-usb cable.
2. I had access to my SD card.
3. I opened the terminal window and entered this command.

```
sudo dd if=2gb_clockwork-rc2.img  of=/dev/sdc

```
4. I rebooted into bootloader mode and it did not recognize clockworkmod.
5. I used adb commands to try to boot into the SD card. I was able to connect to my device but I was not able to get clockwork to load. I used these commands.
```
adb reboot-bootloader
adb reboot-recovery
adb reboot recovery
adb reboot bootloader|recovery

```

After more than five failed attempts I have preceded to this question.

Is this all because I was using the micro-usb cable to burn the .img file to the SD card instead of using a SD card writer?

If so how do I get it to boot into clockwork if the method of burning the image is the problem without getting an SD card reader.

# Answer
> 1 votes
Yeah, the DD command to the SD card was probably a mistake. For Android using DD method usually is like **example only**:

1. Place `recovery.img` in the root of your `/sdcard` folder and rename it to `cwm.img`.
2. Run the following commands via ADB Shell or a terminal emulator app:

```
 su dd if=/sdcard/cwm.img of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery

```

However, according to this guide, it will brick your device if you do it this way because the recovery is on the `/boot` partition. So not a good thing to try.

This guide was poorly written lacking detailed explanation. As far as the adb reboots stuff it looks like the developer could not get a handle on reboots so it's a bug.

The 2GB image can be used for installing ROMs and making backups. A 2GB image can be flashed on any sized SD card.

This is what I think you are trying to do. **Example of using 2GB image SD card method**:

1. Extract the `cwm.img` (if you can't open the file, use 7zip) and burn to SD card using win32diskimager (free) or winimage (shareware).

For Linux, use Etcher. These apps will need to be "run as administrator". Some internal laptop/desktop readers will not work, so to do this, you may need an external USB reader if you run into problems.
2. Once the card is done, copy any ROMs, or ZIPs you want to flash over to the card (simple copy and paste job).
3. Turn your Nook off, insert the card and boot the nook. It should come up with CWM.

If you want to also replace the stock recovery with this developers CWM (personally I would not looks sketchy and cwm has been out of development for a very long time). It's a little unclear but from what I remember it goes like this. If an issue on this last part arise I will revise. I do not think one will though.

1. Copy this developers `install_cwm_recovery_xx.zip` from the downloads to the SD card (just a simple copy and paste job). 2.Now, boot into CWM by placing your newly made SD card in the device and turning it on.
2. Go to and select the option *Use the install zip from sdcard* to install it (it just replaces uRecRam and URecImg in the `/boot` partition. You can also do this manually if you want).

Now you should have CWM permanently on the device if you so choose.

---
Tags: recovery-mode, boot, clockworkmod-recovery, nook-simple-touch
---


# Question
Title: Can I prevent Google from collecting data by using a custom ROM?
Choosing a smartphone based on the operating system on a smartphone comes down to two options: Android or iPhone. Both collect personal data, track activities and track location.

But with Android there's the option of replacing Android with a custom ROM. Will replacing stock Android on a phone with a custom ROM and removing all Google apps prevent Google from collecting any data?

# Answer
Summing up from the comments:

There's more to it then just getting rid of "Google Apps" – though running a device without them certainly already massively reduces that data collection. A complete elimination can only be achieved by running the device in airplane mode (i.e. not permitting any network connections).

Using a custom ROM ***without flashing GApps*** will massively reduce the data collection, yes. But then you also should avoid all apps from Playstore (e.g. by using F-Droid solely), and don't browse websites (only few, like mine, have no Google trackers involved). As @beeshyams already wrote, a Firewall (root: AFWall+ / no-root: NetGuard) can help reducing it further. Getting it to absolute zero is probably only possible by going into airplane mode.

Even if you disable Javascript completely in the browser, there are still Web bugs to consider: tiny, invisible images (1x1 pixel) embedded into web pages for tracking purposes. Websites which are completely free of trackers are rare; at least two thirds of all existing websites integrate at least one (if not more) Google Trackers: Google Analytics, Google Tag Manager (both to be found even here at SE), Google Ads, Google Fonts, miscellaneous Javascripts (ajax.googleapis.com), Google Maps, Youtube, and so on.

---

**TL;DR:** You can massively reduce it, but you can't get *fully* rid of it without breaking stuff. Using a custom ROM without GApps is a good start, avoiding apps from Playstore helps a lot, using a firewall app (AFWall+ if rooted, NetGuard otherwise) helps further. Selectively enable Javascript for websites in your browser (e.g. using the *uBlock Origin* addon) massively improves on it.
> 1 votes

# Answer
A custom ROM on Android is usually a modification of the factory edition, a port from a different phone running the same kernel and Android version, or a cross-port to upgrade the version by merging needed firmware files with the new release. Sometimes if the custom ROM builder is intelligent enough, they'll build a complete ROM from the AOSP (Android Open Source Project). However, that usually requires access to kernel source and most manufacturers don't release this unless required by law.

To define a custom rom as a modified stock system with proprietary software removed for copyright compliant releases, then iPhone also has custom ROM's (firmware) because you can jailbreak an iPhone and modify the system to "customize it".

So, you can build your own custom ROM that is specifically designed to remove any Google data collecting software on Android, as Android is an open-sourced project, you can modify it to build your own OS if needed (one with removed Google data collecting software).

---

However, I assume from your question that "you don't want to be tracked in any manner".

Google has several methods of data collection, for example if you prefer to use Chrome then data analytic software will collect a lot of information about your browsing habits (for improvements to the software) and to be sold to third-party data-miners.

Even if you don't use Chrome and avoid using google.com and any related websites/companies or softwares, you'd still potentially have data collected by other applications and websites that'll sell this information to a global analytics company (usually AXIOM). The company releases information back to Google and Google can still "track" you regardless of your product choice.

For example, Facebook is also a company that provides personally identifiable analytics to AXIOM, that can and most probably are purchased by Google and nearly any other company working on artificial intelligence since it needs data to learn.

Anyway, you can remove a lot of data collecting software, but it's only going to either increase someone's interest in your device usage (Google) or end up causing data to be collected more often.

For example, if you used purchased software, it'll be constantly logging to Google that you haven't purchased it, this is because it's constantly connecting to Google's servers to check for purchases by your account, and reporting that it can't verify the purchase because it's missing the Google Play Services application. In time, this should increase someone's interest (Application Developers - Google - Others).

The question is, why? If you need to stop it from collecting your habits, try using alternative methods, like using DuckDuckGo.com (a search engine that doesn't track you).

Turn off unnecessary data collection in every application that you can
(sometimes the switch to turn off analytics is hidden in weird pages like help and info, etc.)

So to answer your question in one line: **No, Google has other means of personalized analytics.**
> -2 votes

---
Tags: custom-roms, privacy
---


title: Locked on stock recovery software?

text:
# Question
Title: Locked on stock recovery software?
Even after flashing clockworkmod, when I go into the recovery menu after booting, it just gives me the stock recovery system. Help? I've also tried with twrp, no luck.

# Answer
This is because most stock systems will flash the stock recovery on boot and/or your bootloader is locked (and prevents writing to safe partitions).

Please follow this instructions from CM; They are working, I already tested them: http://wiki.cyanogenmod.org/w/Install\_CM\_for\_jflte#Recovery\_Installation
> 0 votes

# Answer
You most probably using odin and cwm or twrp tar.md5 file to flash new recovery to a Samsung device. Key point in here is that untick the reboot after flash in odin settings and remove battery after flash completed. This way original recovery doesnt have time to reinstall.
> 0 votes

---
Tags: rooting, recovery-mode
---


# Question
Title: restart Android phone when power button stopped working
The power button on my Nextbit Robin has stopped working. After some investigation, it would appear that the volume down button doesn't work, either, so, I'm 99% certain that it's a software issue (related to taking a screenshot?); however, in the unlikely 1% chance, I don't want to just shut it down (through battery drain?), as it might not turn back on again if the issue is hardware related instead (whereas if I leave it as-is, it might as well last for a while as long as it never gets into a shutdown state).

It's possible to wakeup the phone by connecting or disconnecting it to a charger, and by installing a number of apps for the task, but it would appear that there is no way to actually reboot the phone, nor bring the Power-Off/Reboot menu that the power button normally brings.

How do I reboot the device?

# Answer
It would appear that the only way to reboot the device in the case where the phone is not rooted and when the power button is unavailable is through ***adb***.

As per StackOverflow, it would appear that Google provides an `adb` binary for OS X that doesn't depend on any other developer tools nor Java, so, the following set of steps would make it possible to reboot the phone:

* Have **Developer options** menu enabled within the Android phone
* Enable **USB debugging** within **Developer options** menu of Android
* Connect Android device via a USB cable to an OS X machine
* Execute the following commands within OS X in **Terminal.app**:

```
cd /tmp
curl https://dl.google.com/android/repository/platform-tools_r28.0.1-darwin.zip -o apt.zip
unzip apt.zip
./platform-tools/adb devices
./platform-tools/adb reboot

```
* Before executing the final `adb reboot` command above make sure to allow pairing between Android and OS X by allowing it at the **Allow USB debugging?** dialogue popup that would appear on the phone after running the `adb devices` command on the OS X machine.
> 2 votes

# Answer
> \[It\] would appear that there is no way to actually reboot the phone, nor bring the Power-Off/Reboot menu that the power button normally brings.

There is a way, that too without root access. AutoInput can show the power menu. It requires Tasker installed.

Setup both Tasker and AutoInput. Make sure both are "not optimized" under battery settings in your device. In addition, accessibility service of AutoInput needs to be enabled.

Setup a task in Tasker and add this action:

Plugin → AutoInput → Global Action → Configuration:

1. Action: Power Dialog
2. Password: leave it untouched

You can test the task now with the play button at the left side of the bottom bar. It should work if AutoInput was setup correctly.

You have various ways for ease of use for this task.

* You can set up a widget on your home screen that would link to this task (you'd have to assign an icon to the task first).
* You can setup a profile (a trigger) that would automatically run this action.
* You can also assign this task to a HW button (AutoInput supports that).
* You might also be able to add this shortcut into quick settings (for Android N and above I believe).
> 0 votes

---
Tags: reboot, buttons, power-on
---


# Question
Title: Missing "Easy Mode" from Samsung Galaxy Core Prime
I bought this phone for my grandparents. The salesman at the store told me that this phone would be great for old people who are new to smart phones. Any idea where to find this "Easy Mode" or "Simple Mode" option? There's no such option under Settings.

Model: SM-G361F

Android version: 5.1.1

# Answer
Samsung provides **Easy Mode** in options (differ from device to device) :

1. Open Settings → Personalisation (by scrolling down) → Easy Mode.
2. Open Settings → Display → Easy Mode.
> 6 votes

# Answer
Go to settings \> Application Manager \> Default Applications \> Home Screen \> and then change to Easy Mode.

I found this on my GS6, but I think it should work for your phone too.
> 2 votes

# Answer
The **Ultra Energy Saving** mode is the **Easy** mode on this phone.
> -1 votes

---
Tags: samsung, settings, user-interface
---


title: Odin froze on TWRP image

text:
# Question
Title: Odin froze on TWRP image
I started flashing mu Samsung A5 (2017) about 30 minutes ago, and Odin seems frozen at TWRP image. What should I do?

```
<OSM> Enter CS for MD5..
<OSM> Check MD5.. Do not unplug the cable..
<OSM> Please wait..
<OSM> Checking MD5 finished Sucessfully..
<OSM> Leave CS..
<ID:0/003> Added!!
<ID:0/003> Odin engine v(ID:3.1203)..
<ID:0/003> File analysis..
<ID:0/003> SetupConnection..
<ID:0/003> Initialzation..
<ID:0/003> Get PIT for mapping..
<ID:0/003> Firmware update start..
<ID:0/003> SingleDownload.
<ID:0/003> TWRP_3.1.1-0_a5y17lte.img

```

# Answer
You should be okay based on those log output nand write start did not start. Nothing that is not recoverable. Just simply:

1) disconnect usb

2) reboot the phone

3) restart odin

4) Try again

During the super important stuff the log states: `DO NOT TURN OFF TARGET!!` if it happens again you might need to try a different odin version.
> 0 votes

---
Tags: rooting, odin
---


# Question
Title: How to install Playstore on a device on which it is not already installed?
I bought a VivoY13 phone from Chinese Dealer. But Google playstore is not pre-installed.

And when you try to install it shows errors.

Does anyone have solutions or faced similar situation?

# Answer
> 0 votes
It seems that you are a victim of purchasing a tampered device.

**Why do scammers and hackers sell tampered device's ?**

* Copying sensitive data ( bank details )
* Hacking user's information
* Stealing passwords and other security data

---

**How do they steal data ?**

* The seller purchases a new device, then gains root access and installs hack software on the device. ( malware, spyware etc... ) and sells it on eBay and other sites.

**Is this a serious issue ?**
YES. You should NEVER use a device with hacked firmware for anything... it could be logging everything you do...

* text messages
* internet access
* call logs and recordings
* everything your device has access to

---

**What can i do to remove the hacks**

* Download an OFFICIAL stock ROM ( Firmware )
YOUR DEVICE FIRMWARES - NeedRom.com
* Download the Latest SP Flash Tool ( most MTK china phones use SP Flash Tool)
* Install your STOCK OFFICIAL firmware following the guide on needrom.com

**Why would Google Services be missing ?**
Usually this is to comply with Copyright laws, the seller isn't legally aloud to sell you proprietary software on a modified system.

Also, Google Play Protect will alert the user of any suspicious applications on the device, and also check for ( Certified Device )

**Certified Device !!!**
After installing your OFFICIAL STOCK Firmware, you can check the integrity of the system using the built-in recovery, just boot into recovery and do a system integrity check.... After all is OK, boot the device and open Googles Play Store, Navigate to settings and scroll to the bottom, at the bottom of the settings screen in the Play Store, it'll say if your on a Certified Device or not...

If it Say's certified device, and you have all OK in system integrity check, your good to go and all services like Android Pay will be accessible.

The flashing instructions are usually basic, but be careful NOT to use Firmware Upgrade... Only Ever Download, in SP Flash Tool.

Good Luck, I've had many tampered with devices from online purchases, but all are fixable :)
Especially Chinese MTK models.

# Answer
> 0 votes
Before you try anything too radical, you can try to sideload Google Play store without flashing. First, find out the android version you are running, for example, 4.4, 6.0, and so on. Then go to the apk mirror site to download a play store apk (which is equivalent to a exe installer on a computer) for your version. BEWARE, do not go around and use many other 3rd party app websites, as many of them are very scammy. To "sideload" an app, follow this guide.

---
Tags: google-play-store
---


# Question
Title: Whatsapp doesn't run on background on new Xiaomi
I got a new phone yesterday, Xiaomi Mi A1, and installed Whatsapp on it. Now I only get notifications when the app is open and a few minutes after I turn off the display (or go do some other thing). On my Whatsapp Web it says that the phone isn't connected, and I have to manually reopen the app in order to get any recent messages.

I figured it's some sort of restriction the Android places on background processes, but how do I remove it? I'm pretty sure I haven't messed with any sophisticated settings up until now

# Answer
> 1 votes
I strongly suspect this is caused by the enhanced **App battery saver**, which restricts application activities to a minimum or altogether close an application to save power.

In some miui based Xiaomi phones it can be adjusted here: Security → Battery Usage → App battery saver → (Choose application) → Background settings:

Alternatively on non miui Xiaomi devices it can adjusted under App settings → Battery usage:

You have to turn off this setting or adjust to make sure the target application (Whatsapp) isn't killed in background.

---
Tags: xiaomi, android-one
---


title: TWRP Internal Storage(0 MB)

text:
# Question
Title: TWRP Internal Storage(0 MB)
I am trying to root my Samsung A7(2017). I have installed twrp to my phone but when I open it to install SuperSU it writes Internal Storage(0 MB) therefore I can not access to SuperSU. I am searching this topic for hours and tried many ways but couldn't solve it. How can I fix this problem?

# Answer
Sounds like your internal storage is encrypted.

In order to fix this

1. boot into the Android OS.
2. Set a screen lock PIN or password.
3. Make sure you save it as requiring password on startup.
4. Then bootup into TWRP and it should ask you for your password to decrypt.
5. Put in the correct password

Your files should show up again.
> 1 votes

# Answer
If the first solution does not open your encryption door to show your internal storage within TWRP. There is another option that should correct your internal storage issue. Format the Data, however it will cause the loss of your UserData. If the data is important to you, make a backup the /data partition. There are two simple approaches: one is through fastboot, the other is within TWRP. Since your device is a Samsung that negates the fastboot option.

1. Boot your device into TWRP recovery.
2. Within TWRP select the `wipe` option.

3. Select `Format Data`, and then slide the bar over on the bottom of the screen

This will format the encrypted /data partition erasing the encryption. A new un-encrypted /data partition will be created, thus making your internal storage visible.
> 1 votes

---
Tags: rooting, twrp
---


# Question
Title: How to completely clear my device of a particular company's apps?
Owing to a recent Motley Fool report of Google's actions pertaining to Cheetah Mobile apps, it occured to me that I would like to either uninstall or disable (in case uninstall fails), the apps related to this company, and other companies, if need be. Now exposed as employing questionable techniques on even one app, it is unlikely I would ever trust any installed app from that company.

What easy technique to recognize a company's apps are on my device and uninstall them, even if their app names, or their developer names, or their company names are obscure?

# Answer
The easiest way is through the web for Google Play. Using the seach bar, bring up the name of one of the suspected apps like Clean Master or any of the apps listed in the article like Kika. Using this page, click the hyperlink for the COMPANY, below the appname. This will bring up all apps for that company, and the card for each app that you have installed will have a green check mark in the bottom right of the card. Selecting in this fashion allows the user some confidence that all his apps from that specific company can be identified. Unfortunately, while the specific app card yields a pseudo-button "Installed", it does not allow uninstall or disable via the web interface. Using the list however, the user would search out, uninstall (or disable) the now-exposed apps directly from the device.

`Settings > Apps > <selected app> > Uninstall or Disable`
> 2 votes

# Answer
Android package identification is not easy.

I can call a new application anything i want to, their is no designated spot to write the company name for searching.

Ok for example,
i could call my app `region.company.appname` as the guidelines encourage developers to use this format when naming application packages... `com.company.tester` for this example, COM is the region ( Commonwealth ) , Company is the company name and tester is the app name.

To identify applications made using the same naming rules and using the same company name, you'd need to look at the package name for all application's and find the corresponding company name.

This won't show you everything because the developer can easily call the app `anon.unknown` now the region has been removed, the company is Anon and the app name is unknown...

This makes it extremely hard to recognize all package's by a specific developer.

Back in the day, Google's Play Store only required the application to be signed by a developer key ( used for all apps ) however now developers need to create a new key for each application that doesn't share userID's.

You could have previously checked the Key Hash for all applications and the one's using the same Key are from the same company ( developer ) ... however this has changed.

In my experience, their isn't any regulation on leaving a footprint from your company.... If you wanted, you could make your company name the same as you application name ... For example, Facebook is by Facebook, The company may have been created specifically for the application, therefore the company is the same name, meaning each and every application will be made by development team for that application.

So, other than relying on the developer to use the same naming rules for every application... It's not possible to find all applications made by a specific company...

The company may have side projects that use their respective names as the identity of the creator.

The only possible way is if the IDE ( Integrated Development Environment ) places some sort of digital fingerprint on the software using information from the hardware of the computer... this can still be avoided by using a different computer to develop on.

So as far as i know, it's not entirely possible.

The best alternative is to read the package names and find corresponding companies ( shared user ID's & package names ).

If the application is installed in your System, you can't uninstall it without root access, so you'll need to Disable the app instead.

System \> Apps ( Samsung's it's More \> Apps ) \> ( Selected App ) \> Disable.

I hope the developer hasn't used different naming rules for each application etc .... good luck finding them all.
> 0 votes

---
Tags: applications, uninstallation, maintenance
---


title: How can I Ungoogle my Phone?

text:
# Question
Title: How can I Ungoogle my Phone?
I would like to get rid of everything Google and use open Gapp pico or nano instead. I have root access Running Android 7.0 . There's no working custom ROM for my phone(infinix note 3 pro)

Is there a script or flashable app that can ungoogle my phone ?

# Answer
This is a very easy task if you are familiar with root access and your device is running a custom recovery like TWRP, Philz or CWM.

First you need a full gapps package, this will be ready to be flashed via the recovery and needs to be provided by OGapps.

( The reason it need's to be provided by OGapps is because Open Gapps already has a removal script that will run prior to installing )

The Gapps Installation Log :
\- mounting system
\- removing old installations
\- installing open gapps
\- updating system
\- unmounting system
\- Done !

The above is just a example, but generally what you'll see. It removes the old google apps first.

Ok, so now you've installed Gapps you'll need to manually remove software that didn't get removed.

This is usually application's that you've updated, even though the SYSTEM has a new APK, the DATA still has an updated application installed, so you'll nees to remove any updates to apps applied from the Play Store previously.

I've never actually had to remove an update from DATA myself, but it's recommended in case of problems... however the OGapps package seems to clean everything up before installing.

P.S Android is Linux with Java & XML interfaces.

It's conveniently named Android to identify the people that joined these thing's together.
> 0 votes

---
Tags: google-play-services
---


# Question
Title: I switched my internal storage to Sd card and it still won't let me download apps
My phone has little to no space so I used an sd card as internal storage. It says I don't have enough storage even though the sd card has 30 gigabytes left.

# Answer
> 0 votes
It's probably still overloaded.

The option to use SD Card as internal storage is slowly disappearing because it avoids using the permissions for external storage and allows applications unrestricted access to every sector on the card, so expect it to disappear in newer Android versions.

**If you are using a device that allows what you've mentioned.**

The Applications installed prior to the switch over will still be on your internal storage, allso all of your stuff like photos, music, videos will still be consuming space on the internal storage, this will impact performance significantly on some devices.

**You need to move all your applications to SD first.**

* Open Settings
* Open Apps ( Samsung's it's More \> Apps )
* Select the first downloaded Application
* Select Move to SD Card

**NO OPTION FOR MOVE ( GREY )**
* The developer has selected Internal Storage Only, so you can't do anything with this, move on to the next one.

**Move All Files Over To SD Card**
You can find apps for automatically doing this.

* Open your Stock File Manager
* Navigate to Your Old Storage ( may be Internal or External )
* Select All Folders and Files in the root directory of the Old storage
* Copy All Folders and Files to the New storage ( largest generally - the SD Card )
* Once you've waited 50 years for it to copy, you can safely Delete everything on the Old storage ( free up the space )
* Don't MOVE the Files and Folders in case something goes wrong, you'll still have it ready for copying again.

Now you should have some free storage back on your device.

---
Tags: sd-card
---


title: How do I disable Google App?

text:
# Question
Title: How do I disable Google App?
I'm using Android 6.0 (non-rooted) phone. Holding home button opens up Google App which I never use.

I don't think that I can change the behavior of holding home button at least as non-root user. (If there's any way or work-around then don't forget to tell me!)

So, as I never use Google App and also want to stop opening Google App by means of home button, I want to disable it as it is a system application hence I can't uninstall it.

But when I opened Google App from system settings, I found disable button is disabled:

So, How do I disable Google App or there is no option except root?

By the way, it is also not being force-stop with the help of `force-stop` button!

# Answer
> 5 votes
You can change the behavior of holding home button even as non-root user (at least on my LG G Flex 2 with Android version 6.0.1):

Settings - Apps - Configure apps - Default Apps (in Advanced section) - Assist & voice input - here touch the text "Assist app Google app" not the icon on the right edge - here select None.

# Answer
> 0 votes
I was able to finally disable the Google App by updating the app then uninstalling the updates from the 3-dots menu in the top right. This caused Android to present the `Disable` button.

# Answer
> 0 votes
Clear all the data of google app then Go to play store \> options\> My apps & games.

Go to 'installed'\>Google app \> uninstall

Now don't do anything it will show to two options 'update' and 'open' minimize and close play store.

Then head to the settings \> storage & USB \> internal storage \> Go to google app.

Now you should be able to disable it.

# Answer
> 0 votes
I went to Settings, Apps, Google App, then Modify System Settings, then switched off Allow modify system settings. I could then force stop the app, and disable it. The icon even disappeared from the app drawer with a refresh of the launcher. Android 7.1.1.

---
Tags: 6.0-marshmallow, google-apps, system-apps, disable-app
---


# Question
Title: Are there guidelines on how much free RAM a phone should have - specifically Samsung Galaxy S?
I have a Samsung Galaxy S (AT&T Captivate) that is rooted. I have various ways to tweak the amount of free RAM the OS leaves on the phone. The default is 48 MB, but I was wondering if I could actually go lower without impacting phone performance. Are there guidelines posted anywhere, or that can be deduced based on knowledge of the Android platform? Or should I trust that the default settings are appropriate? I understand that when it comes to free RAM, more isn't necessarily better, but I understand that there is still a threshold that I don't want to dip below.

I'm running a 2.3.6 Gingerbread based ROM. For what it's worth, I'm running the Zeam launcher.

# Answer
In the "linux world", what android is at its core, free RAM is wasted RAM. The system will attempt to use up as much RAM as needed. If more is needed, and there are applications that are no longer requiring the RAM it has allocated, the system will free up the RAM from that application an allocate it to the new application that needs it.

Having less RAM available will not necessarily affect the performance. What will affect it is if it frequently needs to free up RAM on the system for other applications. meaning if there a lot of running applications that are Active, and require the RAM, then you can see performance issues. This is because the the system needs to save the state of the application, free up the RAM and then allocate the freed RAM to a new application.

As for what a "low point" might be, I can't say. I have NEVER watched my available RAM, and never really experienced any performance issues because of RAM. for the record, I have the same device (but the T-Mobile version).
> 5 votes

# Answer
How does RAM on Android work?

First, we need to understand a bit about how RAM works on Android. If you are familiar with Windows computers, you will understand that more and more RAM is usually better and having enough free RAM will be necessary for the system to function normally.

However, according to HowToGeek, with Android, it works a little differently. Android is based on the Linux kernel, an operating system operating under a completely different set of standards than a Windows PC. And when it comes to RAM, it's completely different from Windows: Free RAM is the amount of RAM that is wasted.

So, on Android, you do not need to clean up RAM for other applications to run. The process is automatic and very smooth. RAM is not something you need to think of on most Linux devices.
> 1 votes

---
Tags: samsung-galaxy-s, performance, multitasking, ram
---


# Question
Title: How to archive all photos from an album in google photos app
I have an album with more than thousand photos in it. I want to archive all the photos in this album. I didn’t see any option in google photos app for archiving all the photos inside an album.

Is there any way to do it quickly without having to select all the photos one by one and then archiving.

# Answer
I put all the photos in an album, then from the landing page I performed a search, keyword \[album\_name\]. Search returned the same number of photos as is in the album, but I haven't checked them one by one. Then, select all and select archive.
> 2 votes

# Answer
I've only found a way to do it from the desktop app :

* click the checkbox to select the first photo
* scroll to the end of the album
* hold shift and check the checkbox on the last photo

It should check everything, and then you can archive them with one click.

I had no luck googling for this exact question until I thought to search for "Select All" instead of "Archive All".
> 0 votes

---
Tags: google-photos
---


title: How do I remove Google contacts?

text:
# Question
Title: How do I remove Google contacts?
I have 3 Google accounts which have a bunch of auto-populated email addresses and contacts *I have never intended to add to my Android.*

I went to Settings \> Accounts \> Google \> foobar@gmail.com \> Contacts \> Switched to **OFF**.

*However*, when I go back to the phone app, all of the garbage auto-populated email addresses are *still there*. And when I select one of them, it clearly indicates with a Google logo it was "synced from Google account".

I intentionally don't use Google stuff. I want it off my phone.

If relevant, I'm using Samsung Galaxy S6 on Android 5.1 Lollipop.

# Answer
> 5 votes
You have done half the work.

By this query, we can understand that this new *Google's people details sync* should be turned off too together with *Google contacts* as this new service connecting you with others via some other platforms such as Google+.

Follow these steps:

*Go to Contacts app - Open contact's settings (by touching 3 dots on the upper right corner) - Contacts to display (select account from which you want contacts from such as from 'phone contacts' or from a specific 'Google account'.*

It's done.

Attaching pictures to see inside settings of contacts app.

Note: Be specific with an account as you can see in the picture Samsung is taking contacts from all the apps that are *Telegram, Paytm, Hike, and even from Samsung Pay.*

# Answer
> 1 votes
What you really need to do is go here Google Contacts. Log in with your account from which you want to delete contacts and then delete any contact you want from here. Once deleted from here, they'll be deleted from everywhere.

---
Tags: google-contacts
---


# Question
Title: How does android dm-verity protection validate blocks with hash tree
I am learning about android dm-verity protection and I try to understand how does the android dm-verity uses the hash tree for validation of "single block".

https://source.android.com/security/verifiedboot/dm-verity says:

> Instead, dm-verity verifies blocks individually and only when each one is accessed. When read into memory, the block is hashed in parallel. The hash is then verified up the tree. And since reading the block is such an expensive operation, the latency introduced by this block-level verification is comparatively nominal.

After the block is read and hashed, it is verified up the tree. **But how can I verify root hash, when I have not read all the blocks??** I can verify just that part of the tree I have read, and that means I do not have to go up to root hash.

I do not understand why we use a hash tree. StackOverflow thread says that main reason for using hash trees is when the hash is computed for every block and than for the whole file again, i don't get why it is used here.

So how it is actually implemented?? My assumption is that when the block is loaded to memory android just checks the particular branch and rest of values are taken from the pre-computed hash tree. But than I don't see the reason for using the tree. I would just store block hash values and after reading the block and hashing compare just the hash.

Edit: Let's assume this implementation:

1. split the whole block device to the blocks of 4K size.
2. hash each particular block and concatenate hashes(create layer 0 of dm-verity)
3. store the hashes (layer 0) at the end of block device Now, when I want to verify 4K block loaded to the memory, I find the block position and compare the hash of loaded block with the stored hash.

In the situation as this using a tree makes sense, because you only have Merkle root available, but in Android, we have the whole tree, so why just not use the layer 0 (implementation above) and throw away the rest.

And while writing, I think I came up with an answer. Android stores the whole hash tree at the end. But the tree is not signed, only the dm-verity table(metadata) that contains the root hash. So, In my implementation, I would have to sign the whole layer 0. And that is probably wasting resources, so it's better to use the tree.

# Answer
> 3 votes
**"But how can I verify root hash, when I have not read all the blocks??"**

> "In essence, the leaves of the tree are pages containing hash values; each higher level in the tree contains hashes of the blocks below it." Reference

Example:

> "A merkle path is used to prove inclusion of a data element. A node can prove that a transaction K is included in the block by producing a merkle path that is only four 32-byte hashes long (128 bytes total). The path consists of the four hashes (shown with a shaded background in A merkle path used to prove inclusion of a data element) HL, HIJ, HMNOP, and HABCDEFGH. With those four hashes provided as an authentication path, any node can prove that HK (with a black background at the bottom of the diagram) is included in the merkle root by computing four additional pair-wise hashes HKL, HIJKL, HIJKLMNOP, and the merkle tree root ." Reference

**"I would just store block hash values and after reading the block and hashing compare just the hash."**

You have to remember that cell phones have a limited amount of resources. Your way of doing it you have to read the whole block and compare to verify the validity before. With the tree you only need to read a part of it to verify validity.

> "However, attempting to verify an entire block device can take an extended period and consume much of a device's power. Devices would take long periods to boot and then be significantly drained prior to use." Reference

To help with your research I think it would be important to know the hash tree theory. It is called the `Merkle tree` first patented by Ralph Merkle

---
Tags: boot, operating-system, dm-verity
---


# Question
Title: Upgrade Android version of Mediastar Diamond MS-X2 satellite receiver
I have Mediastar Diamond MS-X2 4K with Android 7. 0 Nougat. After downloading the last upgrade file from the official site and restarting the device, it shows this error: "installation aborted".

What should I do?

# Answer
You can fix it by USB :

1. You need to download the update file MS-Diamond-Z2\_V3.4.1\_2018-10-24 and put it on a USB drive in a folder
2. Then change both the name of the folder and the name of the update file to

* Folder: `RomUpdate`
    * File: `RomUpdate`
3. Then turn on your Mediastar Z2 while you are pressing the Power button in front until the receiver screen shows an update
4. Then keep your hands away and the receiver will do the update automatically
> 0 votes

---
Tags: updates
---


# Question
Title: What can cause "Android OS" process to use high percentage of battery?
I've read a bunch of forum posts about the Android OS battery drain bug. This is where the 'Android OS' process is showing large percentages in the battery statistics.

For me, I'm running 2.3 Gingerbread. I don't use bluetooth or GPS. I'm on 2G most of the time. Some days I get 40 hours out of a battery. On these days in the battery usage settings, the 'Android OS' process uses about 3% of battery. However other days I get about 8 hours with similar use. On these days the 'Android OS' process uses about 35% of the battery. I really want to find out what causes this.

The fixes suggested so far are:

1. Reboot (Temporary).
2. Turn off and remove battery for a couple of minutes.
3. Reset battery stats.
4. Change WIFI sleep policy.
5. Use a task manager
6. Flash stuff to the phone.
7. Revert to older versions of the OS (not really a fix).

Does anyone know the definitive cause of this problem and the correct fix? Or is it possible there are multiple issues that cause this so different things will work for different people?

Here are some of the threads:

# Answer
> 9 votes
I believe, **there is at least one bug related to "Android OS" and battery drain**. I'll outline how to reproduce the issue: (Tested with Motorola Flipout, Blur\_Version.0.28.9\_MB511.Retail.en.DE (stock ROM the phone was sold with), Android 2.1.)

* Start with a fully charged phone.
* Download the Audiobooks (free) app and launch it.
* Choose a book from the free library and listen.
* Send Audiobooks to the background, e.g. by clicking home button.
* Go back to the Audiobooks app by the same operation you used to start it, e.g. click the icon in the app drawer. (This is the only way I am aware of to get the app in the foreground again.)
* Do whatever it takes to stop the audiobook playback. (There is a "shutdown player" button, but I never get to use it, because the player just stops/disappears before I can navigate to the player screen.)
* Leave the phone idle. **After 8 hours the battery will be almost flat (\<15%). Android's battery usage monitor attributes 33% of the batter consumption to "Android OS".** The remainder is split between "cell standby", "phone idle".
* Shut down the phone. Switch it on. Recharge.
* Leave phone idle.
* After 8 hours, check the battery status (\>50%). "Android OS" does not show up as draining battery.

Whether this is a bug in the Audiobooks player or Android or both is not clear. However, this does not appear to be normal behaviour.

# Answer
> 3 votes
I just had this problem. I think what caused it was that I had removed some email accounts (but not the app) and the data continued to poll for something in "running services" in applications. This caused "Android OS" to consume up to 43% of "battery use". In less than 8 hours the phone was dead.

After the app had its "clear data" activated, I also tried it with all apps that I had installed but seldom use. It then went down to 13%! Proves that the "removed" cache data had something to do with it. Cheers

# Answer
> 2 votes
On my Galaxy S2 media scanning stuck and battery drains completely in 8 hours at night without using. Battery usage was like:

> 1. Android OS - 30%
> 2. Media - 28%
> 3. Display - 25%

I cleared Media Storage data and the issue resolved:

> Settings » Applications » Manage Applications \>\> All \>\> Media Storage \>\> Clear Data

# Answer
> 2 votes
What I noticed: media scanner starts and drains battery and my Galaxy S2 became hot quickly for long minutes when I unplug the usb connection with my computer. It was same on 4.0.x (currently I got stock unrooted 4.1.2 on Galaxy S2). I have a lot of media files in phone memory and on the sdcard as well. My workaround without root (seems works):

* Go to Settings \> Apps \> All
* Find "Media Storage", tap on it
* "Disable"
* "Force stop"

Edit: What I noticed since I'm using this workaround:

* ringtones doesn't work
* Gallery app doesn't work
* Video Player app has failure as reported by wbogacz (thanks)

I miss Gallery and ringtones a bit but I'm still continuing to use this method because the media scanner problem is more annoying for me. I'll update again if I notice other differences.

Update: Few months later I still miss the ringtones and notification sound but I can live without it. Meanwhile I've installed the Flash Notification app and I love it. :) https://play.google.com/store/apps/details?id=com.manzy.flashnotification

# Answer
> 1 votes
Basically you are answering your own question.

To begin with I'll go with BMitch, this is **NOT a bug**. There are various reasons for high rate of battery drain. Also it depends a a lot on the firmware, android version and device you are using. For example : I have a Samsung Galaxy 5 device. Initially it came loaded with Android 2.1 and a pretty poor battery life of utmost 2 days. I rooted my device and I saw a significant increase in battery life of around 3 days without charging. Next I gave a tried out a custom ROM for my handset and the battery life inreased tremendously to 5-6 days and when I upgraded to gingerbread its back down to 2 days. Also it depends on how you use your phone.

* Some apps keeping running in the background and eat out battery life. Try avoiding them. Alternate solution would be using a task killer.
* Excessive Data usage (over WiFi/3G) also reduces charge. Switch off wifi and turn on to 2G network when not using the internet.
* Keep Bluetooth off when not using it since it also eats charge.
* Turn off GPS when not using any kind of map apps.
* Also there is one method many people have vouched to be working. This is be deleting the battery calibration data and forcing the system to make a new one. This however does not increase battery life. It one fixes battery mis-calibration. This app does the job.
* Using some battery saving apps like Juice defender. It basically does some of the above tasks in an automated format.

Hope this explains it.

# Answer
> 0 votes
Another reason your cell phone battery can die quickly is that your cell phone is being monitored or bugged by be someone who had to download a spy program which runs in the background all the time. And depletes your cell phone battery quicker. Check for suspicious programs on your phone.

# Answer
> -1 votes
Start by not calling it a bug. There are lots of causes of battery usage, just like there are lots of things that will cause the electric meter to spin. A short circuit needs to be fixed, just as a bad application needs to be removed. A task manager is similar to having someone run around behind you and turning off the lights. And various settings can be tweaked to get more out of the existing system, just like you can switch to CFL bulbs. There's no one fix, because there's no one reason.

---
Tags: battery
---


title: How to remove Google account on Chrome?

text:
# Question
Title: How to remove Google account on Chrome?
My boyfriend needed to use my phone to access his email. Since logging in his account remains the default user whenever I open Chrome and Google search. I have tried deleting my device on his account in under active devices. I have tried going into Chrome settings but there is no option to remove the account!

# Answer
> 4 votes
Are you sure that your boyfriend's account is opened only in chrome ? Well i think it's not.

The problem is not with the chrome if i am getting your problem. Here the person adds his account to your *Google Services* and your device is currently using it as its primary account. So, it is auto logging in as default account in chrome.

If you want to check: Open *Gmail app* look for the account signed in already by touching 3 lines on the upper left of the screen, there must be showing your bfs account.

So now, you have to remove this account from your device. Follow these steps:

1. Open Settings-Account-Google
2. Now click the account you want to remove and touch 3 dots on the upper right corner of the screen and choose *remove account*.

It's done.

However, what you have did by removing your device from his 'my activities' tab. This will only unlink your device from his Google account that means if you will try to sign in it may need to go through verification for signing in next time. As your device is now unknown/new for this particular Google account.

# Answer
> 1 votes
Just hit "log out" and it'll log out of all of them. Then when you hover over it, it will finally have the "remove" option.

# Answer
> 1 votes
If you want to remove his account from the phone (Android), follow this steps:

1. Go to **Settings → Account → Google**
2. Then tap on his E-mail/ID , you can see the more menu on right top corner, tap on it
3. It will show two options **Sync now** and **Remove account**
4. Tap on **Remove account** option
5. Done

# Answer
> 0 votes
If you have to remove account from chrome browser then open the browser and click on settings, then there is account on top tap on it, it will take you to next page from there you can remove, add or change account. Second way is Goto Settings\>Scroll down to **Accounts (Portion)**\>Tap on Google, there you will see a settings icon(3 vertical dots icon) on top right corner click on that and tap on remove account. Third way is Goto Settings\>Apps\>Chrome\>Tap on **Manage space/Storage**\>And then clear data from there. Hope it works....

# Answer
> 0 votes
In the Chrome browser...If it takes you to your Gmail account as saying signed in by your email id ...don't worry press the upper left button which have three horizontal lines ..It will show your email id in upper corner. click on it. Then it will go to "choose google account " page sign out from your account . After signing out if you want to remove your account you can. remove your account and add another account.

---
Tags: google-account, chrome-for-android, google
---


# Question
Title: Setting up Python so that it can be run on any Android terminal apps
I'm trying to get Python 3 to run natively on Android. By "native", I mean native Linux, just an Android variation of it. I'd like to be able to simply open a terminal and type `python /path/to/script.py`, so Kivy and Qslide will not work (to my knowledge, feel free to prove me wrong). Normally, Termux would do this, but I don't like the terminal app just the Linux packages it supplies, prefer to use another called Terminal Emulator by Jackpal.

I've tried booting into TWRP (I don't have root otherwise) and copying the necessary Python binaries and lib folder and the Termux data directory to `/system/bin` and `/system/lib`, but Python fails, saying it can't find `libandroid-support.so`. I realize Termux's Python is probably modified in some way to account for the directory structure required by an Android app and therefore couldn't find the `.so` even after I copied it to `/system/lib`.

So my question(s) are: How might I make the solution I tried work? Are there any other ways to get Python installed as a native Linux app\*?

---

<sup>\*Like I said, I want it to be just like on a desktop Linux where I can open ANY terminal app and use `python` just like any other command.</sup>

# Answer
> 1 votes
I believe the solution for you is Python-for-Android (Py4A). Not only does it allow you to run scripts on your Android device, but you can go one step further because the project includes simple draft instructions on creating a standalone, downloadable Android APK package.

First, I would start by going to the readme section of Py4A. There is a recipes (script) that will fit your needs. The python3 recipe allows Python3 to run as a "standalone" on Android.

This excerpt from Linux Journal explains script installation on your Android device:

> Running on a Smartphone
>
> To run a Python script on your physical Android device, install SL4A together with Python for Android on your handset, then transfer your script.
>
> To install SL4A on your physical Android device, enable the Unknown Sources option in your device's Application settings. This setting is required to enable the installation of non-Market apps on your phone. With this done, you can follow the same steps you used when installing SL4A and Python on your emulator. To speed things up a little, install Barcode Scanner from the Android Market and use it to “read” the QR Codes from your desktop screen.
>
> Transferring Your Script to Your Handset
>
> There are a number of ways to get your script onto a real phone. I've found the success of using something like Bluetooth connectivity or USB cabling arrangements can very much depend on the hardware on which you're running. What works on one handset, doesn't on another, and so on. Your mileage may vary depending on your actual device. When I need to transfer a file, I've come to rely on a solution that works no matter which handset I use (as long as the handset can talk to a local Wi-Fi network). What I do is switch on the OpenSSH server on my development PC running Linux, then use the AndFTP file transfer app on the handset to scp files from the desktop to the phone. AndFTP is available from the Android Market as a free download and installs in minutes. Once I connect to my desktop with AndFTP, I can navigate to a directory of my choice, mark the files that I want, then download them to my SD card on the handset.
>
> AndFTP works well, and I've come to depend on it for all my Android file transfers (see Resources). Just be sure to transfer your scripts to /sdcard/sl4a/scripts on the phone to ensure that your script names appear within the SL4A list of scripts.
>
> With your script file transferred to your physical device, start SL4A as before, tap your app's name and tap the run wheel. As expected, your app runs just as it did on the emulator, only faster! I haven't included a screenshot of the app running on a real phone for two reasons. First, it looks exactly the same as it did in the emulator, and second, it's running on your device, so you can take a look at it there!
>
> Creating an APK
>
> There's one further kink to SL4A that might interest you. The project includes draft instructions on creating a standalone, downloadable Android APK package (see Resources). Once created, the APK file bundles your custom Python script with information that allows other Android users to install Python for Android automatically onto their handsets and then run your app from the smartphone's main menu of apps. Describing the process of creating the APK likely would take another article, so I leave it to the brave among you to try out the instructions on the SL4A Wiki"

Python-for-Android website.

---
Tags: terminal, python
---


title: How to root Exynos S8 SM-G950F?

text:
# Question
Title: How to root Exynos S8 SM-G950F?
I have rooted devices before: an A3 2016 and a Note 3 Neo. I don't remember the exact procedure, but it was quite effortless. Now I have an S8, the SM-G950F variant to be precise, and everyone states different things.

Do I need TWRP recovery that everyone is talking about to root the phone? Can I do it in a more simple way without 80 downloads and 50 programs? Also I'd like to use a rather reliable method to do it because not losing my data would be an added bonus.

I am using Android 8.0 Oreo.

# Answer
Rooting has become pretty straight forward since Magisk came out. This is one approach to root your device. All you need is a custom recovery and then just flash the Magisk systemless root .zip.

First step would be installing the custom recovery TWRP.

**This device uses dm-verity!**

**This means that swiping to allow system modifications will prevent you from being able to boot if you are using the stock kernel. In order to bypass dm-verity's boot prevention, you will have to install a kernel that has dm-verity disabled in the fstab.**

Odin Install Method (No Root Required):

`You will need to download and install Odin on your PC.`

`Once you have Odin installed, download the proper .tar file for your device from the download link above.`

`Power off your device. Turn on your device using the proper key combo to get into download mode and attach the device to your computer via a USB cable.`

`Use the PDA tab or button to browse to and select the tar file that you downloaded and flash the device.`

> Note many devices will replace your custom recovery automatically during first boot. To prevent this, use Google to find the proper key combo to enter recovery. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don't follow this step, you will have to repeat the install.

Time to root via custom recovery:

\`Download the Magisk zip file.

Reboot to a custom recovery and flash the flashable zip Reboot and check whether Magisk Manager is installed and the version matches the one in the OP

If for some reason Magisk Manager isn't installed/upgraded automatically, please install/upgrade manually!\`
> 1 votes

---
Tags: samsung, root-access, recovery-mode, twrp, boot
---


# Question
Title: Do I have to reboot between flashing ROM, root and Xposed?
I am going to flash a custom ROM, systemless root (Magisk) and Xposed Framwork through TWRP.

Can I flash them all sequentially without rebooting, or do I have to reboot the phone between each installation?

My device is the Moto Z2 Play and my ROM is the Pixel Experience 8.1.

# Answer
You can flash the custom Rom and Magisk without rebooting. However, I would reboot after flashing the custom Rom and Magisk. That way you can ensure your system and root are setup. Xposed is a bit hacking and it is best to flash on its own.

As far as Xposed you **very important to reboot** after flashing xposed. Also depending on Rom size it could take around 10 minutes to boot while Xposed does its thing.
> 1 votes

---
Tags: rom-flashing, twrp, xposed-framework, magisk
---


title: Decryp sd card on samsung s9

text:
# Question
Title: Decryp sd card on samsung s9
I've encrypted my sd csrd on my old phone. This has since broken and wont turn on. I upgraded to a samsung s9 and put my sd card in. It wont let me decrypt the sd cre through any password or pin an tells me to decrypt it on my old phone first before being able to use it on my new phone. Help please

# Answer
Unfortunately, the encryption is tied to the phone as well as the password.

Have you tried connecting the device to a computer to see if it will come up enough to let you transfer files or is it hard bricked?
> 0 votes

---
Tags: external-sd
---


title: LG K10 MT6753 boot partition deleted

text:
# Question
Title: LG K10 MT6753 boot partition deleted
I have a little issue with my LG K10 K430. I was experimenting with it, to learn the `adb` function. Well, I stupidly erased the whole boot partition using `rm`, and then my phone is not booting anymore. It is showing the LG boot logo, but is not starting up, keeps rebooting.

I tried to:

1. Repair it through LG Bridge, to flash the stock ROM through LG UP and LG Flash Tool. But the phone is not staying in flash mode or download mode, cant boot into Fastboot. The only thing that apparently works is the Factory Reset mode, but only shows the interface. It only reboots the phone and nothing else.
2. Flash the boot image through SP Flash Tool but has no luck. The phone is detected by Windows but only for 3 seconds, then it disconnects. No matter what I do, when I connect the phone to my PC, it quickly disconnects, even with Driver Enforcement deactivated. I tried LG drivers and some other drivers for Mediatek, but still have no luck.

Is there any other way to recover the boot partition's data or to unbrick my phone?

I hope you can help me.

Thanks in advance.

# Answer
Please have a look at this video on backing up MTK Devices ( Mediatek ) prior to any system changes MTK Backup & Restore

* Ok, you definitely need your CDC Drivers ( MTK Preloader Drivers )
MY Stock CDC & MTK Drivers
Some drivers are .INF files, You need to right click and install ... These files are pulled from an MTK 6735 ROM - CDC Drivers are usually universal for all MTK.
* And probably the newest SP Flash Tool ( V 5.16+ )

5.16 has new support, so get the newest version if you don't already have 5.16+

SP Flash Tool 5.17.zip

Ok, I'll need more information to completely resolve the problem.

How exactly did you remove boot with `RM` ...

And have you got a Boot Image For The Device....

I can help get everything working but please make sure you have the files above, and you need to watch the video ( English ) to understand how SP Flash Tool works ... Please do all these things and comment the answers ( the code you used to wipe ) etc....
> 0 votes

---
Tags: unbricking, lg, mediatek
---


# Question
Title: How to create a home screen shortcut for a live streaming URL?
Is it possible to create create a launcher icon that will start a certain streaming video URL in an app registered to the specific media type? (or offer the app chooser menu, in case there are multiple apps matching the content filter).

In my case it is a `M3U` playlist URL pointing to a DASH stream and I would like to open it directly in a default app for the content type (i.e. mxplayer).

I am aware that it is possible to create a launcher shortcut from Chrome or other browser via Add To Desktop option, but in this case tapping the launcher will open the web browser first and then will redirect to whichever app can handle the content type. Can this be done in a way that does not require a web browser?

In broader terms, the question is how to create a launcher to a URL or local file that can be tapped from the desktop and would open in whatever app(s) can handle the content type?

# Answer
Stock android does not offer the possibility of creating custom desktop shortcuts since that's something handled by the launcher which is just an app like any other. While some launchers do offer to option to create buttons for any activity (e.g. Nova and others) they don't currently have the option of setting additional arguments for the shortcuts such as URLs or file names.

After trying half a dozen of apps from the play store I have identified at least two apps which can create generic shortcuts which will keep working even after the apps are uninstalled: https://play.google.com/store/apps/details?id=krow.dev.scheme.

With Intents the configuration that worked with VLC player is:

Other shortcut creation apps I tried register the shortcuts to themselves and therefore uninstalling them will also delete the shortcuts.
> 3 votes

# Answer
If you have a file manager (I use ES File Manager version 4.1.5.5) that can create shortcuts to the desktop, then it is possible to do what you ask.

1. From ES File Manager, press the file, select `More`.
2. Select `Open As`. A window appears with options. Choose either `Audio` or `Video`
3. A new window will appear with the options to select the app to open the file with. Select `Set as the default app`, then select your favorite app for playing the `m3u` streams. The app will open and play the stream. Close the streaming app.
4. Select again the file, click `More` followes by `Add to Desktop`.
5. A shortcut will be created; clicking it will open the stream using the app selected during step 3.
> 2 votes

---
Tags: launcher, home-screen-shortcuts, video-streaming, content-filter
---


# Question
Title: Using Android phone, how to control someone's Android phone remotely for assistance?
My relative has an Android phone and I have it too. We both are thousands of miles away. She is a new smartphone user, and it is hard for her to learn the skills to use it. She needs help to turn off the music, for example. She called me but I could not help her with instructions. She is alone so I suggested YouTube, etc. I want to teach her how to use the apps.

Is there a way to remotely operate her phone from mine? I want to help her with issues and try to make her independent as far as possible.

# Answer
> 1 votes
Comment Instructions (Irfan Latif)

Software Link (Team Viewer - Android)
TeamViewer

Guide for Remote Controlling
Guiding Tech - How to Control Android Remotely Using TeamViewer

---
Tags: remote-control
---


# Question
Title: Shortcut key to hide all windows on Samsung DeX
Is there a shortcut in Samsung DeX to minimize all windows and display the desktop?

# Answer
> 1 votes
Hit Meta+Enter.

To view more shortcuts, hit Meta+!.

Pro-tip : do it from Chrome and you'll see Chrome's shortcuts as well !

# Answer
> 1 votes
"**Meta+Enter**" will minimize all the current open windows on the desktop and pressing "**Meta+Enter**" again will reopen the windows.

You can also press "**Meta+/**" to view all the default shortcuts on Samsung DeX.

If you want more than the default shortcuts then you can install an app called "Desktop Hub". This app will give you lots of extra cool shortcut keys for different stuff on Samsung DeX.

# Answer
> 1 votes
```
win (meta) + up = maximize
wim + down = minimize
wim + m = maps
win + s = SMS
win + d = desktop/minimize all
win + f = finder/search device
win + k = calendar (kalendar??)
win + L = lock
win + enter = seems to also be show desktop
win + q = quick settings panel (wifi/bt etc on/off controls)
win + e = email
win + I = bixby, unavailable in DeX mode
win + P = music default app
win + left/win + right = pin app to 1/2 of screen side by side

```

---
Tags: keyboard-shortcuts, samsung-dex
---


# Question
Title: What are the risks involved in unlocking the bootloader?
A locked bootloader is one that will only boot an OS and recovery that it "approves" of. Vendors digitally sign the recovery, kernel and kernel modules and unsigned binaries are refused to flash and boot. This is same as **Secure Boot** provided by UEFI.

In PC, one can simply disable the Secure boot by choice if one wants to boot unsigned binaries. But on Android devices, every vendor has its own lengthy process to unlock the bootloader like providing unlock tool, unlock code and device registration. Vendors are making it even harder like HMD initially refuses to unlock Nokia bootloaders and Huawei will stop providing bootloader unlocking for all new devices.

So how does a locked bootloader strengthens the security and privacy of end user or does it serve some other purposes too?

# Answer
Locking you bootloader is really telling your device to check the signature's of specific files to find if it's a genuine image.

If it's found to NOT be genuine, it will not allow booting, as well, it won't allow flashing of the image.

If the signatures all check out, then it'll allow the flash or boot .. If you used the "Universal Signature Vulnerability" you can bypass nearly all signature checks on many models.

Some applications that you can install on your device don't require anything other than an internet connection to connect to a database of vulnerabilities, the application will run through the vulnerabilities until it gets a successful hit on your device and then exploits your system using the vulnerability...
These applications can install modified image's and ultimately makes locking bootloaders a thing of the past...
KingRoot is one of these software's, it doesn't require unlocking the bootloader and specifically states that you are not voiding your warranty if you remove king root prior to returning the device.

The main thing about locking bootloaders, is it's a little too late... Software has gone far beyond using Fastboot to do flashing, most the time, Fastboot has size limitations and NEW devices have massive image's that can't be flashed without splitting the image.. It's almost never used anymore, most companies use their own software to connect to the bootloader now, like Odin, SP Flash Tool, LG Recovery ( something like that ) ...

The fact that you can flash a custom recovery without ever touching Fastboot ( OEM Unlock - go ) and that recovery can flash all your partitions, makes unlocking bootloaders the prehistoric way of doing thing's if you care about your warranty.

Bootloader locking in my opinion is to improve users experience with the default system, People are starting to preffer systems like CyanogenMod and Other popular custom ROM's ... Could you imagine if one of these custom ROMs become the most popular OS, above Android that it's built on...

If you ask me, it's all a bit touch and go with the legalities of disclosing kernel sources, As android is an open source project, you are meant to follow the open source licences.. This means it's technically not legal to withhold some of the Open Sourc Licensed code ... meaning to fully disable the ability of others to have access to the source code would be a violation of the Open Source license's that Android uses...

Some companies thought they had the right to withhold the source code to stop people making modified boot inages for the device, but they soon found out the opposite and released the open sourced code for others to have the same access.

It's all a bit up in the air at the moment because Android is built on Linux, Java, XML Layouts etc... None of these things are owned by Android, android is simply a concoction of other systems, therefore most of it can not be claimed as the ownership of Android and therefore Android MUST be an Open Source Project to comply with the open sourced licenses of Linux, Java, etc.....

Ok so, most companies would need to build an OS on top of Android and call it something different to ever have the rights to withhold access to the bootloader source code ( kernel ) and then probably still not.

I guess I'm saying, Unlocking the bootloader has now been bypassed and therefore the purposes of locking it are now ... none.
> -2 votes

---
Tags: security, bootloader-lock
---


# Question
Title: Why is Play Store showing "Can't install app...Error Code: 910"?
I am using Android Lollipop mobile. I have uninstalled preinstalled Youtube app updates. Now I tried to update the app from Play Store. It is giving the error "Can't install app" with error code 910.

I have tried the following steps:

1. Deleted Play Store app's cache and data.
2. Deleted Download manager app's cache and data
3. Deleted Youtube app's cache and data.
4. Restarted phone.

And tried again, still same error occurred. How do I fix this?

# Answer
I had the same problem after trying to upgrade my Snapchat app to the alpha version following a tutorial on the XDA developers forum. After finishing the tutorial, the app wouldn't uninstall, run, or reinstall properly. The solution (for me) was to uninstall the broken app using ADB.

1. Install adb (if you haven't already).
2. Enable developer mode on your phone (if you haven't already).
3. Type `adb devices` into the terminal / command line.
4. Tap 'yes' on the authorization prompt on your phone (if you haven't already authorized).
5. Type `adb uninstall <insert package name here>` to uninstall the broken app.
6. You can now reinstall the app from the Play store or wherever you got it from.
> 3 votes

# Answer
I had been getting error 910 for days. I finally managed to solve the problem using the following steps:

I "ejected" the SD card via settings, device, storage. I didn’t physically need to remove the card from the phone.

(Android 6.0.1..... Blackberry Priv.)
> 3 votes

# Answer
Unfortunatly none of these solutions worked for me. So I have downloaded latest Youtube apk from third party site and installed successfully. App is working fine. But in Play store it is still showing my earlier version app and asking to update. I guess hereafter every time I need to update from apk only.
> 2 votes

# Answer
Go to storage setting and set default storage setting to “Phone memory” or “Let the device decide”.

(Error 910 happens due to sd card set as a default storage.)
> 2 votes

# Answer
I had this problem with a Blackberry Priv with Android 6.01. What worked for me was:

1. Go to Settings → Personal → Security → Device administrators, disable the “Google Pay” administrator, and enable the “Blackberry Launcher” administrator.
2. Go to Settings → Device → Users, and select Guest.
3. Go to Settings → Device → Users, and select Myself - and log back in.
4. Return to Google Play → My apps and games, and install.

This was done after a reboot and two previous installation attempts. The app that wouldn’t update was “Google”.
> 1 votes

# Answer
In my case it was the Wish app. It would download, then pop up with that exact error.

I moved it from my external SD card back to internal storage. I updated it, then went to move it back to external SD card, but it said I had no space. I know for a fact I do (I had a 512 GB SD card, so plenty of room). I ended up turning phone off for a few minutes then back on, and it moved just fine. So if it's moved to external SD card, maybe that's it.
> 0 votes

# Answer
I was having the exact same issue! I just solved it by removing the sd card from my device. I don't know if the error will return after I put it back, but I was able to install apps.
> 0 votes

---
Tags: google-play-store, installation, application-error
---