title: Unbrick Unlocked Huawei P10 - SOLVED

text:
# Question
Title: Unbrick Unlocked Huawei P10 - SOLVED
I messed around with my phone (Huawei P10 VTR-L29) and unfortunately bricked it.

## what happened

To give you the whole story, I tried to root it, but during the root process I found out that the device is encrypted so I had to "rollback". That worked fine and my phone was working ok with one issue - I wasn't able to update firmware via regular system updates. I saw the update, but wasn't able to download and install - it always ended up with some error.

That made me decide to reinstall the firmware from scratch. I followed general steps but yeah, I messed up.

## current status

The only thing I can see now is

When I click on download latest version and recovery

But after a while it fails:

And I am stuck :( I can't get any further .. I tried to connect via ADB (but since I cannot get in the phone to enable USB Debugging (which might be the problem) I am unable to connect (nor ADB neither FASTBOOT can see the device).

I tried to create this file:

```
/etc/udev/rules.d/51-android.rules

```

But when I run

```
sudo adb kill-server
sudo adb start-server
adb devices

```

It's still empty ... I can't even get to the "FACTORY RESET" by pressing and holding POWER + VOL:DOWN for some time; it always brings me back to the Huawei eRecovery

Do you guys have any idea how to fix this?
Or is that phone dead for good?

I don't care about the data inside.. I would only love to make it work again

# EDIT

with the help of alecxs I made it to the fastboot&rescue mode

however this

```
sudo fastboot boot [img]

```

ends up with

```
downloading 'boot.img'...
OKAY [  1.052s]
booting...
FAILED (remote: Command not allowed)
finished. total time: 1.056s

```

similar for

```
sudo fastboot flash recovery [img]

```

ends up with

```
target reported max download size of 471859200 bytes
sending 'recovery' (32040 KB)...
OKAY [  0.995s]
writing 'recovery'...
FAILED (remote: Command not allowed)
finished. total time: 1.001s

```

## EDIT2:

I asked as well one of my friends and we moved on a bit more ...

I tried to unlock the bootloader

```
sudo fastboot oem unlock [unlock_code]

```

Then I got this screen:

I went with the option (2) and that brought me to the first screen mentioned in this article "Huawei eRecovery"

but when I repeated the VOL:DOWN + USB:CABLE:PLUG trick :) I got this

I tried a different TWRP (for P10 specifically) from this link: XDA Devs - P10 TWRP

Flashing worked fine:

```
sudo fastboot flash recovery_ramdisk twrp_p10_0.1.img

```

I got:

```
target reported max download size of 471859200 bytes
sending 'recovery_ramdisk' (24954 KB)...
OKAY [  0.771s]
writing 'recovery_ramdisk'...
OKAY [  0.232s]
finished. total time: 1.003s

```

after

```
sudo fastboot reboot

```

right after this command, I need to unplug the USB cable and hold VOLUME:UP to be able to get to TWRP (swipe.d to allow modifications) ... am there already

now I am looking for any ROM for my P10 to flash it. I want to try this one: TheUpgradeGuide.com - Pixel Experience

I downloaded the gApps and ROM ... uploaded it to the "Internal Storage" of the phone (there was a folder TWRP so I put it next to it)

```
.
..
/TWRP
rom.7z
gapps.zip

```

Went on wiping -\> WIPE -\> ADVANCED -\> checked these

* Dalvik Cache
* System
* Cache
* Data

swiped to wipe (uplugged USB) .. but got this error:

```
Updating partition details ...
Failed to mount '/odm' (Invalid argument)
...done
Failed to unmount '/system' (Device or resource busy)
Full SELinux support is present
MTP Enabled
Failed to unmount '/system' (Device or resource busy)
Wiping Dalvik Cache Directories...
--Dalvik Cache Directories Wipe Complete!
Formatting Cache using make-ext4fs...
Wiping data without wiping /data/media ...
Done.
Failed to unmount '/system' (Device or resource busy)
Unable to wipe /system.
Updating partition details...
Failed to mount '/odm' (Invalid argument)
...done

```

## EDIT 3

in the `adb shell`

```
~ # mount
rootfs on / type rootfs (rw,seclabel,size=1457112k,nr_inodes=364278)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime,gid=3009,hidepid=2)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
none on /config type configfs (rw,relatime)
/dev/block/bootdevice/by-name/secure_storage on /sec_storage type ext4 (rw,context=u:object_r:teecd_data_file:s0,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
hdb on /dev/usb-ffs/hdb type functionfs (rw,relatime)
/dev/block/bootdevice/by-name/system on /system type ext4 (ro,seclabel,relatime,data=ordered)
/dev/block/bootdevice/by-name/vendor on /vendor type ext4 (ro,seclabel,relatime,data=ordered)
tmpfs on /storage type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
/dev/block/sdd46 on /data type f2fs (rw,seclabel,relatime,background_gc=on,user_xattr,inline_xattr,acl,inline_data,inline_dentry,extent_cache,mode=adaptive,verify_encrypt,active_logs=6)
/dev/block/sdd46 on /sdcard type f2fs (rw,seclabel,relatime,background_gc=on,user_xattr,inline_xattr,acl,inline_data,inline_dentry,extent_cache,mode=adaptive,verify_encrypt,active_logs=6)
/dev/block/sdd13 on /cache type ext4 (rw,seclabel,relatime,data=ordered)

```

plus the ls output

```
~ # ls -ld $(find /dev/block -name by-name)/*
drwxr-xr-x    2 root         root              1020 Jan  4 18:02 /dev/block/bootdevice/by-name
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/boot_a -> /dev/block/sdd32
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/bootfail_info -> /dev/block/sdd14
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/cache -> /dev/block/sdd13
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/cust_a -> /dev/block/sdd43
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/dfx -> /dev/block/sdd19
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/dts_a -> /dev/block/sdd34
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/fastboot_a -> /dev/block/sdd24
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/frp -> /dev/block/sdc1
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/fw_hifi_a -> /dev/block/sdd28
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/fw_lpm3_a -> /dev/block/sdd21
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/hisee_fs -> /dev/block/sdd18
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/hisee_img_a -> /dev/block/sdd23
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/isp_boot_a -> /dev/block/sdd26
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/isp_firmware_a -> /dev/block/sdd27
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/misc -> /dev/block/sdd15
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modem_fw_a -> /dev/block/sdd36
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modem_om -> /dev/block/sdd7
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modem_secure -> /dev/block/sdd3
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modemnvm_backup -> /dev/block/sdd9
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modemnvm_factory -> /dev/block/sdd8
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modemnvm_img -> /dev/block/sdd10
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modemnvm_system -> /dev/block/sdd11
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/modemnvm_update_a -> /dev/block/sdd38
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/nvme -> /dev/block/sdd4
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/oeminfo -> /dev/block/sdd5
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/patch_a -> /dev/block/sdd39
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/persist -> /dev/block/sdc2
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/product_a -> /dev/block/sdd42
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/recovery2_a -> /dev/block/sdd30
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/recovery_a -> /dev/block/sdd33
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/reserved1 -> /dev/block/sdc3
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/reserved10 -> /dev/block/sdd17
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/reserved2 -> /dev/block/sdd16
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/reserved3_a -> /dev/block/sdd22
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/reserved4_a -> /dev/block/sdd37
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/reserved5 -> /dev/block/sdd45
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/rrecord -> /dev/block/sdd20
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/secure_storage -> /dev/block/sdd6
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/sensorhub_a -> /dev/block/sdd31
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/splash2 -> /dev/block/sdd12
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/system_a -> /dev/block/sdd44
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/teeos_a -> /dev/block/sdd29
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/trustfirmware_a -> /dev/block/sdd35
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/userdata -> /dev/block/sdd46
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/vector_a -> /dev/block/sdd25
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/vendor_a -> /dev/block/sdd41
lrwxrwxrwx    1 root         root                16 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/version_a -> /dev/block/sdd40
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/vrl -> /dev/block/sdd1
lrwxrwxrwx    1 root         root                15 Jan  4 18:02 /dev/block/platform/ff3b0000.ufs/by-name/vrl_backup -> /dev/block/sdd2

```

Ok, with the help of alecxs I managed to get a bit further (see the chat) but it seems like the TWRP is faulty (the one from the link above -\> XDA).. nonetheless, any other TWRP is not working at all and I am landing on this screen instead :(

## EDIT 4:

output of `fastboot getvar all` is here:

```
getvar:all FAILED (remote: Command not allowed)

```

## EDIT 5:

see the output of the fastboot commands requested in the chat

```
#sudo fastboot oem get-bootinfo
...
(bootloader)  unlocked
OKAY [  0.006s]
finished. total time: 0.006s

$ sudo fastboot getvar vendorcountry
vendorcountry: hw/eu
finished. total time: 0.007s

$ sudo fastboot oem get-build-number
...
(bootloader) :VTR-L29C432B151
OKAY [  0.007s]
finished. total time: 0.007s

$ sudo fastboot oem oeminforead-SYSTEM_VERSION
...
(bootloader) :VTR-L29C432B151
OKAY [  0.008s]
finished. total time: 0.008s

```

# SOLVED

Finally, I made it and the phone is up and running :)

I downloaded Huru Updated (v0.3) and these files https://huaweidl.com/download/huawei-p10/vtr-l29/b151/

Followed these steps: https://www.getdroidtips.com/hurupdater-tool/

and yaaaay, it works :) after months of playing around ... big thx to alecxs for his immense help !!! this guys is a genius !!!

the only question now is to get from Android 7 (the stock I flashed) to 9.1 (the most updated one provided to p10) ... bec the native system update does not offer me an update :D but that's minor ..

EDIT: ok, following this manual xda-developers - Jannomag I was able to upgrade to 8.0 (with a little hiccup - just had to manually restart it multiple times) and then to 9.0 (no problem at all this time) and right after 9.0 it offered me (via system update) automatically the newest 9.1.0.263

# Answer
> 1 votes
# SOLUTION

Here is what I have done to make it work ...

I downloaded HuRu Updater (v0.3) and these files https://huaweidl.com/download/huawei-p10/vtr-l29/b151/

Followed these steps: https://www.getdroidtips.com/hurupdater-tool/

and yaaaay, it works :) after months of playing around ... big thx to alecxs for his immense help !!! this guy is a genius !!!

the only question was to get from Android 7 / EMUI 5.1 (the stock I flashed) to 9.1 (the most updated one provided to p10) ... bec the native system update did not offer me an update

but by following this manual xda-developers \- Jannomag I was able to upgrade to 8.0 (with a little hiccup - just had to manually restart it multiple times because the phone was not rebooting as expected and somehow got "stock") and then to 9.0 (no problem at all this time; smooth) and right after 9.0 it offered me (via system update) automatically the newest 9.1.0.263

