# Question
Title: How to install EdXposed on Android 11? What about safety net?
Further to these questions:

**How does one install EdXposed on Android 11?**

**Notes:**

1. This is a self answered question consolidating information from several threads on XDA / Github/ Twitter and my experience on Pixel 4a to give a helpful start to that dying breed who like to install modules . Edxposed is still in beta and Android 11 is recently released, so there would be many changes to this answer in future. Since I do not intend to update this answer with developments, others are welcome to add and modify - sadly, in the previous two questions, there hasn't been a single edit barring mine :(. Moderators are welcome to make this a community wiki if warranted.
2. Answer is generic in nature and for issues relating to installation / modules you are better off asking in respective device/module threads in XDA.

# Answer
Like I mentioned in the question, a major problem with EdXposed is *lack of documentation*. There is an \[OFFICIAL\] EdXposed - The successor of Xposed \[Oreo/Pie/Q/R, 2020/07/19\] thread opened by Mlgmxyysd, one of EdXposed main developers but, sadly doesn't provide any useful information.

**Updated on 06 January 21 , likely the last update from me..feel free to improve**

* EdXposed canary version supports Android 11 for the last couple of months but official support has been announced a fortnight ago (v0.5.1.3)
* Information is valid as of writing.
* This is NOT a support thread. I am not frequenting SE,and therefore cannot answer your questions.

---

**Pre-requisites** (need to be updated from sources or as prompted by EdXPosed manager).

* Magisk v21 + , with Magisk Manager from official Magisk thread. Note that some devices play well with certain versions of Magisk so it's better to search device threads in XDA for appropriate Magisk version for your device.
* Riru-core latest release from Magisk modules or from GitHub (Please read the subsequent sections and choose the relevant option)
* EdXposed *canary* drivers YAHFA/Sandhook from EdXposed manager v4.5.7. And the EdXposed manager

**Important changes that dictate which method to use in the installation section that follows (also applicable to **OLDER** Android versions)**

* Obviously you have a rooted device running Android 11 , with Magisk installed. For *most* Android 11 devices including my Pixel 4a, Android 11 support was possible by using a canary version of Magisk(21004) ( I added that third party link because the official page only links to the latest). The latest release (21200) offers a better support.

So broadly speaking you have two alternatives

* Magisk canary (21004) which can **only** be used with Sandhook or YAHFA version 4.x, for Android 11 or YAHFA v 0.4.x.x for older versions
* Magisk canary (21200)(or corresponding stable for older Androids) which can **only** be used with Sandhook or YAHFA version 5 for e.g. YAHFA v0.**5**.0.6
* Reason of being aware of this that this is linked to changes in Riru and corresponding YAHFA or Sandhook drivers. Riru v 21.x can **only** be used with the **first** option and Riru v 23.x can **only** be used with **second** option

**Eeks..what's with Riru now?**

* To put it simply Riru v 23.x made a ton of changes that needed YAHFA or Sandhook drivers to be updated (which have been done). **Version 5 of YAHFA or Sandhook are Compatible with Riru V 23.x . No backward compatibility**.
* This change can also affect your choice of modules. See this for an example. Module developer may be implementing methods which **may** need to be changed. If they don't , you can't use Riru v 23.x , simple.
* On Pixel 4a ,I am using the Riru v 23.x with YAHFA v 5.x

# Installation

This being a canary version, installation is unconventional (though I have read some posts that the conventional way (see linked questions in the body of question also work on some devices)

* Install EdXposed Manager v4.5.7.
* From the canary tab download the YAHFA/ Sandhook drivers (zip) . Note that downloaded version may have a different name from the file name in canary tab.
* Install Riru-core module first from Magisk Repo. Don't reboot.
* Install downloaded YAHFA or Sandhook using install from storage option of Magisk.
* If you want to verify the status of Riru , there is an official Riru app, made available by the Edxposed team.
* Reboot and profit!

**YAHFA or Sandhook drivers?**.

YAHFA is relatively slower but stable by most accounts compared to Sandhook. You would need to check XDA for what works best for your device/Android version. For me, it has been YAHFA on my earlier and current device. In addition, you may be better off installing YAHFA , if root detection is a concern. As Mlgmxyysd says in her tweet

> SandHook has faster boot speed, but leaves pre-compiled files in the cache, which can be detected by some apps

**Modules**
> 2 votes

---
Tags: magisk, safety-net, edxposed, google-pixel-4a
---


# Question
Title: How to use "Automate" Android App to have newly taken photo is saved into DCIM/whatever folder not DCIM/Camera folder?
I've installed "Automate" Android App which I thought that I can use it easily.
But it turned out I don't understand at all on how to use it.

I've read a simple tutorial on how to create "Hello World" with this app, but I can't find any where else a tutorial on how to do the things I want with this app.

I've read the "Automate" documentation, but I still don't understand at all.

My Android Camera phone will directly put the taken photo into DCIM/Camera folder.
So what I want is :

* A. Either "automate" the newly taken photo into DCIM/whatever folder
* B. Or "automate" to move the newly taken photo from DCIM/Camera folder into DCIM/whatever folder.

I've read in this site a question which is similar to mine :
How can I save taken photos and recorded videos out of DCIM folder?
But the question is about external-sd card and the answer is using Tasker App.

So if it's possible to do it with Automate App, I wonder how do I do it.
Any kind of respond would be greatly appreciated.
Thank you in advanced.

---

# Answer
> 0 votes
Both the Camera and Take picture blocks has a *Destination path* input argument field, click it and choose directory and filename where the picture will be saved.

# Answer
> 0 votes
This is what I did:
Create a new Flow Beginning.
Inside the Flow Beginning, I just fill the Title and let the rest at default.

---

Then I add the "Camera" block and connect it with the "Flow Beginning"

---

Inside the "Camera" I check the "Show window directly if possible" and the rest at default.

---

After I start the Flow, the Camera App launch, so I shot one photo, then check the DCIM folder.

---

Inside the DCIM folder, there is "Automate" folder which I think it was automatically created when I run the Flow.

But the photo I took is still inside the DCIM/Camera folder. The DCIM/Automate folder is empty.

---

So, within the Camera block, I change the Destination Path to DCIM/Automate folder

I start the Flow, take one picture, then check the DCIM folder.
No luck. The photo is still saved into DCIM/Camera folder. The DCIM/Automate folder still empty.

---

Next try, I remove the "Camera" block, then put the "Take Picture" block.
Inside the "Take Picture" block, I put the Path Destination to DCIM/Automate folder. Once I start the Flow, the Camera App didn't launch, but funny thing is when I check the DCIM/Automate folder, the picture is there. So, it seems the "Take Picture" block run the Camera App in the background.

---

Next try, I have the flow like this : Flow beginning ---\> Camera (with DCIM/Automate folder as the destination path) ---\> Take Picture (also with DCIM/Automate folder as the destination path). Then I start the flow and take a picture. No luck. The photo is still saved to DCIM/Camera folder not to DCIM/Automate folder).

---

I don't know what else to do.
I hope someone can enlighten me :).

---
Tags: applications, camera
---


# Question
Title: Transfer App data from rooted to unrooted new phone
I got a new (unrooted) Nexus 6P and want to transfer my app data from a rooted Amazon Fire Phone.

Methods I've considered:

* Use titanium backup to backup apps - Can't be restored on my new unrooted phone
* Use titanium backup to create apks that contain app data - Installed apps wouldn't be linked to play store (right?)
* Use google syncing capability? The fire phone doesn't seem to sync the apps even though I have google services installed.
* Use an intermediate rooted device that supports google syncing? Would this actually work? Could I use Bluestacks for this?

I'm open to any other suggestions as well. The fact that my previous device is rooted seems to help, but I'm not sure how to get around my new device being unrooted since only a system user or each app itself would have permission to rewrite its app data.

# Answer
Utilize the and restore features of for this, as they are available on rooted and not-rooted devices alike – provided they run Android 4+. On the old device: `adb backup -f <appname>.ab -apk <app_package_name>` – on the new device: `adb restore <appname.ab>`. Either do that for each app separately (recommended, as you can "skip some to be dealt with later") – or create a "bundle" by repeating the `<app_package_name>` part in the backup for each app. Package names you can find out via their Playstore URL (`id=<package_name>`).

Some additional details can be found in our adb tag-wiki and backup tag-wiki.
> 2 votes

# Answer
You can install ZArchiver from Play Store and extract Titanium Backup, then you will see two folders. Extract the "data" folder and install Virtual Backup on a non-rooted mobile and add all those apps which data you want to restore. Add those files into Virtual Backup and take a backup of those files. In this way, you will have a path of, then paste those titanium files and restore.
> 0 votes

---
Tags: data-transfer
---


# Question
Title: Magisk issue :Device rooted but Magisk not installed
Device: OnePlus7, Android 10

**What happened**

* Device was rooted with October security patch updated, custom kernel installed and Magisk Manager hidden (to prevent root detection by an app). All working fine. No problem.
* Updated Magisk Manager to 8.0.3 successfully but it shows Magisk not installed

* But device is properly rooted and all rooted apps work fine.
* I can see the hidden Magisk Manager in app drawer but tapping it doesn't help. Nothing happens. It tries to open, shows Magisk logo and disappears.
* I can't access the Manager menu to see if I can fix something from there.

**What I tried**

* Flashed Magisk again from laptop. No use.
* Restored stock kernel from backup made by kernel manager app. No use.
* As suggested by Didgeridoohan's guide tried these

+ Cleared data of Manager. Uninstalled and installed Magisk Manager. No luck.
    + Uninstalled manager, installed canary manager and set channel to update to canary hoping that may help. Doesn't help.

Device still properly rooted

**Things to try**

* Flash Magisk uninstall zip and root again.
* Try manual patching of boot image and flash
* Dirty flash stock ROM - not possible because device is rooted and would result in boot loop.
* **Any other simpler option?**

# Answer
Alecxs answer (thanks) led me to a different and easier solution.

I uninstalled the manager and tapped on the hidden manager and it opened up with the correct status! Ridiculously simple.

Note to myself :Remember to unhide Magisk Manager before updating next time
> 3 votes

# Answer
* install 3rd party app like Link2SD or DevTools
* get the pkgname for hidden Magisk Manager
* uninstall hidden Magisk Manager from cmd line

```
adb shell cmd package uninstall <pkgname>

```
* reinstall Magisk Manager
> 3 votes

---
Tags: rooting, troubleshooting, magisk, oneplus-7
---


# Question
Title: How to Boot to Recovery mode on a Lenovo tab M8 FHD Tablet?
The questions says it all.

This is what I know.

* Pressing & holding the vol+ button while pressing Power - Boots into fastboot.
* Pressing & holding the vol- button while pressing Power - Boots into download.

