# Question
Title: How do I upgrade an Android phone's version from my pc
Ok so I have Android 7.0 and I'm trying to upgrade it to Android 8 or 9 because some apps require that as the minimum version.

The problem now is I feel like my phone has stopped receiving updates from the manufacturer so I want to know if it is possible to manually upgrade it through ADB (or something) with my laptop.

When I check the phone's software updater it says there are no upgrades and it's the latest version but we both know that isn't true, so I'm trying to forcefully upgrade it.

My phone is T-Mobile and the model is 5049W

**Edit:** It doesn't even seem like there's a custom ROM/recovery for this particular model of T-Mobile.

# Answer
> 2 votes
### Unlocked Bootloader

I rooted early on, and then didn't for a long time. Being a computer power user, it is hard to wrap my head around all the restrictions I have to endure on my miniature computer phone. The effort to root, for the average person, is generally not worth it, however there is often one critical thing that pushes someone down that road.

Extending the life of a device by installing a custom ROM is one of those. I was able to do that for a friend on a Moto-Z XT1650 who couldn't afford a new phone. The well supported Lineage OS officially supported that device up to version 17.1 (Android 10).

In order to go down this path, you need a lot of motivation. Also, certain types of people are able to navigate the information and process it much better than others as there is a lot of noise and extracting accurate and relevant information is challenging. The lion's share of quality info comes from developers and IT enthusiasts and without that background it can be hard to follow even if you can identify the pearls.

Also, your device needs to be a good fit. Some devices are easier than others to unlock. Within a device model, there are variants by country and often by Telco that can have minor differences that impact ease of rooting if not eliminating it entirely (practically speaking). For example, I had a Samsung Galaxy S8 and, while S8's with the Exynos chipset could have their bootloaders unlocked, the variant sold to by my Telco had a Snapdragon chipset, which could not. To my knowledge no one ever figured out how to unlock that particular bootloader though many tried as the device was widely circulated. Eventually, there was an exploit released that worked around the bootloader by injected another ROM during the boot process. This was better than nothing but not ideal as the layering was resource intensive during use and created some peculiarities.

To do well, it is best to be part of a large group of similar users. As many shared features as possible: common device, common OS, common locale, etc. Ideally you want solutions to exist before you even realize you have a problem.

To this end, prior to buying my next phone, I started investigating what hardware was best suited to a white label Android experience, what devices could have their bootloaders unlocked, and what devices were officially supported by alternate OS' such as Lineage OS.

This was a few years ago and while I shortlisted some Google phones, I ultimately settled on the OnePlus 7 Pro (GM1917). I have had a multi-year honeymoon. The specs of the device are impressive and what I originally bought for the ability to run alternate OS' has been very well maintained by the manufacturer. It originally shipped with OxygenOS 9 (Android 9) and is currently running OxygenOS 12 (Android 12).

### Should 'you' do it?

I don't necessarily encourage you to do what I am doing, rather I am sharing that it can work if one is willing to invest untold hours over months and years researching with many *Depends moments* endnote along the way and more to come. Just because you *can* do it, doesn't mean you should. People DIY a lot of things without understanding the ongoing overhead required to maintain them. There are many variables in play. Outside of your specific device and your skillset, what works one day won't necessarily work the next, and every OS upgrade is a potential problem. Over the years, I have introduced as many problems as I have solved.

I and lots of others started off without a clue, ignored everyone's dire warnings, slogged through it, and am happy I did. For every success story there are other users with bricked devices.

### My Recommendations

Your phone was released over 5 years ago, and doesn't seem to be a popular model amongst enthusiasts. The writing is on the wall and even if you manage to extend its life the process of getting there will render it largely unusable temporarily (potentially permanently). Troubleshooting aside, installing a custom ROM will necessitate wiping your device. Therefore I recommend:

* buy another used device that is reasonably priced, has better hardware, and an updated OS.
* ideally buy from a user who has cared for since new, rather than a bulk online seller who refurbishes.
* if interested, with a new device in hand, pursue extending the life of your old device.

### Extending the Life

This forum is not the place to continue this particular journey. You will need to familiarize yourself with sites that better cater to this, and are structured as discussion forums.

**A great example is XDA Developers**
Founded in 2003 by developers. Originally focused on issues and features for Windows Mobile its focus shifted to Android in 2010. It is a great resource for info and links for custom ROMs and help rooting.

Some links to get you started:
General Development \> Android Development and Hacking \> Android Q&A, Help & Troubleshooting:

Good luck!

---

**Depends Moment:** Period of extreme stress where one risks soiling oneself.

---
Tags: adb, updates, 7.0-nougat, ota-update, t-mobile
---


# Question
Title: How to disable bottom app toolbar on Samsung Tab running Android 12?
I have Samsung Galaxy Tab S6 Lite and until today the system toolbar (placed at the bottom of every app) consisted of 3 navigational soft buttons. Those buttons were centered and easy to access

With the latest update it is no longer true -- the central part of this bottom pane now took app toolbar (with important and recent apps). The navigational buttons are now pushed to the right and they are not as easy to access as before.

How do I get rid of this new app toolbar?

*Current system info states: Android 12, One UI 4.1.1.*

# Answer
**The "bottom app toolbar" is known as the Taskbar and has been introduced since Android 12L.**

To disable it, go to Settings - Display, and then toggle "Taskbar" off.

Image courtesy of 9to5Google - Samsung (mostly) disables Android 12L’s taskbar when you use a third-party launcher
> 4 votes

---
Tags: samsung, buttons, android-12, customization, navigation-bar
---


# Question
Title: Uninstalled apps still show up on "Apps installed on" in Google Play Store
I already uninstalled the unwanted applications from my device, but they still show up on "**Apps installed on**" in my Google Play account. Does it mean that the apps I got rid of are still stored in my phone?

# Answer
In the Play store there is a 'installed' tab which as the name implies is of currently installed applications. The 'all' tab shows apps which have ever been installed on the device.

If you don't want a application to show up in this list, then from the phone open Play store, go into your My Apps and on the All tab you can click the circular remove icon to the right of the app will remove it from your Play account.

This is what it should look like:
> 13 votes

# Answer
I have a Motorola Moto G, with Android 4.4.4 installed on it, so your version might be slightly different.

On your device go to 'Google Play', and go to the 'Menu' (the 3 horizontal bars on the top left of the screen), the Menu should pop-up from the left side of the screen. Select 'My Apps' and a new screen should pop-up, the 'My Apps' screen.

On the top you will see two choices, 'installed' & 'all'. The first option is pretty self explanatory; the second choice lists ALL of the applications you have ever installed or uninstalled on your device. If you go down the list you will see that the apps are listed and neatly separated by little rectangles. Notice that the uninstalled apps have a little 'x' in the top right corner of the rectangle. Tap it and the device will ask you if you want to remove it from the list.

That is how you remove it from the device. It'll be removed from the Googe Play site when the phone syncs with Google's servers.
> 1 votes

# Answer
Sometimes it takes a while until the Play Store syncs with what's installed and what's not. You just have to wait and I haven't any method of making it sync faster.
> 0 votes

# Answer
Deleting cache and data of the Play store app solved the problem for me.
> 0 votes

# Answer
Go to Settings \> Accounts \> Google, and click the "Sync all" button at the bottom.
> -1 votes

# Answer
Try moving the app to the SD Card and uninstall it, if persist move it again to the phone and uninstall it, it works in my LG G3 when that happens
> -2 votes

---
Tags: google-play-store, uninstallation
---


# Question
Title: Why does this app from F-droid ask for location?
I find Syncopoli interesting for backup of own data. It's like rsync for the phone. But it asks for location and I wonder why would the app need it? I'm not terribly paranoid, I'm just privacy aware.

# Answer
It's spelt out clearly in the `readme` on the app's Gitlab website

> `ACCESS_COARSE_LOCATION`: unfortunately, Android 8.1+ now mandates this permission AND enabling location services for apps to get the SSID. So, if you are running Android 8.1 and above and want your profiles to sync only when you're connected to a specific SSID, this permission **AND enabling location services** is required.

(Emphasis supplied)

Open source apps usually address such concerns, so it's a good idea to lookup the documentation.
> 1 votes

---
Tags: permissions, privacy
---


# Question
Title: How can I jump to a given year on the Google Calendar application on my Google Pixel 6 phone?
I use the Google Calendar application on my Google Pixel 6 phone. Sometimes I want to look at some event a few years ago. How can I jump to a given year on Google calendar?

# Answer
From Google support How to navigate to a specific date in google calendar Android app. E.g going to Aug-14&seeing events

> ... there's no way to do this in the Android app, but you can ask Google Assistant to list events from a given month or date. For example : "OK Google, show my events in August this year", then click on a result to open that event.

I didn't fully verify this as I don't use Google assistant but by invoking it on long press of `home`, and keying in as advised, I could see events upto two years ago.
> 7 votes

---
Tags: android-12, google-calendar, google-pixel-6, history
---


# Question
Title: How to disable dm-verity on `Treble` , `system-as-root` device?
**Background:** Please check following links

1. How to disable dm-verity on Android with “user” build type ROM?
2. Stuck in boot-loop when unpack and pack `system.img`?

**Update:** So, I am trying to disable dm-verity on my Samsung S10 5G device to successfully flash an unpack, unmodified and then packed `system.img.ext4.lz4` file(with another ROM files) using Odin.

I have tried the following things:

1. Removed `avb` flag from `boot.img` with following commands:

```
# magiskboot dtb boot.img print -f
> #345900: fstab
│  [compatible]: [android,fstab]
├── #345940: vendor
│      [compatible]: [android,vendor]
│      [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vendor]
│      [type]: [ext4]
│      [mnt_flags]: [ro,barrier=1,discard]
│      [fsmgr_flags]: [wait,slotselect,avb]
│      [status]: [ok]
└── #346156: vm-linux
       [compatible]: [android,vm-linux]
       [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vm-linux]
       [type]: [emmc]
       [mnt_flags]: [ro]
       [fsmgr_flags]: [wait,slotselect]
       [status]: []
#343692: fstab
│  [compatible]: [android,fstab]
├── #343732: vendor
│      [compatible]: [android,vendor]
│      [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vendor]
│      [type]: [ext4]
│      [mnt_flags]: [ro,barrier=1,discard]
│      [fsmgr_flags]: [wait,slotselect,avb]
│      [status]: [ok]
└── #343948: vm-linux
       [compatible]: [android,vm-linux]
       [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vm-linux]
       [type]: [emmc]
       [mnt_flags]: [ro]
       [fsmgr_flags]: [wait,slotselect]
       [status]: []

# magiskboot dtb boot.img patch

# magiskboot dtb boot.img print -f
> #345900: fstab
│  [compatible]: [android,fstab]
├── #345940: vendor
│      [compatible]: [android,vendor]
│      [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vendor]
│      [type]: [ext4]
│      [mnt_flags]: [ro,barrier=1,discard]
│      [fsmgr_flags]: [wait,slotselect]
│      [status]: [ok]
└── #346152: vm-linux
       [compatible]: [android,vm-linux]
       [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vm-linux]
       [type]: [emmc]
       [mnt_flags]: [ro]
       [fsmgr_flags]: [wait,slotselect]
       [status]: []
#343692: fstab
│  [compatible]: [android,fstab]
├── #343732: vendor
│      [compatible]: [android,vendor]
│      [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vendor]
│      [type]: [ext4]
│      [mnt_flags]: [ro,barrier=1,discard]
│      [fsmgr_flags]: [wait,slotselect]
│      [status]: [ok]
└── #343944: vm-linux
       [compatible]: [android,vm-linux]
       [dev]: [/dev/block/platform/soc/8804000.sdhci/by-name/vm-linux]
       [type]: [emmc]
       [mnt_flags]: [ro]
       [fsmgr_flags]: [wait,slotselect]
       [status]: []

```
2. Removed `avb` and `verify` flags from `dtbo.img` with following commands:

```
# magiskboot dtb dtbo.img print -f
> #126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,verify,avb]
└── #126800: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,verify,avb]
#126596: fstab
├── #126608: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]# magiskboot dtb dtbo.img print -f
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,verify,avb]
└── #126796: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,verify,avb]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,verify,avb]
└── #126800: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,verify,avb]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,verify,avb]
└── #126800: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,verify,avb]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,verify,avb]
└── #126800: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,verify,avb]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,verify,avb]
└── #126800: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,verify,avb]

# magiskboot dtb dtbo.img patch

# magiskboot dtb dtbo.img print -f
> #126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,]
└── #126792: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,]
#126596: fstab
├── #126608: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,]
└── #126788: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,]
└── #126792: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,]
└── #126792: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,]
└── #126792: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,]
#126600: fstab
├── #126612: product
│      [compatible]: [android,product]
│      [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/product]
│      [type]: [ext4]
│      [mnt_flags]: [ro,errors=panic]
│      [fsmgr_flags]: [wait,]
└── #126792: vendor
       [compatible]: [android,vendor]
       [dev]: [/dev/block/platform/soc/1d84000.ufshc/by-name/vendor]
       [type]: [ext4]
       [mnt_flags]: [ro,barrier=1,discard]
       [fsmgr_flags]: [wait,]

```
3. Patched `ramdisk.cpio` with following commands:

```
# magiskboot cpio ./initrd 'patch false true'
Loading cpio: [./initrd]
Patch with flag KEEPVERITY=[false] KEEPFORCEENCRYPT=[false]
Found fstab file [etc/recovery.fstab]
Dump cpio: [./initrd]

# magiskboot cpio ./initrd extract
# cat etc/recovery.fstab
> # Copyright (c) 2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of The Linux Foundation nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#<src>                                    <mnt_point>    <type>    <mnt_flags and options>    <fs_mgr_flags>
/dev/block/bootdevice/by-name/boot        /boot           emmc        defaults                  recoveryonly
/dev/block/bootdevice/by-name/recovery    /recovery       emmc        defaults                  recoveryonly
/dev/block/bootdevice/by-name/system      /               ext4        defaults                  recoveryonly
/dev/block/bootdevice/by-name/userdata    /data           ext4        defaults                  wait,length=-16384
/dev/block/bootdevice/by-name/cache       /cache          ext4        defaults                  recoveryonly
/dev/block/mmcblk0p1                      /sdcard         vfat        defaults                  recoveryonly
/dev/block/bootdevice/by-name/sec_efs     /efs            ext4        defaults                  recoveryonly
/dev/block/bootdevice/by-name/sec_efs     /sec_efs        ext4        defaults                  recoveryonly
/dev/block/bootdevice/by-name/carrier     /carrier        ext4        defaults                  recoveryonly
/dev/block/bootdevice/by-name/hidden      /preload        ext4        defaults                  recoveryonly

# FOTA
/dev/block/bootdevice/by-name/apnhlos     /modem          emmc        defaults                  recoveryonly
/dev/block/bootdevice/by-name/modem       /mdm            emmc        defaults                  recoveryonly
/dev/block/bootdevice/by-name/dsp         /dsp            emmc        defaults                  recoveryonly
/dev/block/bootdevice/by-name/vendor      /vendor         ext4        defaults                  recoveryonly
/dev/block/bootdevice/by-name/product     /product        ext4        defaults                  recoveryonly

# Add misc for GOTA
/dev/block/bootdevice/by-name/misc        /misc           emmc        defaults                  recoveryonly

# Samsung ODE
/dev/block/bootdevice/by-name/keydata     /keydata        ext4        defaults                  recoveryonly
/dev/block/bootdevice/by-name/keyrefuge   /keyrefuge      ext4        defaults                  recoveryonly

#Auto-generated code by FOTA Portal
/dev/block/bootdevice/by-name/dtbo  /dtbo   emmc    default recoveryonly

```

After patching, I have converted `dtbo.img` to `dtbo.img.lz4` using lz4 compression tool and created new `recovery.img` image with patched `initrd` file.

After that. I have tried to flash `magisk_patched.tar` file with AP contents as one of the following:

* Overwritten all three patched file in points 1, 2 and 3 above. -\> Stuck at splash screen when trying to go to recovery after successfully flash with Odin. Download mode is appearing on splash screen.
* Overwritten 1.`boot.img` and 2.`dtbo.img.lz4` above. -\> Successfully rooted but when trying to edit the `system_root` partition then I am facing the following problem:

```
D:\>adb shell
beyondxq:/ $ su
beyondxq:/ # mount -o rw,remount /system
beyondxq:/ # cd system
beyondxq:/system # echo "Test /system mounting" > temp.txt
beyondxq:/system # cat temp.txt
Test /system mounting
beyondxq:/system # cd ..
beyondxq:/ # mount -o rw,remount /system_root
beyondxq:/ # echo "Test /system_root mounting" > temp.txt
/system/bin/sh: can't create temp.txt: Read-only file system           ---> Error here
1|beyondxq:/ # cat system/temp.txt
Test /system mounting
beyondxq:/ # cat system_root/temp.txt
cat: system_root/temp.txt: No such file or directory              ---> Verify: File not created
1|beyondxq:/ # exit
1|beyondxq:/ $ exit

D:\>adb remount
Not running as root. Try "adb root" first.

D:\>adb root              ---> It didn't work as the next command is not working

D:\>adb remount
Not running as root. Try "adb root" first.

D:\>adb shell
beyondxq:/ $ su
beyondxq:/ # ls sdcard
Alarms Android DCIM Download Movies Music Notifications Pictures Podcasts Ringtones Samsung selinux_policy_modified
beyondxq:/ # mount -o rw,remount /system_root
beyondxq:/ # cp sdcard/selinux_policy_modified /system_root/sepolicy
cp: /system_root/sepolicy: Permission denied      ---> Permission Denied here
1|beyondxq:/ #

```
* Overwritten 1.`boot.img` and 2.`dtbo.img.lz4` above with unpack and packed `system.img.ext4.lz4` -\> The result is boot-loop after successful flashing.

Please suggest what went wrong or am I missing any step.

# Answer
> 0 votes
I use a simple script put into my su.d folder, named 'permissive.sh' (0755). It would merely "echo '0' \>\> sys.fs.selinux.enforce" after boot-up, much like init.d; allowing my V4A and other 'dangerous' software to function w/o hassle while letting me pass Google's & Magisk's tests even after i installed /systemless SuperSU into my /system. Seems easier that way, w/o repacking img's & such, especially with the treble/system as root builds.

---
Tags: root-access, rom-flashing, linux, selinux, aosp
---


# Question
Title: When taking a photosphere picture with a Google Camera app, how can I get a pointer to which photo is missing?
When taking a photosphere picture with a Google Camera app, I sometimes have issues to find which photo(s) are missing to complete the photosphere. How can I get a pointer to which photo is missing?

# Answer
Unfortunately, the Google Camera app UI doesn't provide a way to customize the overlay. The only way to see what is missing is to keep moving your camera around until it shows you the blue circles indicating the missing frames.

In my experience, it's usually spots right around the zenith (directly up) or nadir (directly down) that are most easily missed.
> 2 votes

---
Tags: photos, google-camera
---


# Question
Title: How to connect two different Bluetooth headsets to one Android phone?
I can connect to two devices, but only one is capable of being active at any given time. The reason we want them connected "actively" is singing together on apps like Smile and StarMaker.