The only thing left is that I have an unlocked bootloader and cannot seem to be able to lock it again with

```
fastboot oem lock [unlock_code]
FAILED (remote: Command not allowed)

fastboot oem relock [unlock_code]
FAILED (remote: root type is risk)

```

but that's minor ... I will try to look for a way to do that .. and if successful, I will update this answer with the final steps to get back to "stock"

---
Tags: adb, recovery-mode, unbricking, huawei, emui
---


# Question
Title: Xiaomi android always boot in recovery (twrp) mode
I tried to install twrp in my xiaomi redmi 7A, and it worked, but now i'm not able to boot the system. The steps i followed are as follows:

1. fastboot flash recovery recovery.img
2. fastboot boot recovery.img

It seems like i have to flash the firmware, but i want to see another solutions for obvious reasons.

# Answer
Yes, the best solution is to flash the stock firmware. Or the other option is if you backed up recovery partition then you can flash it through twrp to go back to stock recovery, which can solve your problem.
> 1 votes

---
Tags: twrp, fastboot, xiaomi, redmi
---


# Question
Title: Is it possible to keep multiple address books on a single phone?
I'm trying to find a way to set up and manage multiple address books on my phone, and to keep them distinct.

I want to do that to separate my personal contacts from the work ones.

The default behaviour is to collect all contacts from my various accounts in a single big list (two google accounts and some other social networking apps), but it is a bit of a mess to have everything together. I know that the default app have a built-in group manager, but it has a bit of a clunky interface that's not very handy (whenever you open it, you are several clicks away from the desired grouping).

Ideally I'd like to have a solution that let me manage my contacts in a powerful and customizable way, i.e. with tags, custom groupings, and so on, and that let me switch easily between said groups without too much clicking around.

How can I do that? I'm also willing to consider a third party app, but right now everything I've tried still collects every contact from all accounts together.

# Answer
> 1 votes
One app that works to create different groups of contacts is contacts plus. It is a bit of a crummy interface but works. The only way I found of doing via the native Google app is by creating different Google accounts and saving the contacts to each specific account, then signing in to an account and signing out of the other when you need to use another set of contacts.

# Answer
> 1 votes
This might work. It's an app called DejaOffice. It allows you to separate your contacts, calendars, etc into different sections. I've used it before and it's a great app. Or an alternative is to create a different Google account for each "Profile."

# Answer
> 1 votes
I've found an app called FullContact that pretty much solved my problem. It can be connected to a Google account (not necessarily the one used for the Android phone). Its address book is completely separated from the main phone contacts app (not like, I.E. Contacts+).

So now I have my personal contacts (linked to my main Google account) in the default contact app, and my work ones (linked to another Google account) in FullContact

# Answer
> 1 votes
Contacts VCF allows you to have multiple address books. You can open and edit vCard files (.vcf). Each vCard file is its own separate address book.

Contacts VCF does not usually access the main address book on the phone but you can import your contacts from there.

Since this app works with the standard file format for address books, it's compatible with other apps and PC applications.

# Answer
> 1 votes
I managed to do it with Android for work profiles. It is convoluted and pain in the ass to set up but you get 2 completely separate contacts, gmail, calendar, etc

# Answer
> 1 votes
OpenContacts works well as separate private addtessbook

https://f-droid.org/en/packages/opencontacts.open.com.opencontacts/

# Answer
> 0 votes
Yes you can have multiple address books. You could just use google account for this purpose. You can put different people in different groups and do a custom view in settings to show the items you like.

---
Tags: contacts, accounts, contact-groups
---


# Question
Title: Xiaomi Poco F1 (with Pixel Experience) potentially bricked, this is all it can see. Any help?
The text on screen is: "Þöŵéŕ öƒƒ one two Ŕéšţåŕţ one two Ļöçķðöŵñ one two"

# Answer
I don't think that your phone is bricked. A bricked device doesn't usually boot at all, or is stuck in a bootloop. It might be a case of potentially corrupt zip. Here are the things that you can try before giving up on your Poco:

1. Check if ADB detects your phone.
2. Try booting into recovery (either from ADB, or using physical buttons); if you succeed, perform a clean flash of the ROM.
3. If nothing works for you, try booting into fastboot and flash a stock MIUI fastboot ROM (from here) using Mi Flashtool.
> 1 votes

# Answer
if you're able to get into recovery mode then you'll be able to reset your device (if you're fine with losing your data). to do that, shut off your phone and hold power and volume up keys at the same time until you see the xiaomi or poco logo. once you're there, there will be an option to wipe data or reset. if resetting doesn't work, you can connect to ADB using a computer, and i assume if you have pixel experience installed you already have twrp or another custom recovery that lets you flash zip files, so you can either reflash or flash a different rom. good luck!
> 1 votes

---
Tags: xiaomi, custom-roms
---


title: Invalid IMEI after factory reset

text:
# Question
Title: Invalid IMEI after factory reset
After factory reset my phone starts showing "Invalid IMEI" on both sim slots and I can't call or be called. What might be the problem?

Android version; 2.2.1 , model: A601

# Answer
If it has a Mediatek (which usually cleared IMEIs after flashing), you can try entering the IMEIs (found on the retail box) manually using `*#*#3646633#*#*`, and finding the option in Radio settings. I can't be sure if this works with newer MTK devices.
> 0 votes

---
Tags: factory-reset, imei
---


# Question
Title: Default kernel version of Android-x86 ISO
I know that `android-x86[...]-k49.iso` means it is using kernel version 4.9, but for some ISO like `android-x86[...]-r4.iso`, the kernel version is not mentioned.

Since 64-bit isn't booting for me, it might have kernel version 4.9+ but not 4.19 since 4.19 is also available for download.

How can I know what is the default kernel version?

# Answer
> How can I know what is the default kernel version?

By reading the release notes. With every new release, the development team publishes the major changes compared to the previous releases. The kernel version is mentioned under the Key Features section.

The Release Note for 8.1-r4 indicates:

> * Update to LTS kernel 4.19.110.

For 8.1-r5:

> * Update to LTS kernel 4.19.122.

For 9.0-r2:

> * Update to LTS kernel 4.19.110.

When the `iso` file is not for the latest version, then the kernel is also mentioned with the filename.

For example, there are 3 64-bit files for 8.1-r4. The first 2 are for the kernel 4.19.110 (not mentioned on the filename), while the third filename has the kernel mentioned - kernel 4.9.

> * 64-bit ISO: android-x86\_64-8.1-r4.iso
> * 64-bit rpm: android-x86-8.1-r4.x86\_64.rpm
> * 64-bit ISO with kernel 4.9: android-x86\_64-8.1-r4-k49.iso
> 3 votes

---
Tags: kernel, android-x86
---


# Question
Title: How to bypass/authorize ADB RSA key with broken touch AND screen?
I've tried everything I could find on the internet (mostly on *StackOverflow*).

These I've already tried without result:

1. *Page not found - Stack Overflow*
2. shell - How to solve ADB device unauthorized in Android ADB host device? - Stack Overflow
3. android - running adb devices showing unauthorized device? - Stack Overflow

**Both screen AND touch are broken so I can't see nor touch a thing.** (So the OTG mouse option can't be used in my case.)

The device is a *Huawei Ascend P7 L10, Lollipop 5.1.1.*

* It's rooted.
* It has TWRP recovery.
* USB Debugging is enabled.
* I'm using the latest ADB version, updated from Android Studio.

I entered recovery mode, done `adb push adbkey.pub /data/misc/adb/adb_keys` and rebooted, after reboot adb keeps saying devices isn't authorized. I entered recovery checked if the file copied on the device was still the same as the one in the *.android* folder, and it was the same key.

If anybody has any idea I'm all ears. Thanks in advance.

# Answer
The only other thing I could find is for you to use *adb kill-server* and check again with *adb devices.* You seem to have done everything you can. :(
> 0 votes

# Answer
I think you should try SCRCPY module which will give you the access to your screen and you can do all the things from the PC

Which device??
> -1 votes

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


# Question
Title: Why is "Meet Attendance" icon not enabled in Google Meet?
I (seem to) have installed the Meet Attendance Chrome extension for Google Meet by claycodes.org from Chrome Web store from my Android phone. The site responded by messaging that it has been *added to the desktop*.

But I find that the feature is not enabled when I start Google Meet on my Android phone, because I can not see the *checkbox icon* representing "Meet Attendance" during the Google Meet session.

Can I have this feature enabled so that I can use it on my Android phone?

# Answer
> 1 votes
You'll need a desktop to use that extension as it needs the desktop version of Chrome, and attendance will show up only when you join a meeting, given you are using a desktop.

You can still use the Google Meet Android app (which lacks important features from the web) and you can't add features that are not available there.

---
Tags: chrome-for-android, browser-add-ons, google-meet
---


# Question
Title: Android suddenly refuses to play ANY videos in any app on my galaxy tab s2
Is there any way to fix this without restarting?

Attempting to play any video in any app on my Galaxy Tab S2 will cause the video tile to load forever or else cause that app to freeze. YouTube will load the thumbnail and spinning icon but, if I switch to another app, even YouTube will be entirely frozen when I return to it. Likewise, if I attempt to record a video using any camera, the camera app will also freeze.

This does not appear to be related to audio processing as I can play audio streams fine, but if the file itself is a video file then I get the same result.

This is a new behavior not limited to a single app. The device is a galaxy tab s2 and developer mode is enabled. Clearly, whatever processes video streams in Android is bugging out on my device and needs to be restarted... but I would rather not fully restart my device as it is also suffering from a 'grey screen' problem where if I turn the screen off, there's a very high likelihood that turning the screen back on will result in it only displaying a solid grey screen, and it is very, very difficult to get it to display normally from there. Even straight from boot it will only display grey. I can still use the tablet by using an HDMI cable and using a tv as a screen, but I can only get the screen to display normally under some very arcane, specifc conditions: the tablet needs to have only about 20% battery life, and I need it to suddenly draw a lot of power all at once, such as by loading a power hungry app, while also attempting to turn the screen back on. Even this will only work once every 100 times. Yes, I know I need a new tablet. No, this one is no longer under warranty. I'd just like to get this one operational again, please.

Tldr: Is there a way I can restart the Android video engine without restarting the whole tablet?

PS: there are absolutely zero display artifacts, besides the grey screen issue.

Thanks!

# Answer
> 0 votes
See the version of Android. If it is not the newest version, there may be a problem. My phone, which before the major update a few months ago stopped playing Audio and lagged, and when i updated it all got fixed.

But another thing is, and i am not trying to scare, there may be a very bad software issue, or there could be a virus.

---
Tags: samsung, video
---


# Question
Title: Unlocked bootloader with OEM locked inside system in Oneplus3. HELP?
I have a OnePlus3 device which was rooted(TWRP + magisk + stock rom). But as new rom was buggy, i install old stock rom + stock recovery without root. After installing by mistake i lock OEM from the developer menu. Now after a restart, I stuck in the bootloader. Now, bootloader can't be locked or can't install new recovery. I can access bootloader and recovery but can't get into System. I tried to sideload rom but it keeps loading.What to do now?

# Answer
Boot to bootloader, unlock oem and start the process all over again. You need to flash a recovery first, then the full ROM.zip.

If this doesn't work or you can't get it right, use the unbrick tool. We can provide you with the links if you can confirm your device
> -1 votes

---
Tags: rooting, bootloader, unbricking, locked-out, unrooting
---


title: Multiple users on Samsung Galaxy A10

text:
# Question
Title: Multiple users on Samsung Galaxy A10
I want to be able to have two separate logins on my Galaxy A10 android phone, which require different passwords to access. Is this possible?

# Answer
Not sure if Samsung added that feature in your rom, but this thing are provided as features from manufacturers. If your device lacks this feature, wait till new update.

Or you can install new rom for your device which have this feature. But it is risky as rooting and flashing new software involves.
> 1 votes

---
Tags: samsung
---


# Question
Title: How can I display my Android on my PC monitor?
I have scoured the Internet and come here as my last hope.

I currently have the Galaxy S4, M919v. I own two 24 inch Samsung monitors.

Is there any method for me to display my Android screen onto one of my monitors?

I want to basically play my Android games, using my Android phone, but have them displayed on my monitors. My 24 inch monitor has the same resolution as my phone, so I figure the graphics should be great.

I am trying to find a WIFI/micro-usb cable solution to this problem without buying any types of additional connectors.

# Answer
You mentioned in your question that you don't want to buy any additional connectors. Any reason in particular? How unwilling are you to spend money? Resolution isn't going to be the problem, it's latency.

If you're absolutely adverse to paying, try running a VNC server on your phone then connect to it using a VNC viewer program on your computer. Laptop Magazine has a very good walkthrough here: How to Control an Android Device From Your PC. They reference VMLite VNC Server which is $9.99 but you can find other VNC server programs that are free (though several don't look terribly trustworthy, IMO). You're getting what you pay for, however; a cheap wireless solution means input lag. Your games are going to be very hard to play and the experience will be generally poor.

