text:
Was unable to install any app - how to find out what was blocking the installs?
I was unable to update/install any apps earlier today, using either Play Store, F-Droid, or Play Store in my work partition, even though I had over 500MB free on my phone (Pixel XL running Android 9.0).
I have 2 theories about why this happened, and I would like to find out more low-level information to try to figure out definitively why it happened. I think it's happened before, as well.
Theory 1 is that the flash memory on the device is being wear-leveled, and some of it has become unusable because it has been written to too many times and is "dead", but for some reason Android, or maybe the underlying Linux kernel, is still reporting the unusable blocks as "free space". So while it looked like I had 500MB free, I really had less.
Theory 2 is that Play Store in my work partition is somehow silently causing installs on my personal partition to fail until it "gets its way" and manages to install the updates it wants to install. (This seems very unlikely to be intentional, if so - there was no warning about this in any of the terms and conditions I signed up to when I created a work partition, to my recollection. Also, it doesn't explain why even 500MB free is not sufficient to install a relatively small update.)
When I freed up even more space (by uninstalling 2 apps in my work partition) Play Store in my work partition was able to update all 5 apps that were due to be updated, when I manually hit update on them. Then F-Droid was able to update apps again. So it looks like I'm good, for the time being... oh wait, I spoke too soon, it's happening again.
The two work apps that were uninstalled then automatically got pushed to my device and reinstalled, which to me casts doubt on the theory that it was about lack of space / unusable space (theory 1).
I uninstalled them again, and now I'm able to install apps again... for now.
Can I get some additional information on what was going on using adb or something like that?
I've already tried df in termux and it's not showing me anything useful - only one partition's free space is changing. I've read through the wall of text of previous solutions but they either don't seem to be relevant or are not making a lot of sense to me.

Did you try running 'adb logcat' and looks for info/warnings/errors? It is the first point of contact for troubleshooting.

There is a low space threshold of about 500MB (depends on the device), and any app install or update that would take you over this limit always fails. No-one really explains this, least of all Android itself.
This is actually a badly-implemented "feature" - it is supposed to prevent you hitting 0% free so that system apps don't start failing, but it doesn't fully prevent that. You can still hit 0% free - and get into a terrible situation where system apps pop up error notifications every fraction of a second - by uploading/downloading files to the phone.
(The reason the 2 apps were able to reinstall themselves, is probably because I cleared some caches for some of the apps in settings as well as uninstalling those apps.)
The only way around this problem involves root access - which I am not allowed to do because it violates the terms and conditions of my work partition on my phone.
So the only thing to do is free up enough space...


text:
How to find the firmware update history for a specific model?
My Samsung Galaxy J7 Prime phone has received an update from July 2019. I would like to know the previous firmware version (February era) to install that previous version, or if there is any way to return to the previous update.
Note: both have the same version of Android 8.1.0.

An update once installed can not be deinstalled or reverted. If you want to downgrade you have to download a complete firmware image on a PC and the  install it e.f. via Odin tool.

It is possible to get the full list of updates that has ever been released for your device but you simply cannot downgrade your device without formatting your phone.
If you still want to proceed with the downgrade, I strictly recommend you to backup all of your data, contacts, important personal informations, pictures etc. to a safe place like your PC
Once you proceed, there is no turning back and all of your data would be lost forever.
You can get the full list of updates that has ever been released for your device by typing in your exact Samsung Galaxy J7 Prime model in the search box of https://samfrew.com/all/.
This step is very important, make sure you select the correct model for your device. Selecting the wrong model would result in bricking your device and rendering it unusable without getting help from professional services.

You can find your exact model on the phone's original box or by using "Settings". First on your phone, go to "Settings" --> "About Phone" --> "Model Number"
Note: If your phone model has a "/DS" behind it, you can safely ignore it.
Example: SM-G610F/DS
You would search your model without the "/DS" like this "SM-G610F" in the search box.
In this case, my J7 Prime's exact model is "SM-G610F/DS". So, I would type in "SM-G610F" as the model in the search box and proceed with selecting the country and the choice of firmware that you would like to download that is around February 2019.
Once you've download the firmware file, you should have a file like this "xxxxx.zip" where xxxxx is your firmware file name.
For example I want to download J7 Prime firmware for my country Malaysia (XME) and I want the latest firmware. So my firmware file name is "XME-G610FDXU1CRL2-20190108182010.zip"
After completing all those steps, continue with the following:
Step 1:

Download Odin 3 from here https://samsungodin.com/download/Odin3_v3.13.1.zip

Download Samsung USB Drivers from here https://samsungusbdriver.com/download/samsung-driver-v1-7-11-0

Odin 3 is a flash tool that will install the firmware file to your phone

Samsung USB Drivers are used to detect a Samsung device that is in "Download Mode"

Step 2:

Use your original Samsung USB cable that came along with your original box like the image above
Step 3:
Unzip the Samsung USB Drivers file and install the driver. Follow all of the instructions in the driver installation wizard.
Step 4:
Unzip your firmware file (the xxxxx.zip file) and you will get a file with xxxxx.tar.gz, xxxxx.tar.md5 or xxxxx.tgz
Step 5:

(source: xda-cdn.com)
Unzip Odin 3.13.1 zip and open up the application. Once inside, tick the box beside "AP" like the image above.
Step 6:
Press "AP" and select where your firmware file is located (the xxxxx.tar.gz, xxxxx.tar.md5 or xxxxx.tgz file)
Step 7:

Boot your phone into download mode. Press and hold "Power" button + "Volume Down" button + "Home" button together until you see a green background with text like the image above then read the warning carefully and make sure you want to proceed. Press the "Volume Up" button to accept
Step 8: Plug in the Samsung USB cable to your PC and connect it to your phone
Step 9: Press Start in the Odin app on your PC to start flashing the firmware

After flashing, Odin app will show a big green sign with "PASS!" and this indicates that your firmware flashing is successful like the image above
Reboot your phone, wait for Android to start loading everything. Complete the first setup and go to "Settings" --> "About Phone" and you should see that your firmware has been downgraded to February 2019 firmware

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Is it possible to install windows in android tablets?
I want to have Windows in Android, Is it possible to install windows in android tablets?

Not natively, until the vendor of tablet and Microsoft are not in line. You can run some kind of emulator though. IS IT POSSIBLE TO INSTALL WINDOWS, iOS OR LINUX ON ANDROID DEVICE?

This article explains how to install Windows on an Android tablet. But as it stresses, the app and methods are unsupported, so if something happens to your device, then you are on your own.
From the article, here are the steps:

First, you first must install the Change My Software application on your Windows-based PC. There are several versions of the app, each for a different version of the OS (Windows XP, Windows 7, Windows 8, Windows 8.1 and Windows 10).

After installing the software mentioned above:

Make sure your Windows PC has a high-speed internet connection.
Connect your Android tablet to your Windows PC, via a USB cable
Open the version of the Change My Software tool you want to use.
Select the Android option in Change My Software, followed by your desired language
The Change My Software app should then start downloading the required drivers from your Windows PC to your Android tablet.
Once that’s done, click “Install” to begin the process. Obviously, you should keep your tablet connected to your Windows PC for this entire time. If you want to dual boot between Windows and Android on your tablet when the process is finished, you should not check the “Remove Android” box in the Change My Software app.
Once Windows has been installed on your Android device, it should either boot directly to the Windows OS, or to the “Choose and operating system” screen if you decided to make the tablet into a dual boot device. After that, your version of Windows should then begin its own normal setup process.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
enable screen mirroring on galaxy S7 (broken display + locked by sequence) with keyboard
I have a Galaxy S7 device with broken and black screen. The phone is locked by screen sequence (pattern).
I would like to activate the screen mirroring on it to backup data, but it is not possible to use touch screen.
So I have bought an OTG cable to connect a mouse or keyboard to my phone.
The problem is that i don't know which steps I need to perform to tap the screen mirroring button on the top menu.
Is there a way to know the steps to do for this purpose?
Or, is there an alternative way to access on phone?
I've tried with Vysor software app, but it is needed that USB debugging is activated on phone, so maybe I need to know the steps to activate USB debugging via keyboard.

I assume "screen-squence" means that the device uses an pattern lock. If yes this is bad because an OTG mouse only sends movements and not absolute coordinates. Therefore it is next to impossible to move the correct path to unlock the phone without screen. The only chance is to trigger the Google password prompt after too many failed attempts.

@Robert yes, you are right. Also notice that because of pattern lock, I can't do screenshots to understand how is the screen in a certain moment. Also, if I connect the device to my PC, I do not see any file inside, maybe because file transfer is not activated too

USB file transfer (MTP) is not available on a locked device. You have to at least unlocked the device once after connecting it via USB to your PC.

I suppose it is not possible to unlock it, am I right?

Not totally impossible but very very unlikely.


text:
Is there a way to get pictures out of a nonfunctional Samsung Note 4?
My Samsung Note 4 has been acting up lately and is now practically dead. It doesn't turn on whatever the method is. As much as I want to let it go, it holds a lot of pictures that I didn't put on my memory card that I don't think I want to disappear. I have been consulting it to numerous people and they suggested to reprogram it, which means to wipe out every single thing on it. I thought of removing the physical internal memory of the phone and put it to another Note 4 and access the pictures there, maybe even the whole phone itself.
Is there a better option to salvage my pictures? Thanks a lot :)

I thought of removing the physical internal memory of the phone and put it to another Note 4 you are talking about chipping off eMMC/MCP and putting it on a working device? that would be great, but it requires some good expertise in soldering of microelectronics. But what if it's the memory chip which is worn out! Better contact some data recovery service.

For the highest chance of getting important data back in a situation like this, it would be best to find a reputable company that has experience fixing this for other people.
I would look for phone repair specialists first, to see if you can get the phone turning on again.
And if not, there are (pricey) businesses that can do data recovery on the storage chips themselves, but you may run into issues with encryption. From my quick research, it looks like the Note 4 was released with Android 4.4, which is after Google had implemented full-disk encryption. I'm not sure if it's enabled by default on your Note 4, and software updates over the years may have enabled it afterwards as well.
I wouldn't recommend attempting to swap the storage chips on 2 phones yourself, unless you have some equipment, and recovering your data isn't super critical. Here's an entertaining video on what the process of soldering these types of chips can sometimes look like: https://www.youtube.com/watch?v=Shn7LdIrViQ
My overall recommendation is call a few businesses, see what their professional opinions are, and decide if the price would be worth it to you. It would probably still be cheaper than buying a few spare practice-phones and trying repairs at home.