I have tried multiple apps without any luck.

How to actively connect two different Bluetooth headphones to one Android phone? Does anyone know of an app that works or some code I can run on a Schok V55?

# Answer
> 0 votes
By default, Android OS doesn't provide a means of playing audio on two different bluetooth devices at the same time. If both devices happen to be Samsung and produced within the past 5 years, as of the Galaxy S8 they have a feature called Dual audio that provides exactly what you need.

> You can share a video or music with a friend without having to physically share a pair of earbuds. This provides a great way to compromise between different needs using two headsets with two varied volume levels connected to a single Galaxy device.

Outside of that, you can get an external USB-C Bluetooth adapter that supports it. Such as this one

---
Tags: bluetooth, bluetooth-audio, bluetooth-pairing
---


# Question
Title: If I were to factory reset my device, would my kernel be reverted to my default one?
Would my kernel be reset to its default variant? If not, is the only way to factory reset my kernel to flash the default one?

# Answer
No, factory resetting your device does not revert the kernel. Yes, if you want to reset your kernel you must flash it.
> 0 votes

---
Tags: kernel
---


# Question
Title: How do I enable USB debugging on an android phone with an unresponsive screen?
I have a Samsung Galaxy J5 2017 with a broken screen, the screen is black and unresponsive.

I found an app that I can use to mirror my phone screen to my PC so I can recover my Google Authenticator codes for my accounts which requires USB debugging to be enabled. Unfortunately I don't have USB debugging enabled on this phone, I found a few ways to enable USB debugging but none of them work for me.

I can't use an external keyboard / mouse or go into recovery mode because the screen is black. I also can't use the screenshotting method because the screen is unresponsive.

Is there a way to enable USB debugging using my PC?

# Answer
> 0 votes
No, you cannot enable USB debugging from a PC.It would be a major security flaw if anyone with a PC could simply enable USB debugging on any android device they decide to plug in.

---
Tags: usb-debugging, broken-screen, samsung-galaxy-j5
---


# Question
Title: Android 11: how to disable persistent notification?
I'm not sure what's the best name, and probably these are not even "notification" since I tried to surface the whole menu and submenu without success.

The only thing I know is that when I set up this new phone yesterday (an OPPO Find X3 Pro), at some point I did encounter a setting that allowed me to delay these notifications from the "default" (2 seconds as far as I remember) to 30 seconds.

As a result, there are some operations showing the output of their action (e.g. the contact app when you delete a contact says "1 contact deleted") for the above time in a kind of overlay that is impossible to remove. I simply need to wait for it to disappear after the timeframe.

This persistent clutter drives me crazy and I don't know where else I can search for it.

Is it my memory serving me incorrectly about the above setting, or did I really change something in the settings?

# Answer
> 2 votes
So, after an unsuccessful attempt to get Oppo's support (they suggested a system setting factory reset), I was able to figure out the setting location for changing the toast length time on Android 11 and ColorOS 11.2.

Everything boils down to the Accessibility menu, particularly this one: **Settings -\> Accessibility -\> Time to take action.**

I basically turned it to 30 seconds causing the problem above described. This was done mostly because of the "improper" description following that setting (description available only in the setting itself) as per the screenshot.

> Choose how long to show messages that ask you to take action, but are visible only temporarily.

# Answer
> 0 votes
Cannot be thankful more Andrea for this question. I confirm time to take action setting was the main cause of this issue. For those with similar problem: these are actually some toasts that don't react to touch or swipe. They just shown on screen for a certain amount of time and block any access to UI behind them. In my case they even block the keyboard. Oppo name them Notice

# Answer
> -1 votes
I think what you want is to:

1. Long touch the notification you want to disable
2. Select the gear button (settings)
3. Un-grant the permission to show notifications

You won't see notifications anymore of that app.

---
Tags: android-11, toast-notifications
---


# Question
Title: Is screen mirroring/remote control faster via USB or Wifi
I use Airdroid via wifi to remotely control the device from PC, but I also want a high definition mirroring. Is mirroring/remote control faster via wifi or usb? Thanks.

# Answer
You can't answer this question in general as there are phones with USB 2.0 and other with USB 3.0 connection. Note that a phone having an USB-C connection can be USB 2.0 or 3.0, thus the USB-C port doesn't tell you anything on the connection speed. Only if the phone has an Micro-USB connection it is USB 2.0 for sure.

USB in general should have a lower latency and is more reliable as Wifi uses a shared media and thus can be disturbed by other devices using the same frequencies.

If the phone supports USB 3 modes then it should also be faster than WiFi. Most USB 2.0 devices usually get around 30MB/sec (240MBit), so some Wifi set-ups may be faster but that depends on the Wifi modes supported by the phone, the used Wifi router and the Ethernet connection between PC and router (a connection WiFi-to-Wifi is almost never faster than USB 2.0).

But even if it only supports USB 2.0 then it may be the preferred connection, unless you try to use the phone for remotely viewing videos or other situations where the display is constantly changing.
> 1 votes

---
Tags: screen-mirroring, airdroid
---


# Question
Title: Where is the Google Tasks folder on Android?
According to this website, it's

/data/data/com.google.android.apps.tasks/.

On my phone, there's no such folder anywhere. In fact, there's no /data/data anywhere. I do have the Tasks app installed. My Android version is 9, my phone is a Samsung Galaxy J5.

I am hoping that I can recover an older version of Tasks' database, because something very important was somehow deleted, that's why I am looking for the folder. Anyone knows where it is?

# Answer
`/data/data` contains the app-private folders. On devices without root you can not access this folder, neither on the device nor using a connected PC.

But there may be one way to get indirect access to the data:

Google Tasks app seem to have backup enabled, so you could try to get the private app data via adb backup:

```
adb backup com.google.android.apps.tasks

```

If the created file is larger than 1KB the backup may contain the file(s) you want to get access to. You can decrypt the created backup file using this command-line tool: https://github.com/nelenkov/android-backup-extractor

Using adb requires an USB connection to a PC, activated developer options on the phone and inside the developer options an enabled "Android Debug Bridge" option. On PC side you need adb installed from Android SDK and the adb driver assigned to the correct device manager (assuming you use Windows).
> 0 votes

---
Tags: data-recovery, 9.0-pie, google-tasks
---


# Question
Title: How to change microphone volume/gain settings in LineageOS?
I'm using LineageOS (it says it is Android 10).

First time I'm trying to use headphone mic, and I got very surprised (and very, very pissed) that there isn't anything in Settings where I can regulate which mic do I want to be active, and the gain/volume for the microphone.

So is it possible to change microphone settings in LineageOS - and if so, how?

# Answer
I also had a microphone volume problem in recording apps (not on phone calls).

It's probably very device and OS specific, but I was able to change it by editing `/system/vendor/etc/mixer_paths_0.xml`. It requires root to `mount /system -o remount,rw` and to write the file.

In the following section I changed the `MIC3 Volume` value from `4` to `25` :

```
        <path name="gain-media-headset-mic">
                <ctl name="MIC3 Volume" value="4" />
                <ctl name="MIC3 Boost Volume" value="2" />
                <ctl name="ADC Left Gain" value="127" />
                <ctl name="ADC Right Gain" value="127" />
        </path>

```

The phone is on LineageOS 16 (Android 9).
> 1 votes

---
Tags: lineageos
---


# Question
Title: How to fix corrupt exfat SD card on linux?
I have an SD card that apparently is formatted exfat. I tried copying some music onto it, and now my CM/marshmallow phone is saying that the card is corrupted. It mounts on my linux system, and running fsck gives me some file errors. But I can't fix them. I have no access to windows (well, maybe my wife's fairly locked down work computer). I'm leaving on a trip tomorrow and don't have time to pull off, reformat through android, and then reload my files. Any ideas?

# Answer
> 1 votes
Note to self, since this happened again. I had to boot into a windows computer and run chkdsk. Doesn't appear to be a way to do this through linux. Maybe using testdisk, but I didn't mess with it much.

# Answer
> 0 votes
exFAT got its spec opened by Microsoft and added to a free-to-join patent pool in 2019/2020. It got incorporated into the kernel - first in 5.7, then an updated codebase from Samsung into 5.10. They also opened up their exfat helpers at https://github.com/exfatprogs/exfatprogs that include a filesystem check util.

See the different repair options of the util (interactively/no/yes/automatically). Autorepair is:

```
sudo fsck.exfat -a /dev/sda1

```

your distribution probably has it packaged under the same name "exfatprogs"

---
Tags: external-sd
---


title: How to install APKs on Gabb Plus?

text:
# Question
Title: How to install APKs on Gabb Plus?
I would like to install an APK (specifically Google Maps and a few others) on my Gabb Phone Plus. It uses a modified version of Android, and Samsung made the phone itself. I downloaded the APK from Aptoide and scanned it with VirusTotal. Then, I put it on an SD card and transferred it to my phone.

Once it was on my phone, I ran the APK. It didn't work. I tried it a few more times, and it said "Package installer keeps stopping." I tried to clear the cache, but couldn't. Then, I also force-quitted the app, and it didn't help at all.

I am thinking that Gabb did something to this to prevent APKs from being installed. I tried looking this up on Google, but apparently, not many people have the Plus because it only showed results for the Z2.

There must be a way to run APKs or put apps on the phone because I see Gabb installed their own apps on this phone.

# Answer
Gabb installed their own apps by changing the ROM image. This obviously cannot be done without some hardcore hardware hacks, but probably can be done. Since Gabb has officially reported that you may install apps from local apks, the 'Package Installer keeps stopping' seems to be a bug that probably resulted from something Gabb changed with the app. I have sent a report to Gabb through three different channels, I will notify if they send a solution that actually works or make a software update that works.
> 2 votes