If you can manage a few dollars, then an Micro USB to HDMI MHL Adapter (with 5pin to 11pin Micro USB Adapter for your S4 - be sure to read the fine print!) as referenced in gt7599a's answer is the way to go. $15 (ish) plus an HDMI cable gets you a wired solution with very low latency.

If you want something wireless but are also wanting to be able to actually play games, your best bet is an adapter that takes advantage of the S4's WiFi Direct/Miracast capabilities. That means a Samsung WI-FI All-Share Cast Hub ($55), NETGEAR Push2TV ($60), or similar.

How much is it worth to you?
> 9 votes

# Answer
Just to update this answer-- the Chromecast and Nexus player or any Android TV device can now do this for you.
> 5 votes

# Answer
A solution is a dock or MHL (micro-USB form factor) to HDMI adapter. A quick Google or Amazon search should find what you need under $20 USD if you go with a 3rd party and not Samsung.

Note: some ROMs on some models of phones don't support HDMI out (e.g. CM10 on the i9100 I have) probably not be an issue on your S4 but if you've flashed a non-Samsung ROM you might want to double check.
> 2 votes

# Answer
Mugen Power Batteries released a USB Desktop Cradle with HDMI Support for the S4.

Unfortunately, it seems to be out of stock right now. You can try and tweet @MugenBatteries when they will restock. I bought extended batteries from them, and will usually give you a discount code if you ASK. :)
> 2 votes

# Answer
No need to pay for an expensive hardware connector. You can simply use Screen Stream Mirroring app for Android :) -\> I think and I hope it answers well to your question.
> 1 votes

# Answer
I would suggest you take a look at the srcpy application available for all platforms. Fully open source. No need to install anything on the phone. Works very well over usb cable (one can game or even stream videos without any lag). Works over the TCP/IP network too.

All you need to do is enable USB debugging on your phone (you may also need to allow USB debugging input in some phone if you want to control they phone). Enabling usb debugging is the same as the no root install instructions for the screen stream app above.

You can also consider changing the display dpi of your phone so that it looks much better on your monitor You could change it in Settings \> Display \> Display size.

Or

Open an adb shell or a root shell and type `wm density DPI` where DPI is the typically higher dpi that looks good on the PC monitor. Rotating to landscape view also helps. You may need to reboot for the dpi settings to be activated, but typically not required. Be sure to set it back otherwise your phone UI may become too small.
> 0 votes

---
Tags: external-display
---


title: fastboot stuck on 'booting...'

text:
# Question
Title: fastboot stuck on 'booting...'
I am trying to flash my device(Redmi S2/Y2). I unlocked the bootloader and I tried flashing Orange Fox recovery from fastboot.

```
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash recovery recovery.img
target reported max download size of 534773760 bytes
erasing 'recovery'...
OKAY [  0.020s]
sending 'recovery' (38400 KB)...
OKAY [  0.925s]
writing 'recovery'...
OKAY [  0.189s]
finished. total time: 1.159s

C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot boot recovery.img
downloading 'boot.img'...
OKAY [  0.879s]
booting...

```

It was stuck at `booting...` every time I tried. While trying some solutions, I messed up and now I am stuck at bootloop. Any solutions to this?

# Answer
It worked out, it turned out to be a hardware problem that didn't let me use the Volume Up + Power Key for Recovery Mode.
> 1 votes

---
Tags: adb, recovery-mode, custom-roms, fastboot, boot-loop
---


# Question
Title: a sketchy person has my phone for half an hour. what should i look for?
Summary: what sketchy things, could someone do if they get your phone for half an hour. And could you do to find it out and protect yourself.

Luckily, nothing happened for me.

# Answer
> 3 votes
There are numerous things that one can do in half-an-hour. There are some things that you have little or no control over now, like him sharing your images and data, or him uploading your personal data to a place where he can access it later. There is also a risk of him having your passwords and credentials, because we usually use auto-fill services, or tend to save them in a note-taking app. Other possibilities include him installing a spyware on your phone.

The measures that you can take to re-secure yourself are:

1. **Change all the passwords**, particularly your banking passwords.
2. Take a look at your installed apps, and **check if there exists any app that you haven't installed**
3. If you use Google Photos, or a similar photo app which has a 'shared account' feature, you might want to **ensure that no unauthorized person** is added to it, since the person may have access to your photos
4. Review the **login activity of your accounts** (social media, etc.), and ensure that only authorized devices are logged in.
5. Check the **running services of your phone** and ensure that no 'shady' service is running. (How to check running services in Android

**I would advise you not to give unauthorized people access to your devices. Our devices store a lot of 'sensitive' information which may be stolen, and misused. Also, if it is inevitable, you might want to limit the privileges (by using a guest account).**

---
Tags: security, malware, privacy
---


title: Grey circle background on app icons

text:
# Question
Title: Grey circle background on app icons
I have a Samsung Galaxy S7 on Android 6.0 Marshmallow, and I just looked at the home screen and some of my app icons have a grey circle around them.

Is there any meanings of this? Is it possible to turn it off while still using TouchWiz?

# Answer
Not sure if this was fixed or not, but change the screen resolution and that should fix your icons.
> 0 votes

# Answer
Some launchers have an option called "**Reshape legacy icons**". **Turn it off** to remove the background.
> 0 votes

---
Tags: samsung, 6.0-marshmallow, app-icons
---


title: Word endings / plural

text:
# Question
Title: Word endings / plural
In many languages word endings are adjusted. E.g. the plural s in English. (In other languages there are often many more.) GBoard often doesn't suggest these variations.

E.g. when I tap on the word suggestion 'language', the cursor stay right after the last letter. But when I tap on 's', GBoard will add a **space** and then 's'. This way I get "language s".

1. Why does GBoard insert the space only in last second? Seems counter-intuitive. Is there a reason?
2. Is there a trick to using a word suggestion and immediately modifying it? (Currently I always use space, backspace and then type the word ending.)

# Answer
> 0 votes
Gboard's "glide typing" is designed to allow typing words without worrying about inserting spaces, so when we want plural we just have to type the plural of the word rather than the singular.

Workarounds other than 'space-delete-s' would be disabling glide typing and using old school tap-to-type where every key requires explicit pressing **or** using the "gesture cursor control" to move the cursor around and then back to the end of the word before pressing 's'.

There may be a third-party keyboard that would allow a custom preference for this, and it may also be possible to modify Gboard to behave this way, but it may not be as useful as hoped.

For an example of what it would be like you could try enabling double-space-period and typing anything using multiple spaces throughout. You would normally only press space half as many times, but you'd be pressing it a lot more often if it was not inserted automatically. The cursor-control workaround still works, but the delete workaround fails although 3+ taps of space becomes period-space-space (etc).

---
Tags: gboard
---


title: IMEI has become 0 - how to fix?

text:
# Question
Title: IMEI has become 0 - how to fix?
I was using stock Android Pie with build ALI\_PPSS29.55-24-2 on my Moto G6 (ALI, XT1925-13). It was also rooted using Magisk. After more than an year the performance degradation happened and I thought to do a factory reset using the menu option in Settings.

Do not know why the reset operation did not help and ended up in boot loop.

At this juncture I thought to restore the ALI\_PPSS29.55-24-2 ROM image and also thought to install RevengeOS which is Android 10 from XDA.

Flashed the latest TWRP for my phone, copied the downloaded image zip file from the XDA page and installed. All went well but the network was not detected at all. Worried with that, I tried to reach out the telegram group but it did not help.

Left alone, I thought to restore ALI\_PPSS29.55-24-2 and successfully returned to Android Pie (9). However the network is not detected. Typing \*#06# shows bar code with IMEI as 0.

I now read that I should have backed up the EFS partition which was not known. When the instructions for the installation said to backup, I only backed up my files and not the EFS partition.

Is there any options left? Any help is appreciated. Thanks.

The reason for me to raise this as a new question is that time had moved on and the options/suggestions for other question might not work or might have improved.

FYI: I have the back up of persist folder which I am not sure whether is still intact.

Edit : after "Adb reboot bootloader" I can toggle to "Barcode" option and it displays the IMEI number correctly. Also seen with command "fastboot getvar all" - as said in this XDA forum:

> Your IMEI is not lost, it's just sitting there. You can see it in fastboot using "fastboot getvar all" command, and in the "Barcode" in bootloader menu. Any attempt in writing IMEI via QPST tool is futile, because our device is write protected.

---

Update: Flashed PPSS29.55-24-2 stock Pie image - all went well except the SIM/network/IMEI

# Answer
> 2 votes
**\[Solved\]** I read in many XDA posts that IMEI might not be actually lost by installing custom ROM, but it might be just a case that the permission might have been changed. To verify, see if the IMEI number is shown in boot loader or bar code screen, if so then this is the case. Since my case is also similar, those posts suggested to flash factory image to restore the IMEI. I am not sure why it did not happen when I tried the same with the version that I already downloaded and have flashed already which is ALI\_RETAIL\_9.0\_PPSS29.55-24-2.

Somehow inexplicably this did not work even though I tried to flash many times.

I stumbled on an XDA post which showed me a repository of factory images of various phones and in my phone case (Moto G6 ALI XT1925-13), I found the latest images from here.

From this site, I downloaded latest ALI\_RETAIL\_9.0\_PPSS29.118-15-11-9 image and flashed which worked.

**Edit** The above 118 version had was unstable and tried ALI\_RETAIL\_9.0\_PPSS29.55-37-7-6\_cid50\_subsidy-DEFAULT\_regulatory-DEFAULT\_CFC.xml.zip which seems to be okay so far.

---
Tags: backup, rom-flashing, recovery-mode, imei
---


# Question
Title: How to find previously installed apps after micro sdcard gone bad?
My micro sd card that was used to extend internal storage died. Now the apps I moved there are also gone. I don't remember precisely what I had on the card but would like to reinstall all of them.

After doing factory reset on my phones, the system automatically installs my previously installed apps after logging in to my google account. Is there a way to access this list?

# Answer
> 2 votes
Yes - your installation history is preserved in the Google Play Account associated with your device. To see your apps, both current and previously installed, you can navigate to the Play Store App -\> My Apps and Games (in the drawer) -\> Library on your device.

Alternatively, you can visit https://play.google.com/apps?hl=en\_US

Please note that if you side loaded apps or installed from a third-party store, the above information does not apply.

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


# Question
Title: Cannot boot to bootloader, fastboot or recovery
I have Sony Xperia Z2 with Cyanogenmod 1220150305

I cannot boot into any recovery based applications.

I have tried with the phone off and the down and up volume buttons, I have tried with apps that reboot to recovery, I have tried with the advanced power button on CM, I have tried with adb reboot bootloader/recovery and I have tried by just trying to install an update from the CM Updater.

What do I do to get this into Recovery? Otherwise the phone is fine, but it now means I can never update the phone ever again which I am not happy about as this version of CM12 is not great.

# Answer
> 0 votes
Turn off your phone and let it stay like that for 20 seconds Then try the key combination again until the led goes blue (from pink)

If that doesn't works Try flashing the cwm recovery image again manually using

```
fastboot flash recovery nameOfTheImage

```

Or follow this link to download the boot.img file and flashing it via

```
fastboot flash boot boot.img

```

Link:- http://techbeasts.com/install-cwm-recovery-root-xperia-z2-2301a0167-d6502-d6503-d6543/

Hope this helps!

# Answer
> 0 votes
turn off your phone completely and press volume- and powerbutton togethor for fewsecond. Your phone will get into recovery mode

# Answer
> 0 votes
1. Settings\> System\> Developer options
2. Check 'advanced reboot'
3. Power button\> reboot
4. Boot screen should show you an option to go into recovery.

---
Tags: cyanogenmod, recovery-mode, sony-xperia-z2
---


# Question
Title: Bootloader unlock failure "Command not allowed" of a Huawei Honor 6x
I have followed all instructions to unlock my Huawei bootloader, until the last instruction in the command prompt.

Some maybe useful information:

* My computer runs windows 10
* My phone is a Huawei Honor 6x (title)
* I am using a charging cable to connect my phone to my computer

What I did so far:

1. Registered a Huawei account, and got my access code
2. Turned on USB debugging
3. Connected my phone and computer with a charging cable
4. Ran adb and fastboot
5. Opened Windows Powershell (I couldn't find command in the adb folder) and typed the following commands:
    * adb reboot bootlader
    * fastboot oem unlock 2\**************1

It produces an error message that says:

Also, my phone should say "unlocked", but it still says "locked".

Any ideas on why the command is not allowed?

# Answer
> 1 votes
It is because Huawei has completely terminate the unlock code application service on July 25th, 2018.

You can refer to the following link where Huawei has officially mentioned it.

---
Tags: bootloader, huawei-honor-6
---


# Question
Title: Can I use these chargers interchangably?
I happen to own two android devices, a Huawei P30 Pro and a Samsung Galaxy Tab S5e. Both devices came with a charger, the specifications can be seen here

I'd like to charge both devices with one charger, is this safe to do and which one should I use? Does it make a difference?

# Answer
> 2 votes
* Both tablets support *fast charging*, which means they are capable of charging faster than the earlier standard USB charging of 5V,2A.
* "Samsung uses "adaptive fast charging", while Huawei uses "super charging". They are proprietary technologies of respective OEMs, with specifics not made public (how fast can your device charge has become a selling point) . OEMs always advise that one uses the charger supplied with the device only, because fast charging is a complex interplay between the charger, device, battery level and cable. Using them *interchangeably is not recommended*. It's not likely to cause an explosion or something like that if you use the same charger but it would not charge with the same speed as designed. If this is fine with you, I would suggest using Samsung charger for both devices since it has a lower maximum power rating (approximately 15 Watts = 9V x 1.67A) compared to Huawei rating of 40W (10V x 4A).
* However, if fast charging is not a priority , it is perfectly safe if you charge at 5V,2A. To do this, you would need to buy or use an old 5V 2A charger from pre-fast charging era and use that for both devices. It will charge much, much slower. Alternatively, see if Huawei P30 has a setting to disable fast charging (Samsung devices have this option from Android 6.0 onwards). I couldn't find it on internet but it may well be available. You can disable fast charging on both devices and use any of these two chargers to charge both devices safely.

---
Tags: samsung, charging, huawei
---


title: adb push: sync but not copy

text:
# Question
Title: adb push: sync but not copy
`adb push` seems to push everything into the dest folder regardless of their changed/unchanged states. So it wastes a lot of time. Is it possible to sync rather than copy (i.e. to `rsync` rather than `cp`)?

I see `adb` has a `sync` option, but I'm not quite sure whether it's relevant or not.

# Answer
You would use `adb push --sync`, for example:

```
adb push --sync /home/abc/ /sdcard/abc

```

from `adb --help`:

> ```
> file transfer:
>  push [--sync] LOCAL... REMOTE
>      copy local files/directories to device
>      --sync: only push files that are newer on the host than the device
>
> ```

but it seems that this function is available for relative newer ADB version such as version **1.0.40**.
> 9 votes

# Answer
While this *answer* is not exactly an explanation on the usage of `adb sync`, it may help when your primary goal is to sync files using `adb`.

You may be interested in adb-sync which is a Python script that uses `adb` to synchronize files from your computer to your Android device or vice versa.

Example (*computer -\> device*):

```
adb-sync /home/abc/ /sdcard/abc

```

Example (*computer \<- device*):

```
adb-sync --reverse /sdcard/abc /home/abc/

```

If missing files on the source should be deleted on the target you have to specify `--delete`.
> 4 votes

# Answer
"adb sync" is not relevant in your case. It is used to sync system partition to your connected adb device. It will only work if your phone is rooted and you first need to put system partition into writeable mode. By default it is in read-only mode. Please follow this article for more details: https://medium.com/@yigitpirildak/syncing-aosp-build-changes-using-adb-sync-885ce12e5cc7
> 2 votes

# Answer
I have made a python script that works like charm for windows.
It copies all the files from the current folder to the device(path can be edited in the code) except the files already present there.
Optionally, -l switch can be used to list the files with copy size before actual copy.

```
import os
import subprocess
import sys
files=os.listdir('.')
files=set(files)
devPath="/path/on/adb/device"
cmd="adb shell ls -a " + devPath
deviceFiles=subprocess.check_output(cmd,shell=True).decode().split('\r\r\n')
deviceFiles=set(deviceFiles)
filesToCopy=files-deviceFiles
size=0
count=0
justList=False
if (len(sys.argv)>1 and sys.argv[1]=='-l'):
    justList=True
for f in filesToCopy:
    count+=1
    size+=os.path.getsize(f)
    if(not justList):
        cmd="adb push "+str(f)+" "+devPath+str(f)
        os.system(cmd)
    print(str(count) + ' ' + str(f))
if(not justList):
    os.system("adb shell rm "+str(devPath)+"/"+sys.argv[0])
print(str(size/1000000) + " Mb")

```
> 0 votes

# Answer
When running `adb` without any commands, you get a list of possible commands, and here it is:

```
adb sync [ <directory> ]     - copy host->device only if changed
                             (see 'adb help all')

```

Looks pretty relevant to me :)
> -2 votes

---
Tags: adb, file-transfer, rsync
---


# Question
Title: USB to ethernet not working on Samsung Galaxy S
I have Samsung Galaxy S Blaze with the following specs

* Samsung Galaxy S Blaze 4G SGH-T769
* Android version = 4.0.4
* Baseband version = T769UVMB1
* Kernel version = 3.0.8-perf-T769ULVH5-CL990184
* Model Number = SGH-T769

I am following this thread on XDA as I had the same problem reported on page 4.

I am using AX88772 compatible USB to Ethernet adapter (pluggable USB 2.0) and have successfully compiled drivers for Android ICS. I have also put the `asix.ko` into `/system/lib/modules` directory and loaded it with `insmod`.

I have connected the Samsung phone with Inateck USB 3.0 four-port hub where I have also connected pluggable USB 2.0 ethernet adapter. But the ethernet is not working:

```
root@hammerhead:/ # netcfg eth0 up
netcfg eth0 up
action 'up' failed (No such device)

1|root@hammerhead:/ # netcfg
netcfg
rev_rmnet8 DOWN 0.0.0.0/0 0x00001002 72:21:40:52:3e:20
rev_rmnet4 DOWN 0.0.0.0/0 0x00001002 9e:5b:78:bd:4b:89
rev_rmnet2 DOWN 0.0.0.0/0 0x00001002 a6:e7:62:d2:fc:c5
rev_rmnet3 DOWN 0.0.0.0/0 0x00001002 8e:9d:a8:c7:cc:94
rev_rmnet7 DOWN 0.0.0.0/0 0x00001002 ea:82:2f:72:9d:fc
rev_rmnet5 DOWN 0.0.0.0/0 0x00001002 82:db:fe:b7:a9:1d
rev_rmnet6 DOWN 0.0.0.0/0 0x00001002 be:db:eb:ab:b3:17
rev_rmnet1 DOWN 0.0.0.0/0 0x00001002 ae:87:e2:c4:c8:4e
rev_rmnet0 DOWN 0.0.0.0/0 0x00001002 4a:49:58:b0:1d:e4
rmnet4 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet2 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet3 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet7 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet5 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet6 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet1 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
rmnet0 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
p2p0 DOWN 0.0.0.0/0 0x00001002 8e:3a:e3:4c:21:28\
sit0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00
lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00\
wlan0 DOWN 0.0.0.0/0 0x00001002 8c:3a:e3:4c:21:28

root@hammerhead:/ # ifconfig eth0
ifconfig eth0
eth0: No such device

```

There is no mention of OTG driver and USB host driver. Are they installed by default? How do I check if I have these installed? Or, are they not needed?

# Answer
> 1 votes
Well, I got the solution. I was using Inateck HB4004G 4-port USB3.0 hub. I should have used an on-the-go (OTG) cable instead. When I used the OTG cable, the ethernet interface `eth0` came up.

Here is the OTG cable for your convenience.

# Answer
> 0 votes
Some older USB OTG ports needed a powered OTG. Even powered hubs didn't work on my Motorola Droid 1, whereas that did. Also, some USB Ethernet chips don't work on Android.

---
Tags: samsung, usb-on-the-go, usb-host-mode, ethernet
---


# Question
Title: Which format does Android calendar uses?
I have a calendar entry on the format of (iCalendar with extension: ics) I have downloaded this file but android does not understands this kind of file.

Is there alternative to iCalendar files that Android uses?

# Answer
Due to how file extensions handling works in Android, **it depends on the calendar apps themselves.**

For example, AOSP Calendar does *not* handle any file extensions. The manifest file only mentions filters to the content provider and Google Calendar websites.

```
<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="time/epoch" />
  <data android:host="com.android.calendar" />
  <data android:scheme="content"/>
</intent-filter>

...

<intent-filter android:priority="50">
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="http"  android:host="www.google.com" android:pathPrefix="/calendar/event" />
  <data android:scheme="https" android:host="www.google.com" android:pathPrefix="/calendar/event" />
  <data android:scheme="http"  android:host="www.google.com" android:pathPattern="/calendar/hosted/.*/event" />
  <data android:scheme="https" android:host="www.google.com" android:pathPattern="/calendar/hosted/.*/event" />
</intent-filter>

```

Some vendor and 3rd-party apps *may* handle some file formats, but without knowing their manifest file, one has to manually test with each file format.

The calendar data itself is usually stored in the Calendar Storage (or similar name) app, in the format of SQLite database that can be accessed with the Calendar Provider. Thus, 3rd-party apps can also import the data from files to the calendar storage, which then can be read by the calendar apps.
> 2 votes

# Answer
As always, you can do this just fine with an app. Search for *ics calendar import* on Google Play and there are many apps that can add .ics files to your calendar. There's even a couple of open-source apps on F-Droid if you prefer that.
> 1 votes

---
Tags: calendar
---


# Question
Title: Is the Samsung Health App as a whole ending? Or is it just the Together Community tab/program?
> We regret to inform you that the Together Community(BETA) service will no longer be available as of 1 July 2020.

https://www.reddit.com/r/samsung/comments/hevmxm/samsung\_health\_app\_ending\_the\_together\_community/

https://content.samsungknowledge.com/notices/46/en-US/en\_US.html

Question: This refers to the 'together' tab of the samsung health app and not the whole of the samsung health app right?

# Answer
Samsung Health is still alive so yeah the together tab I guess.
> 0 votes

---
Tags: applications, samsung
---


# Question
Title: Is it possible to disable USB tethering from command line?
I try to be able to stop USB tethering.

I tried:

```
adb shell am stop com.android.settings/.TetherSettings # Unknown command: stop
adb shell am kill com.android.settings/.TetherSettings # nothing
adb shell service call connectivity 33 i32 0 s16 text  # works

```

Latest works, but I don't know if it's very reliable like `am` commands

Related, but the opposite, Is it possible to activate the "USB Tethering" Android setting from the command line?

# Answer
You can run this command:

```
adb shell svc usb setFunctions

```

This should reset the USB mode/configuration to *charging only*.
> 3 votes

---
Tags: adb, settings, command-line
---


# Question
Title: Android menu navigation without touchscreen input
I'm working on a smart glasses project that is using an Intrinsyc Open-q 2500 SOM (connected to a custom breakout board) that utilises a Snapdragon processor, running a custom Android SDK (Oreo 8.1) made for smart watches.

To navigate through the Android UI, as well as applications, we are hoping to use a IQS223 touch sensor chip, which will output high for a short period when a gesture is detected. E.g If a swipe forward is detected it will set pin1 (connected to GPIO1 of SOM) to high for 80ms, or if a TAP is detected it will set pin2 (connected to GPIO2 of SOM) to high for 80ms.

I've read it is possible to connect navigate/control an application via an external keyboard. All interactive widgets are focusable, meaning that the selected widget is highlighted (via a glow or appearance change). Therefore, It seems I should be able to fire a keyboard event on detection of a GPIO input change, and use that event to trigger an action. E.g. on detection of a high input on GPIO1 I'd fire a "Enter" keypress event.

My question is how would I go about doing this for the main Android UI (navigation of settings, selecting an app from main menu etc.)? i.e I want to set the main Android UI to be focusable (if possible) so I can navigate/control the device by simulating keypresses, which are fired when an input level changes on a certain GPIO pin.

Is there an alternate method to achieving this?

# Answer
The functionality which you are looking for is available under the Accessibility settings. It is called **Switch access**, **Universal switch** and many more, just search for the term **switch** after going to **System settings -\> Accessibility**. Then, follow the on-screen instructions for setting it up.
> 2 votes

---
Tags: touchscreen, external-keyboard, user-interface, input-methods, menu
---


# Question
Title: How can I have fewer, larger icons on the home screen?
I am helping an older relative transfer data to a replacement phone. Both the old and new phones are Samsung Galaxy J3 Eclipses. Here's a screenshot I took of the original phone home screen. Note the top row appears to be a width of 4 grid slots, and the next two rows have 3 apps each:

This is desirable for both the large icons and to avoid information overload. It's obviously possible, but looking through the settings I only see 4x4, 4x5 and 5x5 settings for the grid layout. How can I replicate the previous layout?

# Answer
> 2 votes
The answer is `Easy Mode`, accessible through `Settings` -\> `Display`. I had assumed that `Easy Mode` meant "hide advanced settings" but it actually means "Make big icons and use a default home screen layout".

---
Tags: home-screen, app-icons, samsung-galaxy-j3
---


# Question
Title: Activate USB tethering from the command line
I would like to activate USB tethering from within a bash script.

I've found `TetherSettings` action name from

```
aapt dump xmltree com.android.settings.apk AndroidManifest.xml | less +/ether

```

The following command open the needed settings, but don't change anything alone

```
am start -n com.android.settings/.TetherSettings

```

Is there any possibility to run a command line with `adb shell` to change it?

---

Related, but the opposite: Is it possible to disable USB tethering from command line?

# Answer
> 8 votes
If your Android version has `svc` inbuilt utility, run this command:

```
adb shell svc usb setFunctions rndis

```

This would enable USB tethering. To see what other USB functions are available, run:

```
adb shell svc usb

```

# Answer
> 20 votes
Running the following command as root should enable USB tethering:

* `service call connectivity 32 i32 1` on Ice Cream Sandwich (4.0)
* `service call connectivity 33 i32 1` on Jelly Bean (4.1 to 4.3)
* `service call connectivity 34 i32 1` on KitKat (4.4)
* `service call connectivity 30 i32 1` on Lollipop (5.0)
* `service call connectivity 31 i32 1` on Lollipop (5.1) according to an answer by Firelord
* `service call connectivity 30 i32 1` on Marshmallow (6.0), *untested*
* `service call connectivity 41 i32 1` on Samsung Marshmallow (6.0)
* `service call connectivity 33 i32 1` on Nougat (7.0)
* `service call connectivity 39 i32 1` on Samsung Nougat (7.0)

The first number you see in the commands is the `setUsbTethering()` method's number in `IConnectivityManager.aidl` (this depends on the Android version and doesn't exist on Gingerbread).