text:
How to share VPN connection with devices on hotspot?
I use a VPN on my Galaxy S8+ and I am looking for a way to be able to share my ExpressVPN connection via hotspot to be able to connect devices such as Xbox One and a Smart TV. Currently cannot use a PC and my router is trash so my phone is the last resort. What can I do? What are some workarounds?

Duplicates: 1, 2, 3

Android doesn't redirect hotspot traffic through VPN network as far as I have tested on Pie ROM (almost stock; custom ROMs might have different implementations or some specific settings). The reason is VPNService API works in Java framework of Android to redirect traffic to VPN's tun interface based on UIDs (and/or SOcket MARKs) of apps. While tethering works in native code; dnsmasq is the DNS server (up to Pie) while the rest of traffic is handled by kernel directly. Also using same internet connection or VPN for multiple devices may break terms of contract with service providers. So it's left disabled by default.
A workaround is to modify routing table but it requires root and is a bit complex on Android. This works for me:
~# ip rule add iif wlan0 lookup table 5000
~# ip route add default dev tun0 table 5000
~# ip rule add to 192.168.43.0/24 lookup table 5001
~# ip route add default dev wlan0 table 5001

First command adds a rule to RPDB to send traffic coming on hotspot (WiFi) interface to table 5000.
Second command adds a route to routing table 5000 to send all traffic on tun0 interface i.e. the one used by VPN app.
Third and fourth rules do inverse i.e. send traffic coming from VPN to tethered devices.

Firewall works above routing policy. Forwarding rules and source NAT should already be set with hotspot but just to make sure:
~# echo -n 1 >/proc/sys/net/ipv4/ip_forward
~# iptables -I FORWARD -o wlan0 -i tun0 -j ACCEPT
~# iptables -I FORWARD -i wlan0 -o tun0 -j ACCEPT
~# iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE

First three commands instruct kernel/firewall to forward traffic in both directions in between VPN and hotspot interfaces.
Fourth command sets SNAT i.e. keeps track of hotspot traffic leaving VPN interface and coming back.

Make sure interfaces names and IP address are correct as on your device.
Also there is VPN Hotspot but I haven't tried. For non-root devices there exist some Wi-Fi Direct (ad-hoc) based solutions like PdaNet which require setup on both sides.
RELATED: How to use Private DNS on Android Pie for tethering?

Another option would be to use a raspberry Pi as the router with one of its USB ports connected to your phone with the VPN-based internet connection. To provide the internet to other devices, the ethernet port of the Raspberry Pi can connect to a router/switch/bridge and/or also the Pi's own wifi could be used to broadcast it for wireless devices. Or a wireless access point could be added to the router attached to the Pi.
Here is an answer for using a Raspberry Pi tethered to a phone to enable its mobile network to be provided as an internet connection other devices:
Answer to: 4G LTE Device [USB Tethering]--> Raspberry Pi [Ethernet]--> Router, is this possible?
What this answer assumes is that your phone will support USB tethering and the VPN at the same time and that the VPN-based internet connection can be routed over that USB tethered connection to the USB host to which your phone is attatched.
If that is possible, then I can't foresee any other blockers, assuming that the steps described in that answer are correct (I haven't yet tried them).
If successful then that means you would not need to do any particular adjustments to your phone - possible examples of reduced hassle could be: less involved, less risk to 'bricking' the phone, less risk to banking apps stopping working due to rooting, also can use another phone without having to redo the steps on that.
Update
(Following a comment from @Irfan Latif here, I added a response comment, and updated my answer with it, here):
However, if VPN is not supported at the same time as USB tethering on your phone, then the next option you could try is to run the VPN on the Pi itself Other VPN providers, such as speedify.com also support the Raspberry Pi - and Speedify in particular can bond different network connections together should, say, the original poster want to use multiple phones etc as internet connection sources. I don't work for ExpressVPN nor Speedify nor have a financial interest or affiliation with them.
It's worth also noting that if you try this, then the settings in that linked answer above might need adjusting because they might have been written for a scenario that doesn't use a VPN. I say might - because they might still work - I don't know - I just want to bring your attention to it to minimise any frustration :) . With that in mind, the approach could be to get the steps working on your setup with the Raspberry Pi, without the VPN running. Then install ExpressVPN on the Raspberry Pi and see if it still works. By having tried without VPN first, you'll know that the Raspberry Pi can work as a router, so you have that and use that as the basis to get it working with the VPN. Maybe the VPN provider can support you, or at least they might be interested as there maybe others who want to do what you're aiming to achieve, so it saves them time supporting everyone on this as well giving them the edge on support and appealing to those who appreciate the adaptability - all good for their offering in the market.

As the question states that the phone doesn't support WiFi tethering and the VPN at the same time. So is there a reason to "assume that the phone supports USB tethering and the VPN at the same time"? The difference is only of network interface type i.e. WiFi or RNDIS. The network routing is alike AFAIK.

+1 fair point. I could expect the original poster of this question to confirm this - but until then we would not know, for sure, however it's certainly possible as you advise. If indeed USB tethering isn't possible with the VPN, then the next thing to try is to run the VPN on the Pi itself, ExpressVPN seem to provide support for this: https://www.expressvpn.com/support/vpn-setup/app-for-raspberry-pi/ Other VPN providers, such as speedify.com also support the Raspberry Pi - and they can bond different network connections together should, say, the original poster want to use mulriple phones etc.

P.S. I don't work for ExpressVPN nor Speedify not have a financial interest or affiliation with them.

In my case I have a Samsung tab which got bricked and lost its mobile network functionality. Now I wanted to tether the vpn connection to the phone that that wifi hotspoted to me. Turns out android specialises tethered packets(I mean connections from tethered clients cant be connection tracked by the system itself or blocked by normal android firewall apps but iptables can block it) so I used this to my advantage.
Turns out the solution is simple. Works on customizable vpns over tcp( for udp maybe u need to run a socks proxy server havent tried that).

Download any proxy server apps on playstore.
In my case I was using openvpn so you need a customisable openvpn client and go to the exclude routes options and enter the ip address of the phone that needs to connect to my proxy server.
Simply start the vpn connection and change wifi settings and add the ip an port of the proxy server and your are good to go or simply run a vpn over tcp using that proxy server on the phone you want to tether.

Note: In step 2 excluding routes is for my case or simply when you want to tether to the access point but if you are the one tethering there is no need to change routes. Also In my case I was able to run a vpn on my access point with it not cutting off my connection on the client phone like a vpn over a vpn.


text:
Google keeps moving my (favourite) contacts to the "other contacts" section in Google Contacts
So, this has been bugging me for a while. A few months ago, I wanted to call up an old friend of mine, but couldn't find his contact anywhere. I just wrote it off as weird bug (maybe user error on my side) and wrote him on Instagram instead. This happend again and again, with different contacts (all of which I had saved on Google for years, even starred contacts).
When I entered the web version of contacts, I realised that they weren't actually being deleted, but rather moved into a section called "other contacts". The little info button on the web version just tells me to check the settings in "my google account" to control how those contacts are managed (very specific).
Moving the contact back into the normal list does not fix the issue. They'll disappear again sooner or later, more often than not even twice a day. This seems to only happen to a certain group of contacts (around 70ish out of 170), with no discernible pattern as far as I am concerned. I already checked the permissions on my phone, nothing out of the ordinary there either. Also exported all contacts, cleaned up the csv, deleted everything in GC and uploaded them again. Same issue persists.
Any help on the issue would be greatly appreciated, because this is driving me insane. Thanks in advance.


text:
How do I update the emoji set for standard messaging applications?
I have a basic compatibility problem with emoji: the emoji available on one Android device (Android 8.1) do not match those available on a second (Android 6.0?) in applications including the SMS messaging application or Google Hangouts. Some emoji show up as blank boxes on the receiving end.
Is there a way to update the older Android device to include newer emoji? Assume that the messaging applications such as Google Hangouts have the latest updates for their respective platforms and that the receiving device is a normal end user device that is not rooted.

Kind of related/duplicate: Is there a way to replace the 4.4.2-style emoji graphics with the Google Hangouts versions? (need root). While some apps deliver their own emoji for consistency (e.g. WhatsApp), others just depend on the system fonts.

@AndrewT. The answers to that question seem to suggest root access is required. Is that true?

Root is probably the only answer, otherwise each app developer needs to integrate Emoji Compat into their code.

I had the same issue recently.
From what I gathered, emojis and non-emoji codepoints in Android are stored in separated font files.
Regular chars and any non-emoji symbols come from the system fonts, which can be edited on some systems.
Emojis, on the other hand, seem to come from a static file named "NotoColorEmoji.ttf".
The latest version of this font can be found in this google repository.
However, at this time no system API seem to allow the manipulation of this file.
So you are left with rooting the device as the only method to accomplish this update.


text:
How to display the console logo during recording of a gameplay
I am using the Google Play Games app for creating recordings.
During recording of a game play, there is a console logo which gets recorded, too, as well as notifications.
How to avoid that?

Android itself does not support "recording of gameplay" therefore you seem to use a special app to do so. Please edit your question and name this app including Google Play Store link. Anyway if you are talking about a "console logo" you should provide a sample image of a video that shows this logo.

@Robert Wrong. I use the native "Play Games" app.

If the Google apps are part of Android is arguable...

@Robert well at least they should be knowing how to do that?! Wonder how to make the logo invisible.

The console logo when using Google Play Games appears when you are only recording the screen and not yourself. You can't remove it. It's either the console logo or your face (unless you block the front camera, then it will be a black circle that will be shown on your videos).
Your alternative is to record games using the screen recorder that comes installed with your phone (check if yours has one) or download a screen recorder apps from  Play Store.


