# Question
Title: How to push gapps via adb to a rooted device
I have a Samsung t355c. A China model of the normal tablet that doesn't have gapps and as far as I get it a locked bootloader. There is no custom recovery for it. Runs 5.0.1

I managed to root it using kingo and tried many ways of pushing google apps into it. Ended up bricking it for now... redownloading original rom.

The question is. After I fix and root him again Using adb with the root . How can I push gapps

# Answer
> 3 votes
I have not really tried this, but a possible approach would be following the steps a custom recovery would perform when installing ("flashing") the `.zip` file – which can be found in `META-INF/com/google/android/updater-script` (after extracting the archive). For the Kitkat GApps archive, this looks like:

```
ui_print("Installing files...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(1, 15);
delete("/system/app/Provision.apk","/system/app/QuickSearchBox.apk","/system/app/priv-app/SetupWizard.apk","/system/app/priv-app/Velvet.apk","/system/app/Vending.apk","/system/app
package_extract_dir("system", "/system");
set_perm(0, 0, 0755, "/system/addon.d/70-gapps.sh");
package_extract_dir("optional", "/tmp");
package_extract_file("install-optional.sh", "/tmp/install-optional.sh");
set_perm(0, 0, 0777, "/tmp/install-optional.sh");
run_program("/tmp/install-optional.sh", "");
show_progress(1, 15);
ui_print("Cleaning up and setting metadata...");
set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/priv-app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/etc/permissions", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/etc/preferred-apps", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/g.prop", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/framework", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/lib", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/usr/srec/en-US", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/pittpatt", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
run_program("/sbin/busybox", "umount", "/system");
ui_print("Installation complete!");

```

We of course can skip the comments/debug-output, and thus essentially end up with these steps. I assume you've unpacked the `.zip` file's contents somewhere on your device, and are sitting in a shell (terminal or `adb shell`) with root permissions (`su`) to start with:

1. `mount -o remount,rw /system` (line 2)
2. if the files listed in line 4 exist: `rm -f <file>` for each of them
3. copy all contents of the `.zip` file's `system/` directory to `/system` (line 5)
4. `chmod 0755 /system/addon.d/70-gapps.sh` (line 6)
5. ( apply the previous 2 steps on lines 7-9 )
6. `sh /tmp/install-optional.sh` (line 10)

Now it gets a little more difficult (for beginners) interpreting the `set_metadata_recursive` commands. I'll explain this on the first one (line 13):

`/system/addon.d` must be owned by uid 0 and gid 0, file permissions should be 0755 (dmode is directory mode, fmode file mode), SELinux attributes are `u:object_r:system_file:s0`. You might have noticed I've skipped two columns: I have no idea what the `"capabilities", 0x0` stands for, so I cannot explain it (if anyone does, please comment). So let's do that:

```
chown -R root:root /system/addon.d   # -R is recursive, root is user/group id 0
chmod -R 755 /system/addon.d         # as dmode and fmode are the same, we can do that
# at this place missing: SELinux properties. I've never dealt with those

```

If like in line 14 fmode and dmode are different, you'll have to take care for that as well. Apply dmode as above, and follow it by a `find <dir> -type f -print0 | xargs chmod <mode>`, replacing `<dir>` by the first argument of `set_metadata_recursive`, and `<mode>` by the corresponding fmode.

Finally, remount `/system` read-only again: `mount -o remount,ro /system` – or simply reboot (you'll have to anyway), which takes care for that as well.

I have skipped the SELinux stuff due to missing knowledge. It will most likely work without – but might be good to do for additional security :)

# Answer
> 1 votes
SElinux labels you set with "chcon" command and you can the result verify by using "ls -laZ".

For: set\_metadata\_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object\_r:system\_file:s0");

it will be: chcon "u:object\_r:system\_file:s0" /system/addon.d

You can verify this by issuing: ls -laZ /system/addon.d

source for usage of "chcon": https://books.google.pl/books?id=AKbNBgAAQBAJ&pg=PA101&lpg=PA101&dq=%22u:object\_r:system\_file:s0%22&source=bl&ots=MbpesnKLkI&sig=ACfU3U2sJc-vYndDkUOk1Tru42hrcuPyUQ&hl=pl&sa=X&ved=2ahUKEwjqwqKiwZDnAhWiAxAIHZH8AGAQ6AEwAXoECAkQAQ#v=onepage&q=%22u%3Aobject\_r%3Asystem\_file%3As0%22&f=false

---
Tags: adb, root-access, samsung, google
---


# Question
Title: Can we find out who has developed the app by looking on the signature?
Is it possible that the published app is not signed by its developer andd if yes, How can we find out who is the app developer?

# Answer
Yes it's possible, you can check by unzipping the APK, finding the `META-INF/CERT.RSA` file which contains the developer's public key and using the command `openssl pkcs7 -in /path/to/extracted/apk/META-INF/CERT.RSA -inform DER -print`.

For more info have a look at the first section of this link: https://www.evilsocket.net/2017/04/27/Android-Applications-Reversing-101/.
> 1 votes

---
Tags: applications
---


# Question
Title: Un-register service from hwservicemanager
I have disabled the fingerprint sensor on my phone by setting the device tree node status to disabled. When I boot up, the fingerprint menu options are gone, but dmesg shows that `hwservicemanager` is trying to start a fingerprint sensor over and over, but init can't find the service:

```
[  625.488742] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start
[  625.502583] init: Received control message 'interface_start' for 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' from pid: 669 (/system/bin/hwservicemanager)
[  625.502658] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start
[  625.523352] init: Received control message 'interface_start' for 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' from pid: 669 (/system/bin/hwservicemanager)
[  625.523427] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start
[  625.538080] init: Received control message 'interface_start' for 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' from pid: 669 (/system/bin/hwservicemanager)
[  625.538545] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start

```

How do I tell `hwservicemanager` to stop trying to start this now non-existent service? I saw here that there is an option to remove the hidl definitions from a manifest file, but I would like to enable or disable the fingerprint sensor at runtime. I can enable and disable the service with `start vendor.fps_hal` and `stop vendor.fps_hal`, but I can't stop `hwservicemanager` from trying to start it.

# Answer
You can check system/hwservicemanager/ServiceManager.cpp to see when and why `hwservicemanager` is setting `ctl.interface_start` to trigger `init` to start the HAL service.

Unless you are willing to update `system/hwservicemanager/ServiceManager.cpp`, I don't see a way to achieve what you are trying to do.
> 0 votes

---
Tags: services, fingerprint
---


# Question
Title: Why can't I install anything? No error given, just endlessly "tries"
I have been unable to install anything on my Moto E5 Play (Android 8.0). It never gives an error, or any indication that something's wrong, it just eternally spins the loading circle around the app's icon and says "waiting for download." It'll go on for DAYS if I wait that long to press cancel.

I really don't think it's a data usage issue, as it just reset 3 days ago. I also don't think it's a storage issue, as I have 6+ GB free (16 total) and have not been getting any error messages that seem to go along with other questions that end up being storage related.

Things I have tried:

-rebooting (twice)

-installing ~5 other apps, including ones I've never had