(Tip: to check this file for a particular Android version, select the appropriate branch.)

So what this command does is call `setUsbTethering()` and pass either 1 (enable USB tethering) or 0 (to disable it).

For more information, see this related question on Stack Overflow.

---

If you're enabling USB tethering as part of a USB reverse tethering setup, `setprop sys.usb.config rndis,adb` should be more than enough to get the `rndis0` interface set up.

# Answer
> 8 votes
There is a pretty bad method using `adb shell input tap`, Get the coordinates for enable tethering and substitute

```
adb shell input tap <x> <y>

```

Or navigate to enable radio using `adb shell input keyevent`. Just have a look at,

```
adb shell input

```

Again this confines to a particular device.

# Answer
> 8 votes
Try the `setprop` command below:

```
setprop sys.usb.config rndis,adb

```

# Answer
> 4 votes
this is device independent (toggles USB tethering)

```
adb shell am start -n com.android.settings/.TetherSettings &&
adb shell input keyevent 20 &&
adb shell input keyevent 20 &&
adb shell input keyevent KEYCODE_ENTER &&
sleep 2 &&
adb shell input keyevent 4

```

# Answer
> 3 votes
Modified to use windows timeout command instead of sleep, wake screen first, and only press down once. Twice down enabled wifi tethering on my phone.

```
adb shell input keyevent KEYCODE_WAKEUP && adb shell am start -n com.android.settings/.TetherSettings && adb shell input keyevent KEYCODE_DPAD_DOWN && adb shell input keyevent KEYCODE_ENTER && timeout 2 && adb shell input keyevent KEYCODE_BACK

```

# Answer
> 2 votes
The `service` method did not work for me on my Samsung device. I figured out how to do it by configuring the network interface directly, though. Here is a script that sets up a Linux machine and a USB-connected rooted Android device for USB tethering. This does not set up DNS or NAT masquerading, but is sufficient to make the device accessible at 192.168.42.129:

```
#!/bin/bash
set -euo pipefail

# Set up USB tethering for an Android device.
# Usage: adb-usb-tether [USB-VENDOR USB-PRODUCT]
# If USB vendor/product is unspecified, use first USB network interface.
# On the Android side, tethering is enabled via adb shell.

if [[ $# -eq 2 ]]
then
    any=false
    vendor=$1
    product=$2
else
    any=true
fi

function find_if() {
    local path if
    for path in /sys/class/net/*
    do
        if=$(basename "$path")
        if [[ "$(readlink "$path")" == */usb* ]]
        then
            local ifproduct ifvendor
            ifproduct=$(cat "$(realpath "$path")/../../../idProduct")
            ifvendor=$(cat "$(realpath "$path")/../../../idVendor")
            if $any || [[ "$ifproduct" == "$product" && "$ifvendor" == "$vendor" ]]
            then
                echo "Found interface: $if" 1>&2
                echo "$if"
                return
            fi
        fi
    done
}

function adb_shell() {
    adb shell "$(printf " %q" "$@")"
}

function adb_su() {
    local quoted
    quoted="$(printf " %q" "$@")"
    adb shell su -c "$(printf %q "$quoted")"
}

if=$(find_if)
if [[ -z "$if" ]]
then
    echo "Requesting interface:" 1>&2
    adb_su setprop sys.usb.config rndis,adb
    echo " >> OK" 1>&2
fi

while [[ -z "$if" ]]
do
    echo "Waiting for network device..." 1>&2
    sleep 1
    if=$(find_if)
done

while ! ( ip link | grep -qF "$if" )
do
    echo "Waiting for interface..." 1>&2
    sleep 1
done

function configure_net() {
    local name="$1"
    local if="$2"
    local ip="$3"
    local table="$4"
    local cmdq="$5" # Query command
    local cmdx="$6" # Configuration command

    if ! ( "$cmdq" ip addr show dev "$if" | grep -qF 192.168.42."$ip" )
    then
        echo "Configuring $name interface address:" 1>&2
        "$cmdx" ip addr add 192.168.42."$ip"/24 dev "$if"
        echo " >> OK" 1>&2
    fi

    if ( "$cmdq" ip addr show dev "$if" | grep -qF 'state DOWN' )
    then
        echo "Bringing $name interface up:" 1>&2
        "$cmdx" ip link set dev "$if" up
        sleep 1
        echo " >> OK" 1>&2
    fi

    if ! ( "$cmdq" ip route show table "$table" | grep -qF "192.168.42.0/24 dev $if" )
    then
        echo "Configuring $name route:" 1>&2
        "$cmdx" ip route add table "$table" 192.168.42.0/24 dev "$if"
        echo " >> OK" 1>&2
    fi
}

configure_net local  "$if"   128 main  command   sudo
configure_net device rndis0  129 local adb_shell adb_su

```

To enable forwarding (i.e. connect to the Internet from the PC via the Android device), see my question and answer here.

---
Tags: adb, settings, shell, usb-tethering
---


# Question
Title: How to disable the guest feature WITHOUT having to be the only user
How can I disable the guest acount feature on my samsung galaxy s6 WITHOUT having to delete all users (other than me, the owner) or disabling the multiuser feature completely. I want to have users other than me, but I don't want the guest account. My device **is rooted**.

I found this other question. This question is **not a dupe** because the answers to the other question do not say how to do it without requiring myself to be the only user.