text:
Fastboot Xiaomi system partition problem
I am trying to upgrade Xiaomi Mi A2 Lite to Android Pie via fastboot ROM images. It was on Oreo, initially. Had TWRP
installed in boot.img because it is an A/B slots device. TWRP is officially supported.
Had made a full TWRP backup, also system_image and vendor_image, which are exact copies of the whole system. Then
tried official Xiaomi fastboot Pie images, and system.img doesn't flash. Other smaller in size system images I flashed to see
what would happen do go through, but they don't work. Pie image is 2.1 GB. Other partitions are all flashed.
Each attempt via Xiaomi flash tool ends with: Chunk data size exceeds partition size.
Log:
$fastboot -s 08f97d930705 flash system_a C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Google\Android
\daisy_global_images_V10.0.10.0.PDLMIXM_9.0\images\system.img   ||
10:26:06 AM  08f97d930705:target reported max download size of 534773760 bytes
10:26:06 AM  08f97d930705:sending sparse 'system_a' 1/3 (462332 KB)...
10:26:06 AM  08f97d930705:OKAY  59.062s:writing 'system_a' 1/3...
10:26:06 AM  08f97d930705:flashSuccess False
Fastboot flash_all.bat gives:
fastboot  getvar product   2>&1  | findstr /r /c:"^product: *d
aisy"   ||
The system cannot find message text for message number 0x8 in the message file f
or System.
Fastboot flash system sends sparse chunks and gives:
data too large
So, what gives? Any ideas greatly appreciated. Oh, TWRP boots, but can't use touchscreen at all, no response
whatsoever, can't restore my perfect Oreo backup, and wanted to go to Pie and cutom ROMs anyway.
If anybody can shed some light, I will be grateful.
Also tried flashing different boot images from Pie and Oreo and different TWRP versions than the latest, nothing works.

this should help regarding touchscreen. for system you can convert to ext4 image and then adb push https://twrp.me/faq/openrecoveryscript.html

Thanks alecxs. TWRP commands helped me restore. Greatly appreciated.


text:
How can I launch a system app that doesn't appear in the app drawer?
Just for context, I have an unrooted OnePlus 6. There's a system app called "Zen Mode" (not in the play store) that gives you notifications when you use your phone for 2 hours. I tapped on the notification, it opened the app, and there was a button to disable the notification, and I disabled it. But now it's not going to give me notifications anymore, so I don't have a way to open the app, so I cannot change those settings?

I'm using NovaLauncher, and I've verified it is not just set to "hidden" in my launcher. It just won't appear in the launcher whatsoever.
I can still view the app details in settings, but there is no "launch" button or similar.
Looking on the app details page, it looks like this app doesn't support being opened by any links, so I can't take advantage of that by typing a URL into the web browser for example.
I found a similar question here: How can I run an installed system application that doesn't appear in the app list?
however the answers on that post suggest using an "am" command that isn't working for me (error is "adb: usage: unknown command am")
and the other answer suggests the app is disabled, but in my case it isn't disabled (and in fact, the "disable" button in the settings is grayed out, unclickable.)

Regarding am command, you need to call shell first, like adb shell am <parameter> or adb shell to enter shell mode, then call am <parameter> afterward.

Ahh thank you for that. I got that method working as well, by typing:
adb shell "am start -a android.intent.action.MAIN -n com.oneplus.brickmode/.activity.MainActivity

Since you have Nova Launcher installed, try adding an Activities widget and flip through the available activities list to see if one of the activities is what you're looking for.

Thanks Andy! That widget worked. Once I opened the app, I found a feedback button, so I sent OnePlus an email about this issue.


text:
Pixel USB C Earbuds choppy sound skipping music
On a HUAWEI P20 lite (Nova E3)
I have tried the basics in sound and use audio though USB
I was told on Reddit that they would work in the devices sub/
Also, when I try to answer a call, it hangs up.
I have searched but it comes up with completely irrelevant topics.
Thankyou

After everything and reading articles from Google I reached the conclusion that the earbuds are faulty, so I sent them back for claiming refund.


text:
Samsung galaxy gt-19070, wiped system in twrp
I use Samsung galaxy gt-19070 that runs under cyanogenmod with rooted and bootloader unlocked. I recently wiped my system in twrp and my phone is stuck in "android is starting". Please help!
Thank you.

You only said that your "/system" partition is wiped so it means that only your "/system" partition is clean and other partitions are untouched. You also said you used TWRP. So, I assume you still have access to TWRP.
What you would need is:

TWRP access
Your original CyanogenMod Custom ROM zip file

Since you didn't state your TWRP Recovery version, I assume you are using version 2.x
Step 1:
(Skip this step if you still have your CyanogenMod ROM zip file)
Download your CyanogenMod ROM zip from where you originally downloaded it.
Step 2:
Boot into TWRP Recovery
Step 3:
Still in TWRP, go to "Mount" and tick the box with "Internal Storage" and "External Storage"
Step 4:
Go to "Install" and find the CyanogenMod ROM zip file that you originally flashed.
Note: the folder "sdcard" is your "Internal Storage" while the folder "sdcard1" is your "External Storage" or "SD Card"
Step 5:
After the flashing is completed, go to "Advanced" --> "Reboot" to reboot your phone
Your phone should now work normally as usual and CyanogenMod will load as per normal!

Thanks for your reply. But I want to install another custom rom for my phone. The twrp version is 3.0.2-0. Now with this (previous) condition I tried to flash a custom rom but it said no md5 file found and there was error installing zip file. Please help. Can I install another custom rom for my phone after wiping all my data and do I need to install the kernel too?

Thankyou. I was just able to flash the same custom rom (cyanogenmod) which I was using previously. Now its working perfectly better.


text:
Pixel keeps removing Smart Lock devices
Phone Google Pixel
OS Android 9
I connect my phone to my car using Bluetooth, and to use it hands free it must be unlocked. I use Smart Lock to achieve this, by adding my car as a Bluetooth device to Smart Lock.
However, sometimes the device is removed from the list, and I can't figure out why.
Why is Android removing my Smart Lock devices?


text:
Does Google Play Store change apks with time
I have a trivial app up at the Play Store. It calculates its own keyed checksum and displays the results.
The Play Store checksum is always different than that of the uploaded apk file. I understand Google is adding its own special sauce to the apk, presumably in the manifest.
The Play Store checksum has changed since the app was first available. Is Google Play changing the apk from time to time?

When uploading an APK file to PlayStore Google add another signature to the APK file.
This "Google PlayStore Signature" (also known as "frosting") allows to identify if an APK file has been retrieved from Google Play Store.
Based on the APK signature scheme v2 an APK file can have multiple signatures.
You can't add add every signature in the signed content the signatures are ignored when verifying the APK (or in detail the complete APK signing block is ignored).
Therefore adding the frosting signature does not invalidate any signatures you have created.
This may be the reason that a APK file retrieved from PlayStore has a different check sum that the one you uploaded.

Whatever they're doing, do they change their additions with time, i.e. monthly?

@Reddy Most of the information I have about this comes from the following SO page: https://stackoverflow.com/questions/48090841 Especially the link to the Avast apkverifier code shows some details.


text:
How is the list of apps allowed to install another apps populated?
On Android 8.1,
If I go to "Settings" > "Apps & Notifications" > "Advanced" > "Special App Access" > "Install unknown apps", what determines which app are in this list ?
On my phone, I see :
Chrome, Drive, Files, GMail, Messanger, WhatsApp.
Yet I have a lot more apps installed and running.

It lists apps that have the permission to install other apps. The permission is found on the apps' manifest. For example, a file manager can install an apk, same case with a browser or Whatsapp if a contact sends an apk to you.
They are labelled Unknown apps because the apps are not installed via Google Play Store, thus not trusted by Google (that does not mean that there is something wrong with the file).
From @Andrew T's comment, the permission is REQUEST_INSTALL_PACKAGES that:

Allows an application to request installing packages. Apps targeting APIs greater than 25 must hold this permission in order to use Intent.ACTION_INSTALL_PACKAGE.

Note: API 25 is for Android 8.

Looks like the specific permission is REQUEST_INSTALL_PACKAGES (from Stack Overflow - How to manage installation from Unknown Sources in Android Oreo)

@AndrewT. Edited and added your useful information.

Yes it was the permission REQUEST_INSTALL_PACKAGES, thank you

@madgangmixers AndrewT is the one who found the permission's name not me.

Just to add some related details to @ReddyLutonadio's answer, android.permission.REQUEST_INSTALL_PACKAGES is the one which defines which apps would appear in the list you have mentioned, and it's required on Android 8+ to install apps from sources other than Google Play. But this permission alone doesn't define if the app is allowed to install unknown packages or not. It has protection level Signature:

The system grants these app permissions at install time, but only when the app that attempts to use a permission is signed by the same certificate as the app that defines the permission.

It means that user apps will never be allowed this permission. The apps which are allowed in "Settings" > "Apps & Notifications" > "Advanced" > "Special App Access" > "Install unknown apps" are those which have AppOps operation OP_REQUEST_INSTALL_PACKAGES allowed. You can also check from adb shell:
~$ appops query-op REQUEST_INSTALL_PACKAGES allow

Results must be same as in Settings. To deny any of the apps:
~$ appops set org.fdroid.fdroid REQUEST_INSTALL_PACKAGES deny

And it will appear as Not allowed in Settings.
Other permissions which are controlled with AppOps can be seen with dumpsys package | grep -A100 'AppOp Permissions:' | sed '/^$/q'.

RELATED:

How to grant an app a permission that isn't in its manifest?


text:
How disk space is used on Android device?
I have critical low storage level and can't understand what takes much of it and how that's possible that the installed applications can use 7 GB? I only use a few social media clients without any games or soft like Photoshop. Also on the second screenshot it indicates that the apps are using just 1.13 GB and so I can't understand the situation. Also what is the "Other"?

As far as I understood the apps take so much space because of cache files, additional data, backups, photos, videos and etc. Size that shown in App Cleaner is just about the size of .apk files without any other related data and files to those apps. It is all cleanable but could cause the loss of the information and unpredicted behavior of an app.

Originally question was made because I was looking for methods to free
  up some space on my device so here is another way that I found:

After clearing Download Manager's data my disk space on the phone got relief of 3.3GB.
And the interesting thing is that the apps and phone behavior is not affected after this, so much space were used in vain.