-UNinstalling an app, and trying to reinstall it (can't)

-clearing cache for Google Play and Google Play Services

-turning data saver on and off again

-turning data saver on and telling it to let Google Play and Google Play Services have unrestricted data access

-killing and restarting Google Play at nearly every step

---

I'm probably rambling on this last bit, but I also have the tendency to leave out things that end up being important, so...

I have this vague notion that maybe, somehow, it has too many apps trying to install. My old phone broke a few months ago, and when I got this one, I found that any app I could remember having, was already endlessly trying to install. However, then, I could cancel and tell it to install again right away, and it would work.

# Answer
> 0 votes
It's been happening again lately, but 2 or 3 times now it's resolved itself when I cancelled another forever-pending update I never requested. I get the feeling it's like 2 or more updates are stuck in the door, and neither wants to let the other go first.

Whatever's going on, and in lieu of another, better answer, try this - go to Google Play, tap for the menu (the "hamburger" in the search field) and click "My apps & games." X off updates till one starts making some progress.

---
Tags: applications, google-play-store, installation, downloading
---


title: Uninstall MirrorGo Keyboard

text:
# Question
Title: Uninstall MirrorGo Keyboard
I installed the MirrorGo (Stream & Recorder) app from the Play Store to try but uninstalled it over privacy concerns in my Android 10. Everything looks fine, but recently I discovered it still left some traces in the device. When I checked the virtual keyboards in Language & input settings, I found the MirrorGo keyboard is still available.

I tried checking the list of all apps on the mobile and couldn't find anything related to that. How do I remove that from my device?

Device: Pixel 3;
Android Version: 10 / Android Q;
Device status: Unrooted;

# Answer
Long click on the keyboard, and it shall show an option to remove the keyboard. In your Apps section in settings, there should be apps like MirrorGo Connector, which you can simply uninstall. However, for a full clean you shall require root.
> 0 votes

# Answer
There is an app called "connector". It has the same icon that mirrorgo keyboard has. You can find it in the apps settings and uninstall it. It makes mirrorgo keyboard disappear.
> 0 votes

---
Tags: keyboard, uninstallation
---


# Question
Title: Is there a way to display calendar notifications without having to unlock the screen?
For SMS there is an application called SMS popup which will display the message over the lock-screen.

Is there anything similar for calendar notifications that allows you to clear or snooze the notification without having to unlock the screen?

# Answer
> 5 votes
WidgetLocker is a great lock-screen replacement that will allow you to put any widget installed on your phone on the lock-screen. You can also configure it to allow your Notification bar to be usable. The actual calendar popup I'm not sure about, but I know you'd be able to see it when it shows up in your notification bar, and from there you can open it up and snooze/dismiss it.

# Answer
> 1 votes
This works: Your Calendar Widget

---
Tags: calendar, lock-screens
---


# Question
Title: What are the causes of an android phone bricking?
I will try to change a firmware of SAMSUNG Galaxy J600FN with a current firmware of J600FNXXU6BSK2 with a new firmware J600GDXU3ARH5. I am changing the firmware to bypass the FRP because methods like Talk back, Inserting/Removing Sim card and HushSMS won't work.

**Questions:**

1. Will this scenario will be suceeding in changing firmware?
2. What are the common causes of the android phone bricking? (Hard/Soft Brick)

# Answer
If you are flashing ROM, Common causes could be

1. Wrong ROM
2. Battery Failure (Please make sure it is charged fully or upto 70%)
3. Power Off/ Cancelling process in between.

Please search for the same Model ROM to Upgrade to current version. Also in Settings, search for Software Update option before trying anything else.
> 0 votes

---
Tags: rom-flashing, device-firmware, frp
---


# Question
Title: Add WhatsApp images to Google Photo album in the cloud
I have a HUAWEI P20 phone and I am using the native Google Photos app to organize my photos on this device. Only the Camera folder is set for automatic upload to the cloud.

I am using Viber and WhatsApp on this phone. Their image folders are not uploaded automatically to Google Photos in the cloud and I do not need this, so that automatic uploading for this folders is turned off.

I also have a couple of albums in Google Photos to which I add particular photos from the Camera, Viber Images and WhatsApp Images folders. The problem is that only photos from the Camera and Viber Images folders I added to my albums on my HUAWEI device appear in the cloud (when I view them online at https://photos.google.com/). The images from the WhatsApp Images folder I add to the albums never appear online.

Does anybody know how to solve this problem?

---

P.S. I've looked at full image paths in Viber Images and WhatsApp Images folders to find any difference that may lead to this effect. It seems, paths for Viber and WhatsApp images have the same structure and this is not the source of the problem:

```
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20200108-WA0000.jpg

/storage/emulated/0/viber/media/Viber Images/IMG-9104f1a4b3f873e1d9c8806bb9a8bd25-V.jpg

```

And sure, I am using the latest official firmware on my phone.

# Answer
> -1 votes
You have to manually change the settings for it to be backed up.

In the Google Photos app:

* go to the Albums tab
* locate the PHOTOS ON DEVICE section
* scroll to find the WhatsApp Images folder
* when you click to open it, on top, right after the title, there is a `Back up & sync` switch -\> click to activate it.

If you also want to back up the videos, there's a separate folder for that, you have to activate the switch for it too - and for any other local folder you might want to have in the cloud.

---
Tags: whatsapp-messenger, google-photos, viber-messenger, cloud, auto-upload
---


title: Keep Apps on SD card

text:
# Question
Title: Keep Apps on SD card
So I'm using Android 7.0 (build nr. `NRD90M.G935FXXU1DQH5`) on a Samsung Galaxy 7 Edge.

Whenever I update an app that I've moved to SD card, I need to move it back to SD card after the update.

This is very annoying (and been for a while). Any way I can resolve this without downgrading or rooting the device? Because I could have sworn there was a time apps moved to the SD card STAYED there.

(Personally, I would have no issue with rooting the phone, but certain apps - like for example used by my bank to authorise e-banking transactions - won't work on rooted devices, so let's not.)

# Answer
> 2 votes
Let me tell you a bit about the Android system. When an app is updated, the developer may *not* merely add files to its directories, but may also delete/modify existing ones. Android system is such that, Google Play Services framework cannot update apps while they are on SD card. So, the apps are always updated by first moving them to device memory, and then modifying/adding/deleting apk files.

Unfortunately, there is **no** system to automatically move the apps to sd card after update. There may be apps claiming to do that, but I haven't tried any, so I cannot tell.

On all Android devices, be it 4.0-Kitkat, 5.0-Lollipop, 6.0-Marshmallow, 7.0-Nougat or 8.0-Oreo, this system is **unavailable**. After update, you have to **manually move the app back to sd card**. Nothing can be done about that.

*Please note that all methods mentioned here are on **unrooted** phone. I don't know what can be done on a rooted one.*

# Answer
> 0 votes
I have the same behavior on my Samsung S7e - currently Android 8.0.0. However, on my Tablet SM-T900 - currently Android 5.1.1, there is an interesting features in the "application manager", which helps: amongst the 5 sheets available there, one called "SD Card" allows listing all applications "authorized" to be moved thereto, irrespective of whether they actually have been or not. So, after an apps update session, the box associated with an app which was moved away is no longer ticked, easily and quickly showing the app (or at least part of it) is back to the internal memory. I use this trick after each update session in order to quickly identify and transfer back to SD on both devices, as wished. This also makes it easy to identify newly installed apps eligible for it... This is of course not as good as if the apps would stay on SD after updates, but helps a lot as it makes it easy and quick to correct the problem. Hope such feature is or will be on later OS, such as on S10... my next mob.

---
Tags: external-sd, 7.0-nougat, samsung-galaxy-s7, adoptable-storage, samsung-galaxy-s-7-edge
---


# Question
Title: First N sec not played from pulseaudio over HDMI on Android TV
I start tv, select input source, set default sink for pulse audio(`pacmd set-default-sink 0`) and start some playback in mplayer. For some reason, there is like 3-5s delay between command being executed and sound actually coming out from tv(sony). After that, I can immediately turn off mplayer, and if I rerun, there won't be any delay/audio missing. However if I wait for like 30s, it will start over again.

I really don't know what is causing this issue. Is it pulseaudio, android tv, gpu, or it's a some feature of sound over hdmi? Is it somehow fixable? I mean for initial first connection — not ideal, but OK, but then I'd like to 'hear' all executions of all potentialy launched apps start playing immediately.

# Answer
Found the cause:

check this question: https://askubuntu.com/questions/218444/sound-output-starts-delayed

so I commented out this line:

```
 load-module module-suspend-on-idle

```

in file `/etc/pulse/default.pa`, and issued `pulseaudio -k` waited for restart and now it works without any delay. Hurray!
> 0 votes

---
Tags: troubleshooting, android-tv
---


title: Record screen problem

text:
# Question
Title: Record screen problem
vivo 1902 - unable to capture the screen of this interface due to app limitation on how to override this situation when record screen from some apps. If I use the app recorder it just blanks when I play it again.

# Answer
You cannot do screen recording on apps which restrict taking screenshots and recording. Your only solution will be root access, I believe.
> 0 votes

---
Tags: video-recording
---


# Question
Title: Does Samsung has a feature like second space in Xiaomi?
In Xiaomi we can do second space.

Put certain password we go to first space.

Put another password and we go to second space.

Xiaomi also support dual apps, which is a different feature.

Combined, I think we can have like 4 Whatsapp account per phone.

What about samsung?

Do we have second space in Samsung?

I've heard some devices allow for multiple users sharing a phone.

Say you do regular whatsapp in one device. You do your secret businesses on another user. If someone forces you to open your devices you will just show your first user.

Note: Samsung seems to have ways to allow multiple users on the same phone https://eu.community.samsung.com/t5/Tablets/Multi-User-switching-accounts-something-you-should-be-aware-of/td-p/1316185

However, there is no way to hide that extra users from say cops.

Android in general can https://android.gadgethacks.com/how-to/android-basics-set-up-multiple-user-accounts-same-device-0168597/

However, there is no way to do it like second space.

# Answer
**UPDATE**: there are apps for isolating environment and e.g. hiding other apps. Check Island.

Unfortunately, lots of Android capabilities are limited by producers - that's the case, too. According to this link on Reddit, people are searching, but with no success. The only devices are tablets, described e.g. here on Samsung Support page for Galaxy Tab S.

Of course you can enable multi-user functionality by modifying system files, but mostly that's not the way a standard user like - warranty issues, triggered Knox, disables access to S Apps... essentially, lots of problems.

So, to sum up - without modifications, **it's impossible on Samsung smartphones to enable multi-user functionality**. Root your phone, and then you'll be able to turn on multi-user, but keep in mind that rooting your device comes with lots of pros **and cons**.
> 1 votes

---
Tags: samsung, xiaomi, multiple-devices
---


# Question
Title: Firefox's "stop loading X" button. Where is similar function in Chrome for Android?
I'm using Firefox newest update and Chrome newest update on my cheap walmart LG phone. For certiain web browsing puposes I find it handy to use the "stop loading X" button on the immediate right hand of the address bar in Firefox. On my home computer I find that the ESC keyboard button suits my needs for Chrome to stop the page from loading. How can I perform a similar stop-loading-page in Chrome for Android on my phone?

There are only two links I've found on the web that address this. Both suggest that there ought to be an X icon to the immediate LEFT of the address bar in Chrome that appears while the page is loading that allows one to stop page. But it is not there, anywhere, on my Chrome page on my phone.

This is very frustrating. Nor can I find any apps or extensions to add such a function.
Any help here would be highly appreciated! Thanks, in advance.

# Answer
> 1 votes
You can access this button from Chrome's menu while the page is still loading. When you would tap the three dots line the reload button would change to X button as long as the site loads.

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


# Question
Title: How can I prevent the YouTube application from constantly showing a pop-up for YouTube Premium trial?
How can I prevent the YouTube application from constantly showing a pop-up for the YouTube Premium trial? I'd like to never have this window.

# Answer
This answer is from Quora:

> Tap “channel icon”, top right hand corner. This will lead to “account”.
>
> Scroll down to “settings”, and select “notifications”.
>
> Scroll down to “Product Updates”, and turn the ‘switch' off by tapping on it. It shall turn grey, and point to the left.
>
> While you're there, you can also change any other settings that may have been bothering you.
>
> This may reset whenever YouTube updates, so remember to switch it off again if the adverts re-appear.

For the past 6-8 months, I have not been using the Youtube app (I prefer NewPipe to access Youtube). So, I can't confirm if the above suggestions work 100% of the time.
> 2 votes

# Answer
I have never been disturbed with these popups so far in the modded YouTube app named YouTube Vanced so I suggest you try this app. The app also has background play feature that can be used without a YouTube Premium subscription.

Head over the XDA thread here to know more about this app and learn about its installation.

Note: the app automatically blocks ads served by YouTube.
> 1 votes

---
Tags: youtube
---


# Question
Title: What is the difference between Samsung 4 files(Repairing firmware) and Single firmware file for flashing?
I was flashing a **Samsung device** with a single file (`tar.md5` format) and i saw some people are working with 4 files(`Repairing firmware`) to fixing the most and actually, ***Any problems*** with those 4 files and i've heard that they says, it should fix any`(Software)` problems after flashing it on the device but *i couldn't actually* figured out ;

**What is the exactly difference between these two** which the 4 files containts four files such as ;

* `Bootloader` file
* `CODE` file,
* `Modem` file
* and `CSC` file

And the single one has the `Modem` file and the others which we'd introduce it in `PDA` section?

Or, which one should be the best option for updating a device?

Also, i've seen an application which it could convert the `Single firmware` to four files and that was more interesting about the question too!

# Answer
* The single file which you can flash (I presume you are using Odin) contains **all the files required** for your firmware upgrade- which you place in PDA option of Odin
* If you want to upgrade the firmware **selectively**, you would use one of the four files mentioned:

+ *Bootloader file*\- not normally done for stock, mostly used for compatibility issues in version upgrade in flashing custom ROM. Example : MJ5 bootloader for flashing Note 4 ROM on Note 2
    + *Code File* is typically the ROM
    + *Modem File* is the radio component of ROM- you may want to replace a ROM meant for use in a different region and change the modem to get better performance by flashing modem file of your region. List of modems for your device can be searched on XDA forums. Example- Note 2 modems
    + *CSC (variously referred to as Country/Carrier/Consumer Specific Code) File* is the file you would want to use to change if you bought the phone in a different region and want to use it in your region (Samsung ROMs incorporate region specific features ) . Example

> What is the exactly difference between these two?

I had overlooked this main question and realised I never probed this aspect. Googling leads me to the conclusion that the key difference is **is it Odin ready (to be flashed as a single file or not?**. While Odin and Kies are both Samsung proprietary, formats required for using them differ. using a Kies format and adapting to Odin requires extraction of files required.

* Samsung firmware upgrade comes as a single file having the necessary files required for upgrade (Odin ready)
* Samsung firmware is available on many sites, Sammobile is considered to be the most reliable out there. This site and other sites sometimes host upgrades/beta/test mode in *Field Upgrade Serviceable (FUS)* files which are not **standard Odin flash ready files. But they can be flashed using Kies**. Reason cited here for not being able to use directly on Odin is header file corruption. These need to be downloaded using apps like FUS downloader and then split into required files to be upgraded using Odin.You put these CSC, modem,bootloader files in the corresponding sections of Odin

Linked site(s) explain (**Warning:** Don't use *PIT* file which is available on splitting till you understand what it is for)

* To summarise, key difference lies in **packaging of firmware (Odin Vs Kies), others being type of firmware (beta/ test/ tested/ leaked) and possible end use (complete or selective upgrade)**

> which one should be the best option for updating a device?

It depends on what you want to do-there is no specific answer, as for instance of flashing a modem only explained above. Or if your source upgrade file is Odin ready or not a explained above

If you are using Linux the method varies (not tried by me) and you can pretty much use either methods as outlined here

Samsung has a pretty confusing (till you get hang of it) of breaking down these components and labelling them. You can read here and here for starters.

And if you want to get deep into sources, see my answer Samsung firmware modifying
> 1 votes

# Answer
The main difference is that the single file doesn't Factory Reset the phone after flashing, but the 4 file firmware does factory reset and remove absolutely everything and make it like an out of the box phone.

The 4 files are called Binary Firmware which contains all the files in certain order:

* Bootloader contains all the boot files
* AP contains all the system and recovery files.
* Modem/CP contains phone network and wifi software.
* CSC contains PIT file and cache removing IMG which puts all the files in order and repairs any damage firmware has before.

Thats why they are called repair files.
> 2 votes

# Answer
Some things were not explained. A 4 File is not exactly binary firmware in a sense (even though it's all binary) given that they are used to repair the device. Currently the PDA section when using Odin3 is AP. In the 4 file you will notice a CSC file and a HOME CSC file. If you are flashing there is a difference between the two. The CSC file returns your application data to factory whereas the HOME CSC file saves your appication data. Either one goes only in the CSC section, do not use both at the same time.

The Combination files are binary repair files that fix the binary codes of the device. It is only placed in the AP section of Odin3 when flashing.
> 2 votes

---
Tags: samsung, rom, stock-rom
---


title: Auto reply to sms from specific contact

text:
# Question
Title: Auto reply to sms from specific contact
I would like to send an automatic reply sms to a specific text. Is there an app or way this could be done? I am using the default Android sms app. I have searched for auto-reply apps but most don't allow selection of a specific contact. Also I would like something simple and don't need things for Whatsapp, Facebook messenger etc.

# Answer
> 0 votes
automation app from playstore is exactly what i use for tracking my kids. i send sms with specific text "where are you" and receive auto reply sms with location (to my specific number only)

found this in changelog to my favorite automation app

Due to new Google Play policy restrictions to prevent apps accessing the SMS inbox:

* Removed monitor inbox option for incoming SMS
* Removed SMS Sent trigger
* Removed Delete SMS action

assuming this rules apply to every app in playstore, you need to find older apk (Dec 2018)

https://www.apkmirror.com/apk/arlosoft/macrodroid-device-automation-2/macrodroid-device-automation-2-3-30-3-release

# Answer
> 0 votes
You could try Tasker

https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=en\_GB

It can be a little intimidating at first but there are lots of guides online for automating stuff, including this one for sms auto reply.

---
Tags: contacts, sms, automation
---


title: Download to SD card

text:
# Question
Title: Download to SD card
I put a 32gb SD card in my Nokia 2.2 yesterday and I've been wondering how to make my downloads from the Google Play store go straight to my sd card not internal storage. Because when I Try download an app for 1.6gb it goes to my internal storage which doesn't have enough space but my sd card does have enough space and I've been wondering how to change it from downloading to the internal storage to external SD card

# Answer
I'm not sure if you can install directly to SD from the Play Store but you can move **SOME** apps to your SD after they have been installed.

1. Go to Settings \> Apps & notifications \> App info.
2. Find the app you want to move in the list and tap it.
3. Select Storage. If the app supports being moved to a card, you’ll see a button here labeled Change. Tap this.
4. Select the SD Card in the Change storage dialog box. This brings up a confirmation screen. Tap Move to begin.
> 0 votes

---
Tags: downloading
---


# Question
Title: Programmatically add wifi networks on Android
I have a list of about 100 WiFi SSIDs and passwords that I've extracted from my old phone and I want to add them to the new phone that runs Android 10 and I couldn't find any useful information on the net as everything seems outdated and not working.

A bit about my phone: it's a OnePlus 7 with OxygenOS 10.0.1, rooted with TWRP and Magisk. The wifi networks come from an old OnePlus One with Cyanogenmod wich is *not* rooted. I obtained the passwords following https://www.reddit.com/r/Android/comments/86zkzf/restoring\_wifi\_passwords\_from\_old\_device/

The closest thing I've found is this: https://github.com/steinwurf/adb-join-wifi but it works only one network at the time and it doesn't work very well, often passwords aren't added and I have problem escaping the SSID and passwords.

I've also tried to look for `wpa_supplicant.conf` but apparently it's not used anymore, instead I've found a file called `WifiConfigStore.xml` but I'm not sure if it can be edited manually or it needs a program, I tried to use `wpa_cli` but I get an error at startup, I looked for apps but nothing like I need.

I believe the way to go is through `WifiConfigStore.xml` but its format looks non trivial so that I'm not confident to update it manually plus there's the change it's managed by a service and any change I make will be erased.

How can I add programmatically my networks? Is there an adb command, a file I could edit on the phone or an app that can help me with this?

# Answer
I've also had the same problem with losing all WiFi networks when upgrading LineageOS, so I've written a tool which will convert your old `wpa_supplicant.conf` to new `WifiConfigStore.xml` (and I'm not using Google accounts or other "upload all my stuff to some cloud" privacy nightmares)

You can find it here: https://github.com/mnalis/android-wifi-upgrade

Even with just SSID/passwords list and without original `wpa_supplicant.conf` file, file format for `WifiConfigStore.xml` is not really complex (it is just very verbose). With minimal programming you can use template in my code used for filling it to replace `$SSID` and other variables in order to generate it from your list).

Note that it will require root (or recovery rom with full adb or filemanager access) on your new android device in order to actually upload newly created `WifiConfigStore.xml` to the phone.
> 2 votes

---
Tags: wi-fi, adb
---


# Question
Title: New Note 7 Rebooted and Erased All Data on First Time Insert of SIM card. Why?
I got a new Samsung Galaxy Note 7 and I proceeded to do some configurations and download some apps on the device *before* putting in my SIM card. Part of the install was setting up my company's Exchange account through ActiveSync - for which I agreed to all the security policies like allowing my company/ActiveSync to wipe the phone remotely and set security restrictions.

Then, ***I put in my SIM card for the first time. The phone immediately rebooted and started to erase itself. Why would this happen? In what situations does this happen?***

What I've done to investigate...

I thought that maybe the this was due to my company's Exchange ActiveSync policies thinking that my phone had been stolen because a new SIM was inserted. So, I tested by

1. Performing some configuration and customization
2. NOT configuring Exchange ActiveSync
3. Swapping out the SIM card with that of a coworker's
4. Result: no reboot and no phone wipe
5. Configuring Exchance ActiveSync again
6. Swapping out the SIM card
7. Result: no reboot and no phone wipe

So I haven't been able to replicate the problem. My coworker's SIM card is on the same carrier and my coworker's phone has definitely already authenticated to my company's Exchange ActiveSync server. So perhaps not an adequate test but I don't have another SIM to test with at the moment.

# Answer
This appears to be an **undocumented** feature of Note 7 as per this XDA thread Samsung factory restore after inserting SIM for the first time on GN7 by ninja0n3

OP here faced the same problem and reproduced the chat transcript with Samsung help . Extracts:

> Veronica (**Samsung**): I would like to inform you that, It will be reset to Factory settings, when you insert sim on the phone.
>
> J.B.(**OP**): every time?
>
> J.B.: so I go to another country, and change the sim card so I can get cell and it will delete all my data?
>
> Veronica: No, it will **delete the data when the sim is inserted for the first time and when you change the carrier on the phone.**
>
> J.B.: So if I put a sim card from a different carrier on the phone while I am abroad, will this reset the phone?
>
> Veronica: Yes, you need to backup the phone before using another sim on the phone.
>
> Veronica: I am sorry for that. As you insert the sim on the phone it will be restored to factory defaults to get the phone locked to that carrier.
>
> J.B.: Is the carrier informed of this process?
>
> Veronica: No, this has been started with the Note 7 phone. As it comes with Marsh Mallow OS in it.

(Emphasis supplied )

This does not fully explain OP's experience, for instance, reset didn't happen when co- worker's SIM was inserted ( unless *first time* refers to the phone ), so gaps would need to be filled by Samsung / Carrier

All Hail Samsung (sorry, couldn't resist that)
> 3 votes

# Answer
I had this same experience just yesterday with my wife's Note 7, but without anything to do with Exchange or ActiveSync. It's some security policy on the Note 7 itself, I think. I am online to investigate why this happened also. I had powered-off the Note 7 before inserting the SIM card. After power-up, as I watched to see if it connected to the Mobile Network as expected, it suddenly rebooted and insta-wiped the whole phone.

The message *after rebooting and deleting everything* was that an unauthorized attempt had been made to wipe the phone, and that I needed to login via Wi-Fi and identify myself online. There was absolutely no warning and I had just finished waiting for almost 2 hours while all of my wife's photos were transferred from the old phone to her new one before moving the SIM card to the new phone. The wipe (during the unexpected, forced reboot) took not much more than 5 or 10 seconds. Luckily I had not wiped the old phone yet, but I still have all of that data to transfer again. The phone is now stuck with a message that it has many Apps yet to install (yet there are none missing) after using the Samsung Smart Switch App for the second time.

Because I was setting the Note 7 up for my wife, I had not yet used any login security, such as fingerprint, iris scanning nor PIN. Perhaps Samsung sees the potential theft of personal info (if an unsecured phone has been stolen) as more critical than the lost time or data from wiping the phone without warning? I am struggling to understand the logic of this security policy.
> 2 votes

# Answer
I had the same issue- I thought I would first fully load my Samsung Note 7 with all my info but when I inserted the SIM card- everything got deleted. I agree, it's about the time and effort it took to load the phone with my info and redoing the same process could have been avoidable if Samsung had warned us maybe?

I would like to warn others- when you get your Samsung Note 7, please insert the SIM card first and then load your info from Smart Switch. Please backup your information at all times on Smart Switch or Samsung Cloud to avoid such mishaps to occur.

Also, if you are going over seas and will be using another SIM card, then back up your information on Samsung Cloud and Smart Switch because your information maybe deleted.

Hope this Helps!!
> 0 votes

# Answer
I'm confirming that the same thing happens on the Galaxy S7. Seems like it must be a feature of all new Samsung phones. It would be nice if they at least put a warning somewhere..

EDIT: From Googling around it seems that this 'feature' was either introduced with the S7 or the Note 7 and is present on all Samsung phones introduced after the either the S7 or Note 7. They really should document this, if it is now a standard 'security feature'. Someone seems to have found a way to insert new SIM cards without erasing the phone here though.
> 0 votes

# Answer
I got a black screen on a Samsung Galaxy S5. I took out the SIM and SD card, replaced the screen. I must have turned it on with the SIM out or something, when I put the phone back together, all my data was wiped.
> 0 votes

---
Tags: samsung, security, factory-reset, sim-card, samsung-galaxy-note
---


# Question
Title: Smart Phone flash tool - Readback - EMMC_USER backup
I trying to take backup of my phone. and i use **Smart Phone Flash Tool**

> How can i take (**EMMC\_USER**)(64GB Rom) in **HEX** ?

Can someone tell me what HEX i need in length in **Smart Phone Flash Tool**, in tab (Readback, **EMMC\_USER**)

Or are there a better way to take backup of the phone without root access.

# Answer
I have answered this very question probably a hundred times in 4 Years.

So instead of wasting time rewriting it all, i made video on how to do it on YouTube.

Instead of just Self Promoting that video as some would see it, Here goes 101.

1. Remove Battery or Turn Off the Device
2. Go into Memory Test Tab - SPFT
3. Tick Whatever Options are Available - Just make sure something is ticked.
4. Start the Test and Place your Battery back IN
5. Plug your Phone In
6. Once the Test Starts, Immediately Stop the Test
7. Now Focus on a small Panel in the Bottom Left, ( This info is read from the device when connecting )
8. OK, Now sellect EMMC section in the Panel
9. Look at EMMC\_USER Size in the info

With this info, you can DUMP the Entire device - Or, Split the Dump into Partitions.

DUMPING IS USELESS ON ANDROID 9.0+

ANDROID 9.0+ MANDATES FACTORY SIGNED FIRMWARE ... BACKUPS WONT RESTORE 100%

I CAN RESTORE ONLY - PROJECT TREBLE RELATED PARTITIONS.

OLDER THAN ANDROID 9.0+ DUMPING AND RESTORING IS STILL OK.

DUMPING PRE 9.0+ ( AVB 2.0 )

10. Open Read Back Tab
11. Creat a new ReadBack file called EMMC\_USER
12. Set the REGION to EMMC\_USER
13. Set The Start to 0x0
14. Set the Length to the Size of EMMC\_USER in the small panel ( bottom left )
15. Make Sure Device is Unplugged Prior to Doing any New Action - This is because a Handshake is made on each connection to the preloader, the preloader handshake is only good for One action each connection ( read, write , etc )
16. Press Start ReadBack
17. Plug - In device
18. Wait for 16 GB to download at around 21 MB per second.
19. Now Dump Preloader
20. Go ReadBack and Make a new ReadBack of Both EMMC\_BOOT0 and EMMC\_BOOT1

Sometimes both Partitions are required.

The usual dump length for both is 0x40000

and start is always 0x0 because your dumping the whole thing from 0
> 2 votes

---
Tags: backup
---


title: How to install TWRP or root device

text:
# Question
Title: How to install TWRP or root device
I'm trying to install TWRP but it says (**boot image with correct signature or disable verified boot**)

My device is (**Umidigi power**)

Or root my device I have try with this:

```
UniversalAndroot
Framaroot
Magisk Manager
Magisk v20
KingoRoot

```

Can someone help me with this?

**Note 24/1-2020 17:31**

```
step 1: adb reboot bootloader
step 2: fastboot flashing unlock
step 3: Volume Up

```

Follow the guide here: https://forum.xda-developers.com/showpost.php?p=79819558&postcount=8

**SP\_Flash\_Tool** for **magisk\_patched\_boot.img** in boot sector in **SP\_FLash\_Tool**

Install **Magisk Manager** V20.3 new version. and here we go. thanks for all imput :)

# Answer
> 1 votes
**Follow these steps carefully (*It's almost same for every android devices*):**

> 1. Install ADB in your PC. Update the drivers of your device.
> 2. Boot your phone into recovery mode. (Make sure you turned on USB Debugging and OEM from developer options).
> 3. Open the ADB in your PC and check your phone is connected by USB or not. If it shows your phone in terminal then proceed further.
> 4. Reboot into fastboot.
> 5. Then unlock the bootloader (*fastboot oem unlock*).
> 6. After unlocking the bootloader flash the TWRP recovery's img file (*Be careful becuase TWRP recovery isn't same for every phone. You've to go tho their website and find your phone's. If it's not available in their website then don't worry you'll find it in unofficial websites*).
> 7. Now boot your phone into recovery mode. This will open TWRP recovery now.
> 8. Now you should use ADB sideload method or use your phones internal or external memory to store magisk zip and flash it using TWRP.

*You don't need to use KingoRoot to root. Magisk is an amazing tool to root any device.*

# Answer
> 0 votes
I know nothing about this device myself but, I have managed to find a thread over on XDA that contains a very beginner oriented guide on how to root the Umidigi power.

https://forum.xda-developers.com/showpost.php?p=79819558&postcount=8

This post is actually part of a thread on installing TWRP on the phone, however, after a quick read I couldn't easily see instructions for installing TWRP itself.

---
Tags: root-access
---


# Question
Title: Files (used to) appear on smartphone but not on Windows Explorer
I had a couple files missing on my Windows Explorer, despite being able to play files on the device itself.

One tutorial told me to update my MTP driver, through Device Manager, I did, no changes.

I decided to solve this "discussed and known issue" by doing what everybody (here on Android SE) said solved it for them. So I entered into the Apps, and purged cache of two system applications, `External Storage` and `Media Storage`, then rebooted.

Allegedly after reboot, I had to leave my phone alone for about 10 minutes, for it to "rebuilt its cache", so I did. After it rebooted, I put it into my pocket, not giving it any extra data, after some 2 hours. I attached my Android to computer, the entire drive is empty, only `customized-capability.xml` was visible.

Smartphone also lost touch with the SD card, to the point where the music application forgot last played music (understandable) and doesn't detect music from various folders (atypical). I need to use external app called File Commander (which is somewhat comparable to Windows Explorer) to manually navigate to the SD card, after tapping music it will play, so no data is lost, but it is inaccessible to even my own device now.

Windows Explorer and File Commander tell me that there's only 3GB left (which makes sense in my scenario), but Windows won't display the files.

How do I solve this? How can I get phone and my computer to recognize the files?

Android 7.1.1 Sony Xperia Z5

P.S.: Yes, I did look thoroughly, there's no hidden files here.

# Answer
1. Make sure External Storage and Media Storage are running .
2. Rescan SD Card! Add the path to your SD and scan (Usually something like /sdcard or /storage/\****-\**** ). Reboot...
3. If second doenst work you could try: adb Guide or adb Driver :

*On your phone:*

Enable Developer Options on your phone -\> Enable USB-Debugging -\> Plug-in USB-cabel

*On your PC:*

Windows: Windows Key + R -\> cmd -\> adb devices:

List all available devices:
Something like:

```
List of devices attached
9cc74efc        device

```

If you see your device :

```
adb root && adb shell

am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard

```

Source
> 0 votes

---
Tags: external-sd, mtp
---


# Question
Title: Are there "end of life" plans for Android?
I am wondering if there is a schedule for Android versions or devices to reach *end of life* some day? The term *end of life* refers to a state when developers decide to stop supporting a certain software version with updates. I was reading a related article on *androidcentral*.

So, currently Android 4.x is pretty common and rumors say 5.0 might come out in may, are there any *end of life* plans for any 2.x versions? I got a HTC Wildfire S with Android 2.3 and a Toshiba AC100 with Android 2.1. (Is the support bound to major version numbers or rather to devices?)

---

**Update**: I never asked at any point for speculations. I'm a software engineer and used to end-of-life or end-of-support plans. I'm am new to Android and I noticed my devices are equipped with pretty *old* versions, according to the link in the first comment: **3 years** old, which is a pretty long term in a software life cycle (for example *normal* Ubuntu releases got only 18 months lifetime).

Is the support bound to major version numbers or rather to devices? Are there any end-of-life plans for Android or does that just happen if some version or devices does not get enough attention on the mobile markets? My research on this topic was not very effective. That's why I'm asking the community.

I've got no intention to seed rumors or speculations. A "no" would be a valid (but poor) answer.

# Answer
> 4 votes
For android devices the answer is: **18 months** is the maximum supported lifetime.

I found this in the Google Android FAQ. It is said that the 2 year old Galaxy Nexus does not recieve an Update to Android 4.4 "KitKat":

> Galaxy Nexus, which first launched two years ago, falls outside of the 18-month update window when Google and others traditionally update devices.

# Answer
> 2 votes
Since at least 2017 (and now in 2020), major manufacturers have published support plans.

Google supports each phone for at least 3 years (Pixel & Pixel XL were supported for 3 years exactly): https://support.google.com/nexus/answer/4457705?hl=en

Samsung seems to follow suit, at the moment supporting devices for around 3 years, and some for longer (as of now, 3 years 10 months for S7) https://security.samsungmobile.com/workScope.smsb

# Answer
> 1 votes
This is marginally unanswerable. There certainly is no specific decision available regarding devices -\> Google has an internal maximum, but updates are mostly done by manufacturers, for instance Samsung or HTC. Low-end devices will receive much less (if any at all) updates from their manufacturer.

High end devices will be able to run run new versions much longer, and if you take into account that you can put custom roms on the devices it's a complete open field.

So while the linked quote by @qdoe gives some rule of thumb for Google's idea about support, I'd not look too hard at it. It's a combination of manufacturer and devices specifications and what the user does: just like other hardware.

Now for devices vs versions this is also tricky: while we have devices that might-or-might-not be end-of-life in terms of support/updates that get there automatically, there is something as major versions. At a certain point one version (say 2.x) isn't being updated to x+1, but there's no specific reason that you can't update to 4, apart from limitations on device etc. So while a major version might be 'end-of-life', this has no specific meaning.

In the end it all hangs on why you want this information. You say you are a software-engineer, so I suppose you are releasing android apps? Your best course of action then is to always develop with the latest (4.3 currently) SDK version as target, with the MINIMUM set quite a bit lower (as low as you can without losing functionality). Most of the functionality is available backward-compatible through the support-SDK's, so you could as a for instance use fragments if you want in a min. 2.x supported app. I would step away from the "this is for version x, I need to know the lifetime" frame of mind.

---
Tags: updates, android-versions
---


# Question
Title: How to create playlist for all files in folder?
I want to use Zombies, Run! and therefore need music that is organized in a playlist. I usually play by album or folder so I never needed to do this before.

What I want to do is copying a folder with the music to the phone (using ftp) and then create a playlist containing all of these files (without having to choose them manually). It would also be okay for me if the app on Android only converts a playlist in `.m3u` or `.pls` format (created on my computer) to a playlist in Android's playlist set.

For now I only found applications that create `.m3u` files (which are not useful for me) or crash upon start.

# Answer
> 1 votes
I know this is old, but it's in the top results for "Android create playlist from a folder" so I thought I'd add this:

Playlist Creator 2: https://play.google.com/store/apps/details?id=com.ksdeveloper.playlistcreator.v2

(From what I read, the not so good rating comes from the inhability of the developer to explain how it works, but it's really simple)

1. Download and open the app. (Duh)
2. Top right\> Use file explorer.
3. Navigate to the desired folder and long press it.
4. Pick "Add whole folder as playlist".
5. Press the top right icon to open the playlist, name it, Create Playlist.

And voilà, you'll see the playlist in the Google music app and any common music player.

# Answer
> 0 votes
My Music Playlist Creator is a good one. It supports nested folders as well. Create an m3u file using this app. Then the m3u file can be imported using FX File Explorer app.

Also, check out my related blog: Creating an offline music playlist on Android

---
Tags: applications, media-files
---


# Question
Title: Equivalent of the Control + F to search text in PDF
Is there in Android an equivalent of the control + F search in texts and OCR PDF? In browser we have "find in page" options. But for PDF I didn't find such option. Is there shortcuts to make such search as we can make with the dashboard in PC?

# Answer
Are you using Google's PDF viewer? If so, there should be a magnifying glass on the top right where you can search from.
> 1 votes

# Answer
Based on your comment that you often use Adobe Acrobat, the app offers the same process as Google's PDF viewer. When reading a document, you must click the magnifier.

You can then enter the word(s) you are looking for on the document.
> 1 votes

---
Tags: pdf, search, keyboard-shortcuts
---


title: Factory resetting a Galaxy Tab 3

text:
# Question
Title: Factory resetting a Galaxy Tab 3
I haven't used my Galaxy Tab 3 in ages and would like to use it again, but it's not working as it used to. I would like to perform full system restore, but I'm having real problems.

Last month:

I press the On / Volume up / Start buttons to get to *MANUAL MODE*.

It gives me an option to do a factory reset, and says to use the volume buttons to get to this option.

I press to go down and it skips over the reset option, meaning I can't do it.

Today:

I press the On / Volume up / Start buttons and it crashes on *MANUAL MODE* saying:

```
-- Applying Multi-CSC...
Applied the CSC-code : BTU
Successfully appled multi-CSC.

```

How do I do a factory reset in another way?

# Answer
> 1 votes
I suggest to back up your data first if it has not been done. The standard way of resetting a Samsung Tab 3 tablet to factory is this:

1. From the Home screen touch Apps.
2. Touch Settings.
3. Touch the Accounts tab.
4. Touch Back up and reset.
5. Touch Factory data reset
6. Touch Reset device.
7. Touch Erase everything.

Please be advised that this erases everything on the tablet. Including history, documents, passwords, etc. Do not do this before making a backup if you have sensitive data on the tablet. Also, this will probably be different if you installed a custom OS. Refer to the documentation for said OS in that case.

Source: How do I perform a factory reset on my Samsung Galaxy Tab 3?

---
Tags: factory-reset, samsung-galaxy-tab
---


# Question
Title: What can I do to manage my phone's internal storage?
If you're not used to seeing the 'low on internal storage' notification, what is it that you're doing to keep your phone's internal memory from filling up so quickly?

The 'SD Card and Phone Storage' menu in the settings doesn't really tell me much other than how much is free. And, I don't really have that many applications installed. The top 5 storage hogging apps on my phone are Gmail (18.6 MB), Twitter (17.5 MB), Facebook (12.55 MB), Maps (9.63 MB), and Swype (6.06 MB).

So, are there apps out there (besides your normal file manager ones, like Astro) that will help monitor internal phone storage? Is there something I should be doing to keep my phone storage use to a minimum?

# Answer
I'm using an app called DiskUsage which helps visualize what's using both my internal storage as well as the SD card.
> 103 votes

# Answer
Most of the apps you have listed are big because they are storing data. The apps themselves are not that big. I would encourage people to check large apps (you can sort by size in the manage applications area of the settings). Chances are you can clear out the data and reduce the amount of size very easily. Most of the data for those apps especially is email and data that are old and don't really need to be on your phone.
> 12 votes

# Answer
To better control your Gmail storage in Android you can adjust the number of days that are synced. The control is in a place many people don't think to look; it is in the "Labels" section. In there you can adjust syncing to a certain amount of days; I use 2 days. Depending on your daily volume you may need to go to 1 day or could go up to 10.

There is also granular control, you could keep your starred emails around for 4 days while everything else is at 2 days.

It is all about Gmail's label setup. It is better to think that you don't really have an inbox, you have emails that are labeled "inbox".

Hope this helps out! Once you make the change it will sync up and reduce your storage right away. I recommend turning off and on the phone after making the change (just like a computer, the Android phones like a reboot from time to time).
> 9 votes

# Answer
I am great fan of APP2SD. It comes directly with an advice which apps can be moved to your SD and if the cache can be removed!
> 8 votes

# Answer
I'm using a combination of 2 apps, DiskUsage and Link2SD, and they've helped me keep storage use at bay both on Gingerbread and on ICS. The issues I had with the built-in storage management facility of Android were:

1. It only shows the space used by the app installation (doesn't count "resource" downloads common in games)
2. The size reported on the list of installed apps doesn't consider cache usage (so you have to guess and go looking in the details of suspected apps)

DiskUsage is excellent at locating "resources" that may be taking up lots of space, and may be even be left behind when the app that downloaded them is uninstalled.

But if you have lots of small to medium sized apps installed, or if you're using many apps that stay online, Link2SD allows you to quickly locate any misbehaving one. It shows you a list of all installed apps, and allows you to sort them by name, install date, install size ("apk+dex+lib" option), data size, cache size, or total (install+data+cache) size.

If you have many apps showing a lot of cache usage, Link2SD can also clear all of them at once with the "Clear all app caches" option.

Also, if you're using Gingerbread, be aware that apps moved to SD card keep a part of themselves, called "dex", on internal memory, and the size of this "dex" varies from one app to another. With Link2SD you can sort by "dex" size, and quickly find any apps that may be too big to keep installed on certain phones, even if they allow moving to SD (I'm looking at you, Google+ client). Or the other way around, you can sort by "apk" or "lib", and move to SD all apps that show near the top (and allow being moved).
> 6 votes

# Answer
You can also choose to replace the default GMail app with the K9 mail client - the main plus point being it can handle other POP3/IMAP4 accounts as well as keep the storage for your email accounts on the SD card - this option does make it a *little* slow for first access, but if space in your internal memory is at a premium, then this might save space.

You can also try other smaller Twitter clients like Tweetdeck or Touiteur or even a web based mobile site like http://m.twitter.com OR http://m.tweete.net

That would obviate the need for a client app.

WRT Swype, if you prefer other ordinary keyboards, there are a plethora of them available in the market like Better Keyboard / Smart Keyboard etc. which are far smaller in size, but certainly don't have Swype's functionality.
> 4 votes

# Answer
Re: Twitter app. Unless something has changed in it (it's a couple of versions since I used it), it stores all its cache in "data", which you can clear out by going to "manage applications" in settings. If you do clear out all the data, you'll need to open the app and log back in again. Other apps, eg TweetDeck, have this stuff more easy to clear out in a "cache" section, but Twitter doesn't do it properly.
> 2 votes

# Answer
Either clear your dalvik-cache, install a custom rom (like cyanogen) or force apps to your SD card with an app called 'LinkApp2SD' (I had to reformat my tab because of this one, but it should work if you're rooted and have a G-certified phone). Also, if you don't want to root your phone, you can try cleaning your app data and cache, or even uninstalling apps you don't use anymore. See my website's blog to find cool apps and games that can be moved.
> 1 votes

# Answer
I have used the previously mentioned Disk2Usage to take a look at what's eating up my data.

What you can do depends on what your device is.

If you have an external SD card in addition to your phone's internal storage, you can periodically move data over. For example, my camera takes pictures and stores them in the internal storage. Since my phone (an Epic 4G Touch) has an 8 megapixel camera, those pictures can get pretty big, so I'll occasionally move all of my pictures to the SD card when space runs low.

I've also noticed that a lot of programs cache data in the internal memory. I've seen photo apps that cache thumbnails, and even Amazon's App Store caches the entire app APK for any apps you download from that store. This can take up a lot of space, and is generally safe to remove, since, if the app needs it, it can re-download it. I use the above Disk2Usage app to find the large cache directories, then use a file manager app (like Solid Explorer) to delete those cached files.

Hope that helps.
> 1 votes

# Answer
I've used the terminal emulator to look at my folders (could not find any app that can look into the internal storage partitions - /data etc'

Note that you need superuser permissions for that (I'm rooted so I just enterd `su`)
> 1 votes

# Answer
In the manage applications area of the settings, select apps that you dont use. Uninstall these apps if possible, if not the following method will greatly reduce their size. Force close, clear cache, clear app data, Uninstall updates, disable. This also prevents them from growing again. Also in android 4.x, the function of apps that write to sd are broken, only android itself eg. through the file manager has that permission. Additionally while many of the apps above look great, they will take some space. I'm posting on a Galaxy s5, but many older devices don't have 16gb of storage space to play with. I would however recommend a good cleaning app that detects app leftovers and removes them as well, and of course if you decide to stop using such an app you can Uninstall it, it has already served it's purpose. Also ALWAYS move songs, ring tones, pics, etc. to the sd card.
> 1 votes

# Answer
I just received the dreaded out of space notification and used Memory Map, which was very helpful in finding what the issue was.
> 1 votes

# Answer
To bring this a little more up-to-date, let me add a missing piece. Between the lines you could already read that many pre-installed apps are quite data hungry – even if you don't need them. They're receiving updates, which again consumes "user space". So here's a step you can perform:

1. Nagivate to *Settings › Apps*
2. Make sure you select the tab "All Apps" (on some devices: select "All Apps" from the drop-down)
3. Now walk the apps you haven't installed yourself. For each of them you've never used and don't plan to use (no panic if you change your mind later, steps can be reversed):
    1. Tap their entry
    2. Tap "force stop" (if not grayed out) to make sure the app is no longer running
    3. Tap the buttons to "clear cache" and "delete data"
    4. If you see a button labeled "Uninstall Updates", push that. It will then be re-labeled to …
    5. Press the "Disable" button. See our tag-wiki for some background on this.

What you have achieved that way:

* You freed the space used by the apps' data
* You freed the space consumed by their updates
* by disabling them, you made sure they do not generate new data and also do not receive updates

If at any time in the future you want one of those apps back: Go to the very same place. You won't see a "Disable" button there anymore: Aftger you've pressed that during above process you will have noticed it's now labeld "Enable". Press that. The app will be re-enabled and available, and its updates will start flowing in again as well.
> 0 votes

# Answer
I also found that "disabling" bundle apps seems to free a lot of internal storage.

I chatted with people on the android IRC channel, and it seems all apps always use some form of cache which takes memory.

Apps that you cannot uninstall like google maps, music, movies, youtube, drive, photos, hangout, etc can be "disabled". They're restored to their factory version, and don't run in the background anymore.

I was running out of internal storage, and doing so freed about 1GB of internal storage.

This was done on an archos 50 platinum, which has 8GB of ram.
> 0 votes

---
Tags: internal-storage, insufficient-memory
---


# Question
Title: How to modify or add more dictionary tabs in Cambridge dictionary fast app?
As you can see in the picture, this Cambridge dictionary app has some dictionary tabs, such as: Cambridge, Oxford. Those dictionary tabs have a link of their website. How can I add more dictionary tabs like collins, merriam dictionary?

# Answer
> 2 votes
I downloaded the APK file and loaded it into Jadx.

The dictionary tabs and their target are hard coded in the APK DEX byte code (it is a large switch case code entry in the MainActivity that sets the target url of each of the 6 tabs). Therefore modification requires decompiling and recompiling skills - however such actions are out of scope of this site.

Therefore the only answer we can give to you is to contact the author of the app and ask if other dictionary sites can be added.

---
Tags: applications, editing
---


# Question
Title: How can one change the battery saver to dark mode in Android 9 (Samsung Galaxy S9)?
I use Samsung Galaxy S9 with Android 9.

Screenshot from the Google Drive Android application, which seems to indicate that it is possible to change the theme in the battery saver:

How can one change the battery saver to dark mode in Android 9 (Samsung Galaxy S9)?

# Answer
**The "Set by Battery Saver" option only means that the app's theme is determined *if Battery Saver is enabled or not.***

The Battery Saver itself does not have its own theme, but apps can query if the setting is enabled or not for customizing its behavior, including the theme.

On Google Drive (and some other Google apps, and possibly 3rd-party apps), this setting means that *if Battery Saver is enabled, then use the theme that saves battery (e.g. dark theme)*.

To summarize:

* Dark: always use the dark theme
* Light: always use the light theme
* Set by Battery Saver:
    + If Battery Saver is **off**: use the light theme
    + If Battery Saver is **on**: use the dark theme
> 3 votes

---
Tags: applications, dark-mode, battery-saver
---


title: How to install Twitter on Galaxy Tab 3

text:
# Question
Title: How to install Twitter on Galaxy Tab 3
I've just done a factory reset on my Samsung Galaxy Tab 3, which is now running Android 4.1.2.

I've been to the Google play store and tried to search for Twitter app, but it doesn't show up.

I've found it in a search and followed the link, but it's showing `This app is not supported on your device`.

All other apps like Facebook, Instagram, Skype, etc, etc, show up and install fine, but not Twitter. Any ideas why?

Note : I've tried to update my android software, but this says there is an error and it can't be installed.

# Answer
**The latest version the Twitter app supports for Android 4.1+ is 6.39.0 (March 22, 2017).**

Play Store prevents app installation if it is incompatible with the device (as of January 2020, AppBrain shows the minimum of Android 4.4+).

One way to install old apps is by downloading the APK and installing it. The APK is available on APK Mirror. The device also needs to be set to allow installation from unknown sources.

Note that even if it is possible to install the app, there is no guarantee that the app will work smoothly since it also depends on the current Twitter infrastructure. In that case, it is also possible for some browsers to create a shortcut on the home screen to the Twitter site.
> 0 votes

---
Tags: tablet, twitter
---


# Question
Title: How to get installation log (either from adb install or manual install)
The question is what to grep/filter?

```
adb logcat | grep what?
adb install file.apk

```

tried with `grep apk` and manual install, but it contains no useful information:

```
01-25 17:29:05.721  4241  6322 I ActivityManager: START u0 {dat=file:///data/user_de/0/com.google.android.packageinstaller/no_backup/package7763548981090696460.apk flg=0x2000000 cmp=com.google.android.packageinstaller/com.android.packageinstaller.InstallInstalling (has extras)} from uid 10020, pid 24521
01-25 17:29:08.660  4241  5058 I ActivityManager: START u0 {dat=file:///data/user_de/0/com.google.android.packageinstaller/no_backup/package7763548981090696460.apk flg=0x2000000 cmp=com.google.android.packageinstaller/com.android.packageinstaller.InstallFailed (has extras)} from uid 10020, pid 24521

```

tried with `grep apk` and `adb install` nothing captured (stuck), how can i know what part causes the installation failure?

# Answer
Sometimes errors are getting lost when using adb. Effectively `adb install` does nothing more than uploading the apk file to the the device and then executing the command `pm install <file.apk>`.

Therefore in case of problems you can perform those steps manually and see the complete log of the package manager `pm` when installing the apk file.

Therefore I would suggest doing the following:

1. Upload the apk file to your device (e.g. via `adb push`, MTP, direct download to the device, ...)
2. Open an adb shell by executing `adb shell`
3. Install the apk file: `pm install <path_to_the_apk_file_on_the_device.apk>`

Then you should get the most details log and all (error) messages.
> 6 votes

---
Tags: installation, usb-debugging, logging, debug
---


# Question
Title: Is permission elevation still a security issue for end users when updating Android?
Is this still an issue for end users?:

*Researchers have determined that the Android update process has a vulnerability that allows permission elevation without user knowledge.*

*Android allows installed applications, if so designed, to obtain additional capabilities without the owner's consent, just by updating the phone's operating system to a newer version.*

https://www.techrepublic.com/article/beware-of-danger-lurking-in-android-phone-updates/

# Answer
> 0 votes
From my understanding this vulnerability only works for updates that introduce new permissions.

Therefore the update from 2.3.6 to 4.0.x which contained a lot of changes had the highest impact regarding this vulnerability.

I have not checked it but my impression of the latest major Android updates is that the major privacy related permissions don't change very often. Therefore even if this had not been fixed by Google the attack surface is relative small.

Additionally at that time only the static APK manifest defined permissions existed. Nowadays Android has the additionaly run-time permission system where the user is been asked to explicitly grant a specific permission to the app at run-time (e.g. sd-card access). This also reduces the impact of such an attack if it would still be possible.

---
Tags: updates, security, permissions
---


# Question
Title: How important is "Gorilla glass" in a smartphone?
My phone's glass has cracked over time, and I'm planning to replace it. I've noticed that a lot of the models I'm considering to replace it with (and my current phone itself) don't feature "Gorilla Glass".

My question: How significant is the lack/presence of "Gorilla Glass"? Are other covering glass types simply unbranded and not as well known, but similar in resistance to shocks/bending - or does "Gorilla Glass" really have a significant advantage?

# Answer
It depends on the usage of your device. It's just a extra layer of protection and comes with some advantages over others *(Like scratch resistance, splash proofing)*.

> If your phone has a soft back cover and a glass protector on top of the screen then dropping it from a table or bed won't hurt that much but your phone will get some scratches on the body. Mild pressure like carrying your device inside your pocket or under the pillow or inside a bag won't affect. Corning Gorilla Glasses actually passed several drop tests, tension tests, scratch tests.

You can trust Gorilla Glass because they don't make glasses only for smartphones. They also make glasses for industries. Corning is the company who manufacture Gorilla Glass.

> So, answer to your question is it's not significant at all. You must replace it with other unbranded screen protections. You must have to check the relaiabilty of that product before using it. And that's where brand recognition comes into place. Corning will provide you warranty on specific products. And because many users already used it so you can obviously trust them.
>
> Choice will be yours. If you able to make the right purchase no matter it's branded or not it'll always worth.
> 1 votes

---
Tags: screen, physical-damage, screen-protector
---


# Question
Title: Samsung Galaxy Buds immense RAM requirement
I was about to buy some Samsung Galaxy Buds but then saw in the system requirements that they required **1.5GB of ram to operate!**

"Compatibility" section under "specifications" https://checkout.telstra.com.au/consumer/rewards/headphones-speakers/145

I'm using an old S7 Android Galaxy phone. Right now it is using 2.9GB out of it's available 3.5GB of RAM just with the apps I have open.

I'm worried that my phone doesn't have enough ram to use the headphones.

Do the ear buds really require 1.5GB of RAM to operate?

# Answer
> 2 votes
I think this is just a misunderstanding:

The Galaxy Buds don't need 1.5 GB RAM free (nor do they use 1.5 GB RAM). The requirement means that your Android device needs to have at least 1.5 GB RAM installed in total. How much is free at the moment is of no concern (this is managed by Android).

Therefore older devices and low-cost devices with 1.0 GB or even 512MB RAM are officially not supported.

Your Galaxy S7 has 4GB RAM in total, hence you are fully compliant with the requirements.

# Answer
> 0 votes
Your buds shouldn't ever need 1.5GB of RAM, since it's just a bluetooth device that relays information from your phone. If your device supports Bluetooth, then it's a given that it will be supported.

---
Tags: ram, android-wear, earphone, earpiece
---


# Question
Title: How to boot Ubuntu persistent live USB on Android?
I'm discovering the possibilities offered by persistent live USB using Ubuntu 19.10 and I was wondering if it would be possible to boot with Ubuntu on Android (i.e. using your computer capabilities through your smartphone) using those multi-plug USB sticks which have both USB3 and micro-USB2.

In other way: can I get some kind of a boot menu on an Android device in order to boot with a persistent live USB in order to access my Linux computer tools and setup from a wider range of devices?

# Answer
Near duplicate: Is it possible to boot an Android phone from a USB drive?

You question has two parts:

# 1. How to boot from USB on Android device?

On most of the recent Android devices you can't boot even Android from USB, rather Ubuntu or some other OS.

## PCs:

PC world has a standardization. BIOS / UEFI, **ACPI** and **discoverable buses** make every PC almost identical to the OS, so we can boot any OS. **BIOS** lets you select boot device, loads **bootsecotor** / MBR and bootloader which loads OS kernel. **UEFI** Boot Manager is even more sophisticated, it can read filesystems and load one of multiple BLs or even Linux kernel directly from EFI System Partitions (ESP).

Multiboot compliant BLs can load multiple OSes. Windows BOOTMGR and Linux **GRUB** can also chain load each other. Latter can act as **1st stage** BL (MBR/VBR) as well as **2nd stage** (GUI boot manager which reads configuration from filesystem). See Boot Process: Android vs. Linux

## Phones:

Phone's world has a lot of fragmentation. They are based on **SoC** design, so every vendor implements its own closed-source firmware. **Non-enumeration-capable** buses depend on **Device Tree**, which is stored on flash storage as blob (DTB), and loaded by final BL (like **U-Boot**, **LittleKernel** / **Aboot**) and Linux kernel. So SoC firmware has to bootstrap the device to BL stage so that it's able to identify hardware.

Image source: Exploiting Qualcomm EDL Programmers

SoC firmware cannot boot from a generic MBR/VBR or filesystem, instead it has **hard-coded paths** to partitions containing BLs. Also the strict **Chain of Trust** in boot process loads only signed binaries, unlocked BL can break this chain. See Rooting Android phone without unlocking BL, VB and AVB.

However final BL allows somewhat interaction with user to boot **fastboot**, or Linux kernel from **boot** or **recovery** partition. Both partitions don't have filesystems, but a standard raw format as per Android specifications.

---

## Conclusion:

So due to **small size**, non-standardization, **closed-source** / signed nature of firmware and minimal functionality, **SoC firmware + DT + Aboot** setup is no way comparable to **BIOS / UEFI + ACPI + GRUB** setup. Functionalities like USB communication and graphical selection menus would make the BL kernel bigger than the by-design acceptable **size limit**. Note that *"on embedded ARM platforms the core of LK is typically 15-20 KB."*

However SoCs can boot from USB, particularly those used with **development boards** or single board PCs. See Difference between BootRom and BootLoader.

**EFIDroid** is a 2nd stage BL based on UEFI (EDK-II). Currently it replaces kernel in `boot` partition (like other multi-boot hacks), not the original BL.

But we may see (SoC firmware and/or) some (or all) BLs being replaced with UEFI and Device Tree with ACPI (particularly on ARM as it's not very unlikely). It'll make booting from USB devices on mobile phones more probable. For instance Qualcomm's Sanpdaragon 835 already has its SBL replaced with **UEFI-based XBL** (which also supports ACPI on Windows) and Aboot with **ABL**. See UEFI on ARM-V8 based Linux Embedded System.

---

# 2. How to boot Ubuntu on Android device?

On Android devices it's not possible to boot Ubuntu even from SD card or internal flash memory, rather USB.

## Hardware Discovery:

Generic OSes like Ubuntu are not modified for a specific hardware environment. On an **ACPI compliant** system, after power on, OS may immediately start querying buses: *"what hardware is attached to you?"*, which is not the case with DT based devices. See The case of UEFI for Windows on ARM.

Similarly on PCs **Power Management** is looked after by ACPI while on phones PMIC is usually a part of SoC - again hardware specific.

## Kernel:

Ubuntu userspace is not compatible with Android kernel as latter is largely modified e.g. Paranoid Networking, `qtaguid`, USB gadgets etc. It's theoretically possible to boot Ubuntu kernel from `boot.img` e.g. using `fastboot`, or load it by Android kernel using `kexec`. However even bigger problem is vendor's incomplete implementations of **hardware drivers** in kernel, which are not part of upstream kernel source (the one used by Ubuntu). Running **console login** and traditional **X server** etc. might not be easy to achieve, see Android vs. Linux.

## Binary Blobs:

Android is not strictly based on UNIX's *"Everything is a file"* theory. Mainly due to license issues, a lot of hardware work is managed by (again) closed-source vendor specific **HALs** which act as bridge between Android's native/Java framework and kernel e.g. sound, graphics, RIL, fingerprint, camera, sensors and so on. Since Android 8, HIDL (based on Binder IPC) specifically separates vendor-specific binary blobs from AOSP as well as Linux kernel.

## Hardware Abstraction:

In addition to binary blobs, AOSP userspace daemons like `surfaceflinger`, `audioserver` and `gatekeeperd` also interface Java stack (which runs apps) on one end, and kernel or HALs on other (which interface hardware). So every hardware component is not simply a file in `/dev` with well documented kernel interface, instead there are layers of Android-specific **IPCs** and APIs between apps and hardware.

This model enables AOSP Java framework to be agnostic about lower-level driver implementations, and restricts apps direct access to hardware resources. Apps need **manifest permissions** to pass through **protected APIs** in order to access a system resource including storage, network, camera, mic, sound etc.

## Partitions:

AOSP depends on a few partitions like `/system` and `/data` but HALs need more. On Qualcomm devices vendor daemons like `sensors.qti`, `qseecomd`, `rmt_storage` and `wcnss_service` read and write to raw block devices (e.g. **ssd**, **rpmb**, **fsg**) and filesystems (e.g. **modem**, **persist** and **dsp**). So camera, sensors, TEE, Wi-Fi, bluetooth, fingerprint, aDSP etc. won't work without extra partitions. SoC, processors, modem, TZ, RPM and BLs also use other partitions for boot process, OTAs, recovery, secure boot, encryption, boot/charging logo and so on. Read more about Android Partitions and Filesystems.

So it's not possible to boot an OS entirely from a single partition. PCs can be started if there is no storage device, but Android devices won't turn on if eMMC / UFS is damaged. **Hardware-specific partitions** are required at pre-kernel as well as post-kernel stages. That's why Android devices are more vulnerable to be permanently bricked.

---

## Conclusion:

On Android phones there is no generic Android OS, instead we have **ROMs** which are tightly bound to a specific hardware. So booting Ubuntu on Android device requires integrating all hardware-related vendor code in Ubuntu kernel and/or userspace.

---

**LINKS:**
> 12 votes

---
Tags: linux
---


# Question
Title: Why is the bURLy app no longer visible in the Play Store?
Dan Hulme posted a (deleted) answer on How do I stop Play Store from randomly opening when I'm in other apps?, mentioning an app called bURLY.

> I made an app **bURLy** which lets you control what your phone does when an app tries to open a web link, such as to a Play Store app page. Even when other apps (such as the Play Store app) can open the link directly, it lets you preview what link will open, and create rules. You can make a rule to automatically ignore links to apps on Google Play, except when you allow it first.

However, it is no longer visible on the Play Store. Why?

# Answer
> 1 votes
After a career change a few years ago I stopped updating these apps. When GDPR came in, Google required all app developers to update their apps' privacy policies to show GDPR compliance, even if the apps weren't collecting any personal data etc. Because I didn't update the apps' privacy policy, Google removed them from the Play Store. Because I wasn't logging into my developer account and keeping track, I didn't find out until months afterwards.

If I get around to it I might dig out the source code and publish it somewhere, so any interested party is able to update the apps and maybe to keep developing them.

Thanks for your interest! If people had been that interested at the time I might have been able to keep developing bURLy and other apps.

---
Tags: applications, google-play-store
---


# Question
Title: Where can I see in the Revolut Android application on which day of the month my amount of currency exchange is reset to 0?
I have a standard plan with Revolut, which means I can do up to 6kEUR of currency exchange without any transaction each month.

Where can I see in the Revolut Android application on which day of the month my amount of currency exchange is reset to 0?

I use Samsung Galaxy S9 with Android S9.

(Disclaimer: this is not a hidden advertisement for Revolut. On the contrary I advise against using Revolut as overall the user experience is really bad with them)

# Answer
It currently isn't possible to see in the Revolut Android application on which day of the month my amount of currency exchange is reset to 0. One has to go through the customer service chat to know the information.
> 0 votes

---
Tags: 9.0-pie, revolut
---


title: magnifier glass app, on fingertip only

text:
# Question
Title: magnifier glass app, on fingertip only
I am looking for an app (maybe it never existed and I imagined it), but it is a screen magnifier that only magnifies a small circle around your fingertip, like the equivalent of a 5 letter word, ideal for magnifying specific words or areas of your screen, I think I saw it once (on iphone maybe?), you just need to keep your fingertip on screen for about 2 seconds then a small circle appears above your fingertip magnifying anything under it, and you can move it all around your screen, and disappears when you lift your finger, is there such thing?

There is the triple TAP but it zooms the whole screen and I do not want that.

# Answer
> 1 votes
I think you are most likely to have seen what you are describing on an iPhone, however there is a similar function available as of Android 9.

You can use the Magnifier Widget on a piece of text by highlighting it and dragging the selection handle as shown on this page.

You can drag the handle around to magnify any of the text on-screen, one downside though is that the magnifier will 'snap' to each line of text which can take a little getting used to.

---
Tags: applications, zooming
---


# Question
Title: How can I use a dark theme for all webpages on Chrome for Android?
How can I use a dark theme for all webpages on Chrome for Android?

I don't mean having a dark theme for only the Google chrome UI (which can be done via Settings, Theme, Dark Mode) but also the webpages themselves, so this can be done with https://chrome.google.com/webstore/detail/morpheon-dark/mafbdhjdkjnoafhfelkjpchpaepjknad?hl=en on Google Chrome for desktop.

Example of website with no dark theme:

# Answer
* Open Chrome
* Tap the 3 dots in the top right corner
* Tap Settings
* Tap Themes
* Select Dark

I haven't come across a site that this doesn't work on yet
> 0 votes

---
Tags: chrome-for-android, dark-mode
---


# Question
Title: Prevent mobile data from automatically turning off after a while on Xiaomi Mi 4
I use Xiaomi Mi 4 (Android 7.1.2 Nougat) phone's hotspot to surf the internet on a laptop. After sometime approximately 20 minutes, the phone automatically turns off the mobile data and I have to turn on the mobile data manually.

I think the phone turns off the data automatically because it is left undisturbed and to save battery. However, the phone is already plugged-in to the charging spot.

How to prevent mobile data from automatically turning off after a while on Xiaomi Mi 4?

# Answer
> 1 votes
this solved my problem

developer options \> Networking \> Cellular Data always active

toggle this option on

---
Tags: mobile-data, xiaomi-mi4
---


# Question
Title: Android x86: remounting /system : /dev/loop1 is read only
I try to remove google apps from android x86 dowloaded from here and I managed to make it run over virtualbox, afterwards in **installed** it to a virtual hard disk.

But I want on it to remove any google-based apps and run with free-software alternatives. So I installed via fdroid the `/system/app mover` but when I try to move any app I get the error:

> Could not remount /system

So using the onboard terminal I followed the instructions provided.

I managed to become root and run the command:

```
mount -o rw,remount system

```

But I got the error:

```
'/dev/loop1' is read-only

```

How I can fix that.

# Answer
> 0 votes
My guess is that you installed the androidx86 using fast install from advanced options. Please reinstall the Android x84 and select the /system to get mounted as rw as you can see in the image bellow:

PS: Even if the image is rather old it still stays the same during installation.

# Answer
> 1 votes
I just had this, you just reinstall it on the same drive. Say do not format say skip to the GRUB question and then yes to making /system writable.

It will then reboot and everything will be as it was with a writable /system folder. I know the last guy said this but he/she didn't mention you won't lose your files :D

Posting here as I couldn't find this anywhere else.

---
Tags: system, android-x86
---


# Question
Title: How to let phone calls from a specific number bypass 'Do Not Disturb'?
I often turn on 'Do Not Disturb' mode, especially at night. I would like a few specific phone numbers to be able to bypass the Do Not Disturb if they call me, so that I can be altered in case of emergency. Is there any way to do it?

# Answer
> 0 votes
You should be able to set an exception rule to allow calls and texts from certain people (All/Contacts/Favorites). Different manufacturers will have different set ups but you should be able to get to this setting by going

Settings \> Sound & notification \> Do Not Disturb \> Exceptions

You may need to turn on Do Not Disturb to alter these settings.

---
Tags: calls, ringtone, do-not-disturb
---


# Question
Title: Where Firefox for Android is keeping add-on generated files?
I want to find a folder, where Firefox for Android is keeping files generated by installed add-ons (list of saved tabs in OneTab, for example). I've tried to do a full root file system search (e.g. `onetab.html`, `store.json`) and looked insede specific app folders (e.g. `/data/data/org.mozilla.firefox`). Found nothing but the `.xpi` extension files.

According to `Help` @ one-tab.com, tabs data is located in `C:\Users\Username\AppData\Roaming\Mozilla\Firefox\Profiles\Profile Folder\jetpack\extension@one-tab.com\simple-storage\store.json` for a Windows desktop version. On Android, using rooted Amaze, I've found nothing similar.

Where should I search next? Are those files even visible for a root user?

# Answer
Browse into the location `/data/data/org.mozilla.firefox/files/mozilla/`. Among many directories there would be one directory whose name would end with `.default`. That is your Firefox profile directory. Within that directory, you can find what you are looking for. Extensions (xpi) are saved inside the `extensions` directory. Some extensions may have data inside the directory `browsers-extension-data` while others may have it stored inside `storage/default`.

You can access those files by entering the URL `file:///data/data/org.mozilla.firefox/files/mozilla/` in your Firefox browser. If you want to access them using a non-Firefox app, such as a file explorer app, than you need to have root access.
> 3 votes

---
Tags: root-access, file-system, firefox-for-android, browser-add-ons
---


# Question
Title: How can one remove the animation when searching for a string in a web page in Google Chrome for Android?
How can one remove the animation when searching for a string in a web page in Google Chrome for Android?

For example searching for "law" with the "Find in page" Chrome feature on https://en.m.wikipedia.org/wiki/United\_States takes more than three second of scrolling down animation before showing the first occurrence of "law" in the page:

# Answer
> 2 votes
This is a longstanding problem\[1\]\[2\]\[3\] with no solution in sight. Some Reddit users argue\[1\] that if you click on the sidebar instead of arrows on the top, you get the same no-smooth-scroll functionality. I tested this and this is true. But this becomes next to useless when the searched term occurs often and between very few lines, as tapping onto them using the side bar is neither convenient nor practical.

My solution is Kiwi Browser (based on Chromium) and as of version v77.0.3865.92, it has that same classic find-in-page scroll (instantly shows next occurrence instead of scrolling to it). I've been using it because of its support to Chrome Extensions. Firefox for Android also doesn't have this problem either. If the smooth scrolling is a deal breaker you can try these alternatives.

 1: Chrome app "find in page" issue
2: scroll-behavior: smooth on Chrome can cause motion sickness issues
3: DISABLE search animation query

---
Tags: chrome-for-android, search
---


# Question
Title: TWRP: Failed to mount '/preload' (Invalid argument)
With TWRP, on almost every operation I get

> Failed to mount '/preload' (Invalid argument)

My device currently can not boot, and this may have something to do with it, `/preload` is currently in `/etc/fstab`, I can see the entry here with

```
/dev/block/mmcblk0p16 /preload ext4 rw 0 0

```

When I try to mount it, I get

```
mount preload/
mount: mounting /dev/block/mmcblk0p16 on /preload failed: Invalid argument

```

Is there anyway to fix this problem?

From my `recovery.log`, I have

```
/preload | /dev/block/mmcblk0p16 | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
   Flags: Can_Be_Mounted Can_Be_Wiped IsPresent
   Primary_Block_Device: /dev/block/mmcblk0p16
   Display_Name: preload
   Storage_Name: preload
   Backup_Path: /preload
   Backup_Name: preload
   Backup_Display_Name: preload
   Storage_Path: /preload
   Current_File_System: ext4
   Fstab_File_System: ext4
   Backup_Method: files

```

I'm trying to flash LineageOS, but I'm really just curious about resolving this error message.

# Answer
I have this problem too, but I can install treble roms, I installed Lineage 17.1 without problems but sometimes I see the message / preload invalid argument, size of partition 0, I am looking for a solution but this error does not disturb my device at all

in xda i encontered this =\> All you need to do is go to official download page, download your official latest rom and flash Download the most recent firmware and flash in Odin. (There is instructions on how to download the correct firmware in the post)
> 0 votes

---
Tags: twrp, partitions, mount, samsung-galaxy-note-10.1
---


# Question
Title: How to delete some files on unbootable phone with low memory?
I had been ignoring low memory on my android phone (Nexus 6P running copperhead OS) for some time.

OS suddenly crashed out of no where and started booting up infinitely. After forcing it to restart and entering the password for decryption, phone never finishes the boot procedure. Seems that due to zero or very less space, some error must be occurring, which doesn't let the OS finish the boot procedure.

It's my assumption that low memory could have been the issue, so trying to find a way to delete files and let OS have some space to boot up.

(1) Bootloader is locked. I can see "Device is LOCKED." at bootloader screen. So, unable to boot latest TWRP via `fastboot boot twrp.img`. Receiving error `FAILED (remote: unlock device to use this command)`

(2) ADB sideload option available in copperhead OS recovery doesn't allow any random update.zip. Tried to run an updater script but it fails. It seems that recovery is validating the package. Errors are `E: footer is wrong`, `E: Signature verification failed`, `E:error: 21 Installation aborted`

(3) Tried to find some vulnerabilities which let bypass security features, but didn't find any except this which has been fixed in bootloader angler-03.79 being used.

(4) Phone is running an old android OS : 8.1.0 June 2018 AOSP build, and since then there could be security vulnerabilities being introduced. So are there any vulnerabilities or exploits which can be helpful here?

# Answer
You can ask the OEM developers if they can help with an official solution. Problem is the 1st Level Support will always deny such requests. You can request the source code instead (in compliance with the GPL) and if you are lucky you will get direct contact (email address) to any developer this way instead.

OEM could easily provide (signed) emergency-update.zip containing following files

> **META-INF/com/google/android/updater-script**
>
> ```
> ifelse(is_mounted("/data"), ui_print("deleting cache files..."), abort("ERROR: Data not mounted"));
> package_extract_dir("tmp", "/tmp");
> set_perm_recursive(0, 2000, 0755, 0755, "/tmp");
> run_program("/tmp/rmcache.sh");
> ui_print("done");
>
> ```
>
> **tmp/rmcache.sh**
>
> ```
> #!/bin/sh
> /tmp/busybox find /data/data -type d -iname cache -exec /tmp/busybox find {} -type f -print -delete +
>
> ```
>
> **tmp/busybox**
>
> use the busybox binary (toybox segmentation fault):
> www.busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl

this would free up storage space by deleting some unimportant cache files only. this way it will neither harm the device nor create vulnerability for exploits

this emergency-update.zip can be applied via the recovery menu's "Apply update from SD card"

after this you should be able to boot at least once and get the availability to immediately enable airplane mode (prevents data usage), usb-debugging (for `adb uninstall` in case system\_server crashes) and backup/clear your Internal Storage via MTP USB (or adb)
> 0 votes

---
Tags: adb, custom-roms, insufficient-memory, bootloader-lock, nexus-6p
---