(My android version is 5.0.2, and my goal is to prevent anyone with physical access from being able to log in using this guest feature, and I don't want to encrypt my device or install custom recovery)

# Answer
> 4 votes
This one works for me on Android 5.0.1 and 5.1.1

Open a terminal, grant it root access then run

```
settings put global guest_user_enabled 0

```

You don't need to add `fw.max_users=1` to your `build.prop`. It prevents more accounts from being created besides disabling guest feature. The above method only shuts off guest while leaving the "more users" option available.

---

Alternatively, if you don't need dynamically creating & deleting extra users, you can create a few before proceeding.

Add this line to your `build.prop`.

```
fw.max_users=2

```

The multi-user settings will stil be available from your Settings app, but a guest (or any extra account) is kept from being created.

# Answer
> 1 votes
I had to run :

```
adb shell settings put secure guest_user_enabled 0
adb shell settings put global guest_user_enabled 0
adb shell settings put system guest_user_enabled 0

```

I did not have to root my device, just use ADB platform-utility. Installation explanation is here.

I am under Android 9

---
Tags: root-access, samsung-galaxy-s-6, multi-user
---


# Question
Title: LineageOS 16.0, can't get tethering to work, Samsung Galaxy J5 SM-J500FN
I use 'Free' French ISP. Tethering was working previously, I made no update.

I have another device with LOS 16 that works well with tethering.

After running `dhclient usb0` from my Linux OS, I get my private IP address, `adb logcat` shows:

```
07-16 01:46:41.940  4507  4507 I dnsmasq : DHCPREQUEST(rndis0) 192.168.42.124 00:11:22:33:aa:bb·
07-16 01:46:41.941  4507  4507 I dnsmasq : DHCPNAK(rndis0) 192.168.42.124 00:11:22:33:aa:bb address in use
07-16 01:46:44.221  4507  4507 I dnsmasq : DHCPDISCOVER(rndis0) 00:11:22:33:aa:bb·
07-16 01:46:44.222  4507  4507 I dnsmasq : DHCPOFFER(rndis0) 192.168.42.119 00:11:22:33:aa:bb·
07-16 01:46:44.222  4507  4507 W dnsmasq : Ignoring domain domain.tld for DHCP host name (null)
07-16 01:46:44.224  4507  4507 I dnsmasq : DHCPREQUEST(rndis0) 192.168.42.119 00:11:22:33:aa:bb·
07-16 01:46:44.224  4507  4507 I dnsmasq : DHCPACK(rndis0) 192.168.42.119 00:11:22:33:aa:bb linuxbox

```
* from my Linux box, I can ping the Android device as well, but I can't get network access through Android
* the Android interface `rndis0` is up with ip in the same network as my Linux box.
* I have default route established to the android device as well.
* from the Android shell (via `adb`), I can ping whatever domain or IP.
* in `sysctl`, I have `net.ipv4.conf.all.forwarding = 1`

This is some errors from `dmesg`:

```
[ 910.429371] 2 init: 1] init: Received control message 'interface_start' for 'vendor.lineage.trust@1.0::IUsbRestrict/default' from pid: 230 (/system/bin/hwservicemanager)
[ 910.429463] 2 init: 1] init: Could not find service hosting interface vendor.lineage.trust@1.0::IUsbRestrict/default

```

Any clue ?

# Answer
> 1 votes
Found the issue.

Blokada app is blocking tethering. Filled a bug report

---
Tags: usb, networking, tethering, usb-tethering
---


# Question
Title: Find my mobile but on a different or second mobile
I have login or setup with my Google credentials into a different mobile. So now my profile is active in 2 different mobiles.

When I use Find My Device, only the second mobile sounds. Is there any way to select which one to find or how to select the desired mobile to find?

# Answer
> 1 votes
At the top left there are icons for each device, and you can tap on one to select a different device.

This may include older devices if you haven't removed them from your account yet, but they'll fail to work if you're not signed into the device.

For example I have a tablet listed that I no longer own and removed my account from and it eventually fails to connect with the message "Can't reach device".

Best to let the sound play for a moment before pressing the power button as it may not be detected on first press otherwise.

Note that this is a website-layout-dependent answer and the moment they change it this will be invalidated.

---
Tags: geolocation, location-services, profiles
---


# Question
Title: How can I see which location has the most reviews/ratings in a given area on Google Maps?
How can I see which location has the most reviews/ratings in a given area on the Google Maps Android application?

Using the "Top Rated" filter doesn't sort by number of reviews/ratings:

# Answer
> 11 votes
There does not seem to be any option directly in the Google Maps app to do this. However, the Google Maps API provides this information for developers.

Searching further, this website seems to provide an approximation of what you are looking for, probably using the API. You can search for top rated places in a given city, filter by place type, and also view all the places on a map.

Screenshot for reference:

---
Tags: google-maps
---


title: Enable 4x MSAA using shell/ADB

text:
# Question
Title: Enable 4x MSAA using shell/ADB
I have various Android devices, **rooted**, with version ranging from Android 4.1 to Android 6.0. I want to enable 4x MSAA using shell/ADB.

The code below is used to enable Hardware Overlay through a shell script

```
service call SurfaceFlinger 1008 i32 1

```

But is there a way to enable 4x MSAA?

# Answer
Run this command:

```
adb shell setprop debug.egl.force_msaa true

```

To disable, replace `true` with `false`.

Tested on OnePlus 6 running Android 10.
> 2 votes

---
Tags: adb, graphics
---


# Question
Title: Displaying Bluetooth gadget's battery status on the phone
I have a Bluetooth headset (BlueBuds X) which uses a battery. I want to know its battery status directly from the phone. I've looked everywhere and I cannot find a solution that isn't a scam.

Is it possible to display the battery percentage on the phone (preferably, on notification bar)?

# Answer
> 10 votes
This is possible on Android, at least on Lollipop. The feature is dependent on the Bluetooth headset sending the battery level in the right format.

If the headset supports it, you will see an option in the settings screen for the Bluetooth device. The option will be right above the check-boxes for Call and Media audio. If you don't see this option, then the headset either doesn't send battery data or it doesn't send it in the correct format.

Once the feature is enabled, you will see a fill-able icon on the left side of your notification bar. I've confirmed this using a cheap earbud set from China.

# Answer
> 5 votes
As soon as a device implements the Bluetooth Battery Service (BAS), it is able to indicate the battery status.

# Answer
> 4 votes
For some headphones, in order to see the battery percentage you have to enable the "Calls" button or something similar to that in the Bluetooth settings of the device.

# Answer
> 2 votes
Honor 20 pro - you have to enable "Calls" on bluetooth connection of the device, then the baterry shows up on status bar. "Media" checkbox is not enough :(

# Answer
> 1 votes
When using my Sony SBH80 with my Z3, I simply use the the drop down notification screen which shows battery status in hours and standby life.

# Answer
> 1 votes
With Android 8.0 (O) the fucationality has been added to AOSP XDA

# Answer
> 1 votes
On my pixel 2 Android 8.1 I connected Shuhua headphones... No UI for the headphones battery. The only way to see battery is to go to settings --\> connected devices --\> Bluetooth, then you see a battery level.

I installed BatOn app.

Disclaimer: \- not sure if these headphones support the battery level API \- there may be a way to display the Bluetooth battery without the BatOn app... But I couldn't find it.

# Answer
> 1 votes
I updated to Oreo a few days ago on my one plus 5 and to my pleasant surprise, I see that the battery status of my Bluetooth headphones is showing up. What a nice addition to have and something I was really jealous of from ios but I don't have any reason to buy an iPhone.

# Answer
> 0 votes
On Android no. Some Bluetooth devices like your headset are able to report their battery status to phone but Android unlike iOS has not implemented that functionality in core system. Some vendors like Jabra or Platonic create their apps in Play Store, which show headset battery level on phobe but JarBirds didn't.

# Answer
> 0 votes
The latest CM13 builds have added suport for this feature .. it works/acts/behave just like in iOS displaying a Little verticale bar next to the Bluetooth symbol in notificazione bar on the night. The best part, it works with my Jaybird BBX

# Answer
> 0 votes
On stock android it's impossible due security reasons, battery level messages are blocked far beyond android sdk. Cyanogenmode for instance shows battery level without any problem. But you can try 3d-party apps like Baton, which tries to fill such functionality hole.

---
Tags: bluetooth, battery-life, notification-bar, bluetooth-pairing
---


# Question
Title: Google Play Services Has stopped message continually popping up on my Samsung phone
The following message keeps appearing on my Samsung Galaxy S4 phone screen about every three seconds

"Unfortunately, Google Play Services has stopped".

Is it actually a virus or it is a problem with the Google Play Service? I have tried disabling the Google Play Service but the message keeps appearing. I have Norton Mobile running on my phone to pick up on viruses and to alert me to any possible security issues and also Lookout. They haven't picked up anything. Does anyone have any suggestions?

# Answer
**Solution 1** – Update Google Play Services to the latest version. You can download from here. You may be getting an error because you have a very outdated version or the one you have is having a conflict/bug with the current Android version in your phone.

(source: teamandroid.com)

**Solution 2** – Clear the Google Play Services cache. The Google Play Services app in your phone acts like a framework for all the Google and Google Play apps installed in your phone. You can try cleaning up its cache and see if that would fix the issue. This worked with one of our team members! Read these quick and easy steps:

Go to Settings \> Apps.
Scroll to All apps and then scroll down to “Google Play Services” app.
Open the app details and tap on the “Force stop” (see "Force stop is disabled" below) button.
Then, tap on the “Clear cache” button.

**Solution 3** \- Uninstall the updates of "Google Play Services".

As in solution 2, go to Settings \> Apps.
Scroll to All apps and then scroll down to the “Google Play Services” app.
Open the app details and:

1. Tap on the “Force stop” (see "Force stop is disabled" below) button
2. Tap on the "Disable" button
3. Tap on the three dots at the top right and select: "Uninstall updates"
4. Once the uninstallation is completed, tap on the "Enable" button

**Solution 4** – Clear the Google Services Framework cache. The Google Services Framework system app on your Android device stores information and helps your phone sync with Google servers — and keeps your Google Play Services up and running. This could be one of the reasons why you are not able to connect to Google servers using the app and keep getting the error message. Read these quick and easy steps:

Go to Settings \> Apps.
Scroll to All apps and then scroll down to “Google Services Framework” app.
Open the app details and tap on the “Force stop” button.
Then, tap on the “Clear cache” button.

**Solution 5** – Check your Internet connection. Maybe your WiFi network is blocking any of the IP addresses that Google uses. You can also try switching the WiFi on or off on your phone — same with mobile data.

**Solution 6** – This goes without saying, but maybe a simple reboot of your Android phone/tablet could fix the problem.

**Solution 7** – I hate to say this, but in the end, you might just want to install a custom ROM that is stable with no bugs.

---

**Force stop is disabled** If either the "Disable" or the "Force Stop" buttons are disabled then:

1. Go to **Settings****Device admin apps**
2. Deactivate the following apps if they are listed:
    * Find My Device
    * Google Play

(example on Android 8.0.0, Samsung Experience 9.0.0)

---

**Note:** Please, keep in mind that you may have to experiment with what apps you deactivate.

Your device admin apps list may differ. For example, you may have more or entirely different apps.

I have found that disabling the above two apps was enough for me to disable and force stop "Google Play services".
> 25 votes

# Answer
Here is the way to fix this issue: go to APKMirror, find the last Google Play service, then download and install it. That's it. If you are having any problem then just go to the *Settings → Applications → All → Google Play Store* → then *Uninstall Updates*.
> 4 votes

# Answer
I've experienced this problem also and I found out the cause of it. So when you access any Google stuff the Google Play Services are used right.

Okay, that means that each time you play around any app using those services, it s going to require your device to be awake and/or keep the device awake. For some time I have used the Privacy Guard to make a restriction for this behavior i.e. to stop the apps from keeping my phone awake, even though it's locked/asleep.

So I went to the Privacy Guard and set the setting to "Ask every time" and what do you know, it started popping like crazy.

In conclusion: when you need to use the Google Play Services - set the permission for it to "Allowed", if you don't need it - that's when you want to stop it from draining your battery like crazy, then set it to "Denied".
> 4 votes

# Answer
After some searching, I found this solution from Google Play Help (archived) and that's how I solved the problem.

> 1. Go to Settings -\> Lock screen and security -\> Other security settings -\> Device Administrators (in your version it may vary slightly)
> 2. Uncheck "Find My Device"
> 3. Go to Settings -\> Apps -\> Google Play Services
> 4. Tap the vertical ellipsis (3 vertical dots) at the top right -\> Uninstall updates
> 5. Go to Settings -\> Apps -\> Google Play
> 6. Tap the vertical ellipsis (3 vertical dots) at the top right -\> Uninstall updates
> 7. Restart phone
>
> At this point, the message "Google Play services keeps stopping" was gone. You may try now to still do
>
> 8. Open one of the Google apps (in my case Google Maps)
> 9. It complains that "Google Play services" is outdated, click the popup to update it again.
> 3 votes

# Answer
The problem is in the updates. I fixed this problem by uninstalling updates from the Google Play Services app. All my Google apps started working. I went back in and reinstalled the update and it stopped working again so that tells me it's in the update.

Go to Settings - Apps - Google Play Services. Do a force stop on the app, and clear cache and data. Check and see if your Google apps are working. If you reinstall the update, it may stop working again.
> 2 votes

# Answer
I've been having wakelock issues for the past week (OnePlus One) and today narrowed it down to googleplayservices. After some searching and reading, I went into Privacy Guard and turned permissions off for "Wake up" and "Keep Awake". My handset was again able to go to sleep after the set 15 seconds, but then that "Unfortunately, Google Play Services has stopped" error started popping up every 3 seconds in an endless loop.

I didn't connect the dots until this thread (hours later). Turned each back on separately to confirm. It's the "keep awake" that was the culpit. They're both on again, and I assume my phone will again have insomnia until whatever is wrong with the last update gets fixed.

I assume that googleplayservices needs to keep checking for something and preventing it from keeping the phone awake was causing the error loop. Maddening, but I can say from experience that that looping error is far worse than having to manually turn off the screen!
> 1 votes

---
Tags: samsung-galaxy-s-4, google-play-services
---


# Question
Title: How to gain root on BlueStacks Android emulator
BlueStacks is a popular Android emulator for Windows and macOS for gamers. It is popular, because the emulator ships with Google Play Store pre-installed and installing any games is easy. Unfortunately, the emulator file system is not rooted by default. How to root it?

# Answer
These instructions require that you understand the UNIX command line basics. The instructions work on OSX, Linux and Windows. No Microsoft Windows or BlueStacks Tweaker needed.

The emulator is internally using VirtualBox and runs Android x64 binaries (64 bit). It ships with two VirtualBox VDI disk images, `Prebundled.bdi` and `Root.vdi`. Luckily BlueStacks has left a primitive `su` binary on the disk image, so we do not need to add this binary to the image ourselves. We still need to change VirtualBox settings, though.

`adb` command can be obtained from Android Studio SDK by Google or it is also found in `/Applications/BlueStacks.app/Contents/MacOS/adb`.

Make sure that the emulator is off and turn all disks in VirtualBox configuration file to read-write. On macOS, the file can be found `~/Library/BlueStacks/Android/Android.vbox`. Make sure the emulator is not running when you edit this file.

Start the emulator.

Enable ADB bridge in the emulator settings.

Download SuperSU zip file on your local computer.

Start your ADB hacking session.

```
# This is the default port exposed by BlueStacks
adb connect localhost:5555

```

Push the zip file to the `/mnt/sdcard` of the emulated device.

```
adb push SuperSU-v2.82-201705271822.zip /mnt/sdcard

```

Then work inside the emulator shell:

```
# Start shell session in the emulator VM
adb shell

```

```
# Use the provided BlueStacks binary to switch to root
system/xbin/bstk/su

# Disable SELinux
setenforce 0

# Remount all filesystems
mount -o rw,remount,rw /
mount -o rw,remount,rw /system
mount -o rw,remount,exec,rw /storage/emulated

# Unzip SuperSU zip
cd /mnt/sdcard
mkdir supersu
cd supersu
unzip ../SuperSU-v2.82-201705271822.zip

# Extract su command and run its post-install
cp x64/su /system/xbin/su
chmod a+rwx /system/xbin/su
/system/xbin/su --install

# Start su daemon mode
/system/xbin/su --daemon

```

Now run the installer for Superuser.apk in the emulator through Media Manager.

When `su --daemon` is running SuperSU Android UI should detect the root when started:

The emulator needs to be restarted after this as it hangs. After the restart, when opening SuperSU you see it is enabled.
> 8 votes

# Answer
Mikko Ohtamaa's answer already covered the main question. However, if there are some difficulties while following it, here are some additional tips that may help:

a) If `adb connect localhost:5555` doesn't work, try `adb kill-server` and then `adb start-server`

b) Usually the .zip file SuperUser..... is a directory, if so, I suggest avoiding these steps

```
mkdir supers
cd supersu
unzip ../SuperSU-v2.82-201705271822.zip*

```

c) Try to find the `SuperUser.apk` on the internet. Then run

*Exit from `adb` and begin from the first step*

*All steps are similar but*

`adb push <SuperUser.apk just got from internet> /mnt/sdcard`

*Avoid these steps*

**#1. Unzip SuperSU zip**

```
cd /mnt/sdcard
mkdir supersu
cd supersu
unzip ../SuperSU-v2.82-201705271822.zip

```

**#2. Extract su command and run its post-install**

```
cp x64/su /system/xbin/su
chmod a+rwx /system/xbin/su
/system/xbin/su --install

```

**#Continue with the next steps**

Then run the `SuperUser.apk` you got from the internet from the step where says run `SuperUser.apk` from MediaCenter.
> 1 votes

---
Tags: rooting, bluestacks, emulators
---