Android's filesystem hierarchy is a bit complex and people often find it difficult to grasp. A major reason for confusion is that Android isn't very expressive in explaining these things and it's not very clear which files Android put in which category. Another reason is that mostly devices are not rooted and users don't have access to filesystems to verify the things themselves. We can try to understand it from root.
VIDEOS, PICTURES, AUDIO AND "OTHER":
Android uses file extensions to decide if a file in Public Shared / External Storage (i.e. /sdcard excluding the private directories of apps) is video, picture or audio. This header file defines a mapping between file extensions and categories. Further details can be found in this answer.
Simply put, we can use file extensions to categorize files and calculate their size:
~$ find -H /sdcard/ -type f ! -path '/sdcard/Android*' | grep -iE '\.3g2$|\.3gp$|\.3gpp$|\.3gpp2$|\.asf$|\.asx$|\.avi$|\.dif$|\.dl$|\.dv$|\.fli$|\.lsf$|\.lsx$|\.m4v$|\.mkv$|\.mng$|\.mov$|\.movie$|\.mp4$|\.mpe$|\.mpeg$|\.mpg$|\.mxu$|\.qt$|\.ts$|\.vob$|\.webm$|\.wm$|\.wmv$|\.wmx$|\.wrf$|\.wvx$' | xargs -I {} du -b '{}' | sort -n | awk '{sum += $1} {print} END {print sum}'
...
75696063        /sdcard/DCIM/Camera/VID_20190726_190531.mp4
97849262        /sdcard/DCIM/Camera/VID_20190721_142818.mp4
331238039       /sdcard/TIMELAPSE OF THE FUTURE_ A Journey to the End of Time (4K).mp4
1554180683

So I have 1.55 GB of videos on my /sdcard.
~$ find -H /sdcard/ -type f ! -path '/sdcard/Android*' | grep -iE '\.art$|\.arw$|\.bmp$|\.cr2$|\.dng$|\.gif$|\.jng$|\.jpe$|\.jpeg$|\.jpg$|\.nef$|\.nrw$|\.orf$|\.pbm$|\.pcx$|\.pef$|\.pgm$|\.png$|\.pnm$|\.ppm$|\.psd$|\.ras$|\.rgb$|\.rw2$|\.srw$|\.svg$|\.svgz$|\.tif$|\.tiff$|\.wbmp$|\.webp$|\.xbm$|\.xpm$|\.xwd$' | xargs -I {} du -b '{}' | sort -n | awk '{sum += $1} {print} END {print sum}'
...
31944   /sdcard/.recycle/1565980569828.3/2080952923/Screenshot_20190816-155104_Firefox.png
34099   /sdcard/OLD_sdcard/Download/iptables_overview.jpg
6839118 /sdcard/DCIM/Camera/PANO_20190421_132245.jpg
7726000 /sdcard/DCIM/Camera/IMG_20181123_144811.jpg
669063808

And 669 MB of pictures. Combined with videos it becomes 2.22 GB.
~$ find -H /sdcard/ -type f ! -path '/sdcard/Android*' | grep -iE '\.aac$|\.aif$|\.aifc$|\.aiff$|\.amr$|\.awb$|\.flac$|\.gsm$|\.m3u$|\.m4a$|\.mka$|\.mp2$|\.mp3$|\.mpega$|\.mpga$|\.oga$|\.ogg$|\.pls$|\.ra$|\.ram$|\.rm$|\.sd2$|\.snd$|\.wav$|\.wax$|\.wma$' | xargs -I {} du -b '{}' | sort -n | awk '{sum += $1} {print} END {print sum}'
...
196556  /sdcard/OLD_sdcard/Alarms/Freedom.ogg
451614  /sdcard/OLD_sdcard/CallRecordings/0507189091_190225_191938461.amr
5652322 /sdcard/.recycle/1564398739475.3/710629278/L'Orfeo(preview).mp3
186868393

And 187 MB of audios. Now total space taken by files:
~$ du -bs --exclude=/sdcard/Android /sdcard/
5330784600      /sdcard/

It's 5.3 GB. Subtracting video, pictures and audio, it's 2.89 GB which is the size of "Other"; shown as "Files" on my device:

Non-root part is over here. Next to explore the /data partition you need root access. First to make it clear, throughout the whole life of a device, a common user interacts only with one partition labeled userdata. But it's not very uncommon to have 50+ partitions on Android devices (details can be seen in this thread). So here we are talking about the space usage on userdata partition which is mounted at /data. One of its sub-directory /data/media/0 is the one we see in file explorers or at /sdcard or at /storage/emulated/0. See What is /storage/emulated/0? for details.
TOTAL SPACE USAGE:
Now have a look at space usage reported by Android. It says 16.73 GB out of 32 GB are used. Let's analyze.
~# cat /sys/block/mmcblk0/size
61071360
~# df -B1 --output=size /data
  1B-blocks
25762942976

Note: Don't confuse the units. 61071360 sectors equal 31268536320 bytes, which equal 31.27 Gigabytes (GB) or 29.12 Gibibyte (GiB).
Total available size of eMMC is 31.27 GB (ignoring e.g. RPMB and provisioned space etc.) and size of /data filesystem is 25.76 GB (See! I thought it would be 32.00 GiB). It means that 5.5 GB space was occupied when the device was shipped from the factory. It's mainly taken by the system, vendor and cache partitions, and a small part by other partitions. Partition table takes a few KBs but there are possibly a few MBs left free in between partitions, some space is wasted due to encryption, and so on. Following screenshot shows the complete partition table:

(Click image for enlarged view)
Now coming to the used space:
~# df -B1 --output=used /data
       Used
10407436288
~# du -b -d1 /data | sort -n
...
30932548        /data/system
89343105        /data/user_de
252376438       /data/dalvik-cache
1537995332      /data/app
1817762284      /data/data
5460784600      /data/media
9250761612      /data

Space usage reported by filesystem is 10.4 GB, while the apparent size of files is 9.25 GB. This difference of 1.15 GB could be variable and is used by the filesystem. Details can be found in this answer. May be a part of it is being used by f2fs log structure on my device.
So total used space on device is 15.9 GB (5.5 and 10.4) out of 31.27 GB. Note the difference with the values in screenshot. The difference in total size could be because of rounding-off the sum of /data and /system to the nearest power of 2.
APPS SPACE USAGE:
5.3 GB out of 9.25 GB is used by the public files in /sdcard as explained in the start. Rest of the 3.95 GB space is mainly taken by three categories of files. Keeping things simple, following are the major directories which sum up to total app size (1, 2, 3, 4):
App size    /data/app/<pkg>*
            /data/dalvik-cache/<arch>/<pkg's_dex_odex_vdex_art_oat>
            /storage/emulated/<user_id>/Android/obb/<pkg>
            /data/misc/profiles/ref/<pkg>
