title: Android Storage Grab

text:
# Question
Title: Android Storage Grab
I am having internal memory grab, typically eating about 3gb. Similar to this problem on a tablet Something is secretly eating up my Acer Iconia A500 internal memory and I need help finding it

However my device is a Moto X second gen. I though it might be device specific, because after a factory reset and then a reload, I find the memory grabbed sometime later, usually 3 to 5 gb.

Then I saw the same thing happen for 1gb on a Samsung tablet with some of the apps I have on the Moto X. So I am currently thinking that this is application specific. However, without a rooted device I find few tools or methods which appear to be able to help me. Hence my appeal here.

Any suggestions as to how to get to the bottom and resolve this? Loading apps one at a time could take months, until they are all loaded and the problem pops up again.

I may have to root the device, and then I will look in /data for growing subdirectories.

Addendum 1. I used another utility, DiskUsage, and saw that there was 5gb in system storage allocated. It appears that this could be something such as logs or some other cumulative data managed by the system. So it appears that I will likely have to root the device to dig deeper.

# Answer
> 0 votes
Force the reset and Grab to happen again... After it has grabbed the storage, use this command in Terminal emulator to find what has been added recently... go through them 1 by 1 ...

Also you can use Sort to Sort By Size, and locate the larger files on your Internal Storage...

```
find /storage/sdcard0/ -mmin -1 (mins)
find /storage/sdcard0/ -mtime -1 (days)

```

---
Tags: internal-storage
---