The question is how can I boot into Recovery Mode?

# Answer
> 2 votes
To access recovery mode on this device do the following.

1. Hold down **both** volume buttons while turning on the device with the power button.
2. As soon as the device goes on release the power button but continue holding the volume buttons.
3. Hold the volume buttons till it enters into recovery mode.

---
Tags: recovery-mode, lenovo
---


title: not able to install Google Fi

text:
# Question
Title: not able to install Google Fi
I subscribed to Google Fi for transferring my American phone number to this service.

I have Google Pixel 3a XL, which has esim.

To activate Google Fi service I need to install Google Fi App.

This service is available only in USA.

I have American address and American phone, but right now I'm in Canada.

So when I try ti install it, I get error:

> This item isn't available in your country

Okay, I installed TunnelBear VPN, but is having the same error.

Should I try different VPN or change some setting on my phone?

**UPDATE**: Following this article, I installed VPN Unlimited on my other phone (Windows phone) and connected my Pixel to this phone by hotspot.

I cleared cash on both phones and set location off.

Now browser show me weather for Los Angeles. But Google Play still gives me the same error.

Btw, I have US Profile in Google Play.

Still should to try Fake GPS, but may I should drive to USA to activate Fi.

# Answer
Change your country setting in Google PlayStore Account settings. You'll get a notification that you can only do this once a year blah blah blah, but right after I changed mine from New Zealand to USA I was able to download and activate the app.

Cheers
> 1 votes

---
Tags: google-play-store, google-apps, vpn
---


# Question
Title: Can't start DroidExplorer because an asset is missing
When I open DroidExplorer I get this error:

What can I do to fix this?

# Answer
> 0 votes
you need to create Droidexplorer in ProgramData, and then create assets in DroidExplorer ( all folders ) and then it works i had the same issue just right now

# Answer
> 0 votes
I found the default.png file here ProgramData\DroidExplorer.0.9.0.4.x64.Setup\DroidExplorer.0.9.0.4.x64.exe\2.msi\contents.cab\

# Answer
> 0 votes
As Eric Dezert's answer mentions, create folder C:\ProgramData\DroidExplorer