---
Tags: installation, apk, gabb
---


# Question
Title: Why are filenames containing some emojis renamed to Chinese characers?
I have a setup to transfer my files from my Windows machine to my Android phone via Syncthing. I notice that some files whose names have emojis are renamed to strange Chinese characters:

* `C``ߌ⠃`
* `C``ߌ㠃`
* `T``ߌ䠔`
* `N``ߌ堎`

As the result in my phone they are write-protected. I'm unable to delete them:

However files whose name contains this emoji `✔` are not affected.

Not sure if this is relevant to the problem, but for full information, when I try to remove this protection, `diskpart` doesn't detect my Android phone.

Next in line: Why are files with wrong character encoding name write-protected?

# Answer
Andrew nailed it in his comment. You can see a similar issue reported between other Operating Systems and duplicate file names, here Unicode errors while syncing between Mac OS X and Linux

Maintainer of Syncthing says

> ... People moving files between systems have historically been stoically accepting of special characters getting mangled. Nobody in Sweden is that surprised when a file `räksmörgås` ends up being called `r‰ksmˆrgÂs`. That’s fine. But **it doesn’t work when we need to sync changes bidirectionally between systems with different encodings**...

(Emphasis supplied)

Background to the above discussion is the closure of this issue Sync between Linux and OS X causes massive unicode errors
> 3 votes

---
Tags: files, emoticons
---


# Question
Title: Sync two Gmail accounts, but only one account's contacts
I have a brand-new Moto X (2014) running Lollipop. I have two Gmail accounts: me@gmail and work@gmail. While I would like to be able to check both accounts for new messages on my phone, I only want my me@gmail contacts to sync to my phone; not the work@gmail contacts, as some are sensitive and my employer would take issue with them being available on my personal phone.

Short of manually deleting those contacts one by one (and there are several hundred), is there another solution?

# Answer
Open the Settings of your Android phone, then navigate to Accounts -\> Google -\> Select Account (whose contacts you want to sync) -\> Select Applications which you want to Sync (Contacts)
> 4 votes

# Answer
With Android 7, in addition to Dipika's helpful suggestion, I had previously configured a second account and found it useful to delete Contacts application data to reset the default account:

Go to Settings -\> Apps -\> Contacts -\> Storage and press the "Clear Data" button.

Then when you next add a new contact, you should be prompted for which account you want to be the default. Select the account that you have configured to sync.
> 0 votes

# Answer
Go to Gmail -\> click Settings -\> click on the account which you don't want to sync in contacts and WhatsApp -\> click on the right menu icon (xyz@gmail.com) -\> select Manage Accounts -\> on Auto Sync, deselect the icon.

Now go to your contacts and check. It worked for me.
> 0 votes

# Answer
## Disable syncing in Android 13:

In a stock Android 13 installation, this is what worked for me:

1. Open the Settings section of the phone
2. Navigate to "Passwords and accounts"
3. Scroll to find the Google account that you wish to select, and select it
4. Click on "Account sync"
5. Disable the "Contacts" sync for that account

Now open your Google Contacts app. Even though you disabled sync for a particular Google account, that only disable automatic online syncing. To sync manually, pull down, and a refresh animation will display.

## Hide contacts from certain accounts in Google Contacts on Android:

If you don't want contacts from a certain Google account to display in Google Contacts app by default when opened, you can either delete the account from your phone, or you can hide those contacts.

By default, when you open the app, Google will display contacts from all accounts, as well as contacts that are only stored on device. You can see at the top of the screen under the search bar the text "All accounts - 301 contacts".

To only see contacts for a particular Google account, do this:

1. Click the user profile photo (or icon of a device) at the top of the screen next to the search bar
2. Select the Google account you choose
3. Even though you have selected a Google account, you are still seeing all contacts from all accounts and from the device itself. To see only the contacts for that Google account, select the menu button at the top of the screen, then select the Google account.

To see only contacts stored on the device, do this:

1. Click the user profile photo at the top of the screen next to the search bar (or icon of a phone)
2. Select "Device"
3. Now you can see only contacts stored on the device (as opposed to in a Google account)

When searching, Google Contacts will search across all accounts and on the device itself. I don't know a way to change this behaviour.
> 0 votes

---
Tags: contacts, sync, gmail
---


# Question
Title: How do I delete duplicate contacts on device with Google Contacts (Android)?
I am using Google Contacts app on my Android phone. I have hundreds of contacts stored on device, which I do not want to store in my Google account. After importing some contacts, I now have many duplicate contacts. How do I remove the duplicates, using Google Contacts?

# Answer
> 1 votes
Sadly, the Google Contacts app does *not* offer a way to easily remove duplicates from the contacts stored only on the device. There are apps available on the Google Play store that promise to do this, but none of them are reputable, so if you don't want to share your contacts online, you may not want to use these apps.

If you want to remove duplicates from contacts that are stored online in your Google accounts, you can follow these instructions:

> * On your Android phone or tablet, open the Contacts app .
> * At the top left, tap Menu and then "Merge and fix".
> * Tap "Merge duplicates". If you don’t get this option, you don’t have any contacts that can be merged.

You can move the contacts stored on your device to your Google account, if you want. When I tried this, Google Contacts only found a couple of the duplicate contacts at first, it did not find the majority of them. But a day later, the Google Contacts app found all of them.

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


# Question
Title: Microsoft Launcher on Xiaomi Redmi Note 11S reports false data to Microsoft
I am using Microsoft Launcher to control time spend by my daughters with their mobile phones. On the mobile app side things seems to be working fine and dandy, as Microsoft Launcher correctly measures and counts that time:

The problem is that, after I have "upgraded" their old phones to 2 x Xiaomi Redmi Note 11S 6/64GB, it seems that this app is reporting an incorrect values to Microsoft servers / Microsoft Family Safety service:

Or sometimes it reports nothing:

Is there anything I can do about it (tried uninstall and install the app again, restarted device many times, to no avail.)? Is there any "live human" support at Microsoft that I could call to get a help? Or browsing forums and asking is my only option?

# Answer
> 1 votes
https://support.microsoft.com/en-us/contactus Remember that they can bypass the restrictions on the launcher by entering apps directly or by switching the launcher.

---
Tags: xiaomi, launcher, android-11, redmi-note-11
---


# Question
Title: Xiaomi screen turns black when under the sun
I have a Xiaomi Redmi Note 9S which has the following behaviour: it works normally until the moment it goes under the sun, then (apparently only) the backlight of the screen is turned off and never turns on again until I restart the smartphone, where it works normally until the very moment it "detects" a bright light like under the sun, then the screen goes black. When this happens, sometimes you can still see the shape of what was on screen, but most times it only goes totally black.

When the screen is black, the telephone keeps working normally (music keeps being played, receives calls, vibration responses keep working, etc...(confirmed it using scrcpy and all is working normally)), only that the backlight is turned off and it keeps totally black. During the night, i.e. with artificial light, the telephone works normally (I was able to replicate the error using a strong flashlight above the telephone, the screen also went black the very moment I turned it on).

What I tried to resolve: restarted many times, disabled every auto brightness (also one that I think is a Xiaomi MIUI only, sunlight detector, something like this) settings that are in the configuration menu, restarted using vol up + power button. Factory reseted the smartphone. Disabled pocket mode before and after factory reset.

Any idea how to proceed? What is killing me is that it seem to be a software issue, like, why the screen don't turn on back after a while, but every time you restart it, or why the phone works all night long (i.e. there no strong light on it)? How to capture the telephone log (logcat perhaps?) and be sure of what is the exact event that is disabling screen? Maybe I can manipulate it to prevent from happening, or to make screen goes back to normal after a while, as I work as a software developer.

# Answer
> 0 votes
Maybe a 3rd party app is doing this? Try booting into safe mode and seeing if same happens. You can also cover the camera, but that is a very temporary solution.

---
Tags: screen, xiaomi, screen-brightness, miui-12.5
---


# Question
Title: Is there a Win10 cloning tool for Android devices?
I am looking for a cloning tool similar to Macrium for Win10, that is capable of cloning Android devices to a runnable virtual machine image.

# Answer
Theoretically possible but unlikely that you be able (or want) to do this in reality because of the following problems:

1. Cloning of a device is not possible unless it is rooted (and even then some keys can't be extracted because they are protected in the ARM TrustZone).
2. Android devices have an ARM CPU, PCs usually an x86 CPU, which means the PC would have to emulate an ARM CPU which is very CPU intensive and thus the emulated Android will be slow even if you use a high-end CPU.
3. An Android firmware is not universal, it is developed to target one specific hardware (display, touch digitizer, Wifi chip, System-SoC, ,...), so you would need an emulator that emulates exactly your hardware. It is unlikely that you find such an emulator.
> 0 votes

---
Tags: rom-flashing, flashtool, virtualization
---


# Question
Title: Mtkclient | mediatek phone won't boot into brom/boot rom mode
I downloaded mtkclient from the GitHub and followed the installation instructions but when I plug my phone in after running the command it never recognizes my phone. I've tried all different types of button combos and none seem to work. My phone is a Moto g 5g 2022 codenamed Austin and it is a mediatek dimensity 700.

# Answer
> 1 votes
This is due to Motorola disabling the ability to boot into brom mode on newer Mediatek devices. I have the Moto G 5G 2022(Metro PCS) and I have unlocked the bootloader and rooted with Magisk, I think that the issue is due to a setting on the kernel command line, but I have been unable to recompile the kernel so far, so I can't be 100% sure. Long story short, as of right now the only way I know for sure to get into brom mode is to crack open the case and ground some test points, but since I have no idea which ones to do I would highly recommend against this.

---
Tags: applications, google-play-store, rooting, motorola, mediatek
---


# Question
Title: Check IP details via Android Terminal App in Android 13
Seems that **Android 13** doesn't allow any more access to **`/system/bin/ip`** command.

I tried to list the connected hotspot devices via `ip neigh` \[\].

The error message is:

> Cannot bind netlink socket: Permission denied

Is there any way to fix that issue in Android 13?

So far I tried it with the following terminal apps

---

# Answer
Google has removed the possibility to `bind netlink socket` to retrieve `arp` table from `targetSdkVersion 30` through SELinux policies. If you have root, you can disable SELinux policies and it will work, giving the command `su -c setenforce 0` when you're done with `ip neigh` command, I suggest you to enforce SELinux policies again with command `su -c setenforce 1`

Without using `bind` function, I've made a library that does a workaround that consist in sending via `netlink socket` a type message not listed (30) and then I've used the socket receive to see which data system returns to that socket. From that, I've noticed that the received data was the `arp` table.

You can find more here https://github.com/fulvius31/ip-neigh-sdk30/blob/main/ipneigh30/src/main/cpp/ip\_neigh.c
> 4 votes

---
Tags: permissions, terminal, android-13
---


title: Auto focus not working on Galaxy Nexus

text:
# Question
Title: Auto focus not working on Galaxy Nexus
I seem to have lost the auto focus capability on my Nexus. The phone is stock, only one update done (so it's XWKL2). I don't use the camera much, but I think I had auto focus when I first started using the phone. Now I have to manually focus by tapping the screen.

I'd rather not clutter my phone with 3rd party apps for camera since I don't use it much, but I'd like to have AF for my random quick snaps.

Any tips?

# Answer
These suggestions might seem odd and they might not yield any results but they're worth a shot:

1. Try using the panorama and video settings in the stock camera, and I do mean actually use them. Don't just switch to them and switch back to picture mode. If you're lucky changing modes, taking a panorama/video, then changing back to normal picture mode will reset whatever needs to be reset.
2. In normal picture mode long-press the shutter button. Try this twice, one time release the screen as normal and the next drag your finger away from the shutter button before releasing the screen. I'm not sure if doing it these two ways will have different results, but I know that if you drag your finger away no picture will be taken.
> 3 votes

# Answer
Try this, Go to Settings -\> Apps -\> All Tab -\> Camera -\> Clear data.
> 1 votes

# Answer
Did you try resetting the settings to defaults and rebooting the phone? There is a reset option in the camera setting menu (open camera, the setting knob, then the three dots, restore defaults). If that doesn't work, then go to system's Settings, Applications, "all" tab and clear data.
> 1 votes

# Answer
If you tried clearing the app data, resetting to defaults, changing modes and did a factory reset than the only thing left to do is take it back to where you purchased it so they can have a look at it and fix it. It's entirely possible that you have a hardware failure.
> 1 votes

# Answer
What happened with my phone is that the scene selector got set to Landscape by an OS update or someone else fiddling with the phone and I didn't even know that there was a Scene selector. Once I found this setting I found that if I set it back to Auto (or Macro if you want to do a close-up) that the auto-focus starting working again.

Hopefully this helps someone.
> 1 votes

# Answer
Did you clear the camera app data?

To do this:

1. Open your settings app
2. Tap the "Application" section
3. Tap the "All" tab
4. You can find the camera app. Select -\> Clear App Data

If this not works, here is anthoer solution for you!

Reset the camera settings

To do this:

1. Open the camera app
2. You can find the camera knob. Press it -\> 3 dots menu -\> Reset Defaults!

Any help you will accepted!

Thank you so much!

Hope this helps for your Android device!
> 1 votes

---
Tags: 4.0-ice-cream-sandwich, camera, samsung-galaxy-nexus
---


# Question
Title: Partial/restricted access to photos and videos
Many apps such as Facebook and Instagram simply request access to all "photos and videos". Presumably this is so they can show you their own gallery to choose from when posting them online. The risk that these particular apps have access to everything, not just the photos you choose, is probably low (but wouldn't be that surprised if they're scraped for ads).

Ideally, Android could offer a barrier so I could share only the photos I want with each app. E.g. I was hoping I could use a separate app to find the photos I wanted and share them to the Facebook app. Unfortunately when sharing, Android still requests permission for the app to have access to everything. Better yet, Android could offer an API to show a gallery but the app can't read the image contents until the user has chosen it.

Is there a workaround to limit photos and videos access that apps get?

# Answer
Android photo picker recently introduced with Android 13 addresses this concern.

This feature was initially available in devices with Android 11+, since it is rolled out as a Play Store update. With the November system updates, the good news is that this feature is available all the way back up to Android 4.4. The rollout is slow because:

* Apps need to be updated to include this feature ( needs to be compiled against API level 33, corresponding to Android 13).
* It needs server-side updates from Google. Few popular apps have been updated and I see this feature on Twitter and Chrome (screenshot below)

---

A useful summary of Photo Picker:

Excerpts from a blog How Google is backporting Android 13’s Photo Picker

> * Many apps that need to access photos or videos don’t need persistent access to them or access to other types of files. Your favorite social media app, for example, shouldn’t need to access every single photo or video stored on your device at any time they want. Instead, apps like these should only access photos or videos explicitly chosen by the user, and only when they’re actually going to do something with them (like composing a new tweet).
> * The app then has **temporary**, read-only access to those files. When the app’s **process ends, it loses access to those files**
> * ... users can quickly share media files between apps, and they can do so **without having to worry about granting access** to their entire photo and video library in the process.
> * For app developers, meanwhile, the feature reduces friction by removing the need to request any permissions

(Emphasis supplied)
> 1 votes

---
Tags: permissions, photos, gallery
---


# Question
Title: Access Mega Cloud Storage from File Manager on a non rooted device
Is there a way to mount Mega cloud storage from file manager. Mega has some option to do that as Webdav Server for Desktops but is there a way Android Phone with TLS encryption. I am even comfortable with using CLI on Termux. It would be even enough if I can make that available in termux. I am trying this because I have less storage in my device.

# Answer
Yes, there is a way to have your Mega cloud in the file-picker/file-manager (and any related Storage Access Framework).

The point is, since your device is not rooted you cannot mount the cloud directly in your system.

Therefore, what I recommend is to use the RCX app: thanks to it, you'll be able to acces any "Rclone's cloud" (Mega, GDrive, MSDrive, ...) by using SAF (once set, you will see you Mega cloud like you would see an USB stick).

You will be able to pick files from you Mega cloud within Termux by using `termux-storage-get`, but you will need to install Termux-API first.

If you really want to stay with Termux (and don't want to install RCX app), you can also just install rclone in Termux, set your Mega account, and access it using `rclone tree remoteName:`. But your cloud will be only available in Termux.
> 0 votes

---
Tags: storage, mount, termux, cloud
---


title: Get IMEI number with ADB command

text:
# Question
Title: Get IMEI number with ADB command
I am working with ADB on my Samsung Galaxy device. I want to get the IMEI number of the device using ADB, but I have been unable to do that.

I tried the following:

```
adb shell dumpsys iphonesubinfo

```

but it returns nothing.

I also tried with Service Call Command:

```
adb shell service call iphonesubinfo

```

but it gives me a strange result like this:

```
Result: Parcel(
0x00000000: 00000000 0000000f 00350033 00390038 '........3.5.8.9.'
0x00000010: 00320037 00380030 00350034 00350031 '7.2.0.8.4.5.1.5.'
0x00000020: 00300031 00000033                   '1.0.3...        ')

```

Can anybody help me out with this?

# Answer
Try putting this code in to a .bat file and running it:

```
@echo off
setlocal enabledelayedexpansion
for /f "tokens=6*" %%a in ('adb shell "service call iphonesubinfo 1 ^| grep -m 1 \"'\""') do (
set imei1=%%a)
for /f "tokens=6*" %%b in ('adb shell "service call iphonesubinfo 1 ^| grep -m 2 \"'\""') do (
set imei2=%%b)
for /f "tokens=4*" %%c in ('adb shell "service call iphonesubinfo 1 ^| grep -m 3 \"'\""') do (
set imei3=%%c)
set imei=!imei1!!imei2!!imei3!
echo !imei! > imei.txt
for /f "delims=" %%d in (imei.txt) do (
set DeviceIMEI=%%d
set DeviceIMEI=!DeviceIMEI:'=!
set DeviceIMEI=!DeviceIMEI:.=!
set OIMEI=Phone IMEI  !DeviceIMEI!
)
echo %OIMEI%
pause

```

I got it from this StackOverflow thread: https://stackoverflow.com/a/34362809/8173870
> 3 votes

# Answer
Given the tag , I'm assuming you have or are targeting Android Nougat. Android Nougat comes with *toybox* which acts as an alternative to busybox and has some useful utilities. I managed to use those tools to print IMEI like this:

```
adb shell
service call iphonesubinfo 1 | toybox cut -d "'" -f2 | toybox grep -Eo '[0-9]' | toybox xargs | toybox sed 's/\ //g'

```

Since you wouldn't be getting an interactive shell when using a script or an app, you can pass the commands like this:

```
adb shell "service call iphonesubinfo 1 | toybox cut -d \"'\" -f2 | toybox grep -Eo '[0-9]' | toybox xargs | toybox sed 's/\ //g'"

```
> 8 votes

# Answer
The following ADB command works on my Windows PC to get clear IMEI result:

`adb shell "service call iphonesubinfo 4 | cut -c 52-66 | tr -d '.[:space:]'"`
> 4 votes

# Answer
`adb shell dumpsys iphonesubinfo` works only for phones below Android 5 Lolipop.

Because Android Nougat is over 5.0, you need: `adb shell service call iphonesubinfo 1 | awk -F "'" '{print $2}' | sed '1 d' | tr -d '.' | awk '{print}' ORS=`
> 2 votes

# Answer
Using android-svc:

```
android-svc --adb call 'iphonesubinfo.getDeviceId();'

```

would return something like this:

```
358972084515103

```
> 2 votes

# Answer
You may not have realized it, but you've actually posted the answer to your own question:

```
  Result: Parcel(
0x00000000: 00000000 0000000f 00350033 00390038 '........3.5.8.9.'
0x00000010: 00320037 00380030 00350034 00350031 '7.2.0.8.4.5.1.5.'
0x00000020: 00300031 00000033                   '1.0.3...        ')

```

Specifically, the portion to the right:

```
'........3.5.8.9.'
'7.2.0.8.4.5.1.5.'
'1.0.3...        '

```

Simply put it all on one line and remove the single quotes and it becomes:

`........3.5.8.9.7.2.0.8.4.5.1.5.1.0.3...`

Now remove the dots and you get:

```
358972084515103

```

(aka your IMEI number)
> 2 votes

# Answer
#### esim imei is available via:

```
input keyevent KEYCODE_CALL;
sleep 1;
input text '*#06#';
uiautomator dump --compressed /dev/stdout\
    |tr ' ' '\n'\
    |awk -F'"' '{print $2}'|grep "^[0-9]\{15\}$" \
    |nl -w 1 -s':'\
    |sed 's/^/IMEI/g'

```

```
IMEI1:xxxxxxxxxxxxx
IMEI2:xxxxxxxxxxxxx

```
> 2 votes

---
Tags: adb, 7.0-nougat, imei
---


# Question
Title: Is there a way to access logs from before a factory reset?
I recently had to factory reset my phone due to it crashing to the Android Recovery screen. It seems that several other users have had the same issue; all in the past week.

Is it possible to view system logs which were recorded prior to a factory reset, after the reset, in order to diagnose what may have caused this?

I suspect it's not as the reset wipes data; but hoping that logs are put to one side somewhere before the reset so that infromation about the root cause can be identified after the device's issues are resolved & it's again accessible.

Related: FairPhone Forum discussion on the underlying issue.

# Answer
## UPDATE

Per the comments thread - this probably isn't a solution to the question I'd asked; rather this is just how to view logs (and it's possible to do without the app by running `adb shell logcat` (optionally writing to file by appending  `> logs.txt` (note: the log is a continuous stream, so this won't stop until you stop it or the phone's disconnected) without the need for steps 3 & 7 below (i.e. those which relate to the Logcat Reader app).

---

I found a solution for the FairPhone 3...

1. Enable developer mode:

* swipe down from top of phone
    * swipe down from top of phone again
    * click the  (i.e. the cog icon) to view the settings menu
    * click `About Phone`
    * tap the `build number` entry 7 times
2. Enable USB Debugging:

* return to the settings menu
    * click `System`
    * click `Advanced`
    * click `Developer options`
    * Enable `USB debugging`
3. Install LogCat Reader via Google Play
4. Connect the phone to your computer

* use a USB to connect your computer's USB port to your phone's USB C port
    * swipe down from the top to see your notifications
    * tap the USB charging options menu
    * select file transfer
5. On your computer install Android Debug Bridge (`adb`)

* Documentation
    * Downloads
    * Download the appropriate version for your OS
    * Extract the files from the compressed file
6. On your computer, connect adb to your phone

* Open a command line & navigate to the extracted package tools folder
    * run `adb shell pm grant com.dp.logcatapp android.permission.READ_LOGS`
7. Open the LogCat Reader app on your phone; it should now have access to view your device logs.
> 0 votes

---
Tags: recovery-mode, factory-reset, logging, fairphone-3
---


# Question
Title: How to find the creation date and time (aka timestamp) for a file or folder in Android?
In Android, it is simple to view the modified date and for any file or folder. Just about any decent file manager (such as Solid Explorer) includes this functionality.

But how do you view the *creation* date and time (aka timestamp) for a file or folder in Android?

# Answer
> 0 votes
Unfortunately, this is not possible when using Android's emulated filesystem. Android's emulated filesystem does not store the creation date of files or folders, so there is no way to retrieve this data, as it does not exist.

*(Many thanks to Irfan Latif for confirming this, and to Izzy for clarifications.)*

# Answer
> 0 votes
Use command `stat`. The *Access time* would be the creation date time if the partition is mounted with option `noatime`, which is the factory default for all 3 of my android phones. That is to say, practically, you can check file/folder creation time.

---
Tags: file-system, system, file-management, files, date-and-time
---


# Question
Title: Is there any possibility to access pictures on my S10 which always freezes on startup
My S10 always freezes on startup, because of an update. It just doesn’t reach the end of the loading bar. I know I could wipe the data via recovery, but I want the pictures back at least.

# Answer
You can go into safe mode in one of two ways.

1. Press and hold the **Power** button until you see the Power Off icon.
2. Press and hold the **Power Off** icon until you see the Safe Mode icon.
3. Press on the **Safe Mode** icon

OR

I can not verify the 2nd method right now as I don't have an S10, but the above is simpler anyway.

1. Press and hold the **Power** button until you see the Samsung Galaxy Logo Screen.
2. Release the **Power** button.
3. While the logo is still visible, press and hold the **Volume Down** button until you see the Safe Mode indicator.

**To exit Safe Mode, press on the Power button and restart the phone.**
> 1 votes

# Answer
Well after a lot of research on Friday I can say more about it now.

The phone booted into download mode all the time. The only thing which helped was to install home csc. After that it worked perfectly fine again.

Thanks for all your answers :)
> 1 votes

---
Tags: backup, data-recovery
---


# Question
Title: Why aren't website shortcuts on home screen available across multiple launchers on Android?
On a Moto (G60) smartphone running Android (12), I have two launchers installed. The first is the default Motorola app that comes preinstalled, called Moto App Launcher (12), and the second is called Nova Launcher Prime (7).

The problem is when I use Chrome (107) and click "Add to Home screen" in the first launcher, and then set the second launcher as default, and then switch back to the first launcher and click the website shortcut that was added to the home screen, it doesn't work and gives a message saying "Shortcut isn't available".

For instagram.com you can click in Chrome "Install app" which creates a shortcut on the home screen that works in both launchers, but for facebook.com that option is not available, and the shortcut only works in the launcher that it was created in.

Is there a way to create a website shortcut on the home screen that will work across all installed launchers?

**Update:**

I tried using both Hermit Browser and Kiwi Browser and neither of them worked.

The shortcuts on the home page are grayed out, the same as before when using Chrome.

Except for the Instagram shortcut that was created in Chrome using "Install app".

Is there another way, or maybe an Android app that can install any webpage as an "app" even if the webpage not a Progressive Web App (PWA)?

See picture:

# Answer
> 1 votes
Google Chrome allows the "Add to homescreen" option on all webpages for a launcher only if the launcher is (1) A system App and (2) is the default launcher. You can use Kiwi Browser e.g., to create Web Page Homescreen shortcuts for other launchers.

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


# Question
Title: Where should I put my Xiaomi backup file in order for it to be visible to the restore system?
My phone is MIUI Global 12.0.8, Android version 10 (QP1A.190711.020). I did a BAK file of some apps which I created using the backup mechanism of my phone directly.

I access the backup and restore functions with "About phone --\> Back up and restore --\> Mobile device ---\> Back up / Restore.

I put it inside any backup folders I saw on my phone. But when I come to the "restore" function, it says "No backups here yet".

Where should I put the BAK file in order for that stuff to work?

# Answer
> 2 votes
The folder is Redmi Note 9\Internal shared storage\MIUI\backup\AllBackup

The important point that I was missing is that the whole backup folder, say "16062022\_172724" which contains all the BAK files should be put there, otherwise this will not work.

---
Tags: backup, restore, xiaomi
---


# Question
Title: What does a check mark on a site thumbnail means? And how does one remove it?
I'm using Chrome canary and this check mark has appeared. I don't know why it appeared and what it means? Page is bookmarked but others from here are too but no mark; page isn't saved for offline reading. Any thoughts? Also how do I remove it?! <sub>(Click image to enlarge)</sub>

# Answer
It means the site is downloaded for offline viewing. You may have done it by accident but that is what the icon means (unless Google changed the meaning in your Canary build which I find very unlikely).
> 9 votes

# Answer
After unsuccessfully trying rather complex fixes suggested on google forums, I ended up clicking on the three dots next to the search bar, going to downloads and searching the site with the checkmark (using the magnifying glass at the top of the pg.) Clicked the three dots next to the site download listing and clicked delete, and the annoying tick was gone.
> 3 votes

# Answer
## Chrome thinks the webpage is downloaded for offline viewing.

---

This also happened to me today. I fixed it (removed the check marks) by doing the following:

---

## In the Chrome settings:

---

1. Click "Privacy and security"
2. Click "Clear browsing data"
3. Make sure that only "Cached images and files" is checked
4. Set the "Time range" to "Last 24 hours" (longer if necessary)
5. Click "Clear data"
6. If you can, make sure that the sites that have the downloaded check mark icon next to them on the home page are selected, and deselect all of the other sites
7. Click "Clear"
8. Wait a bit while it is busy "Clearing browsing data"
9. Go back to the home page and refresh it
10. Be happy that the check marks are now finally gone
> 3 votes

# Answer
Pray. Clear Chrome's data.

Go to App Info or Application Manager or whatever it is → Chrome → Storage & memory → Manage space → Clear all data.

This is worked for me.
> 0 votes

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


# Question
Title: How can I set my android x86 UEFI installation resolution to 1920*1080 in my VM?
How can I set my android x86 resolution to 1920\*1080 in my VM?

I tried this:Can't change screen resolution of Android-x86\_64 installed in UEFI mode

but it didn't work.

BTW I have a UEFI installation

Thank You in advance.

# Answer
> 1 votes
I solved it! These sources helped me:

1. Boot into (DEBUG mode) from the *grub menu* on boot.
2. Press *enter* after the boot completes(the screen stops producing text outputs)
3. Mount your **efi** partition by running this command:

> ```
> mount /dev/sda1 /mnt
>
> ```

(**sdax**, here x may vary for you, but for me, it was 1)

4. Change directory to `/mnt/efi/boot`:

> ```
> cd /mnt/efi/boot
>
> ```

5. Edit `android.cfg`, as shown in the picture below

> ```
> vi android.cfg
>
> ```

* Inside **Vi Editor**

i. Press 'i' to enter edit mode

ii. Press 'Esc', type ':w', and press 'Enter' to save.

iii. Press 'Esc', type ':x', and press 'Enter' to exit.

6. Now reboot

> ```
> reboot -f
>
> ```

That's it, you have Android x86 in your system's native resolution!

---
Tags: android-x86, screen-resolution
---


# Question
Title: "Install update to keep device running smoothly" dialog comes but when try to install, it stuck at installing update
On my Android phone, I'm getting the below dialog but when I try to install an update, it is stuck.

Please note that I have 20.83GB of free space in the Internal storage. I tried when the battery is 100% charged and also tried on "Mobile Data" as well as "WiFi" connection.

Anything else I can try? Also, I don't want to Factory Reset the phone.

More info about the device:

* LAVA Z6
* Android version 11
* Build number: LAVA\_LMX06\_SW\_V12\_HW\_V1.0\_20220316

# Answer
> 2 votes
I fixed it by clearing system cache partition using the recovery. So no need to factory reset and not loss any data! After wiping system cache partition, we need to download the updates again. Then it will install nicely.

---
Tags: ota-update
---


# Question
Title: Can you install Google Play Store with adb after it was uninstalled?
I have a non-rooted Samsung phone that runs android version 9 as shown in the image below.

Some time ago I uninstalled Google Play Store from my phone because I thought that I could reinstall it if needed. I used the following command:

`adb shell pm uninstall -k --user 0 com.android.vending`

Now I want to install Google Play Store again. I downloaded an apk file for Google Play Store from apkmirror which can be found here. I tried to install Google Play Store again by issuing the adb install command with the name of the downloaded apk file:

`adb -s 5200088af0785579 install com.android.vending_33.1.16-19_0_PR_487270566-83311600_minAPI19_maxAPI24\(armeabi-v7a\,x86\,x86_64\)\(nodpi\)_apkmirror.com.apk`.

When the command is executed I get the message that the streamed install was successful as shown in the image below. After I searched my phone for Google Play Store, I couldn't find it anywhere, including my Google folder and Apps list. I also looked at disabled apps. If I try to uninstall the apk version of Google Play Store with `adb uninstall com.android.vending` I get the message that the uninstall was successful, indicating that it was indeed installed on my phone. I just don't know how to access it. Issuing the uninstall command again gives an error as shown in the image below.

Is it even possible to install Google Play Store after uninstalling it? Am I using the correct apk file? Are there some additional steps I should take to make it work? Or is there an alternative method I could use to reinstall it?

# Answer
> 1 votes
I managed to install it in the end. You must specify the user for which you are installing it with `--user USER_ID`. The USER\_ID for the main/primary user is 0. After adding this argument to the installation command, Play Store was successfully installed and accessible on my phone.

`adb -s 5200088af0785579 install --user 0 com.android.vending_33.1.16-19_0_PR_487270566-83311600_minAPI19_maxAPI24\(armeabi-v7a\,x86\,x86_64\)\(nodpi\)_apkmirror.com.apk`

EDIT: Although I managed to install it with the command shown above, Google Play Store keeps crashing.

@Robert The solution proposed in the question you linked actually works. Just for clarity, here is the full command that solved my problem.

`adb shell cmd package install-existing com.android.vending`

---
Tags: google-play-store, adb, installation, 9.0-pie
---


# Question
Title: McDonald's app showing "Your device did not pass our security check ..."
A client came to fix his phone because it is receiving this message when he opens the recently installed "McDonald's" app:

> Your device did not pass our security check. Please check that you run a Google trusted OS version, that the device is not rooted and that you have no harmful apps installed

Curiously the phone is not rooted, and is also a modern and updated Samsung phone.

What could be the issue? solutions?

# Answer
> 1 votes
Try to run a safety net test on the device. Check if they have a custom recovery, or if the bootloader is unlocked. If it is Samsung, check if Knox is triggered. How do you know it is not rooted? In what way did you check?

---
Tags: applications, security, application-error
---


# Question
Title: Are recent emoji on Samsung Keyboard my own or from group chats?
Are the recent emojis on my Samsung Galaxy 7 Edge keyboard my own recent ones, or from people using them in group chats, like Facebook Messenger or WhatsApp Messenger?

# Answer
The recent emoji tab on the Samsung keyboard, display the most recent emojis that you've used with the keyboard. You can test it simply by selecting a new emoji, and you'll see it appear in the recent tab.

In the screenshot, you can see I'm in the recent tab, and it displays the emojis I've selected in the other tabs.
> 1 votes

# Answer
This was submitted over 4 yr's ago, and Samsung would have upgraded their phone use with emoji's, but none of the Samsungs I have "Glaxy A21; S21" ever had anything called a "Recent emoji Keyboard", they also did not show the most recent emoji's used when I clicked to place an emoji in a text message.

This article is incorrect.
> -1 votes

---
Tags: samsung, keyboard
---


# Question
Title: I need help finding Lucky Patcher's mysterious files
I am using a Samsung A10s with 32gb of storage, running Android 11 and One UI Core 3.1.

I was fiddling around trying to install a ~700mb game through LP. It says storage not sufficient even though i have 2,6gb of storage left, so i decided to open it through Zarchiver.

My mistake was not realizing it was an .APKS file, not .APK and opening it straight from the data folder (Android/data/LP directory). I clicked install. Realizing i have made a mistake, i closed Zarchiver.

Guess what? I lost 700mb worth of space! I tried looking everywhere for the files, even tried deleting the system trash files but it didn't work. Now i have 1,8gb. Haven't gave up, i tried to reinstall via LP.

This time, it showed an error message "Failed to allocate 7-something (file size) because only 6-something (storage) allocatable". I lost even more space. Now i only have around 1.2gb.

In total, i lost 1,4gb and i couldn't find the culprit.

I need help finding the files because storage is very important for me. Please.

# Answer
Try downloading the app SD Maid, the free version should work for you. It can find file duplicates and delete them. This is the only way I know of, so you are gonna need space to download it. It is pretty lightweight though.
> 0 votes

---
Tags: samsung, internal-storage, lucky-patcher
---


title: Auto-accept set default for USB device

text:
# Question
Title: Auto-accept set default for USB device
My device uses a Qualcomm chip, Android 7 (SDK 25). I am coding an app that uses a USB camera (webcam) to record and capture. To hold permanent permission for my app. My problem is, the first time plugging the USB cam into my device, a dialog appears and I have to tick "Use by default for this USB device".

My device has no screen, to do that I need to use ADB debug, connect WiFi, and use Vysor to access the device.

I tried setting my app as a system app but it did not solve my problem.

I wonder how to make my app auto-accepts the dialog.

# Answer
Finally, I found the storage USB permission file on

```
/data/system/users/0/usb_device_manager.xml

```

I pulled it onto my desktop

```
adb pull /data/system/users/0/usb_device_manager.xml D://YourFolder

```

And lastly, I pushed the file that has the USB camera info into the new device and restart.

```
adb push D://YourFolder/usb_device_manager.xml /data/system/users/0

```

It worked for me.
> 1 votes

---
Tags: applications, usb, default-applications
---


# Question
Title: How can I remove my emails from the Gmail app?
On an Android phone, Gmail app is showing emails from my Gmail account despite that I have never authorised that app to access the account.

This started when \[EDIT:\] I logged-in to Google Play Store \[\], and then got a new email notification from a Gmail app installed on the same device but never accessed by me. Accessing it shows it has emails of mine.

I tried removing the Google account from the device and disabling the Gmail app following the instruction on Google Support - Sign out of Gmail, but when reenabled it, it still shows my emails.

How can I remove my emails from the Gmail app?

# Answer
> 3 votes
Gmail syncs emails on the device for users' convenience (e.g. offline viewing). To clear synced emails from the device, try clearing the app data from its app info:

1. Navigate to Android Settings - Apps - See all N apps - Gmail
2. Select "Storage & cache"
3. Tap "Clear storage" and "Clear cache"

Based on Pixel 3a, Android 12. Menu might be different on other devices.

---
Tags: gmail
---


title: Cannot log out of Gmail

text:
# Question
Title: Cannot log out of Gmail
On an Android phone I had to log in to my Gmail account to update an app via the "Play Store".

I noticed (to my extreme annoyance) all my emails appearing as notifications on the phone's front screen.

Once I was done, I logged out of the account, via Settings \> Users & accounts \> Remove account.

The notifications of my emails did not disappear, but I then cleared them manually. As a precaution, I checked the Gmail app, and it appears to have downloaded a total copy of my entire email history into some kind of cache.

On my computer, I removed forcibly signed the phone out, but this had no effect.

The Google help page "Sign out of Gmail" says:

> The only way to sign out of the Gmail app is to remove your entire account from your phone or tablet.

That is what I did.

I assumed there must be a glitch. I guess Google never tested this properly, because, they figure, who would want to log out from *us*?

So I logged into the account again. This time, to sign out, I went *via* the Gmail app itself.

This successfully cleared it, and when I went back into the Gmail app, it showed no emails and asked me to set up an account. Thank goodness.

Still paranoid, I switched the phone off and on again. **The Gmail app now shows everything again.** The phone is not logged in, it is disconnected from wi-fi, checking on a computer shows the phone has been signed out.

The Gmail app shows every message I ever sent or received, without any password. This is a shared phone. It gives no option to sign out, because the accounts page says I have no account signed in.

What do I do?

# Answer
> 2 votes
I believe I've worked around the problem:

Settings \> Storage -\> Other Apps -\> Gmail

Click "Clear Cache" and "Clear Data".

The storage usage amount reassuringly decreased, and the app no longer shows my emails.

As a precaution, I did this for every other stock app on the phone also, some of which also appeared to have a large amount of saved "user data", despite the phone only ever being purchased and used for 1 banking app.

As an additional paranoid step, I then created and logged into a blank throwaway account, logged out of it and deleted all the data again.

# Answer
> 0 votes
Boann's answer should help, but I prefer to even *disable* the application. When you uninstall GMail application updates (that can be found in the same screen from which you uninstall it, on some Android versions as a button, on other in a menu), you can disable the application (the button should appear where the uninstall button is for uninstallable apps). Unless you enable the application again, there will be no GMail application available for use on your device.

Beware of that the Play Store *can enable* applications. I recommend disabling Play store app too, unless you are going to use it in near future.

---
Tags: security, gmail, google-account
---


# Question
Title: Transfering WhatsApp Data Between Two Phones
I recently had a problem while transferring my WhatsApp. I had lost access to my primary phone (Samsung Galaxy A71) for a while and had to use a secondary phone(Huawei P20). During that time I installed WhatsApp on my secondary phone but I did not use the Google Drive backup to restore the chats and instead started to use it as is. Now that I have gotten my primary phone back I was wondering how do I merge my WhatsApp data between the two phones on my primary phone because it already has the most data and the local storage and secondly I have to return the secondary phone as soon as possible.

# Answer
> 0 votes
According to Google, there is some 3rd party software which will merge 2 WhatsApp backups. You will have to generate a backup file of both your installations.

Here is an extensive XDA forum post about it. This Reddit thread proposes software which does it for you. I don't know the software though so be careful with your chat history.

---
Tags: applications, whatsapp-messenger, data-transfer, google-drive
---


# Question
Title: How to modify the IP packet destination IP address in Android?
Here, I can type this in **Termux**

```
su
iptables -I OUTPUT -d 1.2.3.4 -j REJECT
iptables-save

```

to reject the packet so as to forbid the Application to visit a certain host. It works well.

However, now I want to make the Application **thinks it is visiting 1.2.3.4 but it is visiting 5.6.7.8 instead.** which means **change the IP packet's destination IP address from 1.2.3.4 to 5.6.7.8**

I tried many tutorials but ended up in a failure. Not working at all, the Application still visits 1.2.3.4.

Can anyone help me with this? By using ***iptables*** or any other method. My Android device is rooted with Magisk installed.

# Answer
You can do that using a destination NAT (DNAT), see here

Specifically, in your example you would do one of:

`iptables -t nat -I OUTPUT -d 1.2.3.4 -j DNAT --to-destination 5.6.7.8`

Of course, you would want the return packets to make the inverse translation, so it looks like the reply is coming from 1.2.3.4 again, so you need also on of these:

`iptables -t nat -I INPUT -s 5.6.7.8 -j SNAT --to-source 1.2.3.4`

(In the original answer I had PREROUTING/POSTROUTING instead of OUTPUT/INPUT, but that is when you are doing that in a router. For locally generated packets, OUTPUT/INPUT should be the correct one).
> 1 votes

---
Tags: networking, iptables
---


title: NexiPay app and Magisk

text:
# Question
Title: NexiPay app and Magisk
I'm trying to run a banking app called **NexiPay** (I guess it's available only in italy), but it doesn't start because it recognizes my system as rooted. I'm running LineageOS 15 (Android 8.1) and GApps.

So I've installed Magisk. Current version (24.3) seems to be different from what Magisk used to be some months ago. For example, there's no Magisk Hide and Magisk website has not been updated yet.

How can I hide the root to this app? When I launch NexiPay, Magisk tells me that it's asking for root access.

# Answer
After following the other solution, it still wouldn't work for me.

I managed to make it work by going into the Magisk settings and selecting the option to hide the Magisk app.
> 1 votes

# Answer
Magisk 24.3 uses a new feature called **DenyList** instead of Magisk Hide. From one of John Wu's (the creator of magisk) tweets,

> * The new "DenyList" feature of upcoming Magisk versions is me preserving portions of the of hiding codebase and transform it into something I felt is valuable
> * DenyList, however, is only meant to "revert all Magisk changes". It will not attempt to manipulate any other signals on the device

Along with Denylist, in Magisk 24.3 there is also something called **Zygisk**. Basically, Zygisk will run parts of Magisk in the zygote process. (Note: if you want to enable DenyList, you will need to enable Zygisk first.)

To hide root from Nexi pay, just enable DenyList to target NexiPay app. You can find it in the settings from Magisk Manager app.

1. Tap settings icon at top right corner of screen
2. Enable zygisk (this will require a reboot)
3. After the reboot, go back to the settings menu and check that "Enforce DenyList is selected"
4. Choose "Configure DenyList" and select NexiPay app
> 0 votes

---
Tags: magisk
---


# Question
Title: Can 2 apps access camera at the same time, especially in a rooted Android phone?
My phone is a Samsung Galaxy Note. When one app is using a camera in the background, is it possible to use another camera app at the same time? Some people say it depends on how the applications are coded.

Also, the app “Sound Assistant” makes 2 music apps using a speaker at the same time. And there are apps that use front and back cameras simultaneously. Does it mean that access to the camera by 2 apps at the same time can be possible?

I want to know if the phone is rooted or if an app has root permission, there would be a change in the answer. I wonder if I use custom ROM or kernel, this can be possible. Btw, I am talking about Android version 5.0-6.0 which was released in 2015-2016.

# Answer
> 1 votes
There are a number of questions here and I'll start for the non-root/stock ROM:

**Q1: Can app A use the camera at the same time as app B?**

A1: No.

From https://developer.android.com/guide/topics/media/camera.html#release-camera

> Caution: If your application does not properly release the camera, all subsequent attempts to access the camera, including those by your own application, will fail and may cause your or other applications to be shut down.

**Q2: What about apps that use the front and back camera at the same time.**

A2: Older devices were hardware/software limited regarding being able to use both at the same time. Device variation made supporting camera difficult. Developers had to check if both were able to be used and the original Camera API was being replaced by the newer Camera2 API. While API improvements have been made, Cameras have always had manufacturer/device specific "cool features" only enabled for manufacturer camera apps and unavailable to third-party app developers both then and now. Android 5.0 was when the newer Camera2 APIs were introduced but that didn't mean all features from the older Camera APIs were supported.

**Q3: What about mixing audio from two different apps?**

A3: The general concept is called "audio ducking" or "audio focus" and is allowed on Android. I don't know if the app you are referring to is doing more perhaps with legacy Samsung SDK APIs.

**Q4: Okay does anything change with root?**

Root just gives superuser access to all apps and allows for a level of customization. Unless the ROM is modified the Android framework APIs are still the same. You can see that the low level Camera framework is quite involved and I doubt just having root will allow for multiple apps using the camera at the same time. Realize that Custom ROM builders have to spend time probing the stock ROM to enable standard framework features for upgrading Android OS versions. Any access to "hidden APIs" would be bonus.

---
Tags: applications, root-access, camera
---


title: assert failed: asus.verify_modem

text:
# Question
Title: assert failed: asus.verify_modem
Following the procedure for LineageOS installation after rebooting on recovery and using:

```
adb sideload lineage-18.1-20220228-nightly-X01BD-signed.zip

```

I get:

```
--Wiping data...
Formatting /data...
Formatting /cache...
Data wipe complete.
Enabled ADB.

Now send the package you want to appply
to the device with "adb sideload <filename>"...
Supported API: 3
Finding update package...
Verifying update package...
Updating package verification took 798.3 s (result 0).
Installing update...
Checking for MODEM build time-stamp 2019-09-03 16:24:00
assert failed: asus.verify_modem("2019-09-03 16:24:00") == "1"
E:Error in /sideload/package.zip (status 1)

```

Any ideas?

# Answer
> 1 votes
I've found a workaround that might be useful. It worked with me using the Asus Zenfone Max Pro M1. I was having the exact same error using the latest Lineage version `lineage-19.1-20221115-nightly-X00TD-signed.zip`. This phone didn't receive updates since 2018, which seems the reason for the failure.

So here is how I fixed it:

1. Extract the Lineage zip file:

```
mkdir x
unzip linage lineage-19.1-20221115-nightly-X00TD-signed.zip -d x

```
2. Edit the modem assertion in the `updater-script`:

```
vim x/META-INF/com/google/android/updater-script

```

Change the line from:

```
assert(asus.verify_modem("2019-11-2512:49:03") == "1");

```

to

```
assert(asus.verify_modem("2019-11-2512:49:03") == "0");

```

*This will bypass the assertion for the modem date. I've also tested the modem connectivity after updating to make sure it will not break. I didn't find any hardware failure. After the bypass, everything is working normally as it should.*
3. Save the file and zip it again:

```
cd x
zip xoot.zip -r .

```
4. Run the sideload again:

```
adb sideload xoot.zip

```

The new file will have a signature fail, and therefore when they are sideloaded, Lineage Recovery will present a screen that says Signature verification failed, this is expected, click Continue.

---
Tags: adb, lineageos
---