# Question
Title: Is it safe for the battery to turn on the mobile data all the time?
I usually turn on my cellphone Mobile Data & WIFI all the time because I don't want to miss SMS and Emails. I'm afraid the battery could lose capacity over time if I keep turning on the Mobile Data/WiFi all the time or something might happen to my mobile. However, I believe modern electronics should be able to handle this kind of scenario. Does this apply to modern Android phones? Or do I need to continue disconnecting and connect only when needed?

*Note: I have an unlimited mobile pack.*

# Answer
> 1 votes
It all depends on your **usage requirements**

---
Tags: wi-fi, charging, battery-life, mobile-data
---


# Question
Title: What are "T Google Enrolment" and "X Google Enrolment"
In my Pixel 3 with stock ROM I can see (among other) apps called "T Google Enrolment" and "X Google Enrolment". What are these and what do they do? Can I safely disable them?

**UPDATE:** If, as alluded in an answer, these are listening for "OK Google" phrase, why are there two of them and how are they different from "OK Google enrolment"?

# Answer
To disable it:

1. Open Settings
2. Search for "OK Google"
3. Choose "OK Google Enrolment"
4. Select info
5. Push the "Force stop" button
6. Push the "Disable" button
> 1 votes

# Answer
They're used for hotword detection, e.g. continuously listening for "OK Google".
> 0 votes

---
Tags: system-apps, google-pixel-3-xl
---


# Question
Title: Unable to connect phone to pc. Phone charges only
**My phone model is Huawei G7-L11. Android version is 6.0**

Hey there, I want to connect my phone to PC to be able to unlock its bootloader. When I connect to PC, It charges only and that's it.

**What I did:**

1: I tried to connect to pc using Huawei HiSuit but that didn't worked. It does not show anything to PC or mobile as well, just charges the phone. I tried to connect another Huawei phone and that succeeded to connect to PC, But my Huawei G7 is not connecting to pc... Yes of course I turned on the USB debugging as well as allow hdb thing, I also disabled it and re-enabled it but that also didn't worked.

2: I tried to use adb to detect my phone... I typed `adb devices` as well as `fastboot devices` but that also didn't shown my devices.

**Note:** yes I know about MTP and other options, But my device is not connecting at all to PC.. It is not showing any option either. Just charges. I Installed the Huawei G7 drivers as well as snapdragon driver + universal ad drivers. I am 100% sure my USB cable is fine and I am not using any USB hub.

Please Help me... I want to unlock bootloader... Help me connect my device to PC.

# Answer
First of all, start with easy-to-solve debugging:

* Have you unlocked your phone while trying to connect to PC or did you connect with the screensaver showing?
* After unlocking, you have a tab (in most of the phones its on top) that you can show by sliding down. There, you have a notification about the connection. Have you clicked it and set it to file transfer instead of just charging?
* Try changing the USB cable.

**Note:** I know this could be answered by commenting the question but I haven't got enough reputation in this website.
> 1 votes

---
Tags: adb, fastboot, connection-issues, usb-connection-mode, android-pc
---


title: Incoming Call UI is not showing up

text:
# Question
Title: Incoming Call UI is not showing up
When i get an incoming call, the ringer rings but the incoming call UI do not show up, instead the following notification is shown in the notification area:

.

So in order to answer the call i have to open the Phone app select the 'Return to call in progress' option, see the Screenshot:

Fixed: Cleared the storage and cache of the Phone app. Now it is working fine.

# Answer
I cleared the storage and cache of the Phone app. Now it is working fine.
> 0 votes

# Answer
This happens when your hardware is finding it difficult to deliver an appropriate screen. Try rebooting and phone would be fine.
> -1 votes

---
Tags: calls, 8.0-oreo, background-process
---


# Question
Title: How to get vertical recent/overview navigation in Android 10?
I updated my OnePlus 6 to Android 10 (OxygenOS 10.3.2) recently and having a hard time to use it because of the horizontal overview navigation introduced from Android 9.

I am in want of replacing horizontal overview/recent apps navigation with vertical one (as was available till Android 8).

In Android 9, the trick for my stock ROM was to replace OnePlus launcher with an older version from Android 8 build. However, this trick doesn't work on Android 10 anymore. Neither does disabling or removing the stock OnePlus launcher. It just disables Overview functionality at my face than.

I primarily use Nova launcher. I have tried to use one or two other launchers from Play Store in the hope that they might bring vertical overview on the table, but all at vain.

So, how do I bring back vertical overview in Android 10 in OnePlus 6?

Note 1: I am only looking for answers as solutions that does the job I am asking for. Nothing else.

Note 2: the device is rooted with Magisk.

# Answer
> 3 votes
This is a workaround and *not* what the OP wants in terms of vertical recents ( I don't think it's possible for reasons mentioned at the end of answer).

(Click to enlarge)

* When you activate the gesture, it shows running apps which is far more easier way of accessing recent apps instead of multiple horizontal swipes.

(Click to enlarge)

* You are done but you need to remember to activate the gesture *but* muscle memory tells you to tap the recent icon. If you want to associate running apps drawer with tapping the recents icon, you needn't select the gesture as described above. In Gravitybox Navigation keys action → Single tap action → Custom action → Shortcuts → Xposed Edge Pro actions → running apps drawer
* Lastly, my guess as to why what OP wants cannot happen unless the OnePlus launcher is modified, somehow. You can see the launcher in the screenshot above (second row, second icon) but you don't see that using Nova recents. It's reasonable to assume that a third party launcher works with the support of OnePlus launcher and unless the base is modified, you won't get vertical apps. The trick (of installing old version of OnePlus launcher) didn't work probably because of compatibility with Android 10. If you try to freeze or uninstall OnePlus launcher, the recents key doesn't work. This further supports my theory but I haven't investigated further.

# Answer
> 0 votes
Samsung has a tool to modify the UI called Good Lock in both galaxy store and play store. Within that there is an tool called "Task Changer" that let me change the recent app list to a verticle style as before in earlier Android versions. I'm also using Nova.

---
Tags: magisk, recents-screen, android-10, oxygenos, oneplus-6
---


# Question
Title: How to run my Play Games with its correct game progress after it runs another Play Games account of the same game app?
I have this problem as a game user. I have contacted the game developer and they told me that's an issue of google instead of their game.

I have an old phone A with a Play Games account A that saved my game progress A. I have another old phone B with a Play Games account B that saved progress B.

I now have a new phone C that signed in both Google accounts A and B. When I opened the game, it loaded my game progress A, but actually, I wanted to load progress B.

Therefore I signed out my Play Games account A in the game settings inside my game, and signed in my account B. Restarted the game, but it still didn't load progress B.

So I cleared the cache and data for both Play Games, Play Store, and my game app. I uninstalled my game app. Then I switched to my account B in Play Games and installed the game app again. However, it still only ran progress A.

So I gave up to play progress B in my new phone C, and opened my game in my old phone B. Turns out my old phone B, even it only logins to Google Play account B, runs the game with progress A. None of my phone seems able to load progress B anymore now.

Does that mean my Google account A overwrite game progress A onto B? How is this even possible and how can I fix it? Ideally, I want to run progress B in my new phone C. Or, at least my old phone B runs my game progress B back again.

# Answer
Looks like the problem is finally found out. I guess it is because when my new phone downloading .dat files from the cloud, I immediately signed in account B. It was saved at the same location in my new phone as account A. The data then sent back up to the cloud. Therefore when I opened my phone B, it downloads the data back from the cloud to my account B. Lucky enough, I have backups of the .dat files somewhere else very long time ago to restore it.
> 1 votes

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


# Question
Title: ADB claims that app is not installed when uninstalling and that it is installed when installing
Gboard kept crashing when trying to open the settings, so I wanted to uninstall and reinstall it. Google Play Store kept giving me the error code 910, the advice for that was installing it with ADB.

The command

```
adb install -r /home/fabian/Downloads/com.google.android.inputmethod.latin_7.9.7.230658658-release-armeabi-v7a-26790713_minAPI21\(armeabi-v7a\)\(nodpi\)_apkmirror.com.apk

```

gives me the output

```
Failed to install /home/fabian/Downloads/com.google.android.inputmethod.latin_7.9.7.230658658-release-armeabi-v7a-26790713_minAPI21(armeabi-v7a)(nodpi)_apkmirror.com.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.google.android.inputmethod.latin without first uninstalling package running as com.android.inputmethod.latin]

```

This is weird, since with the `-r` flag it should have no problem with an app that is already installed. Apart from that, it is not installed, I checked the app list, the `/system/app` directory, as well as `/data/data`. And when I run

```
adb uninstall com.google.android.inputmethod.latin

```

, the output is:

```
Exception occurred while dumping:
java.lang.IllegalArgumentException: Unknown package: com.google.android.inputmethod.latin
    at com.android.server.pm.Settings.isOrphaned(Settings.java:4134)
    at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:18419)
    at com.android.server.pm.PackageManagerService.deletePackage(PackageManagerService.java:15836)
    at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:888)
    at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:792)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:118)
    at android.os.ShellCommand.exec(ShellCommand.java:94)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:18682)
    at android.os.Binder.shellCommand(Binder.java:468)
    at android.os.Binder.onTransact(Binder.java:367)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2387)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3150)
    at android.os.Binder.execTransact(Binder.java:565)

```

So what can I do to install GBoard again?

Fairphone 2, Android 7.1.2, "Fairphone Open", root enabled

# Answer
> 2 votes
It seems like the package wasn't properly uninstalled : This happens usually if you delete the APK from */data/app* or */system/app* or */system/priv-app* instead of uninstalling the app. That is why probably the adb uninstall command isn't working.

Maybe you can try reinstalling the app again after rebooting your phone?
Tip: If this is the only keyboard app on your phone, it would be better if you install another keyboard app just as a backup before rebooting (especially if you have a text lock screen password).

If it still doesn't work after rebooting, try uninstalling the app only for the current user and then reinstall it from the play store.

```
adb shell pm uninstall --user 0 com.google.android.inputmethod.latin

```

Also, if possible, please also share the output of this command

```
adb shell dumpsys package com.google.android.inputmethod.latin

```

(Sorry, I am a new member and do not have commenting permissions yet; that is why I have to mention it here.)

# Answer
> 0 votes
This doesn't solve the question, but I managed to work around it:

I had a backup of the app, restored that back to the system partition, then I was able to uninstall it with ADB (without `google.` in the package name) and install it again.

# Answer
> 0 votes
I solved it by:

1. `pm uninstall com.google.android.inputmethod.latin`
2. `pm uninstall com.android.inputmethod.latin`
3. Removing `<renamed-package new="com.google.android.inputmethod.latin" old="com.android.inputmethod.latin" />` from `/data/system/packages.xml`
4. Reboot

---
Tags: adb, 7.0-nougat, installation, uninstallation
---