# Question
Title: Can my father's smartphone be compromised?
My father said to me that he allowed installation of apps from unknown sources when he was asked to do it to go further with something (he said that he don't remember when or what he was doing).

In android 8.0 (the version of his smartphone) we can allow third-party installation in individual apps, so I went in this tab and I saw that only Google Chrome was able to do this type of installation. So, I navigated through my father's apps and found nothing suspicious.

When I went to files, I found a folder called *didi*. Inside, a file with no extention called *psnger\_encrypted* or something like that. When I went to select the file to see details, I accidentally clicked on the file. Android said to me that it didn't find any app to open that file.

**Could a file have been executed even when Android says that message? If this file is malicious, is it possible that it was executed and so infected the phone?**

Doing some research, I found that a Chinese app called "DiDi" that have a file called "psnger" too. Also, I found a file in my father's phone called *.omega.key*, and this file is also seen in topics related to DiDi app. The fact is that I can't find this app on the phone, and **I'm looking for ways that can indicate if the phone have any malicious content**. I executed AVG, and Malwarebytes but both detected nothing. What else can I do?

# Answer
> 2 votes
The correct approach in case of a virus/malware infected device (even if it already had been clean-up by e.g. Google) is to totally erase the device (user and system data) by performing a factory reset and re-flashing the complete firmware.

Virus scanner apps are next useless on Android as they usually don't have system access. And even with system access it is still easy to hide from Antivirus software.

The main problem is that the security patches are more than one year old. Therefore a malware app could have exploited the device and installed itself into the system. Therefore there may be still active components in the system that are invisible to you and any antivirus software.

I would also not to hurry up to get the device back in a usable state. People (especially relatives) learn better not to click on everything they see when there are negative consequences.

# Answer
> 2 votes
Android is a minefield for trojans, adware and viruses. Your android phone can be compromised from the moment it comes out of the box (most of mine are) (depends generally on where purchased and what comes installed).

If you want extra visibility on your phones networking then you can download NoRoot firewall or similar and that will help you see what connections are active and give you further layer of control.

I have also found generally that antivirus apps are not particularly effective.

---
Tags: security, malware, 8.0-oreo, antivirus
---


# Question
Title: How can I factory-restore a Samsung J5 (2015) SM-500FN?
### What I have:

I have a Samsung J5 (2015) SM-500FN which ran out of storage and basically hung itself up. There is no data I want to recover, but I want to install either a stock ROM or (preferably) something else like Lineage - I just want to get a usable phone again.

### My problem:

1. I have tried to download *many* stock ROMs from reputable sources like SamMobile (for this specific phone, but trying different release dates and country codes) but every single one of those ZIPs is corrupt, even when downloading from a different computer.
2. Flashing with ODIN anyway gives a FAIL result and a device that cannot boot, not even into recovery: It gives a green screen with the text: `An error has occurred while updating the device software. Use the Emergency recovery function in the Smart Switch PC software.`
3. Ironically, the Smart Switch software just says this device is not supported. The older Kies3 software lets me enter the exact model# followed by the serial# - but then it says this device is not supported. So neither Samsung software is usable, but I can still use ODIN.
4. Even with the phone in this broken state, I can install TWRP again. So it is not completely bricked. I boot into TWRP and copy a LineageOS ZIP file to /sdcard, but when I try to install that, the TRWP console says: `E3004: This package is for device j5nlte,j5nltexx; this device is .` Note it doesn't appear to recognize that this device is indeed the model j5nlte!
5. Android.SE says that "E3004" means my TWRP is too old, but I use `twrp-3.1.1-1-j5nlte` which is currently the newest version for this phone.
6. I would also like to try a factory reset, but that requires the stock recovery which won't boot (see step 2 above).

### My question: How do I get out of this catch-22?

It seems that if I could just get around that E3004 then I would be fine. But I have found no ways to trick the installer into ignoring that error.

# Answer
A friendly forum user pointed me to this updated version of TWRP which I could install using the already installed TWRP.

After upgrading the TWRP itself, I was then able to install the ROM I wanted. Problem solved!
> 0 votes

---
Tags: samsung, twrp, lineageos, stock-rom, samsung-galaxy-j5
---


title: Push notification not working

text:
# Question
Title: Push notification not working
the problem I am having is with Push notifications in Android. In order to receive my WhatsApp notifications I need to manually launch the application, which I don't want do. I want to be able to receive my notifications at any time...

I've heard that it might be due to the Push Notification not working so, I decided to download from Google Play the app `PNF No-Root` which changed the heartbeat interval to 5 minutes (I use WLAN connection) and it didn't work at all (the same for similar apps). I tried looking for other solutions. I went to `Settings > Data Usage > WLAN > WhatsApp` to check if the Restrict background data box was unchecked, it was unchecked. I also went to `Apps > WhatsApp` to see if the box "Show Notifications" was Checked. Went to `WLAN > ADVANCED` and set "Keep WLAN on during sleep" as "Always". Finally, I launched WhatsApp and all the settings are correctly set for me to receive, but I don't. When I go to `Apps > Running > Whatsapp` it says that there is 1 Process and to Services (although it shows 1 service sometimes), `ExternalMediaManager` and `MessageService`. My device is a `Lenovo A5000` with `Android OS 4.4.2` I don't know what else to try, thanks.

# Answer
> 0 votes
Do you have any power save mode set?

Otherwise Download the app "Wifi settings" and change the DNS Server to Google and hit apply . I hope this will help

# Answer
> 0 votes
If you have any **task killer** app installed in your device, uninstall it or keep the **WhatsApp** app in the ignore list of that task killer.

---
Tags: notifications, whatsapp-messenger, push-notifications
---


# Question
Title: What does the charge counter in battery indicates?
I have used the `adb shell dumpsys battery` command on my phone. It delivers the following results (posted on the image). Most of the terms, I can understand but not the charge counter. What does it indicate and why does it decrease whenever I connect my phone to the USB cable? What is the significance of charge counter for battery?

I tried googling but cant find the answers.

# Answer
> 7 votes
I checked the Android source and the value shows your remaining battery capacity in microampere-hours.

```
BATTERY_PROPERTY_CHARGE_COUNTER
Added in API level 21

public static final int BATTERY_PROPERTY_CHARGE_COUNTER

Battery capacity in microampere-hours, as an integer.

Constant Value: 1 (0x00000001)

```

Source - Developer.Android.com

---
Tags: battery, adb
---


# Question
Title: Blocked on android phone, will my messages ever be read?
Just to keep things short, I was blocked practically everywhere by someone.

I was drunk one night and sent some very very bad messages to this person via SMS!

I am just hoping that there is no change that they'd ever read it. I've read somewhere that Android pushes the SMS messages into a separate inbox, meaning that the person can view them one day if they access that inbox?

That would kind of defeat the purpose of the blocking feature a bit. I just hope they never get read!

If anyone can give me there 2 cents that would be great. Thank you.

EDIT: The phone in question here is a motorola phone, which I assume has very little bloatware (being close to stock android).

# Answer
> 0 votes
It would entirely depend on the device, the SMS app, and its settings. For example, on Microsoft's SMS organizer app that I use, blocked SMS are stored for days before they are deleted. The same is the case for most devices. Just like they will try to notify the user that a blocked number tried to call them, some apps may show a notification that a blocked number tried to text them. The others would keep the message and not notify. The remaining few would drop the message and neither save it, nor notify.

TL;DR: It will depend on the device and the SMS app used. You cannot do anything anymore. So, just hope that they never get to see it and move on.

# Answer
> 0 votes
The simple answer is we don't know if they will ever be read. Why we don't know? Because it depends on whether the person to whom you sent the SMS decides to unblock blocked numbers or not.

When a number is blocked, the SMS are received but the messaging app (at least the standard that comes with most devices), put them in archives and doesn't alert or give notifications about them. However, they are present on the Message app. If the number is unblocked, then all those SMS will be available to read.

---
Tags: sms-blocking
---


# Question
Title: Install Google Play Services without Google Play Store
Recently, I rooted my phone for the first time and wanted to get rid of most Google apps including the Play Store. However, after seeing multiple apps didn't work correctly because of a dependency on the Google API, I decided I had to install Google Play Services again.

After installing the latest version from APK Mirror and checking I had the Google Framework installed, apps still crashed and displayed

> \[app name\] won't run without Google Play services which are not supported by your device.

This seems odd as I have Android 9 installed on a OnePlus 6.

Is this issue caused by not having the Google Play Store installed? If so, is there any way to circumvent it using another app? Would I be able to flash GApps on a stock ROM? Also, is there any risk of crashing my OS because OpenGapps would overwrite some of the current stock Google apps?

Also, for some reason, the last time I tried to remove the Play Store, I couldn't find its package in the `/system` folder. When I tried to flash GApps, it displayed that I already had Google Apps installed. Also, it output

> Error 70: insufficient memory in system partition.

# Answer
> After installing the latest version from `apkmirror`, and checking I had the Google Framework installed, apps still crashed

You can't simply get Play Services work by installing `.apk` file(s). Google Play Services (GMS) and Services Framework (GSF) need some extra privileges which normal apps don't have. That's why we flash `GApps` through custom recovery which modifies some files in `/system` partition. Other than the `.apk` files placed under `/system/app` and `/system/priv-app`, here is a minimal set of files under `/system` which are added or replaced. You can see the contents of configuration files to know more about what elevated privileges Google apps have over normal apps.

```
etc/default-permissions/default-permissions.xml
etc/default-permissions/opengapps-permissions.xml
etc/g.prop
etc/permissions/com.google.android.dialer.support.xml
etc/permissions/com.google.android.maps.xml
etc/permissions/com.google.android.media.effects.xml
etc/permissions/privapp-permissions-google.xml
etc/preferred-apps/google.xml
etc/sysconfig/dialer_experience.xml
etc/sysconfig/google-hiddenapi-package-whitelist.xml
etc/sysconfig/google.xml
etc/sysconfig/google_build.xml
etc/sysconfig/google_exclusives_enable.xml
framework/com.google.android.dialer.support.jar
framework/com.google.android.maps.jar
framework/com.google.android.media.effects.jar
lib64/libjni_latinimegoogle.so

```

> Is this issue caused by not having the Google Play Store installed?

No. Play Services should work fine even without Play Store. Play Store is a Google's privileged app that won't work without Play Services. On first boot after flashing GApps, you can uninstall Play Store. But some apps which are dependent on Play Store can break, such as which make use of License Verification or In-app Billing or possibly other things (I'm not a developer).

> Would I be able to flash GApps on a stock ROM?

Theoretically you can flash GApps to any ROM, unless the ROM is deliberately customized not to work with Google's APIs.

> the last time I tried to remove the Play Store I couldn't find its package in the /system folder.

Play Store's package name is `com.android.vending` and app name is usually `Phonesky`, installed under `/system/priv-app`. If GApps are uninstalled, Play Store can be re-installed or uninstalled anytime as a user app.

> When I tried to flash GApps, it displayed that I already had Google Apps installed

OpenGApps' installer script looks for some files `/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk` and `/system/etc/g.prop` etc. to figure out if GApps are already installed on device. You can rarely expect a stock ROM from OEM without Google Mobile Services (GMS).

> it output Error 70: insufficient memory in system partition

It's also one of installer script's pre-installation check. Check your `/system` partition what fills it, may be It's stock ROM taking all space. It's possible because they are usually full of bloatware. Remove some unnecessary system apps or move them to `/data` as user app before flashing GApps. OpenGApps Pico Package will hardly take 200-300 MBs, you can check yourself. Also consider limiting installation size using gapps-config.

> is there any risk of crashing my OS

Risk of OS crashing is raised to much higher level when you unlock your bootloader and start playing with the things you are not supposed to. But usually following proper guides, you won't get harmed. Related: Why Android devices are more brickable than PCs?

**PS:**

Android is a look but don't touch kind of Open Source project. They have very cleverly integrated their proprietary closed-source apps and services in AOSP by tying up OEM's in Compatibility Test Suite (CTS), after all it's one of their biggest revenue source <sup>(, )</sup>. Even on a custom ROM, user has to Register the device with Google in order to use GApps, as @Robert has mentioned in comment. They have left no escape way; what one would do with an Android device without Google Play services location APIs (for High Accuracy) and online Contacts backup, just to name a few.

There are a number of Google API's including `Analytics`, `Ads`, `Authentication`, `Location`, `SafetyNet`, `CloudMessaging` and many more. All core GApps (including Play Store) work in collaboration to provide access to these APIs when an app needs to. Many Google and non-Google apps are dependent on these APIs. So if you want to ensure availability of these API's on your device, but are concerned about privacy and want to get rid of Google's closed-source services, consider using microG, a FOSS project but with some limitations. There are also safe ways to access Play Store, Aurora Store is one of them.

**RELATED:**
> 3 votes

---
Tags: google-play-store, installation, google-play-services
---


# Question
Title: "Searching for GPS" in Google Maps after update
I have been using Google Maps on the same phone (LG G4, android 6.0) for about 2 years now. Now suddenly after a Google Maps update the phone has GPS issues. It can find where I am and my direction (before I input any destination) but when navigation starts, every 5 seconds or so I get a "Searching for GPS" message and it can't find where I am. Needless to say that this has made the app useless as I cannot navigate anywhere.

If I use other GPS navigation apps such as HereWeGo everything works perfectly so a GPS harware issue is not the case.

I also waited for a new update to come, hoping that it might fix the issue, but the issue persists. I have also deleted tha app's cache and also deleted and reinstalled the app. Still nothing..

What happened with that update, and how can I fix that??

UPDATE: The problem might me a hardware issue as it started doing it on Waze and HereWeGO.

# Answer
> 2 votes
You can try the following troubleshooting steps to resolve the GPS issue:

1. **Setting location to high accuracy**

On your phone or tablet, open the Settings app Settings .

* Tap Location.
* At the top, switch location on.
* Tap Mode and then High accuracy.

---

2. **Get a GPS lock and alternative NTP server**

* try getting a tool e.g TopNTP 1.1 which is highly recommended d to quickly lock the GPS position or even try calibrating using different GPS configuration profiles and choose the best one.

---

3. **Using an alternative location provider**

* You can make use of other alternative location providers e.g Unified NLP that uses alternative location backends such as GSM location backend or Wifi location service

Credits

https://forum.xda-developers.com/showthread.php?t=2198319

# Answer
> 0 votes
I had this problem in Cat S40 Android 5.1 and I found a solution for this exact problem (when I did this solution, I did not lose personal data, and my contacts and pictures, etc. were not deleted).

I went to Settings \> Apps \> Google Play Services and deleted Cache. Then, on the same screen, click on Manage space button \> click on the last button to erase all data, then reboot your phone and install all Google related updates. Make sure to re-sign in for Google backup (for me, after I rebooted the phone, it gave me a warning that I have to set the backup).

---
Tags: 6.0-marshmallow, gps, google-maps
---


# Question
Title: How to transfer the data from my current sd-card to my new sd-card?
I got my Samsung Galaxy J3 crown in December and put my previous 64 GB card in it and used it for about 4 months. Then I got a 128 GB card and put it in my phone.

I am unsure how to transfer everything from the old to the new card especially because the default download location is there. I cant find it in the settings and really need some help.

# Answer
If you have a PC and an USB SD-card reader I would do the following:

1. Unmount/eject the old SD-card (or simply power down the Android phone)
2. Place it into the USB SD-card reader and connect it to your PC
3. Copy all the files using the Explorer or a similar file manager to a folder on your hard disk
4. Eject/unmount the USB SD-card reader
5. Replace the old SD-card with the new SD-card
6. Connect the USB SD-card reader with the new SD-card inserted to your PC
7. Copy all the files from the folder on your hard disk to the new SD-card
8. Eject/unmount the USB SD-card reader
9. Place the new SD-card in your Android phone

If something goes wrong you can still switch back to your old SD-card and you can start another try.
> 0 votes

---
Tags: sd-card, data-transfer
---


title: Adoptable storage questions

text:
# Question
Title: Adoptable storage questions
I recently updated to marshmallow with cyanogenmod 13 to use the "adoptable storage" feature. I was disappointed to find out that that only some apps could be put on the adopted storage. I used link2sd in the past as 11gb of internal is insufficient for my 300 apps. However, Link2sd is broken on marshmallow, and I am limited to 11gb once again, so here are my questions:

1. Is there any way to install all apps on the SD card in android marshmallow? Eg. Method to force all apps to adoptable storage, link2sd fix, Cutsom marshmallow rom, etc. (Or am I just doing things wrong)
2. What's the point of adopting the SD as internal storage when not all apps can be moved? I really don't understand how adoptable storage helps anything.

# Answer
Fix for link2sd:

1. Download Apps2SD: All in One Tool
2. Use *Apps2SD: All in One Tool* to create Mount scripts on the second partition.
3. You can now use link2sd normally. You may need to keep *Apps2SD* if you have mount problems on boot.
4. If your linked apps disappear after booting, wait for *Apps2SD* to initialize. It will prompt you to do a soft boot. Click okay, and the second partition should be mounted after soft booting. Your apps will be restored and you can use link2sd again. (You need to do this every time you reboot)
> 2 votes

# Answer
Use partition tool to get rid of SD card corrupt error. Use exFAT file system for partition 1 for SD card to be recognized by the phone. Use ext4 file system for partition 2 for apps2sd app to link/unlink apps to SD card.

If you plan on downloading from YouTube a lot, give yourself appropriate size storage because it only recognizes SDcard recognized by your phone even if YouTube is linked to SD card by apps2sd.
> 0 votes

---
Tags: app2sd, link2sd, adoptable-storage
---


title: Cannot download through a link

text:
# Question
Title: Cannot download through a link
I have google play and app gallery (from Huawei). but whenever i need to download an app through a link it brings me directly to the Huawei Gallery and of course it is telling me the app is not available in my region. how can I solve the problem, I have a google account on my phone and the Huawei cloud account.

# Answer
Try the following:

1. Settings -\> Apps & notifications -\> Apps -\> App Gallery -\> Open by default, select "Ask every time" (or "Don't open in this app").
2. Settings -\> Apps & notifications -\> Apps -\> Google Play Store -\> Open by default, select "Always allow".

You find "play.google.com" in Other defaults or Supported links of App Gallery, remove it also (just in case).
> 0 votes

---
Tags: applications, downloading
---


title: Android for Work or Custom Rom?

text:
# Question
Title: Android for Work or Custom Rom?
We are attempting to present our progressive web application inside android for our end users who are seniors and would like to have special requirements met that I am not sure which approach we should move forward with. Help from the community would be much appreciated!

We have developed a web application that we would like to run on top of in a sort of advanced kiosk mode on an android OS in a tablet device. Additionally we need to offer our users an interface to modify their wifi settings. These are our rough requirements and wonder if we can reach them using Android for Work or if the community has recommended solutions such as if a custom ROM is necessary:

* boot into kiosk mode
* initial boot screen is branded or customizable
* remove the android header bar
* expose via our interface connectivity settings like wifi, bluetooth, and cellular data
* access to the device camera
* access to power off function
* access battery levels

My research into current EMM provider solutions on the market shows that these solutions can really do a lot with the Android OS with the Device Owner permission. We are testing one option now. I'm just not sure if this would be the right approach. Your help is appreciated.

# Answer
> 0 votes
You could try the Android Management API, it allows to manage a device the same way an EMM provider would do.

---
Tags: kiosk-mode, custom-roms, android-for-work
---


title: Android Rotation issue

text:
# Question
Title: Android Rotation issue
I am a complete noob with Android so please forgive me.

I am tasked with installing Android on a Custom Board from China. Its InsydeH20 BIOS and something called "BayTrail".

Basically, the board is installed inside a Hand Dryer (dont ask). The concept is to install an APP (which is already available), that links to a website, users can play Advertisements through the screen by creating them on the website, the playlist syncs to the app, voila ads play on the Android Board, nifty concept, in reality its a nightmare to get working.

I have tried numerous versions of Android, the App best works on 4.4 but I have it working on 7.1 Nougat.

The main issues I have are:

Teamviewer Host (needs to be installed for future support of the units. This, I have only got working on 1 version of Android (Prime OS)

Screen Orientation - this is my main issue, the screen is 1080x1920 resolution. using a screen rotation app (on Phoenix OS v1.5.0) I can get the screen to display in LANDSCAPE at 1920x108 - great, App works, screen is landscape, Teamviewer DOES NOT work, bummer!

On Prime OS - the rotation app just does not work, it sort of goes in landscape, but in portrait view? The screen is 1080x1920 across the MIDDLE of the screen, with black bars at the top and bottom. Please see this link for screen shot.

But TeamViewer works, and the unit seems more stable on Prime OS, so I think once I have the screen sorted, it will work fine, hopefully?

Things I have already tried.

**ADB Build Prop adding these lines, and rebooting - does absolutely nothing!**

```
ro.sf.hwrotation=0

```

**ADB Shell - adding these lines**

```
 1. adb shell root
 2. adb shell remount
 3. adb shell setprop persist.demo.hdmirotation portrait
 4. adb shell setprop persist.demo.hdmirotationlock false
 5. adb shell setprop persist.demo.singledisplay true
 6. adb reboot
 7. adb shell wm size 1920x1080

```

This is how I have got it to where it is now, but the thing will just not rotate and use LANDSCAPE and FULL SCREEN, like it does on Phoenix OS.

Sorry, if I have repeated myself, hopefully the screen shot will give you a better idea of where I am at, what I need.

And hopefully someone can help?

Currently running Prime OS Standard at this link -

Prime OS Link

# Answer
> 0 votes
Try setting the default offset using hwrotation= ...
HW Rotation props are not intelligent, it will not understand that by 0 you mean landscape...

You need to actually set it to a value of rotation out of 360 degrees.

So...

```
ro.sf.hwrotation=270

```

OR

```
ro.sf.hwrotation=180

```

OR

```
ro.sf.hwrotation=90

```

OR

```
ro.sf.hwrotation=0

```

If that still is not fixing the issue, then please let me know...

It is most likely being set by default.prop as part of the boot.img - Default.prop properties take priority over Build.prop properties.

---
Tags: 7.1-nougat, screen-resolution, orientation
---


title: Third Party Apps cant get wifi SSID

text:
# Question
Title: Third Party Apps cant get wifi SSID
This is the my first time asking in this SE site. I have a Xiaomi Redmi 6 Pro running MIUI custom from Xiaomi.eu. The problem is that in every app (third party apps) that uses Wifi, the SSID is not shown. It may look like nothing but I have problems with many DashCam apps that don't even connect. I know I must open an issue to the site where I got the ROM, but I don't know if its directly related to the ROM modification or is a permission that needs to be fixed. I tried to wipe completely my phone but nothing. Even after several updates, same problem. This started when I got Android P.

# Answer
> 1 votes
What you are seeing is most likely the result of an update to the Android SDK that app developers haven't addressed.

Starting in Android P, there were changes to the way apps can retrieve WiFi information.

See: https://developer.android.com/about/versions/pie/android-9.0-changes-all

> Similar restrictions also apply to the `getConnectionInfo()` method, which returns a `WifiInfo` object describing the current Wi-Fi connection. You can only use this object's methods to retrieve SSID and BSSID values if the calling app has the following permissions:
>
> * ACCESS\_FINE\_LOCATION or ACCESS\_COARSE\_LOCATION
> * ACCESS\_WIFI\_STATE
>
> Retrieving the SSID or BSSID also requires location services to be enabled on the device (under Settings \> Location).

In your device settings, double check to make sure the apps in question are granted location permissions. You can also go into app permissions and select "All Permissions" to view exactly what the app requests.

If you don't see the above permissions, plus location permission, then probably the app developer needs to issue an update to their app. Don't be afraid to contact them through their support channels and inquiry about updates - sometimes they are fairly responsive.

---
Tags: applications, wi-fi, connection-issues, xiaomi, 9.0-pie
---


title: What is directory access permission?

text:
# Question
Title: What is directory access permission?
I recently got a Android 9 phone, and I noticed a new section under special access called "directory access". It lists no apps

This wasn't present on my old Android 8.1 phone, so I'm pretty sure it's new

What is it for?

# Answer
> 3 votes
The Android permissions model has been evolving with each release. Starting in Android P, apps can request "directory access" to receive permission to access a *scoped directory* on the device.

For example, an app that requests the permission WRITE\_EXTERNAL\_STORAGE gets full access to external storage.

However, using scoped access, an app that takes and manages pictures might request access to the `Pictures` folder on your external storage device. This allows you to ensure that the app in question can read/write data to `Pictures` and not say, `Messages` (or anything else in external storage for that matter).

The API is still fairly new so I'm not surprised that you don't see any apps currently using that feature.

Android has been fine tuning access rights for apps, allowed developers (and users!) greater control over who gets access to what.

You can read more about scoped access here: https://developer.android.com/training/articles/scoped-directory-access

---
Tags: permissions, 9.0-pie
---


title: How to root a rare Android device?

text:
# Question
Title: How to root a rare Android device?
I have with me a Sharp RoBoHoN (SR-01M-W), it is an android device only sold in Asia, and there are very limited information about it on the internet and it is very hard to find outside of Japan, so I have been trying to learn as much as I can about how it works.

I have already decompiled a few of the system apps and learned some interesting things about it, but some of the things I want to do next will require root (swapping out systems apps, installing Google play store, doing a NANDroid backup, etc).

So how can I gain a root shell?

* I don't want to change anything on the device permanently / make sure anything I do is reversible, if root is gone after a restart/factory reset, that would be even better.
* I don't have the factory image.
* I am able to do a factory reset, but I don't know how to get into fastboot/recovery (It doesn't even have volume buttons).
* I have tried the DirtyCow exploit, which is able to write to run-as but it couldn't set my uid
* I know there are a few "one click root" apps out there, but they don't seems trust worthy and I want to do everything manually if possible to make sure I am not bricking it.
* It runs Android 5.0.2

# Answer
Gaining root access could potentially lead to a reverse engineering of the device to locate an exploit and/or execute an exploit that could compromise the integrity of the system..

My concerns with this are SERIOUS !

Your specific device has many Physical Capabilities being a robot fitted with a projector.

Some famous hacks in the past have targeted people in a physical way, specifically I'm referring to a hack done on a Epilepsy foundation website that caused people visiting the site to have epileptic fits.

If someone was to gain access to your device they could potentially cause harm, Real Physical Harm using the robot to perform physical actions that could directly or indirectly cause physical harm.

* Showing flashing light's from the projector to cause epileptic fits !
* Walking around and causing dangerous situations like standing at the top of stairs.
* Showing disturbing or hypnotic video using the projector.

The list goes on...

Please for the sake of your health, do not root this robot.

Haha...

However i found many ways to root that CPU Model ( Snapdragon 400 )

Please look up how to root Snapdragon 400 CPU...

KingRoot Application will work...
> 0 votes

---
Tags: rooting, 5.0-lollipop
---


title: Android status bar symbols

text:
# Question
Title: Android status bar symbols
Why has Android not made available the meaning of all the relevant status bar symbols? Why can I not find this complete list? I try to find out and post it, now Android is stopping me from doing this because I cannot find a ""TAG"" ??? What is going on?

# Answer
> 0 votes
It is mostly because status bar icons vary from OEM to OEM. Each one has a slightly modified icon set to go with their overall skin/UI. And then icons will depend a lot on the features incorporated within a device. So, developing a full list of icon sets seems like a tough task. Because you'll eventually miss at least something used on a phone. Other than that, 3rd party apps also show their icons up the status bar. And it's impossible to keep a track of each and every app.

---
Tags: 7.0-nougat
---


# Question
Title: What is the circle showing on android call screen?
What is showing on this circle in middle?

# Answer
The spot is for the contact's picture. If you have no specific picture saved for the contact, then the system will show this default dummy picture. Or in other case, if this picture is different from the default contact picture, then there's some picture added for this contact. Check the contact to see if it has an associated picture.
> 0 votes

---
Tags: samsung, stock-android, android-versions
---


# Question
Title: how can i backup wifi profiles without root?
this option isn't available in my default backup app ( huawei backup ) android 5.1

that's what Available in the default backup app

note: the managers category doesn't contain any wifi info

# Answer
If your backup app doesn't have such a category, then you cannot back it up. Even in cases where it is synced to your Google account (via the Settings \> Google \> Backup option) , it is restored only to the phone when you restore the backup while setting up as a new phone. But that will not show you the raw credentials if you're looking to use them. Do note that Google 's backup has its own flaws and this restore may not always work. If you need the raw credentials, then you will need to ask the owner of that WiFi network.
> 1 votes

---
Tags: wi-fi, root-access, 5.0-lollipop, backup, huawei
---


# Question
Title: "Converting to multimedia message" when forwarding large SMS
When I receive a large SMS and when I select "Forward" from options, it shows "Converting to multimedia message" and I'm getting charged more. Furthermore, if the person on receiving end doesn't have a multimedia phone he is not able to receive it.

I have un-rooted Samsung Galaxy 3 I5801

I don't want to convert it to Multimedia message.

# Answer
This was fixed in Froyo. Anything over 3\*160 (480 characters) will convert to an MMS prior to Froyo.

You do have a couple options.

* Use a 3rd Party Messaging App, like Handcent, for example.
* See if you are able to install this "Hack"
* Root your phone and flash a Froyo Rom
* Wait for a Froyo update from Samsung

**Edit: Some additional information**
Anything over 160 characters, technically, is no longer an SMS. The stock Messaging app, and others too, allow for "longer" messages but it is just splitting up the messages in to 160 characters. In Eclair (Android 2.1) a message will be converted to an MMS after it exceeds 480 characters. At that point, the default Messaging app will no longer split up the messages, instead it just sends it as one MMS. If you are using a 3rd party messaging application and find that you are still being charged the MMS rate, it may be that your carrier is grouping messages that come through "at the same time".
> 10 votes

# Answer
Use Handcent and change the default settings:

1. `Settings` -\> `Send message
settings`
2. `Auto-convert to MMS` \- Uncheck this
3. `Split 160` \- Set this to one of the `Split` options (I recommend `Split by word & add counter` but you may prefer a different one - I don't fully understand the differences between them all).
> 4 votes

# Answer
Rather than using Handcent, which is quite bulky, slow and doesn't really add any new features to the stock SMS application provided by Android, I recommend BigSMS.

It's a free application that provides you with a simple, yet powerful interface that allows you to send unlimited length SMS. It doesn't claim to be big or clever, it is simply a solution to this problem which the developer also appears to have encountered.

I've been using it for a couple of days and it seems to do exactly what it says. Running perfect on Xperia Arc S running 2.3
> 3 votes

# Answer
As of 2019, Samsung and Google Messaging apps convert SMS into MMS if the SMS is greater than 10 fragments. But Play Store has an open-source app called QKSMS by Moez Bhatti, which I have tested will still send as SMS even at hundreds of fragments.

But then you must check the limit of your network, and the limit of the receiving phone. For example, in my tests I could send a 127-fragment SMS over Vodafone UK's network but 128 failed, and an old Samsung Galaxy S2 phone (using its default messaging app) could receive a 120-fragment message but consistently failed with a 121-fragment message (the message is never shown). When the receiving phone was on the UK's "EE" network, I had trouble making it receive texts longer than 17 fragments, and when the sending phone was on the "O2" network I had trouble sending SMS longer than 2 fragments.
> 1 votes

---
Tags: 2.1-eclair, sms, samsung-galaxy-apollo, mms
---


# Question
Title: How to run SSH/SFTP server for multiple user logins with password authentication on Android?
I want to run an SSH server on my Android phone so that my clients (varying between 10 to 20) can easily and securely share data with me when I'm on the go, without using any third-party hosting services like email, file sharing, etc. Every user should have their own directory (enforced using SFTP's chroot) and he/she should be able to log in using his/her own password (not the key file) I provide them, optionally sharing credentials with other users if one needs to.

I didn't find any such flexible solution, especially FOSS. So I built `sshd` program from openssh source code, using `gcc-linux-aarch64` cross compiler on Ubuntu. However, when I execute it on my phone, it throws an error:

```
~# sshd -d
Privilege Separation user sshd does not exist

```

How can I add `sshd` and other users on Android? My phone is rooted.

**PS:** I'm jotting down an answer to my own question of what limitations I faced and how I have been achieving this for the past few years. Any other method - particularly a non-root solution through GUI for ease of a common user - would be appreciated.

# Answer
> 8 votes
***Note:***

* *Make sure your phone is accessible from internet as explained here.*
* *You need a rooted device.*

Android phones nowadays aren't those old low-end devices, they can run a full-featured SSH server happily. And it's an easy recipe:

* Get fully static `sshd` binary for your phone's architecture. See details below.
* Create `/etc/passwd` and `/etc/shadow`. To add a new user with password like we do on a Linux OS:

```
~# mount -o rw,remount /system; mount -o rw,remount /
~# touch /etc/passwd /etc/shadow
~# busybox adduser -D -H -h /dev/null -s /system/bin/false -u 900 sshd
~# busybox adduser -D -H -h /home/user1 -s /system/bin/sh -u 901 user1
~# toybox passwd user1
~# mkdir -p /data/home/user1/Documents /home /sdcard/home /etc/ssh
~# mount -o bind /data/home /home
~# mount -o bind /data/home /mnt/runtime/default/emulated/0/home
~# chmod 0750 /data/home/user1; chown 0.901 /data/home/user1

```

First `bind` mount is required because otherwise SFTP's `chroot` won't work with `/data`'s bad ownership. Second is to easily access shared files from `/sdcard/home`. To set non-root permissions on `/sdcard/home`, use bindfs instead.
`sshd` user is for Privilege Separation. `user1` is our first user that'll be able to login through SSH. In the same way more users can be added.
* Add required configurations to `/etc/ssh/sshd_config` (defaults suffice in most cases):

```
UsePAM no
PasswordAuthentication yes
Subsystem sftp internal-sftp
Match User user1
  ChrootDirectory /home/user1

```
* Run SSH server, may use `logwrapper` to get log in `logcat`:

```
~# ssh-keygen -A    # generate host keys on first use
~# /system/bin/sshd -4 -E /sdcard/home/.sshd.log

```

Now you can access server through SFTP / SSHFS. `SSHD` can also be run as an `init` service that's handled by Android's `init`. See this answer for explanation.

---

## DETAILS:

SSH server lets you login remotely after proper authentication. Additionally it serves sharing of files and many other resource sharing securely. But there is no concept of `Linux console login` on Android () because it boots directly to GUI. However it makes use of Discretionary Access Control (DAC) of Linux kernel which is based on UIDs / GIDs and permission mode. Every installed app is considers as a \*NIX user and is assigned a unique UID at install time. See this answer for more details on this.

**HOW USER LOGIN AND AUTHENTICATION WORK:**

Traditionally `/etc/passwd` contained *username vs. UID/GID* mapping, while *supplementary GIDs* were added to `/etc/group`. Password was also added to `/etc/passwd` which was later moved to `/etc/shadow` with the introduction of shadow password suite. Similarly `/etc/gshadow` contains *Secure Group Account Information*. These files are read by privilege granting programs such as `login`, `su`, `sshd` etc. and managed by administering programs such as `passwd` and `useradd`.

Most of these programs are part of shadow and util-linux package and their behavior is controlled by defining a number of configuration items in `/etc/login.defs`, for instance logging of different events, password expiry, environment variables etc. Also there are many files that are required or updated by these utilities, including `nologin`, `default/useradd`, `adduser.conf`, `skel/`, `shells`, `subuid`, `subgid`, `limits` files under `/etc/`, `/var/log/faillog`, `/var/log/lastlog`, `/var/run/utmp`, `/var/run/wtmp` and possibly others.

To centralize the functionality of these privilege granting and administering programs, a more sophisticated authentication mechanism PAM was introduced. Instead of directly handling the user login and authentication stuff, programs link to PAM libraries (called modules) which in turn respond accordingly depending on its configuration files mainly under `/etc/pam.d` and `/etc/security`.

Other than PAM, a complicated name resolution mechanism NSS also (a set of modules) exists on Linux distros which controls - among many other things - how `passwd`, `group`, and `shadow` databases are read depending on its configuration file `/etc/nsswitch.conf`. Both PAM and NSS can be configured to use remote database service like LDAP / NIS. And then there are centralized caching daemons like NSCD and SSSD. Working together, they complete the puzzle of user logins (identification and authentication) on Linux.

**HOW TO SETUP LOGIN ENVIRONMENT ON ANDROID:**

None of the above described configuration files and libraries exist on Android because user logins don't happen at all. But the programs built with Linux's standard libc APIs require all these files and services - including PAM - on Android too, which is near to impossible. PAM can be disabled for `sshd` by setting `UsePAM no` in `sshd_config` so that it directly reads files `/etc/passwd`, `/etc/group` and `/etc/shadow`.

PAM be gone, still we need to provide a minimal environment that meets the least requirements of login process. `ssh` binary for instance, needs `/etc/passwd` to exist necessarily because it sets `$HOME` from there to read `known_hosts`, `config` and `id_* key`. Also if host is a domain name and not an IP address, `/etc/resolv.conf` must exist with `nameserver` for DNS to work. It's a different story explained here.

So we need to create the relevant files on Android manually. Or use the non-PAM counterparts of `shadow-utils` such as `useradd` and `passwd` to update these files. We can get a minimal set of these utilities on Android, e.g. with busybox or toybox.

**RUNNING LINUX PROGRAMS ON ANDROID:**

Ideally you should write / modify the source code of a program in accordance with Android environment and then build dynamic binaries / libraries using Android's NDK and Bionic libc. But due to differences among Linux distros and Android such as in filesystem hierarchy, kernel configuration, implementation of libc and other libraries (), code written for Linux distros need heavy modification on Android, otherwise don't mind failed attempts. In case of `openssh`, see the list of modification patches in AOSP and on Termux. Two of these patches are ***no password authentication*** () and ***no multiple users*** (, ). Former was worked around on Termux by introducing new APIs in *termux-auth* (, ), but the later can't be achieved without setting up login environment on Android.

Other options is to build fully static binary with Linux's libc such as `glibc`, `musl` or `uClibc`. While it's easy to statically build small libraries, libc itself links to many other libraries. In case of glibc, all of them can't be built statically, such as dynamically-loaded modules. I'm not sure how effective `--enable-static-nss` is, but, e.g. `gconv` can't be linked statically (). So `sshd` binary must not be built with `glibc`, otherwise it won't work without NSS modules.
Also set Privilege Separation Path to some existing directory like `/data/local/tmp` and disable any other unnecessary features like `utmp`, `wtmp`, `lastlog` etc. Or you would need to create `/var` directory in `rootfs`.

**FURTHER READING:**

---
Tags: linux, ssh, remote-access, file-sharing
---


# Question
Title: How to find UID of an app installed on Android and use it as a shell user?
I am trying to find a way to determine the user name of the current shell user from within a shell / terminal on an Android device.

The Android environment that I have in `/system/bin` and `/system/xbin` does not have the unix `user` command. Overall, it appears that the concept doesn't quite exist on Android, but at least, on my rooted device, there is a user `root` and also there are groups such as `shell` and `everybody`, based on the permissions of files on the system.

The background is the following:
I want to run an `ssh` command (I installed a version of OpenSSH also) on the Android that uses a local `private key`. The key has file permissions and those are required to be restrictive by OpenSSH for good reason (the UNIX group of the file should not have permissions to access the key, only the owner).

Since I know only the user `root`, I can set the owner of the key to `root` and run `ssh` as root. However, I don't really want to run `ssh` as root.

I am issuing the shell command from within `Automate` which has that option. Apparently, it's possible to execute the command without root permissions. However, if I add the key file to the `ssh` command, it can't get access to the file that is accessible only by `root`. Thus I would like to set the owner in the UNIX file permissions of the key to the shell user used by `Automate`, but I do not know how to find out who that is.

**EDIT:**

```
~# grep automate /data/system/packages.list
com.llamalab.automate 10106 0 /data/user/0/com.llamalab.automate default:targetSdkVersion=24 3002,3003,3001

```

I assume `10106` is the UID, but is that a static value? If yes, could I add a line to `/etc/passwd` by using `adduser` command from busybox or Termux?

# Answer
> 3 votes
Android inherits from Linux the concept of `shell`, which is the core component of Linux login process. But there is no concept of `Linux console login` on Android <sup>()</sup> because it boots directly to GUI. However it makes use of Discretionary Access Control (DAC) of Linux kernel which is based on UIDs / GIDs and permission mode. Every installed app is considers as a \*NIX user and is assigned a unique UID at install time. See this answer for more details on this.
You can get UID of `Automate` app from file `/data/system/packages.list` or by executing `id -u` from within app:

```
~# awk '/^com.llamalab.automate/ {print $2}' /data/system/packages.list
10106

```

Since you want a remote login from local machine using a `ssh` binary (built from standard Linux source) which is to be executed by `Automate` app i.e. with UID 10106, the `key` file must also be owned by UID 10106. The only place on device which is owned by UID 10106 is the directory `/data/data/com.llamalab.automate`, so this should be set as `$HOME` for `ssh` and where the `key` should be placed under directory `.ssh` owned by UID/GID 10106:

```
~# mkdir /data/data/com.llamalab.automate/.ssh
~# ssh-keygen -f /data/data/com.llamalab.automate/.ssh/id_rsa
~# chmod 0700 /data/data/com.llamalab.automate/.ssh
~# chown -R 10106.10106 /data/data/com.llamalab.automate/.ssh

```

Create file `/etc/passwd` with a single line: `user:x:10106:10106::/data/data/com.llamalab.automate:/system/bin/sh` where `user` is any username of your choice. You can also use `adduser`:

```
~# touch /etc/passwd
~# busybox adduser -D -H -h /data/data/com.llamalab.automate -s /system/bin/sh -u 10106 user

```

Also add `-o StrictHostKeyChecking=no` to `ssh` command so that new server is added to `known_hosts` without user interaction.

However if the `ssh` binary is built specifically for Android to be used with an app, it must have its `$HOME` already hard-coded which can't be changed using `/etc/passwd`. In this case you can try something like `ssh -i <path/to/key> -o UserKnownHostsFile=<path/to/known_hosts> <user>@<IP>`. Permissions must be set and both paths must be accessible by executing app.

**PS:**

Please note that UID 10106 must be member of group `aid_inet` (GID 3003) for `ssh` to be able to make connections. All apps with `android.permission.INTERNET` are member of this group. Or you can add a line to `/etc/group`: `internet:x:3003:user`. Or using `addgroup`:

```
~# touch /etc/group
~# busybox addgroup -g 3003 internet
~# busybox addgroup user internet

```

However this is useful only for programs which perform login (`setgroups()`) like `su`, `sshd` etc.

For more details on how Android lacks Linux's login mechanism, see this answer.

---
Tags: file-system, shell, terminal, ssh
---


title: How to enter second phone for contact?

text:
# Question
Title: How to enter second phone for contact?
Just got Oreo and I can only enter 1 phone number in contacts, how can I get it to record mobile and office?

# Answer
The Contacts app usually contains at least two types of contacts: Contacts stored locally on the phone and those stored on your SIM card.

Local contacts have a large variety of fields and attributes you can set. However if you select a contact from your SIM card you are limited to one phone number and one name per contact entry. This is limited by the SIM card.

Therefore you should make sure you are not creating/editing contacts stored on your SIM card.
> 1 votes

---
Tags: contacts
---


# Question
Title: Can I uninstall security updates for rooting?
I want to root my Samsung device, but previously, I have installed some updates. From what I know, successful rooting depends on security bugs in the firmware:

> The process of rooting varies widely by device, but usually includes exploiting one or more security bugs in the firmware of (i.e., in the version of the Android OS installed on) the device.

But security updates are intended to fix security bugs and thus can prevent rooting or make it harder to perform. Is there a way to uninstall security updates to increase the probability of successful rooting?

Update:
Some information about my device:

```
Android Version: 5.1.1
Device Name: Samsung Galaxy J1 (2016)
Kernel Version: 3.10.9

```

# Answer
What Updates did you previously install ?
What Android Version are you on ?
What Device are you using ?

Samsung has a feature called Knox that is literally the fort knox of Androids, Root abilities on Samsung device's are rare.

For your device, someone may have a specific method of unlocking the bootloader or even using ODIN to flash a pre-rooted firmware.

For a successful root, it mainly comes down to...

* Android Version
* Device Lock Status
* CPU Model
* OTA Updates installed

Each area can stop you from getting a successful root.

The usual method for Samsung device's is to use Odin and flash a custom recovery, then from that you would install SuperSU or Magisk.zip files.

I need more information to help you any further.

> Notes : Samsung devices will not allow you to use some feature's on a rooted device... It is why many Samsung owners end up using custom firmware like Lineage ( A.k.a CyanogenMod )
> 0 votes

# Answer
***Here are some notes before you start :***

You may need to enable OEM unlock in the developer settings

> THIS WILL SET KNOX TO 1
> I am not responsible for voiding your warranty with this, it's your choice.

---

**OK So to root....**

> 1. Download the PC USB drivers for your Phone
> 2. Download TWRP
> download : extracted twrp.img ( not a mirror )
> TWRP 2.8.7.0 from XDA Extracted to .img
> 3. Download Odin 3
> Odin 3.13.zip file download
> 4. Turn off your phone
> 5. Boot into download mode
> (Power + VOL down + Home)
> 6. In menu select continue
> (VOL up)
> 7. Now connect your phone to your PC
> 8. Open Odin.
> Make sure your device is recognized.
> 9. Click PDA on older Odin versions or AP on newer versions
> 10. Find TWRP
> 11. Click start and wait until it's done.
> 12. Reboot into recovery and have fun.

reference : TWRP 2.8.7.0 - XDA Samsung Galaxy J1

---

**After flashing TWRP**

* Download SuperSU.zip
SuperSU 2.8+.zip
* Place the SuperSU file on SD Card.
* Place the SD Card into the device.
* Reboot into TWRP 2.8+
* Flash SuperSU to gain root access.

---

**Want Full Root ?** ( not systemless )

* USE TWRP's inbuilt SuperSU installer to start with
* Then install SuperSU 2.8+ Zip file to force System Mode root.

---

**If this TWRP recovery is not for your model, please find the correct model and use the same guide, the process is the same.**
> 0 votes

---
Tags: rooting, samsung, updates
---


title: What does this sms mean( >4 157>?0A=>)

text:
# Question
Title: What does this sms mean( >4 157>?0A=>)
I'm not sure if this is android related but can't find anything on this,

I keep on getting a sms with the message(\>4 157\>?0A=\>). Does anyone know what this error is?

edit: I live in South Africa, I get that messages from different numbers that I believe to be a part of a service people use to send out messages. I have seen the same message from the same number I have received an EA login code.

I use a Samsung note 4, Android version 6.0.1

# Answer
> 1 votes
If someone has made malware and have installed it in your phone this message can mean anything. I can't see any other reason for someone to send such a strange SMS. It may be an alternative of a C&C server. Don't respond to it as it may be some kind of scam and charge you but if I were you I would run a malware scan.

# Answer
> 1 votes
It could be related to many things on Android, but most likely it is one of two things based on the nature of it's content.

* SMS Remote Control Message
Malicious applications can receive command messages and do specific actions based on that command, it may be an application that is being controlled via SMS command...

> Back before Android 5.0 day's, SMS Message's could be easily hidden from the user and malware like this was reasonably hard to identify, as you wouldn't even see the outgoing or incoming message's...
> This can still be achieved, however the constant permission acceptance and the new Default SMS App selection in Settings make it a lot harder to perform tasks in the background, hence the visible command message.

* Zero SMS / Flash SMS It is also possible that someone is attempting to send you a Hidden SMS called a Flash Zero SMS.

> Flash Zero SMS Message's can be uses to see if your device is active buy using SMS Received Replys, but not allow you to see the message on your end ( usually ).
> Sometimes the Flash Zero SMS's PayLoad is not correctly formatted and you'll actually See the message being received. SMS PayLoads have a lot of power on any Mobile Phone, some Pay Loads can program your devices APN for example, Some can configure internet access settings, some can initiate a hidden call to monitor your device, please look into SS7 security protocol to understand more.

The Android version you are using will help to identify the source & help to understand what might be vulnerable.

You should use some sort of Online search engine to find out more information about the number, or even try calling it !

---
Tags: sms
---


# Question
Title: How to take screenshot, when app does not allow to do it?
My education app does not app me to take screenshot when I play video on it. So can you please tell me , there is any to take out the screenshot.

# Answer
> 0 votes
Without changing the Screenshot Security, a solution would be Video Frame Grabbers ... I use PhotoEditor GooglePlay Link

Steps to grab that Video Frame ( Screenshot )

* Open Photo Editor App

* Go To Tools

* Go To Video Capture

* Open The Video

* Capture Frame

If it is a protected video from Google Play or online, you need to use a different method.

* Online

> ADM ( Advanced Download Manager )

* Google Play

> Requires root access to pull the video from /data/data/

---
Tags: screenshots
---


# Question
Title: Can't Install BOTIM android application in Oreo
I have Moto G5 with android Oreo OS, I am trying to install BOTIM application from play store, play store able to download it, but it gives error during installation (Can't install BOTIM app). Even I have tried to clear the play store cache and app data with multiple restarts, still I am facing the issue. Also I tried to uninstall the Play Store updates and made Play Store as factory version, this doesn't workout either.

Pls suggest.

# Answer
> 0 votes
I have identified the issue. I mounted the SD card as Internal memory. Due to this the app (Not only this app, even ) failed to install in to memory. I remounted SD card as portable storage, then i am able to download and install the app.

---
Tags: applications, google-play-store, motorola-moto-g, 8.0-oreo, video-calling
---


# Question
Title: How does game guardian collects data from?
I have a rooted android phone, I just only wanted to know how to get apps Variable values by using the android shell.

# Answer
> 0 votes
It works by scanning the /data/data/com.example.app/ database file's...

* You select the game, or it grabbs the active application from running applications.
* It uses the selected package name like so ...

grep (options) "/data/data/"+com.example.app+"/\*.dbs"

It searches the text of all (.\*) databases and sometimes other files like configuration files..

If multiple of the number you are searching for is found, then it will ask you to change the number ( buy something - Make your money value change ) Now it will check the lines in the dstabase that it found the first search at, and look for difference's...

So lets say you had 100 dollars in-game ... Your initial search for 100 gives 5 results in various places...

You buy something and your value changes to say 95..

The app uses a grep or similar command to search the 5 initial results and see what has changed to 95 .... When it locates the line responsible for the 100 to 95 change, it has located your Money Value in the game databases .... Now you can manipulate that line to say 1,000,000 ... When you restart the game, you'll have the additional money ...

This is a very old form of game hacking and these days, you can just buy the money from Google Play without paying anything by using an Intent Override...

The game asks you to complete the purchase in Google Play, Instead you can intercept the request and automatically accept the payment as-if it was successful...

If you are interested in that avenue, have a look at LuckyPatcher.apk ... I will not provide a link due to the nature of the application, you'll need to find that yourself.

---
Tags: rooting, shell, ram
---


# Question
Title: Does Android keep deleted photos and images from the phone?
I heard from a friend that android phones can trace deleted photos and images and videos back even after deleting. Is that true?

If so, how can it keep things there unseen until a technician finds out in service centre?

Thanks in advance.

# Answer
> 0 votes
It is very basic when you try to understand the current digital storage techniques.

Deletion is not actually deletion on any OS, it would be far to demanding on the CPU if a full change from 1 to 0 was made on every single sector, therefore the computer just registers the area as reusable..

The next operation to copy onto that area will technically do the deletion ( sort of )

---

Think in all 1's & 0's with me for a second here \>\_\<

Let's just say hypothetically your image looked like this in binary ( computer language )

```
1001001001001001001001001

```

To erase the image, your CPU would need to write 0 over all the sectors ( Secure Delete )... Let's say that each change from either a 1 or a 0 to a 0 will take 1 second... that's 25 seconds to delete that image..

Now let's look at how a computer handles this consumption...

Instead of taking 25 seconds to write nothing over the sectors, it could just mark these sectors as writeable...

Instead of 25 seconds to wite nothing + 25 seconds to wite a new same size file to the same area... It could just skip the first write ( 25 seconds ) and half the time by just overwriting instead of rewriting...

A full ( Double Cycle ) rewrite would consume twice the CPU for every single delete and write...

Therefore, computers do not "DELETE" so-to-speak.

The idea is all based on older Computers, The founding machines if you want ..

The founding machines are alot slower than modern computers and maybe some time soon this will be addressed...

To, Un Delete is not to UnDelete, As Delete is not to Delete...

Un Deleting is marking that area on the storage as Used again.. Meaning the computer knows the file exisrs their and it is not replaceable.

...

Dispite all of this, Android ( since 5.0+ ) now actually keeps your picture's in a hidden folder after deleting, you don't need to do a Sector Scan to find the files marked for replacement... Instead you can see the deleted image's very easily...

This is partly in my opinion due to Law Enforcement Agencies wanting easier access to deleted photos for the obvious reasons...

Ok so want to test what is findable on your phone ?

Run this program called Disk Digger from Google Play... Disk Digger - Photo Edition Non Root (folder scan) - FREE

Disk Digger - Root ( full sector scan ) - PAID

---
Tags: privacy
---


title: How does rooting and unrooting work?

text:
# Question
Title: How does rooting and unrooting work?
How does rooting work?

What kind of code/programs the manufacturers don't want to install in the phones (so that people have to root)? Why?

Can it be unrooted too?

Thanks in advance.

# Answer
Question is very vague.

Root access is access to the root system of the device, usually the user is restricted to an environment that only allows reading of the system, and other data that is needed or added is added to the partition called Data.

Access to the root system allows modifications of system files, and sometimes root applications require root access to do this.

However Android is literally running on Linux, and linux has many ways to change your id to root, once you've obtained root permissions and a root id, you can modify system files to allow root access through a program like SuperSU.

Root access allows adding & removing or ( RW Read Write permission to the system.

Is it dangerous, well yes it can be...

For example.... Access to the system allows you to install system applications that can't be uninstalled, if a malicious application or hacker managed to install a virus, spyware or malware.. you would not be able to remove it without completely reinstalling the system.

Why do manufacturer's stop root access ?
It can be dangerous to require root access as i just mentioned, and it also allows users access to area's that they're not allowed to access like the Data partition...

Accessing each partition comes with separate risks and root access means access to everything.

People can pull song's and videos from applications that would otherwise be protected in the data partition for example.

..

---

Can it be unrooted too ?
Yes, however any modifications made to the system will be permanently applied... Factory reset will not reinstall the system like on Windows... Instead it just erases the Data partition to start from fresh.

This means once the root access has compromised your system integrity.. it is just that, compromised.

However you can reinstall the entire system firmware by using a custom recovery or program on a PC.
> 0 votes

---
Tags: rooting, unrooting
---


title: Android Studios Adb server problems

text:
# Question
Title: Android Studios Adb server problems
I formatted the desktop and i'm try to install the Android Studios version 3.2.1 installation setup was completed but when try to run the project .It show error log like this Unable to detect adb version, adb output:I try to install the SDK manager manually. i try to update the tool with stable latest version 3.3.2 when run this project again show like this . So kindly help out from this issuse

# Answer
Hardly It takes 2 days to find the answer and fixed.

**Error Reasons happened for me**

\**OS some .dll files missing\*

\*Os get erupted\**

I faced this type of error in my PC .So check and download the images file properly and install it.

Now i currently working on the Android studios for the project. I do no the exact reason for the error . But tired this way to Solve this error .

If you want to install the Android studios you have to check the **Android Debug-Bridge** is running or not .

It has two methods

**Method 1:**

ABD is part of the Android SDK and is made up of three components: **a client, a daemon, and a server.** Daemon is the server establishing the bridge for Emulator and USB type . You have to download the Latest SDK manager from the **developer.android.com** in that there is a folder called **platform-tools** go inside the folder and see the **adb.exe file.**
Now open the Command prompt and make the directory where the SDk manager you download.

**Example** refer the screenshot below

D:cd sdk-tools-windows-4333796\platform-tools(this example)

then u see like this

D:\sdk-tools-windows-4333796\platform-tools\>

then u check for the ADB server is running or not

D:\sdk-tools-windows-4333796\platform-tools\> adb start-server (enter into cmd prompt just hit enter)

after few second it will be display i like this

* daemon not running; starting now at tcp:5037
* daemon started successfully

above message say about the server is starting .

simply go to the **Task manager** in the you able to see the **adb.exe** in the process

then Install the Android studios it will work fine.

**Method 2:**

Directly you install the Android Studios .After the completion of installation process.

Go to the terminal inside the Android studios just type the command adb start-server

After few second it will be display i like this

* daemon not running; starting now at tcp:5037
* daemon started successfully
> 0 votes

---
Tags: adb, java
---


# Question
Title: Adjust volume with Android Terminal Emulator command?
My volume up/down buttons do not work, and it's also a European phone that cannot change the volume until you agree to the high volume message. The thing is that from options this message does not appear you have to use the physical buttons, agree and then the volume will go up. Im playing around and I was wondering if I can use a command on the Terminal emulator to adjust the volume up and down?

Phone is rooted, thanks.

# Answer
> 4 votes
Use the following commands to change the volume from Android Terminal emulator (or other terminal emulator apps):

Volume Up:

```
input keyevent 24

```

Volume Down:

```
input keyevent 25

```

In case pressing the volume key once shows the current volume, you can input the command twice to increase/decrease the volume

```
input keyevent 25; input keyevent 25

```

Toggle Mute/Unmute

```
input keyevent 164

```

---
Tags: android-emulator, volume-control
---


title: Tell TWRP to decrypt for ota

text:
# Question
Title: Tell TWRP to decrypt for ota
Old versions of TWRP would prompt for the password to decrypt the phone prior to performing an ota, however new versions are able to apply otas without requiring decryption. This is great in practise but does mean that magisk is removed by the ota (when decrypted it would run some scripts after the ota installed, this doesn't happen when the phone is still encrypted) Is there anyway to tell TWRP I want it to always decrypt the phone?

Edit: the feature was added in twrp 3.2.2)

Running Lineage 15.1 and magisk v18.0 on a op3t

# Answer
> 0 votes
There doesn't currently seem to be a way to tell TWRP to decrypt /data before an OTA. As you've said, this prevents the Magisk addon.d script to work, since the main part of that script itself resides in the /data partition. (But it also seems to require other things from the /data partition, so we can't just move it).

### Here's a workaround:

Since you're on LineageOS, you can install your OTA update manually in TWRP, after decrypting. First download (not install) the OTA in the LineageOS updater. Then reboot to recovery manually and select the OTA zip from `/data/lineageos_updates`.

It's a bit more cumbersome than automatic-recovery-OTA, but at least it doesn't require `adb` or manually downloading the zip to your internal storage, where it is writable by any app with Storage permission...

---
Tags: twrp, encryption, magisk
---


# Question
Title: Getting "Unfortunately, the process com.android.phone has stopped" on Yuntab K17 tablet
My daughter has a Yuntab K17 tablet with Android OS 5.1, all of a sudden started popping the error message:

> Unfortunately, the process com.android.phone has stopped.

This tablet has a place to insert two SIM cards, however, we've never done that. It's strictly used by her for light gaming and watching videos on YouTube. She was watching a YouTube video when the error message first appeared. She hadn't installed anything new on the tablet in several days. As soon as you hit the "OK" button on the error message, it immediately reappears.

I've spent a combined 6 hours wading through countless articles on the web trying to find a solution and have yet to come across one that works:

* I wiped the cache partition
* I've done the factory reset multiple times after backing up all her files on an SD card. I'm assuming doing the factory reset would negate the need to clear caches and data of the various apps (phone, SIM toolkit, etc) which I've seen suggested
* I've turned off auto update timezone, and switched it to 24-hour time format
* I performed the root recovery check (before and after the factory reset) and it said (both times): "Error: found 1 modified files system check FAIL!!"

and done just about every other thing I've seen in multiple articles and help threads. As I said, ABSOLUTELY none of the suggestions I've read have worked.

I'll include the info below in case it is helpful somehow. I am admittedly an extreme novice when it comes to anything other than basic usage of the Android operating systems:

About Tablet info: Android version 5.1
Android security patch level: 2017-03-05
Baseband version: unknown
Kernel version: 3.1.72+ BUILDSERVER@BUILDSERVER6 #1 Tue Jul 11 18 18:04 CST 2017
Build number: k17 vkb0433\_20170711 Custom
Build version: vkb0433

# Answer
> 0 votes
First method involves clearing cache of Phone Dialer and Contacts app, then rebooting your tablet. This fixed the problem for me too. If this fails, try the second method which involves flashing the Stock ROM. You can find it through Google using your phone's model number, and you can also see tutorials on YouTube as to how to flash that ROM in your tablet, and XDA Developers gives you best solution.

If none of the method works, send your tablet to your OEM's service center but your tablet should not be rooted when sending to their service center because rooting voids the warranty and the personnel at the service center would be unable to flash or fix the problems.

# Answer
> 0 votes
An idea is to disable the current Phone app.

I'm supposing here you can handle ADB commands safely. If you have any queries, you can ask, don't end up bricking your device.

1. From the command prompt, type

```
adb shell
su

```

(not sure if your device is rooted, but it is required. Look up for rooting guides)
2. To confirm the package name, type

```
pm list packages  | grep 'phone'

```

which `package:com.android.phone` should appear
3. To disable it, type

```
pm disable package:com.android.phone

```

If it was a success, type

```
pm list packages d

```

and check if `package:com.android.phone` is listed
4. Reboot your device and install Google's Phone app from your favourite app store.

Let me know if there are any issues.

---
Tags: tablet, system-error
---


# Question
Title: How to SCP files from a PC to storage in Termux
I can scp files from my Linux server to Termux directory on my Android smartphone but Termux directory is not accessible through file explorer. What exactly should be the destination path for scp so that it places the file in the storage, say in the `Download` directory which is accessible through the file explorer.

# Answer
> 2 votes
By design Android won't allow any other app to access Termux's data directory: `/data/data/com.termux/files/home`. However you can `scp` directly to SD card after granting `WRITE_EXTERNAL_STORAGE` permission.

As referenced in Termux wiki:

> It is necessary to grant storage permission for Termux on Android 6 and higher. Use 'Settings\>Apps\>Termux\>Permissions\>Storage' and set to true.

Now to copy files to Download directory:

```
~$ scp <file_name> <phone_IP>:/sdcard/Download/

```

**RELATED:** How to run SSH/SFTP server for multiple user logins with password authentication on Android?

---
Tags: external-sd, file-transfer, ssh, termux
---


# Question
Title: Is there a way to add a web shortcut to the home tab?
While its fairly easy to add a web bookmark shortcut to the home screen on most android systems, there doesn't seem to be a way to do this on the amazon kindle fire. Usually chrome or firefox is used to create the link on other android systems, but the Silk web browser doesn't seem to have this capability. I don't think its possible to install chrome or firefox on a kindle fire out-of-the-box without doing some fancy editing.

**What's the simplest way to add a web link to the home page of an amazon kindle fire?** Is it even possible?

Preferable I want to avoid doing any kind of jail break on the phone as possible and I'd also like to avoid installing any non-free, invasive apps if possible.

# Answer
> 3 votes
Downloading Chome does not fix this problem. There is still no option to add a bookmark to the home screen. I'm looking at the Fire tablet, next to my Galaxy, both in Chrome. The option in just plain nonexistent on the Fire

# Answer
> 2 votes
**Option 1.** To add a web shortcut to the home screen, save a webpage as a bookmark, then go to your bookmarks, press and hold the one you want, and select 'add to home screen' (I'm not sure this works for newer Kindles, though)

**Option 2.** Download chrome browser. This process is very simple, and doesn't require root, or any code.

**First, allow downloads from 'unknown sources'**

From the Fire, go to: “Settings” \> “Security” \> “Apps From Unknown Sources” \> “On“.

**Then, download the chrome APK** from apkmirror.

Open the Silk browser on your Kindle and go to http://www.apkmirror.com/apk/google-inc/chrome/. Select the download icon next to the version you wish to download. It should download right to the memory of your device. Open the notification area (top bar). It should show that the .APK file is downloading. Tap it once the download has finished. Select “Install“.

(Source)

# Answer
> 1 votes
I just tried doing this with Firefox, and got the same result as Mark Rogers: Page \> Add page shortcut takes you from your Firefox page to the Fire home screen, but does not add a shortcut there. As of November 30, 2018, Chrome doesn’t have a menu choice that would let you add a shortcut. The Silk browser now moves selected bookmarks to your favorites folder on its home tab, will not put them on the home screen. So, no way so far.

# Answer
> 1 votes
You can get bookmarks on by adding a widget. But, to add widgets, you need to install a new launcher. https://teleread.org/2018/07/07/how-to-install-a-new-launcher-on-amazons-fire-tablet/ describes how to change the launcher to the familiar google now launcher. After you do that, you can long press on the home screen to add widgets. There is a Silk widget which show bookmarks on the home screen. Not exactly simple. But having the launcher and the Play store are nice for other reasons also.

---
Tags: amazon-kindle-fire
---


# Question
Title: Automatically adjust ringtone volume Marshmallow
Some time ago (Android 4.1) I used to use Llama app to automatically adjust the ringer volume and dim the screen when my phone connected my work WiFi. That was a fantastic functionality.

I've just got a Bluboo Picasso 4G (Android 6.0) and want the same.

Llama is not able to change the volume nor brightness anymore. I tried Automate app (newer solution from Llama's author), and it has the ability to choose one of the predefined profiles: *silent*, *vibrate*, *normal*, but it cannot switch to an user-defined profile (only the standard three are available; trying to use variables do not take any effect).

Now I'm testing PhoneProfilesPlus (3.5.0.6) and this seems not to work as well.

Does anyone know a working solution? **All I need is: set some not-very-loud ringtone and dim the screen when connected to my office WiFi, and revert once disconnected.**

# Answer
It still possible with Automate to dim the screen and change the volume.

1. In the Connectivity section, select "Wi-Fi connected". Click on it, enter the Network Name (or click on `Pick network` to select a Network (the WiFi must be on, if not the list will be empty)). Click Done.
2. In the Settings section, select "Screen brightness set". Click on it, enter the Brightness level (expressed in percentage). Click Done.
3. In the Camera & Sound section, select "Audio volume set". Click on it, enter the Volume level (expressed in percentage), then in `Audio Stream`, select `Ring` (`System` is for system-wide sounds). Click Done.
4. Steps 2 and 3 parameters are for when the phone is connected to a selected Wifi network. Repeat steps 2 and 3, but change the parameter to reflect brightness and volume values when the phone is disconnected from the selected Wifi network.
5. Link the blocks as seen on the picture below. Save the flow and give it a name. Give the appropriate permissions (some maybe installed). Click Start.
6. Optional - If you want, the flow to run at boot, in the settings, select `Run on system startup`
> 0 votes

---
Tags: 6.0-marshmallow, settings, automation, volume-control
---


title: What do options on this error mean?

text:
# Question
Title: What do options on this error mean?
I have Acer E39 phone (Android 4.4.2) that has 3 SIM. Today, when turned on, it didn't start normally but instead, I got the following options.

What does each of the options mean?

**How do I debug further what the issue is?**

# Answer
What you see is the "Factory diagnosis menu". It is not designed to be used by end-users therefore it is mostly in Chinese.

If you have second phone you can use Google Translator app to translate the Chinese entries to your language (use translation via photo/picture).

I am not exactly sure how to enter it (my mother managed to enter it one time accidentally on a tablet). I assume that there is a certain combination of hardware keys that have to be pressed at boot time to enter it.

Usually the last Chinese menu entry means "reboot" or "shutdown". This allows you to exit this diagnose system. You should be able to select the entry using the volume up/down keys and the press the power key to select.

Once the device has rebooted the regular Android operating system should boot. If not your device may be affected by a hardware defect.
> 1 votes

---
Tags: 4.4-kitkat, boot
---


title: Allow 720p videos on YouTube app

text:
# Question
Title: Allow 720p videos on YouTube app
My device is Atrix 2 with resolution of 960x540, but YouTube app only gives me options for 144p, 240p and 360p, which are not really "quality". How can I watch 720p videos on YouTube on my device?

# Answer
Your screen resolution being 960\*540 is not meant to play 720p videos because the resolution is lower. That's why the Youtube app detects the device resolution and does not show higher video qualities. The maximum video quality that the Youtube app will show for your device is 480p.

```
720p = 1280*720

```

However, you could use YouTube Vanced. It is a modded version that offers more features than the official Youtube app such as:

> * Override Maximal Resolution
> * Preferred Speed and Resolution

For rooted phones, L Tweaks, an Xposed module, allows to set video qualities up to 4320p.
> 2 votes

---
Tags: youtube
---


# Question
Title: How to watch videos in 144p, 240p, 360p, 480p, 720p on YouTube app?
While watching videos in browser it shows me options of 144p, 240p, 360p, 480p, 720p and so on. But on YouTube app for Android I only see option of HD/HQ (I assume its High Definition / High Quality).

How can I watch videos in 144p, 240p, 360p, 480p, 720p on YouTube app?

# Answer
> 1 votes
You can't. Those quality settings only apply to the desktop version. Mobile apps use a different set of videos, which are already optimized for mobile devices, and have two different quality settings, regular and HD.

# Answer
> 2 votes
The years have passed since the OP asked the question. Since then things have changed. It is possible to select the quality of the video.

When playing a video, click the 3-dot on the right top corner. Select Quality, then choose the video quality.

***Note:*** Some video qualities will not be shown if your device can't handle them.

# Answer
> 0 votes
I just found a modified version of the official YouTube version 4 app, it has an option to let you choose the preferred quality

Official XDA threab, credits goes to xda member Osama Ghareeb

Please note that this app is built on the fourth version of the official app and the latest version is 5.

---
Tags: 4.2-jelly-bean, youtube, video-streaming
---


# Question
Title: Does mobile hotspot have security vulnerabilities in older phones?
I want to use my Samsung Galaxy Trend Plus as a mobile hotspot, for my laptop. I have installed a custom ROM on the phone -- Official Lineage OS 14.1. There are no security updates for this OS. Does this mean that the mobile hotspot connection is unsafe, or is the Wi-Fi security independent of the OS? Does it matter, as long as my laptop's OS is up to date and using a VPN?

# Answer
> 4 votes
Android releases frequent Security Bulletins to address a number of vulnerabilities at operating system and hardware level. So as a thumb rule, the newer the better and safer. But if you just want to use hotspot, it's not very hard to enforce the basic security measures.

Using as hotspot means your phone is working as a router. Routers do have builtin firewalls for better protection, and some advanced features like Port Forwarding, DMZ, UPnP, QoS, VPN, multiple AP's, RADIUS, NTP, DHCP server, DNS server, Dynamic DNS, VoIP features (SIP ALG and others), captive portal, traffic sniffing / DPI, anti-malware etc. A normal Android phone offers some of these features out of the box; the basic NAT, `netfilter (iptables)` firewall, Access Point (AP) with WPA2 encryption and a DHCP/DNS server.

Additionally if you are a tech-savvy, you can also define your own firewall rules, port forwarding rules, setup a VPN etc. A few things I can think of which can be easily done:

* Android uses `dnsmasq` as DHCP and DNS server. You can edit /etc/dnsmasq.conf to whitelist you MAC/IP addresses by assigning fixed IPs to MACs (options `dhcp-host=` and `dhcp-range=`) so that only your configured devices get an IP from DHCP server.
* Configure `dnsmasq` to listen only on local network interface and not from internet facing interface.
* Android uses `hostapd` to create hotspot. Configure MAC filter in hostapd.conf (options `macaddr_acl=1` and `accept_mac_file`) so that none other can connect to your phone.
* Configure `hostapd` to offer at least `WPA2 PSK` encryption (option `wpa=2`).
* Configure `hostapd` to hide SSID (option `ignore_broadcast_ssid=1`).
* Configure at least 12 character long `Pre-Shared Key (PSK)` (option `wpa_psk` or `wpa_passphrase`).
* Run a DNS over HTTPS (DoH) server like dnscrypt-proxy. Or at least set DNS server in `dnsmasq.conf` (option `server=`) to some trustworthy public DNS like `1.1.1.1`.
* Update `/etc/hosts` file and/or `dnscrypt-proxy` blacklist file from some trustworthy source like this one to block ads and harmful websites.
* Make sure you don't have any listening ports (by executing `ss -ltup`) except `dnsmasq`'s port 67 (DHCP) and 53 (DNS).
* Make sure you don't have any port forwarding rules defined (by executing `iptables -S FORWARD`) except the one defined for `hotspot`.
* Block all incoming new packets. See this.
* Disable ICMP echo reply. See this.
* Block all non-root UIDs for `OUTPUT` chain (except if `hotspot` uses some non-root UID) to ensure no apps use any data.
* Also consider allowing only required destination ports like 80, 443 if you need to do only web browsing. Allow others like SIP/RTP/FTP/SFTP/SMB etc. if needed.
* Uninstall all user apps to save battery and internet traffic.
* Disable any system apps you find unnecessary, particularly GApps, cleaners, system optimizers, anti-malware etc.

Still if you enjoy playing with phone, consider setting up some router operating system like Zeroshell on your phone.

But even if you don't take any extra measures on phone, laptop's security is enough (for laptop) if configured properly.

---
Tags: security, wifi-hotspot
---


# Question
Title: I'm looking to buy a smartwatch. How can I tell if an app in the Play Store is compatible with it before buying the device?
I want to buy a smartwatch, but I am trying to research whether apps will will work with it before buying. Is there any way to do that?

# Answer
The easiest way to check is to make sure it is labeled either "Wear OS", "Wear OS by Google" or "Android Wear".

Another way to check is if the watch supports the Google Assistant, it most likely is running Wear OS and should be supported as well.

Finally, if you want to be absolutely positive, you can always check the Wear OS website
> 0 votes

---
Tags: android-wear
---


# Question
Title: How to get latest version of Google Play Store
I'm trying to solve a problem I'm having with Google Play Store. (Specifically, a continual "Error checking for updates" and an empty "Installed" list. I tried clearing the cache.)

The version I have of Play Store is 14.2.58, and I know it's not the latest. I've read that sometimes the app doesn't update automatically. But where do you go to upgrade the app manually?

When I google for it, I see a lot of third-party sites that offer the latest download, but I don't know if they can be trusted. If Google itself offers the download, I can't find it.

# Answer
> 0 votes
If you don't trust other sites, then use Yalp.

> Yalp Store lets you download apps directly from Google Play Store as apk files. It can search for updates of installed apps and lets you search for other apps. Yalp saves downloaded apks to your default download folder. Other features include browsing categories, viewing and leaving reviews, black/whitelisting apps for updates, filtering apps by being free/paid and containing/not containing ads.
>
> To supplement the features related to Google Play, Yalp Store has ordinary package manager features: listing, running, installing and uninstalling local apps

Also, visit What are the alternative Android app markets? to get a list of other apps/places/sites that can help you get it.

# Answer
> 0 votes
To install the latest version of Google Play Store, launch Play Store, then go to Settings, then click on **Play Store version** one or two times. It will show a dialog box and the latest version will be installed.

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


# Question
Title: Change "administrator" account in Android
I am using Android 7.0 and I have multiple accounts and by default, the administrator of the device is the first user. Now, some of the privileges are reserved for the first user, like creating a hotspot and others.

I want to do that from the second user account as well, is it possible? How can I change the administrator on my Android device?

# Answer
The owner of the device remains the administrator no matter what. The device owner is set during the setup wizard, and cannot be changed without a reset.
> 2 votes

---
Tags: 7.0-nougat, multi-user
---


# Question
Title: Why google play services restore its used space after I clear all data?
Before I clear all data, google play services used space is 126 MB.

After I clear all data, google play services used space is 50~ MB.

Before I know it (less than one minute), it restore back to 126 MB.

How is that? my WIFI and SIM data connection is not even on.

# Answer
Play Services builds its working cache. So, it doesn't essentially need to download anything to become bigger. It starts up, builds its temporary and cached files and you arrive at that size. That said, connecting to the internet can make it more bigger as some content will be downloaded too.
> 0 votes

---
Tags: 4.4-kitkat, google-play-services
---