Cache       /data/user/<user_id>/<pkg>/*cache
            /data/user_de/<user_id>/<pkg>/*cache
            /storage/emulated/<user_id>/Android/data/<pkg>/*cache
User data   /data/user/<user_id>/<pkg>
            /data/user_de/<user_id>/<pkg>
            /storage/emulated/<user_id>/Android/data/<pkg>
            /storage/emulated/<user_id>/Android/media/<pkg>
            /data/misc/profiles/cur/<user_id>/<pkg>

User data size should exclude Cache size.
For user apps compiled binary files are stored in installation directory (/data/app/<pkg>/oat/<arch>) since Lollipop. But for system apps those are saved to /data/dalvik-cache which is counted for apps size. Actual .apk files of system apps are not counted, except if an app is updated. .odex files for Android's framework apps (.apk/.jar) however might be already stored in /system/framework/ having only symlinks in /data/dalvik-cache/. Things have changed with A/B implementation.
For more details see Where Android apps store data?

Taking sum of all these directories:
~# du -sb /data/app /data/misc/profiles/ /data/dalvik-cache/ /storage/emulated/*/Android/ /data/user/*/ /data/user_de/ |  sort -n | awk '{sum += $1} {printf "%-15s%s\n",$1,$2} END {print sum}'
94152          /storage/emulated/11/Android/
611998         /data/misc/profiles/cur/10/
837897         /storage/emulated/10/Android/
1013850        /data/misc/profiles/cur/0/
1109311        /storage/emulated/0/Android/
1602419        /data/misc/profiles/ref/
3294944        /data/user_de/10/
10283019       /data/user/10/
86048161       /data/user_de/0/
252376438      /data/dalvik-cache/
1537995332     /data/app
1817762284     /data/user/0/
3713029805

It's 3.7 GB, leaving only 250 MB behind, some of which is taken by the /sdcard of other two user profiles (/data/media/<user_id>). The rest is used by system logs and configuration files, particularly in /data/system* and /data/misc* directories.
This system usage is shown as "System" which excludes shared storage size (5, 6). Some figures differ from Android but after all we know how the space is actually used, and where it's being wasted.

RELATED:

Android's Storage Journey

Great answer. Upvoted. Do you know why Android devices may have 50+ partitions?  Shall I post a question to ask just this?

@RockPaperLz-MaskitorCasket because Android is designed this way. Every partition has a purpose. Many of them have a backup partition too, which increases the number. This was one of my initial attempts to understand this.

The right screenshot seems to originate form an app named "Cleaner". Apps on Android can not access app-private data (files in the path /app/data/<apppackagename>/) of other apps, therefore an app can never estimate the data size correctly.
I assume "App uninstall" shown in Cleaner is the pure size of all app APK files (those are visible to all apps). Therefore most of the files crate by apps are invisible to Cleaner.
It can only see the files on the sdcard section.

The fact that you don't use games has no bearing on the amount of storage space other apps use. You mentioned that you use social media apps. Then you should know that many (if not most) of them keep caches of files (mainly pictures, videos) you viewed to present them quickly in case you visit the same pages again. With time, the storage space they occupy grow more than many other apps. Other apps that can also use a lot of space are browsers.
You should check the amount of storage used by individual apps to have better understanding of which among them use a lot of space.

What is the "Other"?

It can be documents and any other files that does not fall under pictures, videos, apps, not found on the system partition. On my phone, Other is defined as:

files downloaded from the internet or Bluetooth, Android files, and so on.


text:
"Moisture has been detected" even after 2 weeks, also in safe mode
Two weeks ago my Samsung Galaxy S10e got a bit wet while in my pocket under heavy rain. The phone did not go inside water, but it was pretty wet.
Since then, I got this message from time to time when charging:

Unplug charger
  Moisture has been detected. Unplug the charger and wait until both the charger and USB port are dry.

Yesterday, I could not even charge my phone once, because the message appeared every single time I tried.
I let the phone at the output my air conditioner in dehumidifier mode for the whole night.
Still the same problem.
I tried with 3 different USB cables, and also 3 different power sources.
The charger port looks perfectly clean.
I don't have a wireless charger.
The message (and vibration) appears even in safe mode and in Emergency mode, and also when the phone is off.

In recovery mode the message does not appear, but the phone does not charge (when I left the phone in recovery mode for one hour, the battery went from 53% to 48%, even though the USB cable was connected).
I believe that the message is erroneous, I can't see how moisture could subsist after two weeks and a night of dehumidification. How can I fix the problem?
I live in Japan, where outside air humidity is high, maybe that's a factor?
My phone is rooted, if that can help.

One night next to an air conditioner is not very much. The common method for drying a smartphone is placing it in a bag of dry rice leaving it there for some days.

Hair Dryer on cool setting directed at the port. Mine dried within 4h. Same situation for me, pocket, rain.

A few more weeks and the message disappeared.
I guess some part of the phone was still humid despite all of that drying.
Conclusion: Let you phone dry as long as it takes.


text:
How can I block ads in Facebook videos
I have installed AdGuard Pro and have installed all the filters.
Nearly every video I watch on Facebook (only when using my Android phone) becomes interrupted by a video ad.
In contrast, my partner also has AdGuard Pro on a Android and she experiences zero ads during facebook videos. It seems that we have the same setup, however I receive ads and she doesn't.
I have been trying to figure out how to block these ads for over 1 year.
Please help.
Thank you


text:
Is it possible to prevent an android from slowing down in just 2 or 3 years or even 4 years
I know that SSDs wear out with time but it takes a long amount of time for the wear out noticeable affect performance (not 2 or three years). I can TRIM the SSD as far as I know to bring back it's old performance. I believe that RAM and CPUs/GPUs don't slow down with time (not 2 years that is usually the amount of time after which people start feeling like they need a new phone). So is it possible for a phone to be as fast as it was 2 years ago if the apps in the current age are also not more CPU demanding than they were 2 years ago?
PS. also my last question is unanswered so please consider replying to that

I used a Samsung Galaxy Y Duos GT-S6102 with 160 MB storage / 290 MB RAM for many years, i really liked it because of its size. finally google maps stopped working (Android 2.3.6) it became useless because of lack of support, hardware still works fine

If the SSD is overused the flash cells itself are getting slower, therefore TRIMMing will not help in this case. But if you are afraid of SSD degration you can simply buy a phone with double the memory you need and leave the half unused. Anyway AFAIK a flash degration is today not very likely unlesss you don't write every day hundret of GB to it.

Yeah that's what I meant. People buy a new phone saying that their phone has got slower but I have always wondered if it had actually or it's just the current version of the apps they that demand more than the phone can give. If the apps weren't updated ever, I think everything would have been fine. Or people can just factory reset and run TRIM because that will bring back factory verison of all apps


text:
How to watch chrome history of my friend, who is logged in from my gmail id?
What i did - I have signed in, one of my friend's android phone (its samsung j2) with my gmail id.
What i want - I want to monitor his phone's youtube and chrome browsing history using my gmail id
is this possible?

Congratulations! You are a spy now! what you can do? goto google.com & click on search bar & you'll see search history Or just tap on the google search bar on your phone & you'll see last searches.
To get the full activity history click here: https://myactivity.google.com/myactivity


text:
How does an app (e.g. Whatsapp) automatically detect when the phone receives a 2FA SMS verification code without being granted SMS read permissions?
When installing some apps (for example Whatsapp) the user is required to receive a verification code on the phone via SMS.
I have noticed that some apps automatically verify this code as soon as the text message is received by the phone, without the user having to open the SMS message or type the code manually. The app does this without being granted any permissions by the user to access or read their calls and texts.
How is this possible, and is it a privacy or security concern?

Whatsapp requests the permission <uses-permission android:name="android.permission.RECEIVE_SMS"/> in it's manifest. Therefore it is no magic that it can read the 2FA SMS code.

Google Play services do that on behalf of WhatsApp, like many other things like doing analytics and receiving Push Notifications. Deny SMS permission to GMS/GSF and SMS verification won't work.


text:
Android: how to increase system partition and decrease data partition?
A very bad situation
I want to install the Lineage 16 OS on Nexus 5
Without apps it install Ok
With google apps(I select pico package arm, wich is under 100 MB) not and give error system partition space not sufficient.
This is the actual situation
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   949772        28    949744   0% /dev
tmpfs                   949772        44    949728   0% /tmp
/dev/block/mmcblk0p28
                      28061148    643132  27418016   2% /data
/dev/block/mmcblk0p28
                      28061148    643132  27418016   2% /sdcard
/dev/block/mmcblk0p27
                        706392     13084    693308   2% /cache
/dev/block/mmcblk0p25
                       1045804    899652    146152  86% /system

I have tried a parted binary for resize but said ext4 is not supported!
And with fdisk allow me to delete only the gpt partition(!)  number 1
How to resize the partition n25   /dev/block/mmcblk0p25?
My idea is to decrease sdcard of 2GB and increase system with 2GB
is possible?

Have you tried to use parted instead of fdisk? It should support GPT parted disks.

parted and gdisk both work great with Android's GPT. I have used them in past to alter partition size. But never touch mmcblk0p1 or any other partition related to SoC or bootloaders. Your device will be bricked for sure. Another idea is to bind mount some loop file or external SD card partition e.g. on /system/app at very early stage of boot proccess.

I have followed this method: shrink data and recreate system partition; which is not too "kind" but works.
Warning: this method is ok for a fresh installation from scratch. You will lose all data, so follow it only if you're sure of what you're doing. I'm not responsible for data lost, bricked devices, etc. You have been warned.
You must have TWRP installed, a USB connected smartphone and ADB, fastboot on PC:

Get parted and gdisk from here

Reboot in recovery mode
adb reboot recovery

Push gdisk and parted
adb push parted /
adb push gdisk /

With parted, resize the data partition. In my case, it is 28 and we resize from 30G to 27G
adb shell
umount /data
parted /dev/block/mmc0blk0
resizepart 28 27G

Now exit from parted and open gdisk
umount /system
gdisk  /dev/block/mmc0blk0
d #delete, select the system partition, in my case is 25
n #new,I select the new size of 3G for my system partition and 0700 as fsid
w #write

Now, reopen with parted and rename the partition 25 as system

Reboot in recovery mode from TWRP or ADB
adb reboot recovery

The command
fdisk -l /dev/block/mmc0blk0

must report correct sizes

Now, create the ext4fs
make_ext4fs /dev/block/mmc0blk0p25

Resize the fs
umount /system||echo ok
e2fsck -f /dev/block/mmcblk0p25
resize2fs /dev/block/mmcblk0p25

Eventually, correct the /etc/fstab. The command mount /system must complete successfully. With TWRP, try to wipe the partitions data, system, etc. The command must complete successfully.

Install Android ROM or recover from a backup.

I see my Lineage OS image resize automatically the partition to 1G (sic!)
so I'm trying this workaround:

Install Lineage OS
Reboot and wait for Android OS
Reboot in TWRP
Resize the partition
Install the other zips

I am doing this on Motorola G2 (2014). Unfortunately, it freezes at point where we write the resizepart modifications (in step e). Also, is step n totally different and separate than above mentioned or is it following the above steps?

Another workaround to LOS resizing of the System partition during the install process:

resize the System partition (as described above, I shrinked the cache partition instead)
install LOS via ADB sideload
run resize2fs /dev/block/mmcblk0p25 to resize the EXT4 partition again
install the GApps via sideload


text:
How does degoogling affect battery?
Google apps especially play services show on top in RAM consumption and always have few processes running. Also these apps are very bulky.
By degoogling I mean disabling GSF & Google play services. But is there some sort of push service-like stuff that can be done more efficiently with GSF? (Considering a person is very likely to use Whatsapp, telegram, Facebook, instagram, reddit etc.. even after disabling these google stuff). Do anyone have micro benchmarks on these?

You can run Google free device, however you really have to know what you are doing.
Removing Google apps and services from an existing device isn't a recommended way. You may run into serious problems. The common way to get a Google free device is installing a custom ROM without Google apps (for license reasons most custom ROMS don't include Google services/apps).
If you disable GSF apps will loose the push notification service (if they still run at all). For a large number of apps GSF is a requirement.
Some apps have an alternative custom push system implemented but now every app has to run it's own background service. For example signal has such a service but the authors warn that it causes "reduced reliability or performance" and as every app has to open an own connection to listen for messages the overall power consumption increases.


text:
How to recover personal data on an Android phone which is in a bootloop?
Is there a way to recover the internal storage (images, video, photos, notes, app data, music, etc) of an Android phone which is currently in a bootloop?
Additional info:

Wiping the cache partition in recovery mode does not solve the bootloop issue.
The phone is not rooted.
USB debugging (hopefully) has been enabled prior to the soft-bricking.
The bootloop occurred after the battery run out of power.
The phone is SAMSUNG Galaxy Note 4

Bootloader unlocked? Can you boot to a custom recovery e.g. TWRP? Encryption enabled on device? If yes, can TWRP decrypt it?

How do you check if the bootloader has been unlocked? I haven't installed any custom recovery. I can only get access to the normal/regular/stock recovery. Is there a way to install TWRP through there without wiping out my files?

See some rooting guide for your device to get answers to all of your queries. In short, it seems you haven't unlocked bootloader, which if you do now, will wipe everything. With locked bootloader you can't recover data.

pretty dire sounding... Do you think there is any way to recover at least some well known file formats like images, S-note files, audio files, etc.?

You mentioned usb-debugging check if adb detect your device during boot/loop. another option: cf-auto-root seems to support your device which means you can inject recovery with locked bootloader. not sure about details check your model is not verizon first https://forum.xda-developers.com/note-4/help/sm-n910-cf-auto-root-t2897428

As our boot-loop tag wiki suggests: have you tried booting into safe-mode? You might be lucky enough to use ADB while in there.

try to install PhilZ Touch Recovery CWM 6 from stock Android system recovery <3e> (apply update from sdcard) trlte/xx
https://mega.co.nz/#F!oZ1QDDbC!Ko20UNhowwIlXLVFjJsyKw

check for cloud backups https://photos.google.com or https://drive.google.com/drive/backups

I will try both of your sugestions, alecxs. Thank you.


text:
TWRP asking for a password when one is not set
My smartphone is the original Google Pixel. The bootloader on this device is unlocked. A week or so ago, I decided to boot into TWRP to do some stuff with my data. Before booting into it the first time, I removed my unlock pattern because I didn't know how I'd go about entering an unlock pattern in TWRP. After booting into TWRP the first time and then booting back into normal Android, I set my unlock pattern, I think, and then I removed it again. Afterwards, I was unable to (and I am still unable to) set a screen lock password/PIN/pattern. I'm pretty sure this is tied into this problem.
The first time that I booted into TWRP, it did NOT ask for a decryption pattern; I think I was able to see files inside directories like /data/user/0. Right now, when I boot into TWRP, it asks me for my password in order to decrypt. The only problem with that is that I don't have a password  set. When Android boots up, I'm not asked for a PIN, a password, or a pattern, and I can see all of my contacts, files, applications, and so on.
Are my inability to set a password in Settings and TWRP asking for a password to decrypt folders like /data/user/0 (TWRP doesn't actually mention any directories) linked? How can I fix this?
These solutions are not acceptable:

Performing a factory reset.
Anything having to do with syncing with Google.

Hello If the answer to the linked question or the password "android" doesn't work, or if the device is not encrypted to begin with, let me know. I'll reopen your question.

@Firelord This is not a duplicate. I am trying to fix a very different problem.

As I said I can reopen but can you at least explain how the two questions are different. Did the answer there not work for you? Have you already tried it?

@Firelord I have not tried that answer, but now I'm not able to try it because I have encountered another problem.


text:
HSP Profile not working on connecting via Android Settings Dialog
I am a newbie on bluetooth & facing a few basic problems. I am currently working on an android voice assistant application, trying to make it work with bluetooth headsets.
If I connect to bluetooth via settings dialog the voice is still captured from Phone's microphone(and not from headset) but when it's connected via HSP profile programatically, voice is captured from Headset.
Can anyone help me understand this behaviour?

By default HS/HF profile has only control connection established. Audio connection become active during voice calls and speech recognition. You need to use BluetoothHeadset.startVoiceRecognition/BluetoothHeadset.stopVoiceRecognition and listen to ACTION_AUDIO_STATE_CHANGED intents.


text:
How to cancel delay before taking picture on Open Camera app?
I am using Open Camera (latest version), and there is a delay of about ten seconds between pushing the button and the picture being taken. I also noticed that the flash is pulsing during those 10 seconds.
Of course, I have checked the settings and set "delay" to "none", but still this behavior persists.
Before I uninstall & re-install, wiping my settings, which I am loth to do, does anyone of any other setting which that might be causing this?

Set the timer to Off. You can save the settings by going to settings manager option and restore them later. From the settings manager, you can also reset the settings directly.

Did you not read my question? Of course, I have checked the settings and set "delay" to "none"

Is there such a thing as "Voice Commands" activated on the app? Maybe waiting for a trigger word like "Smile", "Cheese", etc. and failing out to normal button operation?

I like your thinking (+1).  I went through all settings, including advance settings and could not find anything like that :-(


text:
Can system reserved memory be recovered after debloating?
Say I have a rooted phone, and I "debloat" it by removing some system apps. This means removing apk files from /system folder. On the other hand, user-installed apps on internal memory go to /data/app folder, according to this answer.
Does this mean the system reserved space is still not available for app installation unless I use something like an app-systemizer (that forcibly stores apk files in /system folder)?

Correct... Think of these "directories" (which are actually mount points) as partitions with fixed amounts of space. So /system is actually the mount point for a partition of a fixed size, if you remove a file from that partition it does not give that space up to the whole device, only that partition. And repartitioning the eMMC if a smartphone is incredibly difficult and not recommended. Once mistake and your device is a permanent brick.

You are totally right, removing pre-installed apps from the system partition has absolutely no effect on the free space of the user data partition where apps and their data are stored into.
The only chance to be able to use the free space of the system partition would be to decrease the size of the system partition and use the now unpartitioned size to increase the user data partition. However these complex operations may end up in a total data loss even if the used tools support to perform it without data loss.

Then why do people run after debloating if the system space cannot be regained without formatting the partition?

@WrichikBasu They do it to increase performance or decrease RAM usage and CPU overhead, thus improving battery life to varying degrees. Years ago this could make a huge impact on the device as far those things go, but in modern devices it is much less relevant.

@WrichikBasu And you can't gain back the space without repartitioning the eMMC, which is incredibly difficult on most devices that you don't have direct write access to the internal storage chip (basically, anything not an engineering device). Messing with partitioning almost always ends in a bricked device and since even in a full factory image some of those partitions are not a part of it, if they get "messed up" the phone is essentially ruined.

@acejavelin Understood, thanks.

@WrichikBasu in my view debloating is to get rid of non-AOSP stuff AMAP which is loaded on device just to do tracking, profiling, analytics, and to serve ads, and to keep you bound to the OEM. /system isn't the only partition which contains bloatware, it could be in vendor, odm, misc or possibly other partitions. Though the .apk files don't reside on userdata, but their data files, caches, downloaded stuff, dalvik code... everything is on userdata, depriving you of valuable space, in addition to consuming CPU, RAM, mobile data and battery. Unnecessary apps also reduce eMMC life.

Two more words on this: you free some space on /data as well (where those apps would store their configs and data), but that can also be achieved by "freezing" them and deleting their data. As for partition resizing: even if it works out, this might bring you big issues with system updates which do not expect the different partition size.

@lzzy Is this freezing the same as disabling, or are you talking about freezing through Titanium Backup Pro?

@WrichikBasu freezing/disabling doesn't remove apk but puts a restriction on the app so that Android doesn't build and execute its virtual machine on boot. Many apps can do that for you including Android's built-in package manager commandline tool: pm disable <pkg>.


text:
Creating app shortcuts on main screen will consume lot of memory?
Latest android devices have enough RAM and Storage so when I was using 512 MB of RAM android phone customer care advised me to do not create shortcuts on main screen.
Now I'm using 3GB of RAM and 32 GB of ROM android device running on Android 9.0
So may I know is it same for latest devices.
Does it consume much space on RAM?

You have based your question on the assumption that the advice given by the customer care stands correct. That advise just doesn't make sense at all. A word of advise: whatever a customer care from any establishment says, take that with a pinch of salt.

What consume memory are the apps that sit in memory. Shortcuts are just links to apps, there are not the "main" programs themselves and are not running.  Many launchers are efficient and can handle a lot and lot shortcuts.
You have enough RAM and should not worry too much about how many shortcuts you have on your screen. Even if you only have 512MB, you should only worry if you had opened too many apps or apps such as games that might require a lot of memory thus reducing RAM and potentially slowing down the device.
A good point made on the comments is that launchers fetch shortcuts' icons, create a string for their names, etc, and that increase the memory used. However even then, it is argued that the memory usage won't have noticeable effects on the device.


text:
How to change photo storage path for LineageOS 16's Camera app?
I am running the latest LineageOS 16.0, and have specified SD Card as my photo storage location for the built-in Camera app.
When I was using LineageOS 15.1, the app saved photos on my SD card's "DCIM" directory, but in 16.0, the app now saves photos in "Android/data/org.lineageos.snap/files/" (also on my SD card).
Is there a way to change the path back to "DCIM"?
Thank you!

Huge thanks for pointing out the data directory! That saved me a lot of photos.

As of right now it is not possible for you to change the path. Android Pie does not allow apps to write/read SD Card public area and only allows apps to access the application private area.
That being said inside of Lineage OS Gitlab Repository there are several discussions to fix this problem. Maybe it will be fixed in the future with an update of Lineage or the integrated camera App.

Thank you for getting back to me, appreciate the insight! That said, I wonder if a stop-gap measure would be to create a symbolic link from the old DCIM directory to the application data area used by the Camera app?

Know this was a couple of months ago, and you may have found the solution.  But I came across this very problem and the above info is mostly correct, you need Open Camera;
From https://gitlab.com/LineageOS/issues/android/issues/268

I don't know why Snap can't do it but in Open Camera > Settings > More
  Camera Controls > toggle on Use Storage Access Framework then navigate
  to /storage/Micro SD card id/DCIM/Camera & Save Location.
That works on S5 G900M LineageOS 16.0 klte build 2019-04-02 + Open
  GApps Pico + LineageOS Addonsu.

Works on my Samsung Galaxy Note 4 running LineageOS 16.0-20191129-UNOFFICIAL-trlte


text:
How exactly does FBE's key derivation work?
These are the files that I know go into verifying a user's password:
/data/system/gatekeeper.password.key
/data/system/gatekeeper.pattern.key
/data/system/locksettings.db
/data/system/locksettings.db-shm
/data/system/locksettings.db-wal

I know that this is where the files used construct the FBE key are stored:
/data/misc/vold/user_keys/ce/0/current/version
/data/misc/vold/user_keys/ce/0/current/secdiscardable
/data/misc/vold/user_keys/ce/0/current/encrypted_key
/data/misc/vold/user_keys/ce/0/current/stretching
/data/misc/vold/user_keys/de/0/encrypted_key
/data/misc/vold/user_keys/de/0/stretching
/data/misc/vold/user_keys/de/0/keymaster_key_blob
/data/misc/vold/user_keys/de/0/secdiscardable
/data/misc/vold/user_keys/de/0/version

Although I'm told the encrypted FBE keys are stored in the above paths, these files seem related:
/data/system_de/0/spblob/0000000000000000.handle
/data/system_de/0/spblob/XXXXXXXXXXXXXXXX.pwd
/data/system_de/0/spblob/XXXXXXXXXXXXXXXX.secdis
/data/system_de/0/spblob/XXXXXXXXXXXXXXXX.spblob

The XXXXXXXXXXXXXXXX is a placeholder for a 16-character long hexadecimal "handle"; 0000000000000000.handle, by contrast, is named exactly as it written. There are actually several sets of pwd/secdis/spblob files on my phone and two that are missing their spblob file. I'm not sure I'm supposed to have that many.
Over the pass few days, I've messed up my phone trying to get TWRP to decrypt my data. At first, after removing my password, I couldn't set another one as Settings would crash whenever I tried. I was able to fix it by renaming locksettings.db. I then went ahead and set and cleared several different (but very insecure) passwords/PINs, including my old one (which is secure). I'm unable to remember the order of events, but now I'm at a point where I get Pixel is starting whenever I swipe on my home screen after booting. I'm suspecting this has to do with it not being able to decrypt my FBE key. I'm wondering if through my combination of renaming files like gatekeeper.*.key and locksettings.db that the FBE key maybe was decrypted with the wrong key and then reencrypted with a different one.
I'd like to know what role the above files play in the encrypting my phone. I'd also like to know:

What data from what sources is combined using what algorithms to decrypt the keys that encrypt my phone.
What happens when the password is changed (e.g., what files are decrypted/reencrypted, whether the salt is changed, etc.).
How the files gatekeeper.*.key and locksettings.db used in the process.
Whether or not the FBE key ever changes with the password.

The purpose of all of this is to determine if the problem with my lies with the encryption key being wrong or if it's a matter of cleaning up the right files, and to get past the endless Pixel is starting message to my apps and content.

page 9+10 may give you some hints (just found this on google i do not understand everything) https://pdfs.semanticscholar.org/e1cf/9ad5614f3a24b24088e4b22e9218f0abc3a0.pdf

@alexcs A factory reset will not suffice. I want my data that's on it.

bear in mind there is a 30 seconds timeout after x attempts (timeout may increase) and twrp will silently fail during this waiting period (even with the right pin) - it can even wipe your data (depends on gatekeeper settings and device)

furthermore i am not sure if /data/system ever was accessible (is this unencrypted area?)

@alexcs Why backup EFS? (And which metadata?)

I am not aware how it works for FBE but for FDE there is always a crypto footer, sometimes as file metadata on efs partition, sometimes as metadata partition, or concatenated to userdata partition (16384 bytes). Without this a backup becomes useless

@alexcs If the timeout is enforced by Android, then the timeout can be disabled by flashing a ROM that does not enforce it.

according to this fstab /metadata seems to be still relevant for FBE on some devices https://github.com/TeamWin/android_device_oneplus_guacamole/blob/android-9.0/recovery/root/etc/twrp.fstab

@alexcs Not true that a backup of FDE is useless without the "footer", which is just the FDE encryption key encrypted. If you have the encryption key for the FDE already, you don't need the footer.


text:
Delete system image file on kenzo
As the subject line suggests .Can i delete the system image partition on my kenzo?Theres a system  partition as well.Both show up on twrp recovery. Ive been looking everywhere for an answer, but cannot seem to find one .
Im trying to free up some space .
Can anyone help?

userdata is the only partition you should be concerned with when dealing low-storage issue. Tinkering with rest of the partitions would do no good to you.

You're probably confusing TWRP backups with existing partitions here. TWRP backs up in two different ways:

image: a disk image (i.e. a block-wise copy)
tar: disk contents (i.e. a file-wise copy)

So you have two backups of the same partition here. Also see my answer on Trying to understand the options in TWRP backup for more details.
Moreover, if you want to "free up space", /system is the wrong place to start. Rather check with the questions linked from our insufficient-memory tag wiki for this task.


text:
dropped phone in water and it had holes in it what do i do?
I dropped my lg sty lo 3 in water on accident and it had to holes in the screen  the phone turns on but it does not let me click on the screen I put it in rice but it does not work and I don"t have money to buy a new one what can I do?

Get it fixed by a professional. There is nothing substantial we can do about this from here.

You switched on too early that was a mistake. Watch this video how to remove the battery. Keep it off for about ~1 week. Dry your phone in the sun or oven (max 70 °C degree celsius/ 150 °F degree fahrenheit) https://youtu.be/xWD61VPnJEs buy USB-OTG adapter and connect a mouse, this should give you opportunity to enable usb-debugging in developer settings and backup your data

please check duplicate questions for answers too https://android.stackexchange.com/questions/tagged/water-damage


text:
Does my screen have burn in or is it something else?
My Samsung Galaxy S7 appears to have burn in, just like in this image:

(Not my phone. Image from Android Authority)
The difference is that no matter how hard I look, I can't see any icons or any other irregularities in the white bar. It appears to be perfectly uniform. It's exactly where my notification bar is in portrait mode, but I use my phone in landscape mode a lot too, and there is no colour/brightness difference at the side.
Also, the white bar is brighter than the remainder of the screen: I would expect burn in to make it duller.
What is causing this?

burn in
hardware
software

Most likely you are right, your display is affected by a burn-in effect.
One indicator for a burn-in is that a pattern (or ghostly image) is always visible on screen but if you make a screenshot using the Android built-in screenshot function the created screen image does not show any indication of the pattern. And if you reboot the phone nothing changes.
The Galaxy S7 is equipped with an OLED display, this means that every small pixel is a small LED based on organic chemicals that can be individually lit.
The problem of OLED displays is that the longer and more often a pixel is lit, the pixel is aging and getting very slowly darker and darker.
Based the screen shot I would agree with you that this was caused by the Android task bar which is usually black (not lit pixels means no aging) whereas the rest of the screen above the task bar is usually not black and therefore is affected by the aging effect.
May be you often accidentally activate the screen when the phone is in your pocket (and therefore in portrait mode)?
Usually modern OLED displays should have implemented counter measures to reduce the effect that different parts of the screen are aging in different speed. However it looks like in your case this mechanism wasn't able to fully compensate this effect.
What you can do: The pixels aged pixels that have lost a bit of brightness can't be restored. Therefore the only way is to force the remaining usually black pixels and increase their aging.
This can be done by displaying an image that have all pixels black except for the area that is brighter (the area below the red arrows on your image). If you display this image on your screen for some hours a day you will see that the pixels will slowly will adapt their brightness to the pixels on the rest of the screen.

I've updated my question as it was not clear that the "burnt in" area is brighter than the rest of the screen, which is counter-intuitive.

@CJ: No that matches exactly. Areas that are usually black/dark don't age as fast as areas that are usually lit. Therefore the "burnt in" area (the lower part) is brighter than the rest there is no contradiction as the task bar is mostly black. The only thing that is "counter-intuitive" is your definition of "burnt-in".

My notification bar is white and the brightest part of my screen. The rest of my screen varies in colour, often dark or black, sometimes bright or white. Some of my apps change the notification bar colour to something other than white, but most don't. When the notification bar is dark, so is the rest of the screen so the entire screen should age slower when in that state.

@CJ: The notification bar is the upper most part of the screen. I was assuming we are talking about the lower part, right? Please add a screenshot and a photo of your phone, otherwise your description can be very misleading.

Unfortunately I can't take a photo of my screen since my camera is embedded in my phone... I assumed that photo was taken with the phone upside down.


text:
What is nobody@localhost in Google calendar app
I seen something strange option in my Google calendar app in my realme mobile.
There is account with name "NOBODY@LOCALHOST" and with the check box option "nobody@localhost"
I didn't seen before in my past mobile
Any solution appreciated?

This mostly appears in Oppo/Realme phones or maybe all phones from China.
Anyway,to remove it,install on your phone iCal from Google Play Store.
Open the app, use it to look at the calendars on your phones, choose nobody@localhost and delete it using iCal. Job done.
Hope this helped.

Hi, I've got a similar issue. There is no "iCal" app on the Google Play Store that I can see, could you clarify which app you're referring to? Cheers

I couldn't find iCal in the play store, but you can also use CalendarSync trial to remove the nobody@localhost calendar from your device.


text:
Is there a way to disable notification for WhatsApp except from specific people?
Someone told me there's a way to disable all notifications from WhatsApp except for messages from specific people.
How can I do this? (I own a Pixel 3)

If you want to receive everything from this group of people and ignore others, then turn on "Do not disturb" mode & just include your desired people as exceptions.

The only way to achieve it is the following:

Open WhatsApp
On the main screen, long-press to select a contact
After the first contact is selected, tap on all the contacts you don't want to receive notifications from. You will have to select the contacts one by one because there is no "Select all contacts" button (if there are hundreds or thousands, then good luck selecting them)
Press the muted speaker icon. A pop-up will appear asking for how long the contacts should be muted. Select the time (don't enable "Show notifications" just in case).

The selected contacts will be muted, their notifications won't be shown except only those that were not selected. Note that if a muted contact calls, you will still receive the notification.

Not very practical for what I wanted, but I realize there probably doesn't exist a more practical way. Thanks!

In 2022 it's possible to select all contacts after selecting the first. Then you can unselect those that you don't want to mute.

One workaround only to not hear sounds from all contacts except from a specific contact is to set the notification tone as "None" in whatsapp notification settings. Now go to the specific contact on whatsapp and change their notification sound from default (none) to a required sound. This will not stop showing notifications on your display though.

If you want to disable notifications for specific group except from specific people:

Navigate to a group or person.
Select group/person by long-press.
Press three dots menu.
Press Group info (if you have selected group) or View contact (if you have selected person).
Press Custom notifications.
Tick the Use custom notifications checkbox and start customising the notifications for this specific group/person.

You should set None sound for Notification tone for the group to effectively disable notifications for the group and then you should set custom sound for all persons in the group whom you want to receive notifications for.

I also think this should work, but may take more steps than another answer.

This works perfectly, and it works both ways: you can disable notifications for a single contact (or group), or, if you've disabled all group notifications, you can enable notifications for a single contact (or group).

This does not work. It seems that Notification tone for the group has higher priority than Notification tone for particular contact(s).

Unfortunately, this is not possible.
The basic M.O. of any "social media" including WhatsApp is that you are not supposed to be free to choose when and with whom you want to communicate even if you get the illusion of that.

Clearly incorrect.  The accepted answer gives one way of doing it and I can think of others.  Besides, any social medium forcing crap upon you is violating GDPR.

Actually this is answer is correct because the accepted answer specifies how to disable notifications from specific contacts - not to disable by default and enable only specific ones.


text:
Chrome on Android has just eaten all my data plan
I am using Chrome on Nexus 5X.
Nothing like this ever happened until the last 2 days - my data plan was depleted suddenly, the carrier's app claimed that I have no more data, and when I checked my data usage in Android Settings, I got this:

WTF?
I didn't do anything special with Chrome in the last 2 days, my occasional Facebook browsing (no videos) has no way to reach that amount.
Is there any way to check inside Chrome which website did this? Or is it a Chrome bug?

Go into Settings app > Apps> Chrome> Storage> Manage Space>Manage. That would show you website-wise data consumption. Not sure how accurate that is.

Didn't show anything useful or related.


text:
What is the exact functionality of Google Play Services & Google Services Framework (gapps)?
Is there an official or unofficial description of what is the exact functionality of Google Play Services and Google Services Framework (gapps) apart from things related to the Play Store account-related functions?
From my understanding it includes at least:

GPS location
ads, tracking and stats
GCM (Google cloud messaging for push notifications)
everything related to managing Google accounts, services and Google user profile data.
apparently some machine learning pre-trained models for voice recognition, TTS, keyboard gesture typing.

What else?
The question came up after I noticed that for example the Google Podcasts app size is only about 300Kb and it won't work without gapps, so that indicates that some core functionality is already in gapps.
The combined size of Google Services Framework + Google Play services is over 700MB — this is enough for an entire operating system. So what exactly does this code do?

Update: correction about the Google Podcasts app — I have identified that the tiny size of the app is explained by its dependency on the Google app and not just the GSF.

And our google-play-service tag wiki. Always check those tag wikis first, your answer might already be there :)

Google Play Services (com.google.android.gms) is an app which works in collaboration with a number of other closed-source apps to provide Google Mobile Services (GMS) to Android users. To quote a few of them are Google Ads, Firebase Analytics, authentication (of Google account login, saving credentials from other apps, through SMS), Google Cast devices, Game Manager, Drive, Cloud Messaging (push notifications), Google Fit, Location Provider, Maps, Instant Apps, nearby devices, search predictions, Google+, SafetyNet, Tasks, Wallet etc. Further details can be found here and here. Play Store (com.android.vending) provides additional APIs/services like In-App Purchases, App Licensing and Play Protect.
From your comment:

So is it only APIs for app integration, or is there also Google's internal proprietary code for analytics, usage tracking, metrics etc?

Developers can tell better, but AFAIU everything is proprietary except the API interferes. Google's own proprietary apps like YouTube, Chrome, Gmail, Maps, Gboard, Messages etc. rely on these APIs/services, and mostly refuse to work without GMS on device. In addition to those, OEMs are bound in contracts to ship their devices with Play Services pre-installed as system apps. App developers find it more convenient to build their apps with Google APIs. In fact many AOSP features are becoming dependent on Google's proprietary products unnoticeably. Quoted from here:

The Doze restriction on network access is also likely to affect your app, especially if the app relies on real-time messages such as tickles or notifications. If your app requires a persistent connection to the network to receive messages, you should use Firebase Cloud Messaging (FCM) if possible.
  ...
  FCM is optimized to work with Doze and App Standby idle modes by means of high-priority FCM messages.

If you have GMS installed on your device, dumpsys activity services will usually show more than a dozen Google services running in background like MeasurementBrokerService, PersistentBoundBrokerService, ContextManagerService and GcmService etc.

Also, how is the functionality split between Google Play Services and the Google Services Framework?

There are a number of apps which work in background with Play Services like Services Library, Shared Library, Carrier Setup, Market Feedback Agent, Backup Transport, Config Updater, Contacts Sync, Partner Setup and so on. A more exhaustive list can be found here. Google Services Framework (com.google.android.gsf) is also one of these apps (sharing UID with com.google.android.gms) which is mainly about Cloud Messaging (FCM) but there isn't a clear line (at least officially spoken) between functionality of different components of GMS suite.
FURTHER READING:

Install Google Play Services without Google Play Store
What Is Google Play Services? Why Do You Need It?
GMS Certification for Android 9 Pie Based Devices
The facts about Google Mobile Services (GMS) in the Enterprise


text:
What is the space distribution for disabled system apps?
My phone is rooted with Magisk. I have a root browser app, allowing me to "sneak peek" into the root directories.
I found, for example, that for the Google Drive app, the APK in /system/app is 23MB, but application manager shows the app size as 30MB (excluding 750KB of data). Where is the rest 7MB gone? If I debloat the Drive app, I know I will not be able to use the 23MB as that is in the system partition, but will I recover this 7MB?

Check these folders  /data/data/com.google.android.apps.docs and Android/data/com.google.android.apps.docs (internal storage or SD card).You will get the 7Mb back. Force stop the app, clear data and cache and then debloat.

@WrichikBasu this recent answer of mine addresses your question in detail.

if your phone is rooted install Link2SD it is great in showing size and folder names i use the free version for managing my apps (search/sort/share/clear/freeze) you don't even need the second ext4 partition or linking functionality

Is the Google Drive app active or disabled? If it is active most likely an update is installed and the app on system/app is not used at all as the update installs like a regular app in /data/app.

@Robert it is disabled.

@alecxs will look into that.

@Irfan Latif that is a very good answer.


text:
Permanently split screen (damaged touch screen)
Is there any way (via app, adb or anyhow) to force Android to actively use only part of the screen AND (this is crucial) to display something else (e.g. clock or some widget) on the remaining part?
The thing is I found an old Nexus 7 and a small part of its digitizer is damaged (top part, about 1/4 of the whole screen area). I wanted to somehow permanently "split" the screen and use the remaining 3/4 for regular use and have the rest display time and date, current weather or anything else.
Ideas anyone? :)

Not exactly what you're looking for, but this should get you going. Resize screen for Dead touch zone

Thanks for that. I saw it earlier and it would be actually pretty good, but the unresponsive (touch-wise) part remains useless and I wanted to have it display something....


text:
What Percentage of Android Devices Run on a 64-bit Architecture?
How many Android devices are using the ARM64 or x86_64 architectures, and how many are using 64-bit versions of Android that can run 64-bit apps?
My assumption right now is that it's still worth supporting 32-bit versions of Android for mobile apps, but these days more and more devices are 64-bit and make use of several GB of RAM. As of this month, Google is now requiring that new Android apps have 64-bit versions, so I'm wondering for how long it will be worth supporting both architectures.
Additionally, how powerful are average high-end 32-bit devices? Even if the marketshare of 32-bit devices is high, it could be worth dropping support if most 32-bit devices won't run any intensive apps or games anyway.
This question is related to another question about x86 usage.

App development related questions get better reception at https://stackoverflow.com

I have not yet been able to view recent statistics, but
according to this article published end of 2017:

The ARMv8 instruction set architecture rolled out 64-bit hardware support in 2014, and now almost every new Android device can run 64-bit code (but only 40 percent of active devices)

From this ARM's blog post:

Nearly 90 percent of today’s Android devices deploy a 64-bit capable version of the OS (version 5.0 and above).

Statistics on the percentage of OS used can be checked here and here.

The "Distribution dashboard" (your first "here" link) doesn't actually have information about 32-bit vs 64-bit, but it does have Android version marketshare. Where can I find information of which Android versions support 64-bit (and are there any that are only 64-bit?)

Any idea how this is today? I use a 2015 sm-j700m locked on 32bits than can run many games from playstore. I think i should use ue4 to create 32bits game too (ue5 is 64bits only). 32bits seems still very alive right?

@VeganEye I have not seen recent stats. But on the link to the Distribution dashboard, it is stated that "If you want to see statistics just for the devices on which users are running your app, you can use the Google Play Console". I don't know if it shows the percent of 32-bit and 64-bit devices.


text:
Android Auto is not working with Realme1 (6 GB / 128 GB)
I have Sony XAV-AX5000 in my car, I tried to run android auto with my realme1 (6GB /128 GB) variant but it is not woring in both colorOS 5.2 and colorOS 6.
I checked with other phones (iphone as well), Android auto and Apple car play both are working fine as expected.

Are you using a quality USB cable? (trust me, this matters) Is your phone running the most current OS version? Is the Sony stereo updated to the most recent firmware? See link below https://us.community.sony.com/s/question/0D50B00005IMvLxSAL/android-auto-not-working-in-ax5000-with-realme1-phone?language=en_US

Yes everything is latest and I am using standard quality cable.


text:
Permit use hardware (camera,microphone,etc) to application for some time, not forever
In Android 6 and latter, when application asks for permission (for example camera access) user can

allow,
or dismiss,
or check 'do not ask any more' and dismiss.

I would like to have one more option:

allow for some time (5sec,1min,5min,3days)

I am sorry but this is not the way Android works. There may be way on rooted devices or using a privacy aware custom ROM for your device, but those are not of--the-shelve solutions and may require a lot of work.

You can run a cron daemon as root which periodically checks for specified permissions on specified apps. And if the permission is granted, it will revoke that. It needs some scripting. May also work on adb shell but non-root daemons may get killed. Possibly some automation app can do that for you.


text:
How does an Android app accesses any browser's history?
I recently came across FamiSafe, a child monitoring app, through one of my friends which gives a lot of information about the activities of the mobile phone. I was awestruck as it gives a detailed information about the location, browser history, etc.
That got me thinking:

how is it possible for an application to access what websites are visited through a browser?
How is it possible for this app to know that a person has searched or visited a website and record it and show the same in the application?
Does this app interact with the OS for website data?

Since it gives data irrespective of browsers I assume it has nothing to do with the browser used. Instead, it has to be something directly to be dealt with. Anyone has any idea how this works?
The device is OnePlus 5 running Android 7.

The common way for an app to get the data of visited sites is to register as VPN service, monitor the traffic and extract the visited servers. For HTTPS connections this only works before TLS 1.3 is widely used (supported Android 10+).

@Robert but destination IP in packet header won't be encrypted, right?

@Irfan Yes, but if the server is e.g. hosted by a cloud provider like Amazon where hundreds of hosts share the same IP and the IP frequently changes how much data can you then derive from knowing the server IP?

@Robert correct. I just asked to validate my understanding.

That app uses Accessibility service (originally meant to assist users with disabilities) to read what is being displayed on the window. It also uses app usage permission to track what app is being used at a time. Combine the two features and the app can know when a web browsing app is active, and what is being typed in there and displayed there. That app has already declared in its description on Play Store that it uses the said service. Under Web Content Filtering & Web Monitoring heading, it states:

This app uses Accessibility service to limit app usage and keep your children from internet dangers

Related:

How do certain apps record everything we type in android?
Unusual ways of using Android accessibility services (by Maksym Dybarskyi)