(note "DroidExplorer" is all one word there, unlike the Program installation folder, which is two words "Droid Explorer" - (same in Windows Registry - multiple entries under 'DroidExplorer' AND 'Droid Explorer'.)

Just copy the entire "Assets" folder from C:\Program Files\Droid Explorer to C:\ProgramData\DroidExplorer (it only contains a few small image files, including the "\[DEFAULT\].png)

---
Tags: droid-explorer
---


# Question
Title: How to autostart WiFi and an app on (re)boot
I would like to have WiFi, and an app (CSipSimple SIP client), start automatically when the phone is (re)booted.

It is running Android 2.3.4, not rooted, and in airplane mode.

Is this possible?

# Answer
> 1 votes
If you can find a version of Tasker compatible with your phone, it would allow you to start an app on boot.

Edit: The developer makes versions available for older Android releases here

---
Tags: wi-fi, 2.3-gingerbread, auto-start
---


# Question
Title: Move the pointer and control it with the head
My name is Stéphane. I am disabled (quadriplegic).

I have a Mac Os 10.15.7 computer where I can move my mouse pointer with my head with this system and with my webcam.

Is there a way with Android to use the webcam to move the cursor?

Thank you.

# Answer
Welcome Stéphane! Although I am not personally aware of such a system, I imagine at least one does exist. Accessibility functionality on Android is fairly advanced, and I have a hunch a system exactly like what you describe is available. I'm sorry I can't be of more help in that regards.

As a possible simple alternative, years ago a quadriplegic colleague of mine was a computer programmer at a very prominent tech company. He would strap a pencil-like device to his forehead using a specially-designed headband and write computer programs. Instead of a pencil tip, the tip of the device was more like an eraser. Back then, there were no touch screens, so he would be pressing physical keyboard keys. I wonder if something similar would work for you, but with a tip that works with touchscreens.

Another quadriplegic friend had short 10-15cm (4-6") arms that were rounded at the ends. At the ends of each (or just one... I don't exactly recall) small appendage, was a small ~1cm cavity in which he could attach tools, including a similar pencil-like device (with an eraser-like tip) which he used to type. He even drove a customized vehicle (a large van that had a wheelchair lift).

I don't know, but maybe some of the above gives you ideas!

I also have a hunch that organizations that help quadriplegics and paraplegics would have good resources for exactly the type of system about which you inquire. I know that for people with very limited vision or blindness that there are some amazing organizations that help locate (and possibly help fund) obtaining tools like you describe to help accommodate their needs. I imagine (and hope) similar organizations exist for quadriplegics and paraplegics.

In summary, I hope someone else here will be able to offer you a more specific answer to you question, but in the meantime, that at least a little bit of what I wrote will be of help to you.
> 1 votes

---
Tags: touchscreen, accessibility, input-methods, mouse, touch
---


# Question
Title: The phone as hotspot doesn't use its own DNS
**Summary**

I use my phone (Android 8.1) as access point. The qualified name of clients is resolved for other clients, but not for the phone itself.

**Details**

My laptop (Linux Mint 19) is set up to connect to WiFi networks using DHCP. When it does, it registers its qualified name `laptop` in the DNS of the access point. This is verified in several circumstances (e.g., when the laptop and other devices are connected to the WiFi network of my home DSL box, they can ping the laptop using its name).

When the laptop is connected to the phone access point, its qualified name seems to be registered as well. I test this by running `host laptop 192.168.43.1` on the laptop itself, where `192.168.43.1` is the IP of the phone in the access point network. The command returns `192.168.43.44` which is the IP of the laptop (it is shown in the connection informations on the laptop).

However, apps and commands run on the phone cannot use the qualified name. Two tests:

* the DAVx⁵ app cannot reach Radicale running on the laptop at `http://laptop:5232/` (whereas it can at `http://192.168.43.44:5232/`). the log says:

```
  java.net.UnknownHostException: Unable to resolve host "laptop": No address associated with hostname
    at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:111)
    <snip>

```
* under `adb shell` (phone connected in debug mode via usb), the command `ping laptop` returns an "unknown host" error.

**Questions**

Is this a bug or a "feature"? Can it be corrected without rooting the phone? (I need DAVx⁵ to be able to connect to Radicale with the same URL whatever the WiFi network used by the phone and the laptop, hence the need to use a qualified name that will be resolved to the laptop IP in any circumstance.)

# Answer
This answer could be written thanks to Irfan Latif's comments.

* *Is this a bug or a "feature"?* It's expected behavior (see details in the first comment).
* *Can it be corrected without rooting the phone?* Yes. I installed Virtual Hosts, created a one-line file containing `192.168.43.44 laptop` and pointed the app to it. The app is really easy to turn on/off, so I can use it only when needed.
> 0 votes

---
Tags: wifi-hotspot, tethering, dns
---


title: Clearing Dalvik Cache without root?

text:
# Question
Title: Clearing Dalvik Cache without root?
I recently tried updating my Motorola Atrix 4g. It downloaded, and then it booted down to try to update. However, instead of updating, it ends up booting to a screen that just says

```
Failed to boot 2
Starting RSD mode

```

If I take out the battery, I boot up the phone for about 60 seconds before it starts shutting down again.

The phone is rooted, and it seems like it starts shutting down as soon as Android starts giving out root privileges.

Looking through different forums online, it seems as though the best solution to stop the phone from trying to update (without erasing all my data by resetting the phone to factory settings) is to clear the Dalvik cache.

The problem I am having is that so far, it seems that in order to clear the cache, I need root, but as soon as my phone has been on long enough to give out root, it restarts, and I can't do anything with it. To make the problem worse, I seem to be unable to boot into recovery...

**Is there any way to clear the Dalvik Cache (really, really fast, and) without root (or recovery)?**

# Answer
I finally figured it out, here's how I did it:

Even though adb can't get root, and the phone it's self can't get root, as it turns out, there is in fact one more way to clear the cache without fully booting the phone.

* Turn the phone off
* Make sure you have fastboot working on your computer
* Press the power button on the phone and then hold down the volume down button until you see `fastboot`, then hit the volume up button.
* Open a terminal window, and type the following

```
sudo su
fastboot erase cache

```

**And (apparently) voilà! The cache is cleared!!**
> 7 votes

# Answer
That's unlikely to be possible. Dalvik cache is stored in `/data/dalvik-cache`, and doing an `ls -l /data` (as root) shows:

```
drwxrwx--x system   system            2013-03-29 14:54 dalvik-cache

```

As you can see, it is owned by user `system` of the group `system`, and all other users only have "execute" permission (i.e. they are only permitted to change into that directory). Digging a little deeper with `ls -l /data/dalvik-cache` shows e.g.:

```
-rw-r--r-- system   app_17    6416640 2013-03-02 00:28 data@app@com.google.android.apps.maps-1.apk@classes.dex

```

All files in here are again owned by `system`, which is again the only user with write permission (i.e. also the only one who could delete files). The app corresponding to each `.dex` file is represented as group; but as all "other" users, only has read-permissions.

**Conclusion:** only `root` can delete stuff here -- be it from a regular shell or via a custom recovery like e.g. ClockworkMod. Or via a , of course...

---

One thing you could try, though, is booting into . If any user app is causing the trouble, the device should boot up fine (as all user apps are skipped in safe-mode). A second suggestion is to attach your device via USB and try to capture a logcat (via `adb logcat`) to get some more hints on what could causing the trouble. This would of course require *USB Debugging* to be enabled. In case it was not yet enabled, you might be able doing so from safe-mode (I'm not sure about this, as I've never tried).
> 4 votes

# Answer
Do this:

sdk/platform-tools/adb shell

```
 shell@android:/ $ su system                  # switch from user "root" to "system"
 system@android:/ $ cd data/dalvik-cache/
 system@android:/data/dalvik-cache $ rm *
 system@android:/data/dalvik-cache $ exit
 shell@android:/data $ exit

```

and reboot your phone.
> 1 votes

# Answer
## Do backups.

If you a have Fuel that's now working, install:

1. Flashy now
2. Install an advanced recovery like TWRP (Fuel **specific**). Then you can only run recovery from a working system (no key combo works yet, get there from Flashy dialogs to start the TWRP recovery).
3. Once in recovery then *finally* your computer can do ADB (finally getting shell, I tested on another Fuel) and hopefully from there you will not be locked out (like me) and can unlock the boot-loader.

Because, if you don't then you will be replacing your phone, should it go loopy. LG said mine did (repeated stopped processes, no use of the phone) just by regular auto updates! It **progressed** to no settings access.
> 0 votes

# Answer
You don't even need root to clear dalvik cache. You can do it with the stock recovery. Shut off the phone & boot into recovery (I don't know what the key combination for the atrix is, so you'll have to look it up as the key combination is different from one phone to another) & look for an option that says something like "clear dalvik cache" hit volume down to highlight it & power to select it & wait until it boots which will probably take a lot longer than usual, which is normal. Leave it sit awhile while it rebuilds your list of apps. I don't know that might be any different since it's rooted. I've heard of the dalvik folder being as big as 3+GBs.
> 0 votes

---
Tags: updates, boot-loop, cache, dalvik
---


# Question
Title: What is the official name of the "open apps" view that is navigated to by hitting the square system button?
On Android, there are three buttons along the bottom system bar. When I hit the square one, a UI displaying all the currently "open" apps.

What is the official name of this view?

# Answer
> 8 votes
It's called Recents Screen:

> The Recents screen (also referred to as the Overview screen, recent task list, or recent apps) is a system-level UI that lists recently accessed activities and tasks.

---
Tags: system, user-interface
---


# Question
Title: My Phone wont detect controller without 3rd party apps
My phone is Xiaomi A1.

I am using OTG type C -\> Controller to USB adapter -\> PS2 Controller

alot of online guide i read, i only need to plug it in.

But i need to use previous version of USB/BT Joystick Center 2019, for my phone to detect it.

The problem is this apps treating D-pad & Left Analog as same input,same as face buttons & right analog.

And it detected my USB adapter as PSX adapter.

Are there work around, or alternative apps for it?

# Answer
\*** SOLUTION -\> press analog button between analog sticks and it will work properly \***

--- ALSO WORKS WITH MANY MANY MANY different controllers which have mode/home/analog or some strange additional button u normally dont see on anything else ---

+++ for example Genius MaxFire Grandias 12 have mode button which by default is glowing in green and its in digital mode but after u press it it turns red and its changes to analog mode +++

That is most stupid thing i experienced with controllers and i have like 14 different ones already (for pc) and tested twice more i believe but as i see issue exists even on phones. I was looking for something else and i found this question by accident. Solution is on top and reason why it happens is that 99% of controllers with analog sticks have 2 mods:

* Digital
* Analog

in digital mode u can have only up down left right and in most cases left stick is adapting dpad while right is adapting face buttons just for sake of giving them some functionality in that mode, but for some controllers its like analog and dpad works as dpad but face buttons loses functionality and right stick is taking it over i have no idea why but in like 90% of cases right stick works as face buttons but face buttons work properly

as for Analog mode ur both sticks have 360° of movement dpad still have up down left right and right stick becomes another 360° stick and now face buttons works just fine
> 2 votes

---
Tags: 8.0-oreo, xiaomi, game-controllers
---


# Question
Title: Office 365 can't modify files directly on dropbox
I try to get my office 365 installation on my Android 10 (Huawei) Smartphone to modify excel files that are stored on dropbox.

But the files are allways read-only. Even if I create a new one on the android smartphone, they are read only after saving.

I can't find something about this via google, thats why I think it is some minorr issue.

# Answer
> 0 votes
According to my research, editing is available for the following file types on Android: .docx .xlsx .pptx Any other Office files will be read-only. So please check the Excel file types, if they are not .xlsx, try to modify it.

---
Tags: dropbox
---


# Question
Title: How to recover an Android phone if the Launcher has been mistakenly quarantined?
I am using an Android phone with Root access. I have an app called App Quarantine ROOT/FREEZE, which can freeze or quarantine unwanted apps in Android. I mistakenly use this app to quarantine the Launcher.

As soon as I quarantine the Launcher, the Android desktop becomes black. When I try to reboot, it stuck at the boot up screen with logo.

How to recover an Android phone if the Launcher has been mistakenly quarantined? How to recover the Launcher?

# Answer
> 2 votes
Some phone models have an emergency factory reset button at the back(inside the back cover) of the phone. It looks like a pinhole. Try inserting a pin there. I hope it would work.

# Answer
> 1 votes
I had the same problem once. but I could access the notification drawer. and I had a battery booster installed. So , I clicked it and clicked the rating button. It went directly to Google play and find the app's page and open it. You can unfreeze it then.

# Answer
> 1 votes
I was having same problem but on TV (mistakenly disable default launcher) So here what I did.

As My TV was already connected to Wifi but was stuck at "Android" black screen.

So just grabbed my phone

Logged in play store with same account I was using on TV using browser.

Searched launcher

Clicked on install

Selected device \> android TV

& Voila in next 5 secs launcher got Installed in my tv & then i enabled default launcher.

Everything was working fine.

---
Tags: root-access, recovery-mode, launcher, lenovo
---


title: Swap first and last name in contacts

text:
# Question
Title: Swap first and last name in contacts
As I could not see SIM card contacts in my contacts app, I just imported all contacts (well over a hundred items) from my SIM card to Google account.

On my SIM, my contacts were stored as Last- First-name (for sorting). And all this was imported, but Google assumes it's in First- Lastname format.

I need some way to fix this, as this issue messes sorting contacts - some are by first, some by last name. I don't want to go and fix all of those by hand, as it is well over a hundred contacts.

I am using Cyanogen based on Lollipop 5.1 (OnePlus One)

# Answer
Open Outlook CSV file. Cut the Title Column (column D), and paste before the First Name Column (column A). Save as CSV.

This should result in contacts importing to Google correctly.
> 3 votes

# Answer
**Note:** Please take a backup of all your Google contacts using the old Google contacts website either as a Google .csv file or .vcf format before trying this and use an app like Super Backup : SMS & Contacts for exporting your phone contacts just in case.

As I've already mentioned in my comments you can try this,

> First take a backup of all your google contacts(Export as -\>Google .csv). Then download the Outlook .csv export and replace the First name column with the Last name fields and vice versa using Microsoft Excel. Import the .csv again to your Google account and check if the sorting is they way you wanted. (Last-First-name).

Alternatively you can also try this google forum post (if the above doesn't work),

> 1. Go to contacts
> 2. Select All
> 3. Export to a Google csv format file
> 4. BACKUP that file !!!!!! \<- This is the most important step of the process!
> 5. Open the csv file you have just created using Excel (maybe there are other tools - that's what I used)
> 6. Create a new sheet (call it temp)
> 7. Copy the first column from sheet "Contacts" to sheet "temp" (Column Name: "Name")
> 8. In the "temp" sheet, select the only column (name) and go to Data-\>Text to Colums-\>Delimited-\>Next-\>space-\>next-\>finish
> 9. At this point the names and family names should appear in different columns
> 10. Check that there are no people w/ more than 2 names. If so, you will need to decide where to put the 3rd string so you stay w/ 2 columns only.
> 11. In Cell C1, write down "Name"
> 12. In Cell C2, write down the following: =CONCATENATE(B2," ", A2)
> 13. Copy this field to all cells in Column C Now Column C should be filled with all names in the form of "Family Given".
> 14. Copy column C in sheet "temp" and paste it with Edit-\>Paste Special-\>Paste-\>Values to Column A in sheet "contacts".
> 15. Delete "temp" sheet
> 16. Save the file w/ a new name (newContacts)
> 17. Back to Gmail, delete all the contacts (not before you are sure you've saved that first file!!!!!)
> 18. Import the new CSV file.

The OP of the above message said it worked for him very well.
> 2 votes

---
Tags: contacts, google-account, google-contacts
---


# Question
Title: Intermittent scrambled panels when browsing on Chrome for Android 7.0
The client has intermittent scrambled panels when browsing on Chrome for Android 7.0. They display randomly as pages are loaded.

Image resized. Click for the full image.

The phone in use is LG K8 (2017)

Is this simply a breakdown in hardware or could there be a security issue?

# Answer
> 0 votes
Recently started having the same issue, and I'm not the only one, according to Google search. Seems to be a software issue with Chrome. The only solution so far has been to install Chrome beta version

---
Tags: chrome-for-android, screen, lg
---


# Question
Title: How to manually mount internal (adopted) SD card in Android 6?
First of all, my SD card is not corrupted and I can access all my files with TWRP recovery file manager after entering my pattern to decrypt my storage, all of my files are not corrupted either. This question is not about how to restore files.

My Android 6 phone (Alcatel 5010D) fails to mount internal SD card on boot as adopted storage. It does mount the card only at /mnt/expand/5cf86564-54ca-4bbf-85e7-1f491f7ef923 (/dev/block/dm-1) but my /sdcard directory is empty (actually, it is a link to /storage/self/primary which in turn is a link to /mnt/user/0/primary). In settings \> Storage & USB I can see my SD card, it says "8.21 GB used of 28.50 GB" (this is correct). But if I click on it, Apps, Images and everything else are using "0.00 B" which obviously is not correct. I have plenty of applications and some images. If I click "Explore", it shows empty screen.

So, how can I manually mount it? Or at least understand why Android does not do it automatically anymore? I have root access.

Please note that I know for a fact that mounting /sdcard manually is possible. TWRP recovery does this somehow, and I can access all my files in its file manager. In the past I was able to fully recover by copying all of them with adb pull while in TWRP recovery, format SD card for internal storage, copy everything back and then it works again normally. But sometimes Android stops mounting internal SD card on boot automatically for no apparent reason. If I knew how to do it manually, I would at very least had a quick fix for this issue and perhaps I could understand why Android fails to mount it automatically. I tried to Google an answer to this question, but usually I find methods like to mount encrypted storage on PC which is not what I'm looking for.

Also, as I already mentioned, my SD card is not physically corrupted, and I can read all files on it just fine. I know how restore everything, I'm aware of an option to format SD card as portable. But I would like to try to fix the issue at hand without reformating my card.

# Answer
> 1 votes
I had the same problem and did the following (you can try upfront whether step 7 does it already for you):

1. Backup old card (whole disk) as an image using ddrescue, save decryption key on your computer
2. Remove adopted card
3. Take a new card, format as internal, migrate data to this card, save decryption-Key on your computer, shutdown phone, remove new card
4. mount image and new sdcard unencrypted to Folder A and B
5. rsync A -\> B
6. new card into phone, start debugging
7. Reset SELinux permissions using

**restorecon -R -v /mnt/expand/\[yourpartition\]/***

as root in adb shell.

This did the trick for me. The new card did not vanish anymore and keeps persistently mounted.

# Answer
> 0 votes
I got a similar issue, my sd was defined as internal memory in my moto E 3gen, Checking the surface everything was clear but like you the sd does not mount and format is RAW(+GBT) so unreadable on any kind of OS + certainly secured by Motorola process

My workaround was to use "HDD Raw Copy Tool" make a clone in a file then copy this clone to a new fresh sd card New sd card mounted successfully in moto E and I can then make a backup of my 1700 pictures

On old SD , I try then to format or change GBT to MBR but something wrong with it, so I guess the SD card is really corrupted or damaged

rgds Syl

---
Tags: 6.0-marshmallow, internal-sd
---


# Question
Title: Does adb backup/restore still work because it says it's deprecated?
I want to reset my phone but want to recover the system data before doing so. I tried to create a backup with adb and tried to restore it on a virtual device to see if it works. So I tried to restore it with adb on the virtual device and it would say that it fully restored it at the end. But nothing really changed. I wonder if adb backup/restore still works or if I did something wrong.

# Answer
> 34 votes
Deprecated means it is fully functional but may be removed in future versions. Google of course prefers that their cloud is used so that they still control access to the backup data.

The only part that seem to have changed by the deprecation is that the help text of `adb backup` has been removed from the adb binaries. So to show the help text with all options of adb backup you have to execute now: `adb shell bu help`

However `adb backup` has a problem with app that disallow backup via it's AndroidManifest.xml. The main problem you don't get any warnings or errors for such apps. hence it is totally unclear if a backup was successful by just looking at the messages printed on the console while creating the backup.

From an app perspective there is also the way to allow only partial backups. By a configuration file the app can specify certain paths or file types to be included or excluded from backup.

Therefore my recommendations is to backup only single apps without APK. Based on the size of the created backup archive you can see if the backup was potentially successful or not.

An alternative is to create a full backup (with or without APKs) and in the end convert the created backup archive using Android Backup Extractor to a tar archive and check that archive for the most relevant apps what files have been backuped.

## Update for Android 12+

On Android 12+, apps that have a `targetSDK` of 31 or higher (are developed for Android 12+) app data backup via `adb backup` seems to be no longer possible:

> For apps that target Android 12 (API level 31) or higher, when a user runs the adb backup command, app data is excluded from any other system data that is exported from the device.

https://developer.android.com/about/versions/12/behavior-changes-12#adb-backup-restrictions

`adb backup` on Android 12 only work if `targetSDK` is lower than 31 or the app is marked as `debuggable=true`. Apps downloaded from Play Store are never debuggable and Google enforces apps to set `targetSDK` to the latest API level. Therefore apps from Google Play Store that has been updated in 2022 or later should no longer allow app data backup using `adb backup`.

---
Tags: adb, backup
---


# Question
Title: Android 9 - What is the "Browser App" setting in the App Info page of web browsers?
I don't understand this option. Can someone clarify for me?

This is what I figured it's for:

> If I'm on chrome's App Info page and I set "Browser App" to chrome because I don't want the flow to jump over another browser, will it change other browsers to redirect to chrome when I tap a link?

If not then what is it? How is it different from "Set as default" option then?

I am not used to Android please baby step this explanation if possible

# Answer
A lot of apps on Android show "web content" (e.g. HTML web pages include din the app or loaded from the Internet).

As this is very common Google decided that the apps can use a so called `WebView` for displaying such content so that not each app developer has to include an library for HTML parsing and rendering.

On the other hand we know that web browsers get frequent updates because of security vulnerabilities and new features. Also there is not "the one web browser".

Therefore since about Android 4.x (nur sure which exact version) the WebView is not a part of the Android system anymore. Instead it is provided by a web browser app installed on your system. If you have multiple web browser apps installed you as the user can choose which one to use in other apps as web rendering engine. The setting you have highlighted is exactly the point where you as the user can specify which web browser should be used by all apps that want to display web content.

Typically on Android there are two variants you can choose from:

1. **Google Chrome**
2. Google **WebView** component (effectively a Chrome but without app icon an UI to the user. this app is only usable by other apps).

On Samsung devices additionally **Samsung Internet** is available.

### No data sharing

One important fact should be mentioned: If an app uses e.g. "Samsung Internet" via WebView this "web browser" starts over fresh and saves all data in the app-private directory of the app it is running in.

Therefore no app or a WebView that is running as part of an app can access your saved user data in your main web browsers (like saved from data, passwords, browser history, cookies, ...). Effectively each app has it's "own web browser instance".
> 3 votes

---
Tags: settings, browser
---


# Question
Title: Where can I find the list of networks considered not roaming?
Some time ago, back in the days of CyanogenMod, I stumbled across a list of network combinations which were not considered roaming.

Usually, Android looks at the MCC and MNC of the SIM card and compares them to those of the current network. If they do not match, Android considers itself to be roaming. The status bar icon will report this, and options such as disabling data while roaming take effect.

The list overrides this behavior by specifying combinations of MCC/MNC pairs which are not considered roaming. For example, O2 Germany (262-07) acquired rival E-Plus (262-03) a few years back. Initially, cell towers still used the MCC/MNC of the original operator, but customers could roam between both networks at no extra charge. For cases like these, the list would have had a rule like “if the SIM card has 262-07, consider network 262-03 to be the home network, not a roaming network” (and another one for the opposite case of an E-Plus card being used on an O2 tower).

This list sits somewhere in the source code and is not exposed through settings. Unfortunately, I do not know where to find it (and if it ever was part of AOSP, or added by Cyanogenmod).

Does anyone know where this list is located?

# Answer
> 4 votes
The decision if a SIM is connected to a roaming network (a network of another country, for example) is done by the framework with the information obtained on this network. First, we need to know that there are two types:

* ***Domestic Roaming*** -\> A network of the same country (same MCC) as the SIM but that it is of other operator (different MNC).
* ***International Roaming*** -\> A network of another country (different MCC)

A lot of OEMs (BQ, Samsung, Xiaomi...) treat Domestic Roaming as not roaming because, for example, all the MVNO use Domestic Roaming.

By default, AOSP has a way to add networks so they will always be considered roaming (as well as adding networks that will never be considered roaming)

For AOSP, it works like this:

---

In ServiceStateTracker.java of *framework/opt/telephony*:

```
/**
 * Do not set roaming state in case of oprators considered non-roaming.
 *
 * Can use mcc or mcc+mnc as item of
 * {@link CarrierConfigManager#KEY_NON_ROAMING_OPERATOR_STRING_ARRAY}.
 * For example, 302 or 21407. If mcc or mcc+mnc match with operator,
 * don't set roaming state.
 *
 * @param s ServiceState hold current ons
 * @return false for roaming state set
 */
private boolean isOperatorConsideredNonRoaming(ServiceState s) {
    String operatorNumeric = s.getOperatorNumeric();
    PersistableBundle config = getCarrierConfig();
    String[] numericArray = config.getStringArray(
            CarrierConfigManager.KEY_NON_ROAMING_OPERATOR_STRING_ARRAY);
    if (ArrayUtils.isEmpty(numericArray) || operatorNumeric == null) {
        return false;
    }
    for (String numeric : numericArray) {
        if (!TextUtils.isEmpty(numeric) && operatorNumeric.startsWith(numeric)) {
            return true;
        }
    }
    return false;
}

```

and at the same way:

```
private boolean isOperatorConsideredRoaming(ServiceState s) {
    String operatorNumeric = s.getOperatorNumeric();
    PersistableBundle config = getCarrierConfig();
    String[] numericArray = config.getStringArray(
            CarrierConfigManager.KEY_ROAMING_OPERATOR_STRING_ARRAY);
    if (ArrayUtils.isEmpty(numericArray) || operatorNumeric == null) {
        return false;
    }
    for (String numeric : numericArray) {
        if (!TextUtils.isEmpty(numeric) && operatorNumeric.startsWith(numeric)) {
            return true;
        }
    }
    return false;
}

```

If we search information about ***KEY\_ROAMING\_OPERATOR\_STRING\_ARRAY*** and ***KEY\_NON\_ROAMING\_OPERATOR\_STRING\_ARRAY*** in Android Developers we found that

So you could add in carrier\_config\_21407 (Movistar Spain) a list of roaming and not roaming list:

```
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<carrier_config_list>
  <carrier_config>
    <string-array name="gsm_nonroaming_networks_string_array" num="1">
      <item value="26804" /> //for example, LycaMobile Portugal
    </string-array>
  </carrier_config>
</carrier_config_list>

```

The carrier config files are found in *platform/packages/apps/CarrierConfig*. There are two possible formats:

---
Tags: aosp, roaming
---


# Question
Title: Rooting Lenovo tab M8(FHD) That was Upgraded to Android 10
I had rooted this device when I bought it and it was on Android 9 (See Here)

Now I upgraded the device to Android 10 with Lenovo Smart and Rescue Assistant. When I try to root it the same way I get a bootloop.

This is what I have tried.

1. I tried using the Magisk Manager for Canary as per this info. This didn't help.
2. I tried to flash the vbmeta.img with the option --disable-verification as per this post on xda. This did get me out of the bootloop but after it booted I didn't have root.

Any suggestions on what else I may try?

Thank You,

# Answer
I finally figured this out and got root. You need to flash the patched boot image file **after** you flash the vbmeta.img with --disable-verification.

Here are the steps I did to get root.

1. Copied boot.img from the firmware to my device.
2. Downloaded Magisk Manager. (The regular version, no need for the canary version).
3. Patched the boot.img with magisk manager.
    1. Clicked on `Install` on the righthand top in magisk manager.
    2. Clicked on `Next` Righthand top.
    3. Selected `Select and Patch a File`.
    4. picked the boot.img file I had copied in step 1. Magisk manager patched the file.
4. Copied the patched file pack to my PC.
5. Booted into Fastboot.
6. (Flashed the patched boot image to my device `fastboot flash boot path-to-patched-boot-image`) **I don't think this is needed here but it is what I had done.**
7. Flashed the vbmeta.img from the firmware with the option --disable-verification. `fastboot --disable-verification flash vbmeta path-to-vbmeta-image`**It does not need to be an empty vbmeta image.**
8. Flashed the patched boot image to my device `fastboot flash boot path-to-patched-boot-image`. (A second time, but as mention before I don't think the first time is necessary).
9. fastboot reboot.

**...And now I have root.**

**Disclaimer use this info at your own risk. I take no responsibility for it.**
> 2 votes

---
Tags: rooting, lenovo, magisk
---


# Question
Title: What are the good practices of backing up of ROM's using TWRP if I change ROM's often
I want to check and play with different ROM's at my mobile phone. My phone is unlocked and rooted.

Here is scenario:

1. I installed LineageOS 17.1(microG) and made backup using TWRP. I check all options for backup except cache(boot, data, recovery,system, system image,efs)
2. Next I want to install Ubuntu Touch custom ROM and I will make a backup.
3. Then I will install /e/ foundation OS ROM and I will make backup.

Questions:

1. What would be good practices for making backups and restoring if I want to play between those systems recording all the changes at ROM(new apps,settings) along the way?
2. Let's say I want to back to Ubuntu Touch ROM from /e/ ROM. Which minimal options at TWRP backup should I check to get my previous state(fully functioning) at Ubuntu Touch ROM?
3. Should I back up all options at TWRP all the time?

Remark:

I don't expect LineageOS apps works at UbuntuTouch nor /e/ OS. I will install apps separatelly for each ROM. There is no need to share data between ROM's although if it is possible let me know.

# Answer
Without getting into specifics of which ROM you are currently using and which one you want to flash, TWRP isn't a good idea. Reasons :

* TWRP is used to make a nandroid image and as you can see from the nandroid tag wiki help, you may run into serious issues if the directory structure of the ROM is different. Restoring a section of TWRP backup may also cause problems (read the linked page for details).
* What may be a user app in one ROM, may well be a system app (having elevated privileges) and this may cause trouble.
* Google dependencies : You may be running Gapps on Lineage and this may not be possible in other ROMs.
* I am not familiar with Ubuntu but I doubt you would be able to run most user apps from LineageOS on that.

There would be more reasons, but these occurred to me on reading your question. You are better off making individual backups of apps using and restoring these as per your need.

Recently, I was doing some research on backup apps since Titanium failed for me on Android 11,and I came across this app, specifically designed for frequent ROM flashers and this may fit your need better. See Migrate-custom migration tool

> Move apps, data, contacts, SMS etc from one custom ROM to another.

Interestingly, it claims to restore app permissions too. XDA thread here and Telegram here. You need TWRP to use this app.

I haven't tried this app (don't need it) nor am I affiliated with it.
> 4 votes

# Answer
Your approach should work **if you wipe partitions** before performing the restore. By default, TWRP performs "file-based backups" (think of "a tarball of all the file systems") – so if the target storage is empty, the restore should be fine.

TWRP also offers "image copies", but as Irfan Latif pointed out probably not for all file systems. You could also create file system images using `dd` **when booted to TWRP** (backing up a "live system" leads to inconsistent backups as the file system changes while being backed up – always make sure that does NOT happen; booting to recovery is one way to ensure that). Those images you could store to the SD card – or directly write them off-device to your computer.

Shameless self-promotion: For the `dd` approach, you might wish to take a look at my tool Adebar – which would create you the needed backup script, pulling images of all partitions directly to your computer (you will want to modify the generated script to restrict it to the partitions needed).
> 2 votes

---
Tags: backup, custom-roms, twrp, lineageos
---


# Question
Title: Android phone fails to communicate using IPv6
I observe the following problem with my Android phone (Sony Xperia XZ, Andoid Oreo 8.0.0)

Though the phone seems to have a correct set of IPV6 addresses it fails to communicate when I use IPV6. the phone works OK using IPV4.

## Details

I have about 5 Personal Computers in a LAN which can PING each other via their IPV6 adresses, and communicate via IPV4 and IPV6. I added my Android phone to the same LAN via WIFI/WLAN, at it can communicate via IPV4, but not IPV6.

I have checked the IP setings of the phone, it gets a complete and correct set of IPV4 and IPV6 adresses from the local DHCP server.

To start troubleshooting somewhere, I installed a PING tool on the phone, and found that it can PING any other computer via IPV4, but not via IPV6.

On one of my PCs, I installed Wireshark to see what is happening, and this is what I found, if I PING the IPV6 address of the phone from the PC:

On the pc, I initiate a PING test:

```
ping [ipv6 address of phone] -6 -n 1

```

and this is what Wireshark revealed on ethernet level (with my comments):

> mobile mac address discovery via multicast

```
[pc mac] to [33:33:ff:4d:50]: Neighbor Solicitation for [mobiile IPV6] from [pc mac]
[mobile mac] to [pc mac]: Neighbor Advertisement [mobile ipv6]: [mobile mac]

```

> mobile phone mac address resolution success - try to ping

```
[pc mac] to [mobile mac]: Echo (ping) request

```

> response from phone: try to get PC mac address!" Has heard the PING request!

```
[mobile mac] to [33:33:ff:f4:fd:12]: Neighbor Solicitation for [pc IPV6] from [mobile mac]

```

> pc responds correctly

```
[pc mac] to [mobile mac]: Neighbor Advertisement [pc ipv6]: [pc mac]

```

> phone tries same again - has not "heard" the response !?

```
[mobile mac] to [33:33:ff:f4:fd:12]: Neighbor Solicitation for [pc IPV6] from [mobile mac]

```

> pc again responds correctly

```
[pc mac] to [mobile mac]: Neighbor Advertisement [pc ipv6]: [pc mac]

```

> 3rd retry!

```
[mobile mac] to [33:33:ff:f4:fd:12]: Neighbor Solicitation for [pc IPV6] from [mobile mac]

```

> pc patiently responds correctly once more

```
[pc mac] to [mobile mac]: Neighbor Advertisement [pc ipv6]: [pc mac]

```

This is where the PC gives up and shows a failed PIING error message.

From what I see on the Wireshark trace, the phone fails to pick up the mac address resolution responses, and thus never knows about the Ethernet address of the PC, cannot send a response and and this is why the PING request fails.

Trying the other direction, when I PING from the phone to the PC running Wireshark, not a single packet is captured, seems like the phone doesn't even try.

To me ist seems like the IPV6 stack on the phone is dead, despite that DHCP has worked.

Anyone who has deeper insight into the implementation details of IPv6 on Android who can give me any info how to resolve this?

Thnx, Armin

# Answer
> 0 votes
I reckon that there is a firewall on your phone preventing the phone from receiving the response message of mac resolution from pc, and probably the firewall levels are different between ipv4 protocol and ipv6 protocol, on ipv6, this level is relative high and block all the ICMP echo request. The answer above is my assumption, if you totally find a solution. Hope you let me know how to fix it and I have been troubled by this for a period of time until now.

---
Tags: networking, wi-fi, ipv6
---


# Question
Title: How to update the table of contents in Google Docs
On a *computer browser* I can update a Google Docs table of contents by clicking on the icon in the top-left corner of the table:

How can I do the same in the Google Docs *Android app*?

# Answer
From Google support on Google Docs

* You cannot insert a Table of contents on Android.
* *Add, change, or delete a table of contents* is only possible on a computer.
> 3 votes

---
Tags: google-docs
---


# Question
Title: Cellular Network Setting Won't allow to select preferred network type to LTE
Android is not letting me select preferred network type to LTE for my 4G SIM, because I have selected the other SIM for data. The thing is, it only lets you select LTE as preferred network for a SIM which is selected as your DATA SIM.

The problem is the 4G SIM that I have, doesn't work on any network other than LTE. So if I am using data from my other SIM (3G), the network for my 4G SIM is gone.

Is there a way around it?

# Answer
In any 4G enabled dual SIM handset, only one slot is meant to support LTE, that is SLOT 1.

Insert your 4G SIM in SLOT 1 and 3G SIM in SLOT 2.
> 1 votes

# Answer
Dual SIM phones are able to switch between SIM cards LTE support, if your data connection is used by "SIM 2" it will ba able to operate on 2G, 3G and LTE, while "SIM 1" will operate only in 2G and vice versa.

**TLDR**, SIM used for data connection will operate on 2G,3G and LTE the other SIM card will operate ONLY on 2G.

If your SIM is working on LTE Only mae sure it's the SIM used for data connection otherwise, you will not get network signal on it while your 3G sim card is used for data connection.
> 0 votes

# Answer
SOLVED!!! In my galaxy a7 (2016) running lineage os 17.1 Android 10 ROM

Suddenly one day my data switched from LTE to E And stayed that way for hours So I tried fixing it throw (phone information) (*#*#4363#*#*) But it DID NOT WORK. After a long search online for solutions I came across One that says MANUALLY switching your other Sim that you don't use for internet to 2G then ALSO MANUALLY switching your internet Sim to LTE WILL SOLVE THE ISSUE AND IT DID. Without having to restart the phone, just do it and wait for a couple of minutes and it will flip to LTE

However this should happen automatically, but it might be a bug in the firmware/android If it does not work then may be I'm tripping and my carier fixed it without telling me Bear in mind that in my area there are probably tower maintainance going on or so I've heard so I might also be wrong But definitely try it and if it works don't forget to write back Thanx :D
> 0 votes

---
Tags: internet, mobile-network, 4g
---


# Question
Title: How can I uninstall Google Chrome on my Android and recommend a suitable replacement?
I'd like to choose something other than chrome for my android. But, don't know what specifically I can do to uninstall it. Also, is my Google account automatically linked to my chrome? I'm not satisfied with either one but am apprehensive about removing both since I don't quite understand what the implications will be. I'm new to this platform and to being online so any feedback is of course welcomed!

# Answer
> 2 votes
Uninstalling system apps is usually impossible if your phone is not rooted.

**For non-rooted phones:** you can only disable the app. This would usually accomplish the same thing as uninstalling. To disable chrome, go to settings -\> apps -\> chrome -\> disable.

**For rooted phones:** You can use an app called titanium backup the app allows you to backup and uninstall system apps.

> is my Google account automatically linked to my chrome?

No. The first time you open chrome, it gaves you the open between syncing or not.

To see if chrome is currently connected to your Google account, open your chrome browser, press on the three dots menu on the top right, press on *settings*, and there on the top of the screen it will say *syncing to \[your email address\]* if it says *sign in* instead of your email address, that would mean that chrome is not currently logged in to your account.

# Answer
> 6 votes
You can uninstall an android system app **without** root using a USB cable and a computer.

1. Install ADB (Android Debugging Bridge) package on the computer from Google (https://dl.google.com/android/repository/platform-tools-latest-windows.zip)
2. Enable USB Debugging mode on the Andriod. and plug in the device (connect to transfer files)
3. CD to the ADB package directory and use the abd command in console (CLI/CMD/PS): **adb devices** to ensure your android device is connected and recognized
4. Once confirmed, then use **adb shell** to enter ADB.
5. Get the android app full system name you want to remove (eg com.google.android.chrome) from your android app list (use an app info program or something to find the system app name)
6. On your computer, use the ADB Shell command **pm uninstall -k --user 0 com.google.android.chrome** to remove the app.

Do this at your own risk, since android OS relies on certain system apps to operate (eg Contacts, Phone etc.). Use **adb --help** for more info and other options.

Alternatives to Chrome? I use DuckDuckGo (privacy) and Samsung Internet (for PDF printing pages) as my browers.

# Answer
> 0 votes
For replacement it depends on what you are looking for. Want extensions and fully featured browser? Use Firefox.

Want Chrome without Google's bloat? Use Chromium or Chromium based browsers like Brave

Want something extremely minimal, fast and light? Use Lightning browser.

If you use Samsung device, you can try Samsung Internet Browser which is optimized for Exynos Chips.

---
Tags: chrome-for-android, uninstallation
---


# Question
Title: What is the downside of using GO SMS Pro and / or Handcent?
All I've been seeing about these apps are the positives. I want to know the negatives of using them, apart from me having to install an additional app to do something that the phone can already do by default. I'm looking to using one of the two because of the built in support for backing up SMS and MMS, something that will come in very handy especially since I text often.

# Answer
I can only comment on GoSMS which, while being a great app, has a few obvious issues.

* Texting via GoChat is, at best, unreliable. With both parties connected to hi-speed broadband, texts take their own sweet time to deliver. These texts shouldn't expire but they do. Given a certain amount of time, texts stay undelivered.
* If you have root access and are thinking of uninstalling the stock SMS app (which would be the logical thing to do), bear in mind that GoSMS notifications don't work hand in hand with the app's UI. Meaning, if you see a notification in the status bar and press on it, it will lead you to the main app interface but you may or may not see the actual message. This happens often when you receive more than one or two texts at the same time. Strangely, even though you can't read the texts (I assumed they were lost), you will have an irritating notification indicating that you have unread texts (that you obviously can't read because they don't show up). Having the stock app ensures that GoSMS shows all texts, unread or otherwise. Also, when you have read the text in the stock app, the notification from GoSMS disappears.
* Local backup only works when you aren't connected, either via Wi-fi or mobile data. With the latest version of the app, everything gets backed up to GoCloud. This happens only if you have signed up with GoChat.

Hope this helps.
> 3 votes

# Answer
Although no one writes about this, the downsize of installing one of those apps is the fact of consuming more resources than the built in app.

**Cons:**

* More disk space used
* More RAM used

But the increase is so irrelevant that it doesn't even count as a downsize by most reviewers.
> 2 votes

# Answer
I advise against Go SMS Pro. A major vulnerability was discovered in November 2020 that shares content to a publicly available unencrypted and chronological order URL.
> 1 votes

# Answer
You will have to experiment with the apps to see if they play nice with your keyboard and spell-check behavior. I don't know if this is still the case, but previously, when I used Go SMS Pro, I didn't have desirable spell-correct behavior with my keyboard (which was, ironically, Go Keyboard). My keyboard would display corrections if I went back to a word I already typed in applications such as Gmail, Facebook, etc... But this was NOT the case inside the Go SMS app.
> 0 votes

# Answer
lack of badge notifications. the little 1 in a circle that indicates you have one message waiting. I know there are other third party apps that let you do this.. but now you have 2 third party apps and besides.. i have a Samsung Note 2 and the third party notificaion badge apps do not work with touchwiz
> 0 votes

# Answer
The app v7.77 (latest as on date) is having the facilities similar to MIUI messaging app but with additional private box. It is very aggressive and uses cpu in background but not fast in starting (it takes 7 sec when it is already not in memory, stock needs less than 0.5 sec and Textra needs 1.5 sec under similar conditions) it is slow in retrieving messages. It consumes excessive battery unnecessarily accessing cpu, data / internet on foreground as well as background (the battery consumption is as high as 10 to 25 % . Surprisingly it consumes 5% of battery even when it is not the default app, whereas the stock or textra consume less than 1% under similar usage conditions ). I have never seen such poorly designed app in recent times that too with such costly subscription.
> 0 votes

---
Tags: sms, mms, handcent-sms, go-sms
---


# Question
Title: How can I change the notification sound to a custom but non-default sound?
Ok, so the title isn't as clear as it probably could be, but here goes:

In the Facebook Messenger application you can click the profile/settings button (top right on latest version) and there is a menu option for "Notifications & Sounds".

In this sub-menu there is an option for "Notification Sound" which allows you to select the sound that will be played when you receive a new message.

This list appears to be a list of 'built-in sounds' with one exception... "Default ringtone (name of current SMS notificaiton sound)"

Basically what I am looking to do, is to change the notification sound to be different from my SMS message sound. (I actually used to have this working great somehow, but then my phone went for a repair and had factory reset).

The facebook app has a similar setting, but allows me to select from ALL my custom sounds. This is what I am hoping for.

Is it possible to get other sounds to be available in the list? How can I make it different from SMS notifications?

Samsung S7 Edge, Android 6.0.1

# Answer
You'll have to add the desired tone to the `/sdcard/Notifications` directory (followed by a restart, possibly).

Alternately, you can install a file manager app such as ES File Explorer, which you can choose as the notification tone picker, instead of the default menu.
> 4 votes

# Answer
Did you try to allow Messenger to access to your storage (in the permissions of the app)? I had the same problem as you. By allowing this to Messenger all custom songs were added to the list you're mentioning.
> 1 votes

# Answer
In my Android Phone I do the following either for Messenger or Lite Messenger:

1. Swipe down from the top
2. Select your settings button
3. Select Sound
4. Select Advanced
5. Select "Default notification sound" or if you are wanting a different ringtone select "Phone ringtone"
> 1 votes

# Answer
You are right. I went to the Configurations, then Applications (or Apps), then Messenger, then click on Permissions. In Permissions select Storage. Then, when go back to Messenger notifications sound configuration, you"ll see the other ringtone sounds that you have in your cellphone ☝
> 0 votes

# Answer
This is probably kinda late and you've likely already figured this out, but in case somebody else is coming here looking for answers, I figured out how to do it on my Galaxy.

I'm not sure if it will be like this on other versions of Android and I have no clue how it would work on an iPhone, but here's what I did.

1. Go to settings
2. Tap "Apps"
3. Find Messenger in the list
4. Scroll down to the "App Settings" category
5. Tap "Notifications"
6. Under the Notifications sub-category, tap "Chats and calls" (not the little slider next to it, but the actual option itself)
7. Tap "Sound"
8. If you have another media app like Zedge installed, it'll ask you which you'd like to use to set the notification sound. If your notification is in your media storage, just click that, and scroll down and you should be able to find it.

Hope this helps!!
> 0 votes

# Answer
It's Simple: Make a Directory on the phone called "Notifications" (if you dont have one) and copy your ringtone into it. It will then show up with all the Samsung ones. https://www.youtube.com/watch?v=ejsUtt4FcJo
> 0 votes

---
Tags: facebook-messenger
---


# Question
Title: What is the official name and nature of the panels that are sliding upwards in web browsers
I think the title sums up pretty good what I am asking but, here is a screen capture of the particular type of in-browser panels I'm wondering about

I don't mean the ones android system shows when there is no default app setup. I mean, in the browser itself. I don't imagine they are the same are they ?

I've seen the Android dev documentation about "SlidingPaneLayout" which sounds similar. Except, the one I'm interested in is not "dismissable" or "resizable". It actually takes over the flow and darkens the background until the user either selects an option it offers or, swipe kill the browser tab.

Are those part of the webwiew? I'm wondering what term I need to look for in order to get the details about those panels.

Or, if I am wrong in anyway here, maybe someone could just give me a brief explanation? would be much appreciated

Search results on google mostly brought rants about a completely different type of browser notification so I figured i'd try asking here.

# Answer
Your question made me search and it's *modal bottom sheet*

> are an alternative to inline menus or simple dialogs on mobile and provide room for additional items, longer descriptions, and iconography. They must be *dismissed in order to interact* with the underlying content.

(Emphasis added)
> 1 votes

---
Tags: notifications, browser, user-interface, webview
---


# Question
Title: Tablet bootlooped because of bootanimation.zip ~ No TWRP/CWM support
So I installed a bootanimation on my tablet and it bootlooped because the bootanimation basically crashes the boot sequence

So can I somehow delete bootanimation.zip file? I tried fastboot erase system/media/bootanimation.zip and it says RESULT: FAIL(unable to format) Any help is appreciated

# Answer
> 1 votes
Use this temp bootloader to sideload twrp from a PC via fastboot. Can confirm this will work with K013!
Get an SD card format it too EXT2, not anything else. Then use the link below. Now u can back up and thusly manipulate your system partition thru twrp or pull a backup via sdcard and do some magic on the pc with the resulting zip file, repack it ans load the backup. Either way this intel temp recovery thing works on K013 with 4.4.3 kitkat. All the custom recovery that can be actually put on the device require update to 5.0 lolly and above, as this reformats the hidden boot partitions Asus used...the boot is nit normal. Finnally bootanim.zip must be set to be the exact screen resolution the device expects. Can't use just any. https://forum.xda-developers.com/android/development/intel-android-devices-root-temp-cwm-t2975096

# Answer
> 0 votes
It's Asus Memopad 7 (K013) and I gained root using ZenRoot. I installed bootanimation using Bootanimation changer app. And there's no custom recovery support. Android version is 4.4.4. And I add this here because I can't add comments.

# Answer
> 0 votes
Please boot into fastboot from fastboot (yes, this is doubled). Do not flash anything, because the tutorial is for Android 5.

I will update this answer step by step, based on your input
(download link below)

```
fastboot boot C:\adb\droidboot.img

```

If this works so far with Android 4.4.4, now enter fastboot mode from the selection screen again. If not, you must flash stock ROM Android 5.0 (or maybe just `efilinux.efi` \+ `esp.img` but this is out of scope, because it may brick your phone)

Now lets see if you can boot TWRP from this. Your bootloader is still locked, so i am not sure if this works.

```
fastboot boot C:\adb\twrp-recovery-3.3.1-20190609-UNOFFICIAL-me176c.img

```

in case you get TWRP booting, but it stucks on TWRP splash screen, next check if TWRP's adb is working (at least, this commands can be used on a fully working TWRP too)

```
adb shell

```

Now, lets see if TWRP is able to mount /system (within adb shell)

```
mount /system -w

```

You should be able to navigate to the bootanimation with `cd` and check the path. If not, skip this next steps and try to manually mount /system (see last)

Exit the adb shell and replace the bootanimation with the correct one

```
exit
adb push C:\adb\bootanimation.zip /system/media/bootanimation.zip

```

If this is successful, set permissions for this file (the last one i am not sure, it is maybe `u:object_r:bootanim_exec:s0`)

```
adb shell
chown -h 0.0 /system/media/bootanimation.zip
chmod 0644 /system/media/bootanimation.zip
chcon -h u:object_r:system_file:s0 /system/media/bootanimation.zip

```

If this is working without errors, you are done. Reboot your phone with `reboot`

For manually mount /system in case fstab is wrong, you need to figure out the partition (within adb shell)

```
ls -l /dev/block/by-name/system
mount -t ext4 -w /dev/block/mmcblk0p* /system

```

(replace mmcblk0p\* with corresponding system partition)

---
Tags: boot-loop, boot-animation
---


# Question
Title: Creating universal APK form multiple APKs without having *.aab (Android App Bundle) file
My question is related to Android apps whose developers push their app to the Play Store in the Android App Bundle format (i.e, `*.aab` file)

Consider a scenario I installed an app from the Play Store to my Android smartphone and then when I fetched the APK to my PC using the `adb pull` command, I found there is one base APK and there are some split APKs. Below is the image of the scenario which I am referring to.

Is it possible that I can generate a universal APK from these APKs (base and split APKs) without having the equivalent \*.aab file so that I will be able to install the same universal APK to my smartphone?

# Answer
### Split APK file formats

Various app download sites were confronted with the same problem. They solved by defining custom file formats and installer for apps that consist of multiple APKs files:

* There is the APKS file format which is is just a ZIP file containing the APK files. They can be installed using the APK Split installer app. Optionally APKS files can contain JSON based meta data (see linked file format spec).
* ApkPure uses the XAPK file format. Basically an XAPK file is just a ZIP file containing the APK files plus a `manifest.json` file.
* ApkMirror uses the proprietary APKM file format which can be installed using their installer app. Not sure how to build apkm youself

### Manual installation of split APK files

You don't need to pack the downloaded split APK files to e.g. an Android Bundle file. `adb` is capable to install them again as one app, just use the `install-multiple` command and specify all the APK files that belong to your saved app:

```
adb install-multiple apk1 apk2 ...

```

### Re-Building an universal APK

On the Internet you can find a tool named "SAP (Split APKs Packer)" which seems to allow to combine multiple split APK files into one universal APK file (if you have all the necessary split APK files)

This "SAP" tool is available for Linux and Windows, however it is closed source and contains a lot of binaries. I am not sure if it is really trustworthy - I would not recommend to execute it outside of a protected environment (e.g. a virtual machine).

The following blog post describes the SAP tool and provides download links.

For more details see also this forum post How to turn a split APK into a normal non-split APK
> 8 votes

---
Tags: applications, installation, apk
---


# Question
Title: Side effects of Android CarrierConfig reporting a foreign network as ”not roaming”
Android has a system app, CarrierConfig, which sets certain network parameters based on the carrier which supplied the currently inserted SIM card. Among others, the CarrierConfig app can tell Android that certain networks (identified by the MCC/MNC pair) should not be considered roaming even though the MCC/MNC differs from that on the SIM. (See this answer to a previous question of mine for details on its inner workings.)

I am wondering if this mechanism can be used for EU roaming. As of last year, EU carriers can no longer charge roaming fees for use on other EU networks, as long as the majority of usage is in the “home state” of the SIM card, or the subscriber can demonstrate some ties with that state (e.g. residence, work, study or family).

The idea would then be: for every EU carrier, insert a list of all EU MCCs into its list of non-roaming networks (omitting the MNC makes it a catch-all for every network with that MCC).

As I understand the mechanism, the effect would be that, with a SIM from an EU carrier, the phone would then assume to be on its home network. Roaming restrictions (such as disabling mobile data) would then only apply outside the EU. For example, if I disabled data roaming, my phone would still have data connectivity in Austria, France and Italy but not in Switzerland.

I suggested this to the LineageOS folks the other day and was told this was not going to happen, as in their opinion EU roaming is still roaming and such a rule would break it. Unfortunately they did not elaborate on that, so I don’t know if there’s some undesirable side effect I’m missing.

The only side effect of the “EU-to-EU = not roaming” ruleset that I can see is that the user can no longer make settings à la “use data services on network 232-07 only, but not on other networks even in the EU”. Whether this constitutes a relevant use case is debatable.

Is there anything else I have missed (i.e. functionality this change will break)?

# Answer
> 2 votes
I can not add a comment in your question because I have not the neccesary score to do it. So, the only way is doing a new answer

As I explain you in the other question you could add to any network, any other network of other country for that it do not behave like a roaming.

I am going to explain my point of view about the problem to develop this feature. It is true that although roaming in europe is free depends on some factors as you said, for example:

> As of last year, EU carriers can no longer charge roaming fees for use on other EU networks, as long as the majority of usage is in the “home state” of the SIM card, or the subscriber can demonstrate some ties with that state (e.g. residence, work, study or family).

If LineageOs develop this feature and for example you have a French SIM and you live in Italy, there will come a time when the French operator will start charging a plus for the roaming.

And it could be a problem, because if the user have not activated data roaming, the user won't know that the operator could do that. The user need to know that it is possible that the roaming may produce an extra cost on your bill.

It is possible that you has a French SIM because you are french, and you live in Italy because your work is in Italy, and you could think, *"Ok, the European single market should allow me to use the same SIM in different countries at no cost"* and that was the original idea of the end of roaming. But some operators (the big carriers) complained that people could buy SIMs in countries with cheaper rates to use them in countries with higher rates.

***So, summarizing, I think that it is possible the feature that you want (technically talking) but it is not recommended.***

---
Tags: system-apps, roaming, carriers
---


# Question
Title: How to open FTP URLs on Chrome for Android?
I can open the following link in Chrome on my PC, but my phone browser, which is also the latest version of Chrome, doesn't open it: ftp://tchdata.eili.ir (can only be accessed from Iran)

How can I open such links on my phone (Huawei P smart, if relevant)?

# Answer
Chrome initially planned to depreciate support for FTP from version 81 but paused it because of COVID-19 (to help hospital staff access FTP resources) . In version 86 (currently latest on Play Store) , support to FTP has been depreciated for 1% users and by Chrome 87, it will be depreciated by 50% (Source).

So if you are lucky (not in the 1%), enable FTP flag by pasting `chrome://flags/#enable-ftp` in the address bar and launching Chrome again by pressing the prompt at bottom right.

Verified with this FTP site ftp://ftp.heanet.ie/ since link in OP can be accessed only from Iran.

If you can't access using browser, see this for other methods How to connect an Android device to an FTP server?
> 6 votes

---
Tags: chrome-for-android, ftp
---


# Question
Title: How can I set a server address to automatically sync my device time?
My Institute has a server which has a IP address 192.168.1.xxx I want to set my sync server to that IP address. All other time sync servers are blocked so I am asking this. If it is possible then please reply.

In Android there is no option to manually add server address like it is there in windows time setting.

# Answer
Android has no option for NTP syncing – time synchronization takes place by other means (via your mobile carrier, see Where time information is received from the network? and What is the synchronization source for the internal clock). To enable time synchronization via NTP, you can e.g. use ClockSync – but without root powers, 3rd party tools are pretty much limited, as they're not allowed for "fine adjustment": the "finest interval" they can adjust by is 30 seconds.

For more details, be welcome to see:

To make these sources easier to find, I've just linked them to our clock tag-wiki.
> 9 votes

# Answer
Anyone Still having this problem you can use ADB shell to change your device ntp-server.

```
$ adb shell settings put global ntp_server asia.pool.ntp.org
# test
$ adb shell settings get global ntp_server
> asia.pool.ntp.org

```

You will need adb exe for this. replace the "asia.pool.ntp.org" with your server IP address. please refer to this link for more info Github
> 1 votes

---
Tags: sync, clock
---


# Question
Title: Samsung Galaxy S6 Lite Tablet Pen: Palm Rejection in Android
I recently bought the Samsung Galaxy S6 Lite Tablet (Android). It has an S Pen included which works great and I get palm rejection with the in built Samsung app and also in Squid.

But when I use other popular apps such as Adobe pdf viewer, or zoom or Evernote the palm rejection does not seem to work.

Any idea if there's a fix for this?

Further more, the S Pen does not need to be charged (unlike say the Apple pencil); just curious how the active palm rejection etc. works if the pen is indeed passive and not active?

# Answer
> 1 votes
Not sure if they have any software incorporated that can do the palm detection.

However, you can use an hand glove (buy one or make a DIY from an old sock) to prevent your palm to be detected as input.

Hope that this can help you somehow.

---
Tags: tablet, stylus
---


# Question
Title: How can I make an Android app "forget" that it installed on my phone before?
Some apps, like Facebook, LinkedIn, Tinder, etc., seem to have a mechanism to remember which Android phone installed their app. So if a user is banned on these apps, the next time somebody creates an account on the same Android phone, that account is flagged or even banned automatically.

What is the way to make sure the app forgets that my Android phone was used previously with a banned account? I tried to clear the cache and delete app data, then uninstall the re-install the app, but it still remembers! I tried it on different IP addresses, but the same issue is there.

Does the app have access to the IMEI of the phone!??

I am on Android v10.

# Answer
**tl:dr;** addressing OP's question - sorry, no way AFAIK. From Android 10 onwards normal apps can't access IMEI number.

*Revised answer with additional inputs from Izzy (thanks)*

# How do apps (Google or third party) identify you?

Apps identify a device using:

* Some or all of *device identifiers*, mainly Android ID, GSF Android ID, build serial number, and advertising ID. I know of one paid app which tracks IMEI too (before Android 10). It depends on the developer as to how badly they want to identify you and prevent installation of apps. See this excellent write up by Izzy (a moderator here) for more details Android Identifiers: How Android devices and their users are identified. It is rare that an app depends only on one type of identification. I have observed over the last three years that shopping , banking, social media & social media related apps are particularly nasty and use every trick in the book.
* In addition to this apps come packaged with trackers and loggers (all utilities which are used to log user activity on an app or logcat in general), which identify the user and their browsing patterns , in addition to **fingerprinting user by device identification**. These can be used for benign purposes in theory but in practice can extend to key logging features that can track what you type. Have a look at *Staggering variety of clandestine trackers found in popular Android apps*.

# What happens to this data?

Those identifiers are stored on third-party servers (analytics companies and other "big data collectors" such as Facebook, Google, Amazon, Microsoft, etc.) – so once collected, there's no chance you can delete that. Some offer an opportunity to sign out, but there is no way you can have that data deleted. Even if it is legally possible under GDPR (which I doubt), it is not a trivial task to get this implemented across hundreds of trackers/loggers.

# How can I prevent from being tracked/ identified?

**Root is a must for full control over this menace (see )** That's the unfortunate part. Without root you can only choose apps with care and probably try some hacks which in the long run aren't effective or at best partially useful.

* **Choose the apps you want to install with care**: Up to a degree, apps like TrackerControl or Warden can help. Ideally, you avoid apps including trackers; Exodus Privacy is a good helper for that – and Izzy's app listings use such services to "mark" apps, making it easier for you to sort the wheat from the chaff.
* **Feed them faked information:** This approach is better than denying permissions because it doesn't result in malfunctioning apps or apps that crash. Highly recommend you to use XPrivacyLua being the most effective *broad spectrum* measure. This requires EdXposed to be installed from Android 8 and above (see the *restrictions* section to see what can be faked). If you are on earlier versions Xprivacy by the same developer does the job with Xposed. Even XPrivacyLua can't help in instances when the app code is obfuscated.

The Warden app mentioned above can also "nuke" your device, making it free from trackers and loggers. It also gives you flexibility to tackle apps on individual basis. The Warden App Manager uses a static list of trackers and loggers compiled by French non-profit Exodus Privacy.

While Android has been showing greater concern for privacy and PII information over the last few versions, this problem is not significantly mitigated even in Android 11 (no prizes for guessing why. Google is probably the biggest data aggregator).
> 18 votes

# Answer
I don't know exactly how each app implements this but I wold assume that they use the `ANDROID_ID`. Each app gets an ID that does not change.

`ANDROID_ID` is a random number generated on first boot after factory reset.

On old devices all apps (with the appropriate permission) can get access to this ID. The ID is the same for all apps.

On modern devices each app gets an app-unique ID that is derived from the `ANDROID_ID`. This means the ID the app sees does not change no matter how often you(un)install the app.

Only if the `ANDROID_ID` changes the app will see a new ID. Therefore you can perform a factory reset, that force creation a new `ANDROID_ID`. As far as I remember restoring a backup should also restore the old `ANDROID_ID`.

On rooted devices you can directly manipulate the system wide respectively the app-specific `ANDROID_ID`:
> 4 votes

# Answer
You might need to use a completely different Google account to sign into your phone. It would be interesting to see if a friend is able to log in to their account using your phone; but before risking getting their account banned keep reading.

If the problem revolves around creating a new account using your phone's app and having that account banned then you should try using a different device such as a computer or a display phone at the store to create a new account and then log into that account on your phone.

It would be a little short-sighted for a company to ban a device outright because if you sell it then you would have to disclose to the buyer which apps are banned on the device which in turn devalues your device.
> 3 votes

---
Tags: installation, privacy, cache, imei
---


# Question
Title: Fix Google Play insufficient storage error without rooting my phone
This question is essentially the same as Google Play: Error downloading app - insufficient space, but I want to fix it without rooting my phone. Clearing Cache, uninstalling Google Play updates and using cache cleaner apps do nothing. Any suggestions?

# Background

My Sony Xperia T has over 10GB of free internal space and so does my SD card. Also, I have about 280MB of available RAM at any given point in the day. Despite this, every time I try to download another app of anything larger than about 24MB, the following error message appears,

> ERROR, Error downloading. There is insufficient space on the device.

Although this message appears, I can go into `Settings > Storage` and see that I still have over 10GB of internal storage available on the device. The picture below shows my Internal storage. Please note the available space:

One solution I have found is Something is secretly eating up my Acer Iconia A500 internal memory and I need help finding it, but unfortunately this specifically applies to someone who has 379MB remaining and can't find why there is not more. This is not the case with me because my phone clearly states I have 10GB of available internal storage.

I have already looked through insufficient-memory tag, which simply explains that I should either delete apps or move them onto my SD card. As you can see, neither of these suggestions apply to my problem because I already have over 10GB of available internal storage and over 10GB of available SD card storage space.

I have also looked through questions such as "Insufficient storage" when trying to install new app. The best answer given here is to clear data on Google Play. I have done this. It still doesn't help.

# Answer
This worked for me on my Sony Xperia E3 and my Galaxy Note 10.1:
a) settings-apps-all-google play-uninstall updates (you will have to do this everytime you restart)
b) If this doesn't work: clear cache - with an app like 1tap cache cleaner or settings-storage-tap cache-clear cache. :)
> 0 votes

# Answer
As far as I know, the only known "solution" for non-rooted devices whose cache and app data have already been wiped is to apply a **factory reset**.

If you change your mind and decide to root your phone, I suggest you install Android Platform SDK Tools on your computer, then **root** your phone, go to Android's **Settings**, select the **Developer Options** and then activate **USB Debugging**. Afterwards, use a USB cable to connect your Android device to the computer where you installed the Android Platform SDK Tools - henceforth referred as **APST**.

APST comes with ADB (Android debugger): open a shell window and use it to access the folder where APST was installed. Inside such folder there will be an executable binary file named **adb** (or **adb.exe**, if you're on Windows). Run the following command in the shell, in order to make ADB access the command prompt of your Android device:

```
adb shell

```

Now that you're in your Android device's shell (commands interpreter), run this command in order to become **root** (also known as **superuser**):

```
su -

```

Afterwards, run this command in order to check what's your system's **default APK install location**:

```
pm get-install-location

```

If the command above returns **2**, then the Android package manager (`pm`) is incorrectly configured to install APKs in your device's **external** storage (e.g. microSD card) instead of in your device's internal storage (which is the correct place).

In order to fix it, run this command:

```
pm set-install-location 1

```

**1** means *internal storage media*.

Now restart your device with this command:

```
reboot

```

After your Android system is restarted, run the Google Play Store app and try to install/update something. If it installs/updates, the issue's been fixed.

I found this solution by myself and it was the only one that worked for me. My device is a Motorola RAZR HD (XT925) running Android 4.4.2 (stock ROM). It had 2 GB of free space in its internal storage and 6 GB of free space in its external storage when the issue happened, but none of the other solutions worked: cleaning Google Play Store's cache and data, wiping the /cache partition, cleaning the Dalvik/ART cache, uninstalling the updates of Google Play Store and Google Play Services, running **fstrim** on the `/data` and `/cache` partitions, remounting `/system` as read-write and then running fstrim on it... Nothing.

A solution that seems to work in some devices (you can try it if my solution doesn't solve your problem) is to access `/data/app-lib` and then delete all duplicate folders except the ones with the **largest** number.

Example: let's suppose that in `/data/app-lib` you find the folders `com.waze-1`, `com.waze-2` and `com.waze-3`. In such case, you shall delete folders `com.waze-1` and `com.waze-2` but **do not delete** `com.waze-3`.

After deleting all duplicate folders, restart your device and run Google Play Store app again. Did it fix the issue?

If you're still experiencing the issue, go back to the ADB shell, become root again (`su -`), then run `cd /data/app-lib` and finally run this command in order to **recursively fix ownerships**:

```
chwon system:system *

```

Now restart your system (`reboot`) and cross your fingers. Sometimes another app messes with the ownership of these folders, hence making **system** their *owner* and *group* fixes the issue.

Good luck.
> 0 votes

# Answer
Sony only switched to emulated storage with the Xperia Z.

T still has the old traditional "physical" partition scheme, with `/data` and `/sdcard` being completely separate and unrelated (see here for comparisons). This means that you can even have the later "Internal Storage" empty, but applications are only going to score against the former "Device Memory". That can be seen just some pixel above the current screenshot position (and it's incredible how misguided the other answers are).

You either uninstall some app (or hope cleaning their data/cache is enough), or you repartition your phone (newer AOSP roms support unification).
> 0 votes

---
Tags: google-play-store, internal-storage, insufficient-memory, sony-xperia
---


title: Two photos disappeared from my Gallery

text:
# Question
Title: Two photos disappeared from my Gallery
Yesterday I noticed that two specific photos I wanted to preserve disappeared, I remember I didn't delete them because I didn't find them in the trash bin, nor did I delete them from the trash bin itself because it was the first time I checked there. What is it due to? How can I retrieve them? (Out of 500 photos I have, those two got deleted, arghh)

I'm 100% sure I didn't delete them, furthermore I took these pictures less than 30 days ago, so even if I deleted them, I'd have found them in the trash folder, and I haven't.

# Answer
> 0 votes
You can try using a File Manager app and look for your photo in one of the following folders:

For photos you took by your phone: DCIM

For images you received by WhatsApp: WhatsApp \> Media \> WhatsApp Images

---
Tags: gallery
---


# Question
Title: Install specific versions of AOSP Calendar
I would like to use an older version of AOSP Calendar. Namely a good version before the 2019 update that is described here as follows:

> New events cannot be created and existing events cannot be edited or deleted.

There are many branches and tags here, but some of their titles are not clear, and I don't see APK files there. How exactly can I install specific versions?

# Answer
The AOSP Calendar is in a repository tool (Google Git) that use Google with a lot of project.

## Compile it by yourself

You could download it:

```
git clone https://android.googlesource.com/platform/packages/apps/Calendar

```

and you could select the branch/tag that you want.

```
git fetch origin nameBranch/nameTag && git reset --hard FETCH_HEAD && git checkout nameBranch/nameTag

```

Of this way, you obtain the code of the Calendar AOSP but as you said, in this repository is not the package of the application, so, you should compile it. As it is part of the Android system is neccesary to compile it with the rest of AOSP, because, it has some dependences.

```
LOCAL_STATIC_JAVA_LIBRARIES := \
    android-common \
    libchips \
    colorpicker \
    android-opt-timezonepicker \
    androidx.legacy_legacy-support-v4 \
    calendar-common

```

Once you had it compiled, you don't have problems to install it, because althought it is a part of AOSP it is not a system application.

***But, this is not a quickly way to obatin the APK file.***

## Obtain it of system.img

First, you need to obtain a AOSP or Lineage ROM system image before the 2019 (because, the commit that you don't want is in 2019). For this way, you need to use this tool. Once downloaded and installed:

```
mkdir system_lineage
simg2img system_lineage.img system_lineage.raw
sudo mount -t ext4 -o loop system_lineage.raw system_lineage
cd system_lineage

```

And you need to found it in this system directory (I think that it was in *system/app/Calendar* or something similar)

## Try to obtain it in some mirror

It is possible that some mirror have this apk in the server. You could try to obtain it in apkmirror for example.
> 1 votes

---
Tags: applications, installation, apk, calendar, aosp
---


# Question
Title: What can i do to get my cloned WhatsApp to show messages with names from my contacts (address book) in a Huawei 40P lite smart phone?
I transferred my phone contacts from my old Samsung phone into a new Huawei 40P lite. The phone doesnt come with pre-installed WhatsApp. I then cloned WhatsApp from the old Samsung phone. The address book is showng pretty well but the names in my contacts havent synched with the WhatsApp. What should i do to activatte the address book (contacts) so that the WhatsApp messages should be showing the names of the people in my contacts list.

# Answer
Try these steps? https://drfone.wondershare.com/whatsapp/whatsapp-not-showing-contact-names.html

1. Turn on your contact permissions
2. Refresh WhatsApp Contact List
3. Reset WhatsApp Sync
> 2 votes

---
Tags: samsung, contacts, whatsapp-messenger, huawei
---