text:
How to create an album without uploading to Google Photos cloud
On my Android device, Xiaomi Redmi note 8, the sync with Google account is disabled. For Photos, too. Today, I created a new album on the photos and noticed that it started to upload the photos, and it is already on the wifi. This is strange since the syncs are closed.
I want to prevent this, looked for the options, and couldn't find one. I've seen this question and its answer, however, none is helpful.
My guess, Google covertly implemented this feature so that any album other than the main, is uploaded to the cloud. Is this correct?
Can we create an album without uploading it to the cloud?
Is there a way to prevent this, other than the temporary Wi-Fi disablement?

Note to the covert adversary:

There is no notification for this, just show a dialog to choose. Give us our liberty!
On Accounts& Sync settings, even the sync is closed, once you touch one of the items, the item immediately starts to sync. What a shame!

@beeshyams that is an annoying solution. I've blocked it with Netguard and the photos application seems that it is not accepting that it cannot reach the net. It tries to keep uploading and we have a notification running indefinitely.

Sorry for that. Should have suggested after checking. Google is very troublesome. Will revert if I can think of something +1

@beeshyams If the photos application stays in the background, the notification stays to indicate the upload try. If the photo application is killed, then the notification is gone.

Thanks. This seems to be an option if northing better turns up


text:
unable to see music files in any player app
This is a seemingly common problem and I viewed the dozen suggested posts before posting this but none of that helped since it was mainly things I already tried.
50 GB worth of MP3s in /sdcard/Music
I can see all those files in various file browsing apps and terminal emulators but no music player app can see them. I tried three different players already. They can see music files in Download directory but not in Music. There was a .nomedia file in there but I deleted it days ago and re-scanned media multiple times and rebooted multiple times.
I had all this music in the same location on my last phone Pixel 3 Android 9 but then got a new phone Pixel 5 Android 11, moved all the files onto it, just via file copy from Windows, but player apps can't see them. It's almost as if that .nomedia file was still in there, totally invisible to me.

.nomedia files are not always visible. Try this app to scan and remove those //Next step, from your settings, show system apps and then locate media storage delete it's data (you won't lose anything), reboot, wait for a while and check //Other possible causes - windows file copy (does not Pixel 5 copy these files over using the transfer function with the cable provided)?;//

It could be the mandatory SAF restrictions at play, in which case you would need to find a player updated to 11

See this, may help

@beeshyams, looking at that last Google link, it says that Music, Photos, and Videos except for hidden folders. My Music folder was certainly not hidden and it didn't get copied, I had to copy manually and even then, apps can't see the contents of that folder.

Did you try the app + suggestion in first comment?

Tried the app, it never finished the search for .nomedia files, even hours later. Media Storage shows 67 GB of User Data and 0 Cache but both "clear" buttons are grayed out. Other files were copied from old phone to new but not Music, that remained empty so I copied using file transfer from Windows.

That's very strange to me. No idea why it takes so long. I have used this on two devices across Android versions but was never a problem. All the best for a solution

I was thinking about this and it's really strange that the app isn't working. Try using app mentioned here and clean up everything that a free version offers. Next, try with that  media scanner app

@beeshyams, I did a bit more troubleshooting and found that if I download a song, even from my own Google Drive, it is immediately seen by all music apps. I can then move the file from Downloads to Music using some file management app and that song is still seen in the new location. But I can't sideload the files, they have to be downloaded. Moving sideloaded files from Music to Downloads doesn't make them visible to music apps. Their original entry point makes a difference.

source: Stack Exchange

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

sort: votes


text:
Upside down videos on BlueStacks
I use the latest version of BlueStacks as a simulator on my PC at the office.
I've installed Instagram on the BlueStacks simulator to work easier when I don't have my mobile phone with me at the office. My PC is OptiPlex 9020 - i7 and I have installed the latest version of BlueStacks.
The problem is that I see the Instagram videos upside down.
Should I change any setting?

Because I had used it, just download BlueStacks with Android and Windows both set to the 64-bit version. Use the following link https://www.bluestacks.com/download.html.
It will 100% solve your problem, the only condition is virtualization on your PC must be enabled.

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


text:
Unlocking apps on "recent apps" screen on AOYODKG Tablet 10-inch
I have AOYODKG Tablet 10-inch updated all the way. On the "recent apps" screen, there are locked apps, and I want to unlock them.

I've looked through many websites and tried through settings, and I've tried pushing the actual lock button to unlock the app. There is also no 3-dot on the top-right of the app.
How to unlock those apps? I would also love to disable the feature if possible.

Did you try long pressing the cards?


text:
Google won't read web pages on my Android 8.1.0 phone
When I bring up a web page on Google assistant & say
"Hey (or Ok) Google read it" nothing happens, & in Google Go, the play button triangle is greyed out.
These apps have permission to use the microphone and I have tried making seemingly helpful changes to all the obvious settings I could find.

So your question is only about the Go edition where reading web sites does not work (neither via button nor via speech command)?

Unless Google Assistant is just Google Go in disguise, then my question is not solely about Google Go


text:
How to save YouTube downloaded videos to external SD card?
I have a Lenovo A7000 with Android 6.0 installed. How to change the download location so that videos downloaded on the YouTube app are saved in the SD card?
I don't have the "Use SD card option in the download section on YouTube."

Even if you can move them , you can't play them

If the app itself is not saving the files to external SD card, there's no way to do so externally, at least on non-rooted devices. Related: How to save files to external SD card on a non-rooted Android?

I would suggest you to use New-Pipe app. It has a ton of additional features than youtube like download mp4, pop-up, video in background, and above all NO ADS. Give it a try.. You'll love it


text:
SNote and TWRP manual restore problem
This is my first time posting here and I am not sure how to best classify this question with tags, so please excuse me.
Here's the problem: I have backed up the data partition with TWRP and then wiped my Note 10.1 2014 before installing a fresh stock ROM. I did this because it went into a bootloop. When I tried to do a restore of the data partition through TWRP it sent the tablet back into a bootloop, so I had to redo the wipe and installation. I am only really trying to get one thing from the data partition, my S Note notes, so I thought I'd try to do this manually. I unzipped one of the TWRP backup archives (data.ext3.win001 or something like that) and found the folder com.samsung.android.snote in there with the .SPD files inside.
However, the .SPD files actually appear as folders on my Mac, not zip archives as they should be. Something must've gotten mixed up in the TWRP backup. They contain all the appropriate files, and they are of the appropriate size, so I thought I'd zip them on my computer, change the file extension and put them on the SD card and back into the phone to be imported into S Note. However, S Note says "Invalid file format" when I tried to open them.
Does anyone have an idea about how S Note files work, and how they can be correctly zipped, give that I have all the correct contents? I know it's a long shot, but any assistance would be welcome! Cheers!

Why do you think the .SPD files have to be ZIP archives? If TWRP backup as saved them as folders I would assume this is totally correct. Just upload all the files in the correct directory structure and move them with root permissions to /data/data/com.samsung.android.snote (assuming the SNote data files are located in the app-private directory not somewhere on /sdcard). Adapt the file-system user and group permissions and this should be it.

As an alternative, try Titanium backup for restoring S notes. It has an option to restore from nandroid backup

language barrier note: can it be that you are using the term "zip" as general synonym for "archive" (for example data.ext3.win001 is not a zip but a tarball archive)? or do you mixing up different file formats (zip archives expected for export/import via sdcard, spd files for internal app data only)?


text:
adb appops command error trying to disable vibration for a specific app in Android 10
Referring to this excellent Q&A:
How to determine which app is causing vibration?
I opened an adb shell and ran:
for pkg in $(pm list packages | sed 's/package://')
do
    echo "$pkg $(appops get $pkg VIBRATE)" | grep 'time=+[0-9]*s'
done

which resulted in:
tesmath.calcy VIBRATE: allow; time=+11s553ms ago; duration=-18585d23h50m2s991ms

I then ran:
appops set tesmath.calcy VIBRATE ignore

but it resulted in the error:
appops set tesmath.calcy VIBRATE: inaccessible or not found

How can the app initiate vibrations but yet this adb command doesn't successfully disable them in my Android 10 device?

In Android 10, once the user sets "Deny" or "Allow only while using" in the system, the settings in App Ops will never take effect (because uid mode set by the system is used first).

So maybe enable vibrations again in App's Notification Settings and then try again with ADB?

Edit: tried that, no change, however, turning off notifications entirely and turning them back on (leaving vibrations off) did work. Strange


text:
Run Tasker if battery falls from a specific value to another one?
I am struggling to set up a Tasker profile so that it performs a task when battery falls from value X to value Y.
I always get the error that the Y value (to) cannot be smaller than the X value (from).
Does anyone know how to properly set up a Tasker profile that runs a task when battery falls from a certain percentage to a lower one?

Do you really need to set the starting value? like X is 100% and y is 20% then there is no use of the start value. Just set trigger to "if battery percentage reaches X% && it is not plugged in charge"

Thanks! Where can I find this trigger?

@Aayush for me it would be if battery falls from 30% to 29%.

Do you really need to use Tasker?? Want to try any other app? Easier to use.. I will suggest you to use Automate app.. It is very easy to use and has various functions too..

Will give that one a try, thanks!


text:
Cannot restore WhatsApp backup without Google Services
I'm migrating from a standard Google-enabled smartphone to a Huawei one, that does not have the Google Services installed. Anyway, I was able to successfully download and install WhatsApp from the official website.
Of course it didn't find the Google Drive backup because there is no such a Google account.
Looking at the documentation, I copied the files inside WhatsApp/Databases from the old phone to the new one and reinstalled WhatsApp.
But it still says it cannot find a backup, and leave me with a blank chat history!
I also tried to copy the content of WhatsApp/Backup too, without success.
Why it does not work? According to the documentation, copying a local database should work!
Of course I'm using the same phone number.
UPDATE
I tried the procedure suggested by the first link posted by alecsx. But it didn't work. Here the output:
Please connect your Android device with USB Debugging enabled:

cannot connect to daemon at tcp:5037: Connection refused
* daemon not running; starting now at tcp:5037
* daemon started successfully

Found legacy WhatsApp 2.11.431 in local folder

WhatsApp 2.20.206.24 installed

Backing up WhatsApp 2.20.206.24
/data/app/com.whatsapp-jYkcwEVhvHkOnFYgxsrM9g==/base.apk: 1 file pulled. 24.8 MB/s (31188619 bytes in 1.202s)
Backup complete

Removing WhatsApp 2.20.206.24 skipping data
Success
Removal complete

Installing legacy WhatsApp 2.11.431
adb: failed to install tmp/LegacyWhatsApp.apk: Failure [INSTALL_PARSE_FAILED_NOT_APK: Failed to parse /data/app/vmdl1329425107.tmp/base.apk]
Install complete

Now unlock your device and confirm the backup operation...

Please enter your backup password (leave blank for none) and press Enter:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Don't know how to process version 5
    at org.nick.abe.AndroidBackup.extractAsTar(AndroidBackup.java:420)
    at org.nick.abe.Main.main(Main.java:128)
    ... 5 more
Caused by: java.lang.IllegalArgumentException: Don't know how to process version 5
    at org.nick.abe.AndroidBackup.extractAsTar(AndroidBackup.java:282)
    ... 6 more
tar: tmp/whatsapp.tar: funzione "open" non riuscita: File o directory non esistente
tar: Error is not recoverable: exiting now
tar: tmp/whatsapp.tar: funzione "open" non riuscita: File o directory non esistente
tar: Error is not recoverable: exiting now
tar: tmp/whatsapp.tar: funzione "open" non riuscita: File o directory non esistente
tar: Error is not recoverable: exiting now
tar: tmp/whatsapp.tar: funzione "open" non riuscita: File o directory non esistente
tar: Error is not recoverable: exiting now
tar: tmp/whatsapp.tar: funzione "open" non riuscita: File o directory non esistente
tar: Error is not recoverable: exiting now

Saving whatsapp.cryptkey ...
cp: impossibile eseguire stat di 'tmp/apps/com.whatsapp/f/key': File o directory non esistente
Saving msgstore.db ...
cp: impossibile eseguire stat di 'tmp/apps/com.whatsapp/db/msgstore.db': File o directory non esistente
Saving wa.db ...
cp: impossibile eseguire stat di 'tmp/apps/com.whatsapp/db/wa.db': File o directory non esistente
Saving axolotl.db ...
cp: impossibile eseguire stat di 'tmp/apps/com.whatsapp/db/axolotl.db': File o directory non esistente
Saving chatsettings.db ...
cp: impossibile eseguire stat di 'tmp/apps/com.whatsapp/db/chatsettings.db': File o directory non esistente

Pushing cipher key to: /sdcard/WhatsApp/Databases/.nomedia
adb: error: cannot stat 'tmp/apps/com.whatsapp/f/key': No such file or directory

Restoring WhatsApp 2.20.206.24
adb: failed to install tmp/base.apk: Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
Restore complete

Cleaning up temporary files ...
rm: impossibile rimuovere 'tmp/whatsapp.tar': File o directory non esistente
Done

Operation complete

Please press Enter to quit...

Nothing has copied inside the extracted folder and on my device WhatsApp was removed.
I see a lot of error, but it's not clear to me the root cause of the problems.

https://forum.xda-developers.com/t/tool-whatsapp-key-db-extractor-crypt6-12-non-root-updated-october-2016.2770982

https://www.reddit.com/r/MicroG/comments/ibkfc9/question_microg_on_huawei_p40_pro_emui_101

Which official website are you talking about? The official website forwards to goole play's website.. Delete that whatsapp and download this.. https://apkpure.com/whatsapp-messenger/com.whatsapp

@Aayush, I was talking about whatsapp.com/android - the official WhatsApp website.I tried your link but it refuses to install (Huawei MatePad T8) saying something like: "the package being installed contains native code, but no compatibility is found with the CPU_ABI of the device. Please install the official version of the app" (the message was in Italian)

@alecxs, I apologize but I don't get the point in your links. The first tool extract the chiper key and database (I guess I have to do this on the old phone) but then how to restore in the new one? Instead I don't understand what they are saying in the second link, and how this might help me to restore the WhatsApp local database.

sorry i was busy thought you could imagine.. 1st link introduces outdated legacy whatsapp which allows adb backup+restore. 2nd link is for gms workaround with a) microG or b) virtual gms

@alecxs, no problem at all! If you can elaborate a bit further the procedure in an answer I will be glad to follow it and try to restore my data.

still busy on daily job.. can only assist with 1st get adb backup working (try with any app). once you figured out the basics, uninstall WhatsApp from adb with -k flag (keep app data, important!), install WhatsApp 2.11.431 and open it once. Now make adb backup (again) this time backup will include app data. restore to new phone and update WhatsApp, that's it. for media files transfer WhatsApp directory (emulated storage)

regarding 2nd, apps depend on google libraries (API). google services (GMS) is heart of android. without gms most apps cannot communicate (even they might still kinda work in some limited way) so for Huawei devices one must find alternative. microG provides some APIs (but is far from complete). can't help you with this as i am neither use WhatsApp nor have Huawei device

Initial setup of usb-debugging and adb shell is mandatory on both devices

you can install old WhatsApp from adb shell
adb shell cmd package uninstall -k com.whatsapp
adb push WhatsApp-2.11.431.apk /data/local/tmp
adb shell cmd package install -r -d /data/local/tmp/WhatsApp-2.11.431.apk

open WhatsApp once (it ill will claim outdated version/date)

start adb backup, leave password blank and confirm
 adb backup -f whatsapp.ab -apk com.whatsapp

restore the whatsapp.ab to other device
 adb restore whatsapp.ab

update Whatsapp like in first step (devices without Google Play)
adb shell cmd package uninstall -k com.whatsapp
adb push WhatsApp.apk /data/local/tmp
adb shell cmd package install -r /data/local/tmp/WhatsApp.apk

Done. Note i haven't tested as i don't use WhatsApp

sorry did fail on huawei "Error: APK content must be streamed" and with adb install "Failure [INSTALL_FAILED_VERSION_DOWNGRADE]"


text:
sharing network using adb port forwarding
A bit of background
I have an Android phone, which unfortunately cannot usb-tether while it is connected to the internet (using wifi or mobile data, but it works when the device is not connected to the internet. Wifi and Bluetooth tethering have this problem too). Now I want to connect my PC to the internet using my android phone (using only wired connection).
The unideal solution
I came up with a rather hacky solution which has a minor problem: I compiled gost - a proxy server - for my device (FYI, I used GOOS=linux GOARCH=arm environmental variables to build the binary) and ran the binary on my Android phone on port 8080 (I placed the binary in /data/local/tmp. I ran it the obvious way using adb shell without superuser privileges). Then I used adb forward tcp:8080 tcp:8080 to forward device's port 8080 to my PC's port 8080. After that I used localhost:8080 as a socks5 proxy on my PC and could access the internet.
The problem is that I cannot use certain applications as they don't support connecting through proxy (some of them run on a lower network layer than a socks5 proxy, so there is no way for them to work).
My question
Is there any way to run a VPN server on my Android phone (which conveniently has root access too) and use it like the way I currently do? If so, I'm only interested in solutions using well-maintained opensource software.

I should say it almost does. But I guess I will need to change the route for using wifi/mobile data (correct me if I'm not right), which makes it (to some extent) inferior to my current unideal solution. But then again, at least it works, although not as easily as I wanted. I would really like to see an easier solution, for which I could not find a suitable implementation, at least in Go.

Yes you need to configure interface names and IP addresses in routing according to your setup.


text:
How to kill the screen recording "Start" dialog
After starting the Screen Recording app the "Start" dialog with the red circle is now always there. How can the app and that icon be closed?
This is Android9 on an Xiaomi Redmi 8A

Which Recording app are you talking about exactly?

Record screen accessible by swiping down twice and then swipe left twice

If this is not a 3rd-party app, probably worth also mentioning the device model and Android version since not all Android devices have in-built screen recording :)

The Start/red circle does have an X on it. I had tried it a number of times and nothing happened.  Now I tried it again and it did close the recorder (after a confirmation dialog).  Not sure why it is so difficult to accept the click.


text:
How can I save my google play account? My old email is being closed and I can't find a way to add a new one
I have attempted to add an alternate email, but it says I don't have permission. This is an old work email that is being closed. I am trying to save my google play account, but can't find a way to transfer it to a new email. Let me reiterate that it says I don't have permission to add an alternate email.

Log in to gmail in your android device using the account you want to use in play store and turn on sync. This may add the account to the play store.

@bashBedlam The Link you've attached again points to this post. Kindly correct it


text:
How to resize SD card using terminal? and create a new partition on it?
I don't have SD card reader for my computer, so maybe I could do it directly from termux instead.
How to resize SD card without losing data? And make new EXT4 partition.
(parted) p:
Disk /dev/block/mmcblk1: 63.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  63.9GB  63.9GB  primary               lba

See sgdisk example here: https://android.stackexchange.com/a/220042/218526

Related: How to move 7GB ext4 partition on external SD card to 30GB partition on another SD card?


text:
Parts of touchscreen not working and progressively getting worse - what's causing it?
First it was like this, then this, and now this. The white part is the part that's not responding to touch. Notice how it increases by an entire row in each picture. This is over a span of 3 weeks.
It's driving me crazy! What's causing it? I didn't drop the phone or get any water in it (as far as I can remember). It just happened suddenly. Does the digitizer go bad by itself without any physical damage? And why is it increasing like this?
It's the same in safe-mode and recovery. How do I diagnose this? I already ady cleaned the connector. I really don't want to get a new digitizer and then it turns out to be not it.
Thanks for any help!
Moto C Plus | Android 7 | Rooted

As already pointed out this is most likely a hardware damage. I am sorry but if you really want to know why your touch screen does not work correctly you should better ask some electronic experts. The screen as an electronic component is unrelated to Android.

Any idea where online would be the best place to ask?

You don't have to drop the phone or get it went to cause hardware defects. Electronic chips have internally components that degrade just by using it. Additionally humans are from a perspective of an electronic components really "hazardous entities". They emit sweat, dust, fat, use creams, and other chemicals and a lot of other things that can corrode or harm electronics.

You may try it on https://electronics.stackexchange.com (not sure if it really fits there) or may be on reddit.


text:
Any way to root a crushed phone and get encryption file from it?
tl;dr Is it possible to root an Android 8.0 phone that is accessible only via USB? Is it then possible to extract encryption .key file out of it in order to decrypt its SD Card that was formatted and encrypted as Adoptable Storage? Can all of this be done with not functioning, broken screen?

There is a lot of good quality guides here on how to encryption .key file from /data/misc/vold folder and use it to decrypt Adoptable Storage on any Linux-based computer. But all these guides assume that you have:

rooted phone,
access to phone's screen.

Your phone must have screen operable to either:

install and use some app on it: here or
confirm some dialog on it, unlock screen lock, if accessing it via USB: here or here.

Can the very same process be achieved if my phone have a screen in pieces?
Can I:

root a phone and
copy encryption .key file from /data/misc/vold folder after rooting,

when I only can access my phone via USB? Assuming that screen cannot be used at all.
My Motorola Moto Z2 Play is now in pieces after a car run over it. Screen is in pieces, battery is separated. Mainboard seems in one piece and I think is functioning. Whenever I attach USB it seems to be starting up.
Is there any way to get encryption key file from it, doing this totally remotely (via USB)? Or attaching a new, functional screen is an absolute must in this case?
EDIT: The phone in question is Motorola Moto Z2 Play, which started its history with Android 7.0.0, then went through A7.1 and landed finally with Android 8.0.0, updated about 1+ year ago. All versions of Android on this phone seems very close to stock one, as in most Moto phones.
Based on this article, I believe there's a FDE / full disk data encryption implemented there.

Is your device protected with a PIN code or password? If yes try to attach a keyboard via USB to unlock the device.

couldn't find any loader for XT1710. please try the Lenovo.mbn and go as far as you can get, see section Qualcomm Devices and try to flash stock recovery according to your ROM version (for testing purposes only), should not harm anything (which XT1710-xx do you have? there are many) also not sure if M8953P is compatible with M8953??

regarding the offset you should figure out with gdisk -l gpt.bin (or dump it straight from device) https://forum.xda-developers.com/t/q-extract-partition-img-using-qualcomm-edl-mode.4001287

there is a product on ebay.com but i am curios your device is not listed on http://mhltech.org you should ask the seller if your device supports MHL out of the box. you still won't get your encryption key but it will make things easier once you find working firehose programmer. consider buying new display it's maybe same price

search for collections like
romprovider.com,
firmware27.com,
leakite.com,
github.com,
tuserhp.com,
firmwarego.com


text:
how can I mount a ab backup file from windows? And would I be able to point an undelete program on it?
I see this Does rooting erase anything?  about making an ab backup file.
how can I mount an ab backup file from windows? And would I be able to run an undelete program on it or on the image?
I see this question How do I open a .ab file on my computer  but it doesn't answer what i'm asking because he is asking and was understood to be asking specifically about some firefox tabs.

"mounting" is a linux thing. only block drives can mounted (or disk image files of drives)

Android backup files created via adb backup are no images, they are more comparable to ZIP files. Only existing files are included into the backup file. Deleted files can not be included in such an Android backup.
Therefore you will never be able to run an undelete program on an adb backup file.
The only backup files that would make sense to use an undelete program on are NANDroid backup files as those backups files contain one or more whole partition(s).

TWRP create tar backup of /data partition, not an image backup. That needs to be done manually using dd or adb pull.

@IrfanLatif Thanks for pointing that out. I have corrected my answer.

OK an ab file isn't an image, it's a compressed file, like a zip file. How do you open an ab file?  7-zip can't recognise it

@barlop there you go: https://android.stackexchange.com/q/28481/96277


text:
Can't get SP Flash Tool working with Blackview BV5500 to install TWRP Recovery
I have installed Phone drivers (I have BV5500Plus & BV9500, same chipset MT67xx, same driver). For both phones, VCOM drivers are seen in Win10 if I connect turned OFF phone onto USB with Vol-DN pressed.
BV5500 bootloader is UNLOCKED via fastboot.
The method I use for connecting the phone is: (phone off): Vol-DN + onto usb.  Keep Vol-DN pressed until the phone enters Factory Mode menu. Release Vol button.
The instructions for downloading custom TWRP recovery to phone is to get SPFT setup for download BEFORE phone is connected to PC =

select DA file (in SPFT files)
select scatter file (from stock rom files)
select only 'recovery' partition to download & recovery.img file for TWRP
press Download button

The problem seems to be how SPFT needs phone to be connected when turned OFF (from what instructions I read).  VCOM driver for these phones is only visible in SPFT once driver is visible in Win10 (which is obvious to me).  However that doesn't fit with the instructions.
Before phone has an active VCOM connection, there is only COM1 visible (the printer). Therefore VCOM connection cannot even be selected in SPFT settings.
If I configure SPFT only when phones VCOM is visible in Win10 (so setting SPFT COM port to COM9 [shown in Device Manager but also only other option in SPFT] for example), this does not help.  Even when correct COM port chosen in SPFT, Download/connection still does not take place.  Zero activity shown.
I could try flashing the BV5500 from fastboot, but I tend to trust SPFT better, since its working with the scatter settings for partition locations. Also, SPFT seems to be the supported method of flashing stock rom if anything goes wrong, so I'm REALLY HOPING to get SPFT working.
What am I doing wrong here?  Should the progress indicator in SPFT show something immediately, or take some time to connect & transfer?  I'm not waiting long until I hit Stop button, & the program does recover/respond after maybe a minute/30 secs of pressing Stop.  Phone continues to work after these failed attempts.
There ARE SPFT logs.  I've looked at them, cannot understand them.  Maybe solution lies there?  Any help understanding the logs?  I can post some log contents here....

just switch order - 1 start flashing, 2 connect phone (like you descripted)

I've tried BOTH.  Start Flashing 1st.  Try connecting phone 1st.  SPFT totally ignores both attempts.  You do realise that if I "start flashing" BEFORE phone is connected, SPFT has no proper COM port to flash to?  Its set for COM1 (something else) by default.  I have to manually switch it to COM9 (phone).  But I'm only able to do that when I've connected phone 1st AND manually switched COM ports in SPFT.

@alecxs All the instructions for SPFT talk about VCOM drivers. I do know that there's multiple types of drivers for the phone.  AFAIK I have preloader driver installed. What I have NOT done is setup SPFT for USB mode, its on COM port mode.  Will try that. I am so irritated with bad/old instructions on the internet.  That is why some people end up here....

Is fastboot safer?  Like I said in OP, Blackviews default supported method of flashing stock rom is via SPFT. Their stock roms provide the scatter.txt file for the partition mapping, so that part is guaranteed in SPFT. OK, I was doing a couple things wrong previously.  Was not able to "ReadBack" bc of addressing problems.  I realised the problem was the Scatter file gives Start & End addresses.  ReadBack needs Start & Length addresses.  I got BV5500 Length address using "fastboot getvar all". After using USB, and correct SPFT Hex addresses, I WAS ABLE to readback "immediately".

https://blog.hovatek.com/so-whats-all-this-talk-about-meditek-secure-boot-and-da-files

https://android.stackexchange.com/q/219968

@alecsx OK, I've tried flashing the copy of twrp which I thought would work (it was online for BV5500).  So flashing "functioned" with SPFT, BUT ..BOOTLOOP....  Read what I could without anything helpful.   Then I tried setting SPFT up w stock recovery.img ONLY.  Hit Download button, connected phone during an "off" part of a reboot.  SPFT flashed stock recovery virtually immediately.  Then suddenly phone was back to normal......OK I think I may need ur help with getting best ver of TWRP for BV5500 Plus, and suggestions to make this work.

https://forum.xda-developers.com/t/twrp-recovery-not-working-on-blackview-bv9500.3873882/post-84071773

I've deleted comments I didn't think belonged here, but most comments show a progression in me finding solutions, so valuable to leave.  How do I mark 1 of your posts as Answer?   I'm sorry but this site is not intuitive to me.

@alecsx explained to me that I should be using SP Flast Tool with USB connection, not VCOM connection, even though SPFT instructions were to install VCOM drivers (so I assume VCOM was needed).
I already had drivers installed, so set up SPFT with DA file from within SPFT files, and scatter.txt from stock rom files. Then =

turn phone off

Press Vol-Dn + connect usb

SPFT sprang into life & immediately initiated action (be action Readback or Download)

Seems the only part I needed to learn was using USB connection.

Ah, so VCOM preloader drivers are used, not normal Win VCOM (as in visible in Device Manager).


text:
Please tell me the icon shown below for samsung s8 plus?

I just wanna know what icon shown below?

This looks like the icon of the FilmoraGo App.
FilmoraGo - Video Editor, Video Maker For YouTube


text:
a process deleted some vital folders and files how do I track it down
admittedly I am rooted on a phone with unlocked bootloader & a Havoc custom  GSI rom  Android 10
I have hidden magisk root from all applications  - every application except the ones that need it
in spite of this and entire folder on my internal storage - download folder as well as documents folder - the document folder itself was deleted and the download folder was emptied completely

I have access to logcat and logcat does not reveal any information

I regularly run a malware check and it comes out ok.

the corresponding data on my external micro SD card is all right

just yesterday sent folders of my WhatsApp image    (  /sdcard/WhatsApp/media/WhatsApp Images/sent   ) directly got emptied without me doing anything. earlier I saw WhatsApp 's message that it is backing up my data kind of 40% of 6 GB
and it was taking forever to do that on a 10 MBPS high speed internet connection .  so I stopped the backup process  - but why would it want to delete everything in the sent folder ?
( btw my WhatsApp folder on /sdcard     is bind mounted to a special partition on my micro SD card which is ext4 ... now you know why I wanted custom rom and root   !  )
here are my questions
--- how do I trace back as to what process caused these deletions
--- in the future so as to avoid this or have better traceability what what should I I be installing or modifying or taking as preventive steps.

Does this answer your question? How to identify the app/process which re-mounts partitions R/W, creates files and changes file permissions?

For simple monitoring of directories you can use inotify tools which are also available for Android.

It could also be caused by errant Magisk modules. I had a similar experience with Whatsapp and few days later saw others complaining on the module thread. May not be the case with you but just sharing


text:
Adb connects and disconnects after 2 seconds
I am running an AVD through Genymotion. Also, I have installed Kali Linux VM in my windows laptop. I am trying to connect to the android through the terminal

adb connect 192.168.104.103

and it connects successfully. Then I have tried to install an application with

adb install test.apk

and it is also installed successfully.
BUT, when I am trying to execute the command pull I am getting the error:

adb: error: failed to get feature set: no devices/emulators found

adb connect 192.168.104.103
already connected to 192.168.104.103:5555
adb devices
List of devices attached
device
192.168.104.103:5555
./adb pull /data/data/com.android/providers.userdictionary/databases/user_dict.db
adb server version (39) doesn't match this client (41); killing ...
* daemon started successfully
adb: error: failed to get feature set: no devices/ emulators found
adb devices
List of devices attached
adb server version (41) doesn't match this client (39); killing ...
* daemon started successfully
adb devices
List of devices attached
adb connect 192.168.104.103
connected to 192.168.104.103:5555
adb devices
List of devices attached
device
192.168.104.103:5555
./adb pull /data/data/com.android/providers.userdictionary/databases/user_dict.db
adb server version (39) doesn't match this client (41); killing ...
* daemon started successfully
adb: error: failed to get feature set: no devices/ emulators found

According to Robert's instructions problem solved:

The console output shows that you have two different and incompatible
adb versions installed. Usually Genymotion comes with an own adb
version, make sure that you are not using this potentially outdated
version. Better to have only one adb version (the newer one)
installed. Then such problems can not occur.

My comment only describes why the error occurs. It would be nice if you could add what you actually did to solve the problem.

Following your comment, I changed the android-sdk version in path /usr/lib/android-sdk/platform-tools and I added the latest. I downloaded from here: https://dl.google.com/android/repository/platform-tools_r30.0.5-linux.zip

Genymotion is designed to work without Android SDK installed, therefore it contains it's own version of adb. If two different versions of adb are installed on the same computer and used alternating then this leads to the problem that adb server version doesn't match this client.
If you have Android SDK installed as well as Genymotion there is a very simple fix:
In Genymotion program open the Settings dialog and select the section ADB.
Now enter the path to your installed Android-SDK and close the settings dialog.
Afterwards Genymotion uses the adb version from Android-SDK instead of it's own version. As long as you don't have a third or fourth version of adb installed this should fix the problem.


text:
YouTube Premium doesn't play the video in the background but only shows thumbnail instead, and screen starts flickering
With YouTube Premium, the video will not play in the background, but only the thumbnail will appear. When you tap it open, the screen starts flickering.

is it the latest version of youtube?

Can you provide the device model, Android version, and whether you're using custom ROM or not?

@andrew
Android 10, Stock rom (realme ui 1).   Device model: Rmx2001


text:
Why my Android 5.1 MEDION E4506 smartphone fails to detect BLE smart band?
Why my Android 5.1 MEDION E4506 smartphone fails to detect BLE smart band ?
from
https://developer.android.com/guide/topics/connectivity/bluetooth-le
"Android 4.3 (API level 18) introduced built-in platform support for Bluetooth Low Energy (BLE) in the central role and provides APIs that apps can use to discover devices, query for services, and transmit information.
and next
"Set up BLE
Before your application can communicate over BLE, you need to verify that BLE is supported on the device, and if so, ensure that it is enabled. Note that this check is only necessary if <uses-feature.../> is set to false.
If BLE is not supported, then you should gracefully disable any BLE features. If BLE is supported, but disabled, then you can request that the user enable Bluetooth without leaving your application.
I have installed Lefun Health, Yoho Sports, which should work with my BLE smart band.
Unfortunately, my smartphone, installed apps fails to discover my smart band.
I have bluetooth enabled in smartphone and smart band is not discovered.
Since my ffriend, using iPhone succeeded to connect to my smart band, so it looks BLE is enabled and on
Are you aware of any BLE service generic app to detect, where is the problem ?
My smartphone is MEDION E4506 (Lenovo, so Android 5.1 should support BLE, so let me know what fails
and do I really need to get a newer smartphone ?
similar question
Detect Android device from BLE device (How bluetooth works ?)
thank you

There are plenty of Medion devices running Android 5.1. We need the exact model name. Please open Settings -> Phone info and add the model name to your question (you can edit your question).

Thank you Robert, just edited.
Basing on ""Android 4.3 (API level 18) introduced built-in platform support for Bluetooth Low Energy (BLE) I assumed, Android 5.1 supported BLE by default.
If disabled, I would like to run CLI command to get it enabled, since Bluetooth works fine and no menu option for BLE

Android 5.1 has support for Bluetooth LE but it seems you phone on hardware level has only support for Bluetooth 4.0 without the optional BLE profile.

Do you mean extra BLE chip is reuired ?

Yes I assume the hardware is the problem. Unfortunately Aldi/Medion never published a detailed hardware spec of that device, it just says "quad core cpu" without manufacturer or type name.

Thank you
So it's the right time to say bye bye to smartphone inventions by Aldi/Medion, not supporting BLE, OTG


text:
My pixel 3xl wont charge when I plug it in. I have to plug and unplug it a zillion times. I tried cleaning it
My pixel 3xl wont charge when I plug it in. I have to plug and unplug it a zillion times. I tried cleaning the port, different cables, different chargers. No joy. I can use the wireless charger, but it's slow. Plugging and unplugging it, and waggling does eventually start it charging, but takes ages to find the exact orientation so it charges. Do I need to buy a new phone???

I had this problem for like 18 months. It started happening after cycling in the rain a few times. Anyway, I finally found the solution last week. Never seen the solution anywhere else. It's so easy in the end. Very easy:

simply plug the cable in. no wiggling or anything. It probably won't charge yet. I mean, if it does, then you're good. but if it doesn't ...
go to 'settings'
go to 'connected devices'
find usb, and change from 'controlled by other device', to 'controlled by this device'
if you are lucky, your phone will start charging :)

I mean, this worked for a bit, until the motherboard broke entirely, from water damage lol :P


text:
droid explorer can't recognise sdk directory
droid explorer can't recognise sdk directory

That is the SDK directory, it's what Android Studio shows under file..project structure. C:\Users\User\AppData\Local\Android\Sdk

The Android SDK has changed a lot during the last years. I would assume DroidExplorer needs an update to detect it, therefore you should post this as an issue on the Droid Explorer project.

@alecxs I don't mind supporting users that have problems using Droid Explorer - if it works at all. But if Droid Explorer does not recognize the Android SDK this requires changes on the source code of Droid Explorer itself which is out of scope of this site.

Does this answer your question? How to get started with Droid Explorer

@Robert  thanks, though no it doesn't solve it, see my comment that I just posted on the answer posted there

As I wrote in my comment to alecxs I suspect that Droid Explorer requires an update to reflect the new layout of the Android SDK. May be the issue you have created changes something.


text:
How do you list all apps in an adb backup .ab file?
I did a backup of my phone and produced an .ab file

G:\phonebk>adb backup -apk -shared -all -f backup.ab
WARNING: adb backup is deprecated and may be removed in a future release
Now unlock your device and confirm the backup operation...

G:\phonebk>

How do you list all apps in an adb backup .ab file?
I have read that adb restore com.identifier.name.ab will restore a particular app, but suppose I want to see the name of the app,  And moreso, the names of all the apps?

Restore individual apps from a full backup
adb restore always restores the full content of an Android backup file. Therefore if you want to restore apps individually you have to make individual backups so that you get one backup files per app:
adb backup <packagename> -f <packagename>.ab

Alternatively you can use Android Backup Extractor (abe) to convert an Android backup file to an TAR archive, modify that archive (e.g. delete all data and apps you don't want to restore) and then convert the TAR archive back to an Android backup via abe.
Getting the package name of an app without using a Android device
If you want to know what package name has a particular app you can simply use Google Play Store web site. Search for the app you want to know the package name of - for example Twitter.
Check the address bar of your web browser and you will see https://play.google.com/store/apps/details?id=com.twitter.android.
The package name comes after the id= section (it ends at the next & character or the end of the address). Therefore the package name of twitter is com.twitter.android.


text:
How to stop WhatsApp from deleting media from gallery when the sender deletes that message?
When someone sends me media (photo/video) on WhatsApp, I can download it, and it gets saved to my phone's internal storage, in a gallery album created by WhatsApp called "WhatsApp Images".
If the person who sent the media then deletes that message from the chat, the media file is then deleted from my phone's internal storage too, although I have already downloaded it. However, if I move the media file out of the "WhatsApp Images" gallery album before the message is deleted, then the media is not deleted from my phone.
Is there any way to prevent WhatsApp from deleting media from the "WhatsApp Images" album after I have downloaded them, if the sender deletes the message?

You can't prevent this in official WhatsApp. Use some modded WhatsApp app. Or use inotify based commandline tools or an app to watch newly created files and then copy/move the images to some other directory before it's being deleted.

I think there are some apps that can automatic copy any new picture that comes in. You can also use a service like Google photos which is free (till the summer) and have it back up any new picture. This way, even if it's deleted, you'll still have it


text:
I want to do a factory reset with recovery system. Recovery "enter" button is the home button. My device doesn't have a home button
Good day.
I want to enter the recovery and do a factory reset, because I've been locked out.
As stated, my device doesn't have a home button , but the "enter" button in recovery mode is the home button, not the power button. There's a reset pinhole, tried it , but I'm still at the lock screen that requires my email and password. My device can't be connected to Wi-Fi anymore. The Volume Up & Down scrolls through the options.
Device is NOT rooted
Device Model: DINAMIK M2in1  (Don't bother trying to find it, it's extinct even on the net)
Android version Unknown
Android System Recovery 3e

I'm still at the lock screen that requires my email and password that sounds more like the factory reset protection (FRP) which is not removed by a factory reset.

@Robert I looked up FRP and what it looks like, and I can say It's not that. It's the normal too many pattern attempts email screen.


text:
Create a widget/shortcut to an app URL?
Whatsapp allows to send a message to any number if I browse to https://wa.me/. That displays a web page that has a button that navigates to 'whatsapp://send?phone='.
I want to have a shortcut that asks for the number and then opens the whatsapp:// link (without going through the web page).
I tried to use 'HTTP Request Shortcut' (https://play.google.com/store/apps/details?id=ch.rmy.android.http_shortcuts), but it only accepts http links and then just shows the response. Tried to use some activity shortcuts, but I can't find one that has the whatsapp activity to open a chat with a prompt to a number.

If something should "ask for the number" you need an app to do so (unless Whatsapp is capable of asking for the number itself).

I'm the creator of the HTTP Request Shortcuts app, and I believe it can be used for what you're describing. You can try this:

Open the HTTP Shortcuts app
Click the + button at the bottom right to create a new shortcut
In the dialog that pops up select "Scripting Shortcut"
Give the shortcut a name (and a description and different icon if you want)
Click on "Scripting" to open the Scripting editor
Enter the following JavaScript code:
const number = prompt('Enter the number');
sendIntent({
type: 'activity',
action: 'android.intent.action.VIEW',
dataUri: 'whatsapp://send?phone='+number,
});
Save your changes.

You can then run this shortcut from within the app, or place it on your home screen. When you click it, it should prompt you to enter a number, and will then invoke the URL 'whatsapp://send?phone=' with the number appended.
Hope this helps. For more information regarding Scripting in the HTTP Request Shortcuts app see the official documentation here: https://http-shortcuts.rmy.ch/scripting


text:
Storage Booster - Disable duplicate image scan
I have a Samsung Galaxy A5 with Android 8.0.0.
Occasionally I get a notification that Android found many duplicate images:

It says: "Storage-Booster. Duplicate image found. There are 2549 duplicate images on your phone."
Most of them are images sent or received by messenger apps but sometimes it also detects similar images as duplicate, in rare cases even totally different images.
I don't want to delete any duplicated images for multiple reasons:

I don't want to delete the original image, neither want the image in the messenger become unavailable
I don't want to delete just similar or even totally different images
They only occupy around 1 GB and I have plenty of free space on my SD card.

Is there a way to completely disable the duplicate image scan? I also expect it to draw a lot of energy when regularly comparing thousands of images in the background.

I don't know details on the image comparison in Samsung devices but commonly similarity is computer by a formula that assigns each picture In the media database one value. And "duplicates" are those that share the same number. That avoids comparing thousands of images and requires only a bit computation when the picture is taken or saved. Power usage for query the media database for finding similar images is neglectible. May be Samsung schedules those computations to be done while charging.


text:
Mark all messages as read in Gmail
Using Gmail version 86.0.04240.198 on my Samsung Galaxy A30s with Android 10.
From the documentation we can read

You can't mark all messages as read from the Gmail app.

I know this is a task that can be done in a computer but that's not an option for me ATM.
I tried going to gmail.com and from there activate "Desktop mode" but I was getting a responsive view with less functionality.

The way I've solve it was to

Open Google Chrome.
Activate Desktop mode.
Navigate to Google.com.
Search for Gmail.

Click in the Gmail. In my case was the first item in the result list.
Once in Gmail, click in the select all button which then opens up a message saying to select all (note that the image from this step was taken after the one in step 7, that's why you don't see a number of unread messages in the Inbox which shows up slightly in red)

Click in that message to select all, then go to the three dots and "Mark as read". Once it's done, you'll get a snack bar in the bottom right informing it's finished.

Now there's no unread messages

Note: in my case then going to the Gmail app I could see that the emails were all marked as read even though the browser wasn't showing right away.

Another workaround can be using Outlook's app.
All one needs to do is configure the email in Outlook, according to one's requirements, in order to have access to the email account in Outlook.
Then, access that email and filter the mails by pressing the button on the top right

Filter by Unread

This will only show the unread emails

Now select all the emails and a top menu will appear

Press the three dots in the top right corner and select Mark Read


text:
Get the actual app's data files location
tl;dr One of my apps stores its data in some weird place that isn't covered by Google backup. And thus it was not restored after the latest system recovery. I've lost all my data for that single app. I want to know the location of those files, to back them up manually and avoid similar situations in the future. Can I check this on an unrooted phone?

My phone has badly crashed. I have recovered my data (on a new device) from Google backup. It turned out that I have recovered everything (system, settings, photos, messages, apps, and app data) for all but one application.
Happened for just this particular single app out of fifty in my case, so must be a developer's fault or wrong design decision to store data in some weird place.
Want to avoid this in the future and backup data for this particular app manually. But I need to know, where exactly this app is storing its data. Can I learn this on an unrooted phone? Do I have some tools for this? If yes, then how to proceed with this?

How backup works: https://developer.android.com/guide/topics/data/autobackup. Where to look for files: Where Android apps store data?

There is no such thing as storing data in weird place. If your app wasn't backed up Google, than it means that the developer didn't want the app data to be backed up for whatever reasons.

@Firelord I'd say that your comment contradicts itself. Irfan Latif pointed out that each app stores data in precisely defined folder. If my app data was not backed up then it means that it stores data somewhere else. So this is a "weird place". Can app developer decide in any other way (i.e. by setting some flag) that its app data or app as whole cannot be backed up? But, that's are just supporting questions. You're correct that this question must remain closed as it is a duplicate. Sorry for not searching better before asking.

@trejder  a developer not wanting the app to be backed up adds a related flag in the app manifest. System reads that flag during installation time or update time and configures backup service accordingly to respect the flag. There is no contradiction here.

Apps don't have access to any other place in any filesystem except those mentioned in my answer. So any other "weird place" is out of question. So my 2nd link addresses this point. 2) Android provides multiple options to the app developers to exclude the data from auto backup (no_backup directory and the android:allowBackup flag are the most commonly used). This is a more development oriented topic. My 1st link addresses this point. // I hope it clarifies.

the location is /data/data/ but you must decrypt and have root access https://android.stackexchange.com/q/210545


text:
Is there any options to Boot Android device on connecting to power supply without root?
I wish to know if there is any options to boot android device automatically on connecting to power supply. i am not considering rooting options as i was planning for production application.
I have tried to enter into fastbood mode without much success .. trying on samsung galaxy tab A.

Boot from powered off state? Not possible without root. Except if hardware/ROM/bootloader already support the feature. My answer explains what's the minimum requirement to achieve this: Automatically power on Android when the charger is connected

@IrfanLatif  I have tried to enter fastboot mode without success .. updated image from my tablet as well .. any help would be highly appreciated ..  its not detecting in fastboot mode

Samsung devices have odin mode, not fastboot. You can search about it. I don't have any personal experience with Samsung devices.


text:
How do I block installing new apps and internet browing on my Android phone?
I'd like to be able to block internet access from my Android Pixel 4 cell phone. The ideal solution would prevent me from installing new apps onto my phone. I'd like to have a set of apps, so that I cannot add new apps, such as web browsers. I tried to set this up with Google Family Link, but it will still let you install apps that are rated E for everyone. I also tried this with AppBlock by blocking the app store, but I can download apps from play.google.com from my computer.
I would appreciate any assistance in reaching towards a solution. A potential solution could be one that requires an administrator to have a password to install apps would be acceptable, because I can give that password to someone who isn't me.
I'll note that one possible solution would be to stop internet access with my phone plan. But I'd still like to use the internet for apps like Uber, so that wouldn't work.
Thanks!

You can add a create a seconds user account and use that account for using your installed apps (only primary user is allowed to install apps).

Do you mean I create another google account and login on my phone? how do I prevent that user from installing apps?

@MuhammadHuzaifa this is what Robert meant: https://support.google.com/nexus/answer/2865483?hl=en

@Robert I think this is no longer the case in recent Android versions. In my Android 10 (OnePlus 6), the secondary user can install its own apps.

You need a kiosk solution. Find a kiosk app in Play Store that suits your needs.

@Firelord even before Android 10 it's possible to install apps in secondary profiles. But if it's restricted by admin policy you can't. Or admin may allow installations only from managed Play Store (with limited number of packages etc.).

@IrfanLatif I suppose admin policy is something that is to be created and enforced using something like a device owner app?

@Firelord exactly.


text:
Cloning Android Phone
Is there a way to image an android phone and flash that image onto another Android phone WITHOUT rooting the device? I don't want to just backup the data onto a new phone. I want to completely clone the system. If you know of a way to do this by rooting the phone, please also include that. If I absolutely have to root the phone, I will, but I want to do it without rooting the device.

Even if you would have two identical devices (from hardware perspective) cloning an device is impossible for most modern devices because devices are by default hardware encrypted.
This means that there is a special section in your flash that is bound to your CPU, not to the type of your CPU but to the CPU chip in your device. This section contains the the encryption keys which are therefore bound to the CPU.
Even if you would manage to copy the complete content of the flash chip to a second identical device the new CPU would not be able to decrypt the CPU bound section and therefore all your user data could not be decrypted.


text:
Motorola One Power - corrupt and wouldn't unlock bootloader
My Motorola One Power went blank recently and when I switched it off and then switched it on, an error message was displayed that my device was corrupt, it can't be trusted and it won't boot again. The message asked me to go to Motorola's unlock bootloader page.
So I went on and installed minimal ADB and fastboot, Android SDK. Then I proceeded as stated. I opened cmd there and went for the unlock code and it was failing a number of times.
Next, I downloaded Lenovo's Motorola smart and rescue assistant and tried to rescue my phone but that also was failing.
So on further surfing, I think that I haven't enabled USB debugging and haven't toggled OEM unlocking.
Then I tried downloading the twrp image and booting thru it. So when I run fastboot boot recovery.img
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot boot recovery.img
downloading 'boot.img'...
OKAY [  0.636s]
booting...
(bootloader) permission denied!
FAILED (remote failure)
finished. total time: 0.639s

So what can I do now? Please help me as I don't want to lose this phone. Also, can the data in it be retrieved in any way?

You cannot boot a recovery image with a locked bootloader. Do you have the full firmware archive that is equal or higher version? If not, your only option is to send/take it to a service center for repair. As far as the repair tool, I haven't seen that work for any phone made after about 2013, give or take (like original Moto G timeframe).


text:
Extract an image of a corrupted Android partition bit-to-bit
How can I extract an image of the corrupted Android partition mmcblk0 bit-to-bit?
With adb pull, it says remote I/O error after a few megabytes.

May be an Android version of ddrescue could help to bypass the nonreadable sections. You should be able to pipe out the copied data via adb exec-out.

exactly. ask here someone will compile. or try dd_rescue_ARMv5_API9.zip (it's old but should work)

@alecxs As far as I remember those old binaries won't work on Android 4+ because of missing PIE/ASLR feature in binary.


text:
Is there a way to capture HTTP requests from an installed Play Store app?
I'm developing a search aggregator service so I'd like to get the endpoint of some of the stores that, currently, doesn't expose their API. So I'd like to now if there's a way to do this with my cellphone.

Use a rooted device with Magisk for sniffing and a PC with a proxy like mitmproxy, Fiddler, Charles... On the device you can install the proxy as system certificate or alternatively use https unpinned und trusting solutions like frida/objection or simply the edXposed module + trustMeAlready module.

This might be weird, but sometimes submitting the APK to Virus Total may reveal some URLs as "Interesting Strings" (e.g. the analysis of a random APK).

Sure solution can be an out-of-android one: install a https eavesdropping proxy. It requires a root certificate, that you should install into your android, somehow. Well, some apps, if they really want to, will be able to detect that you eavesdrop them and stop communicating on this reason, but it won't happen too often.

Yes, you can do it on your phone alone. I use HttpCanary App with root access. It works without root as well but only a few apps that don't use certificate pinning.

App is not available (anymore) and doesn't seem to be maintained since 2019 on GitHub.


text:
How to allow Messages notifications to show?
A couple weeks ago I suddenly stopped getting notifications for the Messages app. I'm still receiving text messages, with no delays.But no notifications are showing up in the top notifications bar. And the phone is not vibrating to indicate that a new message was received. I have a bluetooth connected watch that used to display new messages; that also is not showing alerts for new messages.
I'm pretty sure that the text message app that I'm using is just called "Messages". The icon is a white speech bubble on a blue circle.
I keep missing new texts. The only way to see that there are new unread texts is to manually open the Messages app, and check all the conversations to see if any replies are in bold text (indicating that they are unopened).
I have already clicked the three vertical dots "Settings", "Notifications"
The following settings are already on:

All Message notifications: ON
Other Notifications: ON
Data Download Notification Channel: ON
Allow Notification dot: ON

Android version: 11
Device: Pixel 2
Provider: Verizon

Settings > Apps > "The messaging app" > notifications check if everything is fine here. Or in some devices the path is Settings > Notifications > "The messaging app"  . Tell if that works.. i'll explain the reason in the answer

Also just in case, check if Do Not Disturb is activated or not.

There is nothing under Settings called Apps. There is a menu called Apps and Notifications there, but there is no "Messages" (or any app names) in that menu.
There is also no Settings > Notifications  menu.

Is there any other setting or action to re-enable notifications? Neither of the settings suggested in the above comment actually exist.


text:
Stop GMS Firebase Indexing from collecting all of the personal data
When I was playing with settings on my Nokia 6.1 Plus running a stock ROM Android 10 with bootloader unlocked and rooted with Magisk v21+, I noticed that Firebase App Indexing that comes under Google Account Preferences was collecting all of my personal data. Of course, GMS was the culprit.
Here's the proof: This was the message that I received from the bank for the transaction that I made yesterday.

Every message that I sent and received had been collected in this given format. Also, many apps that use Firebase API sent these kinds of information.
I'm a guy who thinks about user privacy all-day, so I've used:

Nuked_Script Magisk script that is used to disable trackers and ad services.
AFWall+ for Firewall (root).
Bouncer - Temporary App Permissions.
AdAway for nullifying ads (root) - ads on Gmail, Twitter, Instagram still exist though
Bromite webview and browser (Webview Switcher module).

When I turned the developer options off, Firebase App Indexing options also turned off (I mean hidden). So, does it mean that it stopped collecting my data? I still doubt that.
How can I stop this from happening?
P.S: I'm used to using Google Apps. But I don't want to give them such personal data.

You can add stronger measures , since your device is rooted

First is Xprivacy Lua which does an excellent job of protecting your privacy and also Firebase Analytics amongst other trackers (XPrivacyLua needs EdXposed. For EdXposed installation on 10, see How to install EdXposed on Android 10 without triggering safety net)

Next, download Warden App from F-droid or Izzy's repo. It is specifically aimed at killing trackers and loggers (with a few exceptions). You can selectively use the app to work on your apps or apps plus system.

By turning developer options off, you are only hiding what's happening w.r.t Firebase.
In addition, see answer here How can I make an Android app "forget" that it installed on my phone before?

as you are rooted why not to try old brute way: block all Firebase through /etc/hosts?
I think that Firebase now is one of the hotest hole in mobile security..
this channel actively used not only for leaking personal data but also for C2 connections.
yes, you should clearly understand that by this way you are blocking although debug and performance monitoring streams from your device..

By blocking all the firebase, I believe that it also blocks essential services that is required for an app to communicate. For example, Signal Messenger uses FCM to deliver push notifications. Blocking firebase blocks access to that which is not what I need.


text:
In theory can Samsung devices get root without tripping Knox, for example by exploit?
According to Wikipedia article

Before booting in the main Kernel, Samsung runs a "pre-boot"
environment where it checks for the signature match of all elements of
the OS.

If a method to get root that does not rely on the bootloader existed, would this bypass Knox? For example if an exploit was found? After the e-fuse for Knox is tripped, can it be untripped, or no because it's physical?

No, you can think of Knox as being a part of TEE, so bypassing that is theoretically possible but practically impossible (if you could tinker with TEE you'd be a rock star of that world) // Knox isn't physical, it's an electronic fuse. Once it's blown, you need to replace the chip, which is beyond a user

@JonDon I think your question is misformulated, therefore beeshyams answer is no. "Knox" is not only the bootloader check, Knox is the name of the whole security system of Samsung devices. I think your real question is "will the device be able to detect if I do something with temporary root permissions gained by an exploit".

not possible https://forum.xda-developers.com/t/bounty-sm-n975u1-note-10-usa-unlocked-version-bootloader-unlock-and-root-method.4006249/page-12#post-82510563


text:
unlock developer options for new user?
is it possible to enable/unlock developer options for a second user
Android-version: 7.1 nougat
does it reqire root access to enable it

i am not aware of how android handles multi-user but i can imagine only user 0 is allowed

@alecxs is right.
Enable developer settings you want as the main user; then it will be the same across all users (at least, this is what worked for me). Note that often if you are connecting to something there will be a prompt on your device asking if it's okay to connect to the computer/application. You need to switch back to the main user to accept the prompt, then it should work on all users
Source
Another similar thread


text:
Chrome, autofill, and biometric security
One of the recently added Android features is biometric-protected autofill. It should enable something similar to iOS, where credit card numbers and passwords are protected by a fingerprint or Face ID.
However, with Chrome at least, this feature seems to not work: even if biometric security is enabled, no such auth is requested when autofill login forms (ie: with password autofill).
So: is it possible to enable biometric-protected password fills in Chrome with Android 10?

At the time of this writing (v87, Dec 2020), Chrome for Android doesn't support biometric-protected credential autofill.
This has been reported on Chromium Issue Tracker #1139045 - Security Feature: Only auto-fill passwords after user provides fingerprint or PIN on Oct 16, 2020, and acknowledged by a Chromium contributor.

Comment 4 by palmer@chromium.org on Tue, Oct 20, 2020, 5:36 AM GMT+7
[...]
we could potentially implement a feature where Chrome auto-fills passwords only after the user supplies their fingerprint or PIN. (Safari on iOS has this: https://support.apple.com/en-us/HT208109) I'll change this bug to a feature request.


text:
Call time prior to answering

Version: Android 10
Brand: Samsung
Model: S9

Is there a way to log the duration of phone ringing, prior to answering or declining a call?
I'm doing this because someone claims to call me, but terminates the call after 1 second, and I need to prove that.
Thank you!

Usually, this will be logged as "missed call" if it's already reached to your phone. Though, I think there are some providers that filter the ringing before a few seconds to prevent accidental calls?

A raw idea would be using an [tag:automation] app like [tag:tasker] to react on the ringing and have it make a copy of logcat to investigate. Before you ask: no, I cannot give you a how-to on this. And for context, see eg How can I view and examine the Android log and our logging tag wiki.


text:
No option to choose "Do Not Validate" under "CA certificates" when connecting to PEAP/MSCHAPV2 WiFi (Android 11)
I can't connect to campus WiFi anymore after installing latest ROM with december 2020 security patches. The configuration is PEAP/MSCHAPV2. Under CA certificate, we usually choose "Do not validate" but now CA certificates is set to "Use system certificates" and can't be changed. "Use system certificates" setting requires Domain name which I don't know and have never needed to use before in any ROM.

Is there any workaround to choose "Do not validate" in "CA certificate"?

The behaviour is as intended in Android 11 with December 2020 security patches. See the link. This will need to be resolved by WiFi network administrators.

On a rooted phone, first try to connect to the WiFi network (although it will fail), then turn off WiFi entirely. Now, modify /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml. Find the entry for your WiFi network, and set DomSuffixMatch (which is what the UI shows as 'Domain') and CaPath to empty strings. Maybe set other similar entries to blank strings also, for example CaCert. Here's what my WifiEnterpriseConfiguration section looks like:
<WifiEnterpriseConfiguration>
...
<string name="ClientCert"></string>
<string name="CaCert"></string>
<string name="SubjectMatch"></string>
...
<string name="AltSubjectMatch"></string>
<string name="DomSuffixMatch"></string>
<string name="CaPath"></string>
...
</WifiEnterpriseConfiguration>

Now, reboot your phone, verify that your changes in WifiConfigStore.xml were saved, and try to connect to the WiFi network.
It should be possible to write an app to do this, without requiring root.
Docs for WifiEnterpriseConfig, and example usage on stackoverflow
Of course this is insecure (anyone could create a fake WiFi network and steal your credentials), but any https connection within the network is still OK.
(Tested on Pixel 3, LineageOS 18.1, Android 11)

I tried this on my phone and initially didn't work, tried again and the phone just cleared the whole file (lost WiFi networks). What worked for me was copying the whole  from an old phone which was able to connect. Now the phone connects to that WiFi.

To add to XMB5's answer, you can do this on a rooted phone using the following commands:
adb shell
su
sed -i 's%<string name="CaPath">.*</string>%<string name="CaPath"></string>%' /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
sed -i 's%<string name="DomSuffixMatch">.*</string>%<string name="DomSuffixMatch"></string>%' /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
reboot

(I included CaPath and DomSuffixMatch because only these two seem to be required to get past the UI)
Note: This clears the domain and CA certificate of all saved networks. You probably don't need to worry, unless you have multiple enterprise networks with 802.1X authentication saved. In that case, you can run this script, and then reconfigure the other networks through UI.

Have you asked the IT department from your campus ?
Looks like if you 'just' enter the correct domain, it should work with the system certificates.
If so, then you would end up with a more secure WiFi connection.
The article where Yogesh is pointing at, is more an advertisement than independent information. Obvious that securew2 is writing to use their products instead of another solutions.
The root of the problem is a user unfriendly way to connect to a Wifi network in Android.
In many other OS's you need to 'trust' a certificate, which is needed for a safe connection.
Before December update, Android gave 2 options:
1st solution is to import a certificate on a smartphone. Which manually is a hell, or by using an app. (Like securew2, connect this with the site were the article is hosted)
2nd option was to 'not validate' the certificate, and just trust any certificate presented. This however is of course less secure, but a lot more user friendly and can be explained. The risk is that if someone (with bad intentions) set up a network with the same 'name'/SSID, the android phone connects regardless, without warning you are connecting to a rogue network.
To address the security problems in the second option
Android has removed the do not validate option and (according to your screenshot) it seems to be replaced by using system certificates (with a domainname check).
I am curious If you can connect when you would use the correct domain name.

"Do not validate" has been removed by Android.
You need to use the domain name of the server certificate being used by the authentication server.

Well you can try to fill in the last part of your email addresses for domain - so everything after the "@". like my last part of email address is isbstudent.comsats.edu.pk
As written in one of the guides, normally you would enter the domain address of the authentication server / the common name which is part of the certificate of the server...
It worked for me!!!


text:
YouTube link preview not showing up in WhatsApp
Using WhatsApp version 2.20.207.12, YouTube version 15.47.36 on my Samsung Galaxy A30s with Android 10.
Previously (I remember this working in November) when I shared a link from YouTube in WhatsApp I'd get a preview containing an option to play the video

and clicking play would just play the video there

Recently, anytime I share a link from YouTube in WhatsApp, the message sent will only contain a link. This also happens if I use WhatsApp Web

I'm ok with not being able to play directly in WhatsApp, but how could I get a preview with at least a title pointing that the message is a video and showing its title?

FYI, this also happens on WhatsApp Web and Desktop. I guess YouTube did something that made WhatsApp failed to parse the link/meta-content (trying to understand under the hood of WhatsApp Web, but the code is obfuscated).

@AndrewT. I cannot recall exactly if by playing in WhatsApp the video ads would still show up (could it be somehow related with that?).

The best solution I could find was to adapt the URL copied in the share button

https://youtu.be/bDPczGUovzE

to

https://youtube.com/embed/bDPczGUovzE

This is basically substituting youtu.be with youtube.com/embed leaving the last part (in this video, bDPczGUovzE) untouched.
So now we can see already a preview before even sending

Once sending it we'll see

Edit
As of today this issue is already fixed and Beta users of WhatsApp can already take advantage of it.

I actually asked this to their support team since this happens for last 3-4 weeks.
Their reply was this

Hi,
Thanks for your message.
We're aware of the issue and are working on fixing it in a future update of WhatsApp.
If you have any other questions or concerns, please feel free to contact us. We'll be happy to help!

My assumption is it's something related to some disagreement between Google and Facebook regarding to watching content from preview.

Created a preview generator for this purpose , here is a link  (only works for youtu.be links) :
boxcubegames.github.io/ytpgen

Hi, I appreciate the creativity, but can you show how it works? I tried it and it only shows a preview with YouTube (www.youtube.com), but no info about the video itself.

@andrew I have made a video to demonstrate , have a look and let me know if it solves your query  https://youtu.be/JB4BPsYh0mo

Kudos for @Tiago Martins Peres's answer.
Optionally, on computer, you can right-click / save the YouTube video thumbnail / drag it into Whatsapp Web (which will include it as a figure) and paste the original link in the figure description.

Alternatively (saving a few steps), right-click and copy the image directly, then paste it on WhatsApp Web/Desktop. It will recognize the image.


text:
Contact with 2 phone numbers - how to distinguish between them on WhatsApp?
I have what I would think must be quite a common situation - a friend has 2 phones, one for work and one for personal, and I've created a single android (google) contact with the both phone numbers in, identified appropriately.
However, WhatsApp displays this as 2 contacts with the same name and no way of distinguishing between them. If I want to add them to a group I have to guess which one it is, then go into the group and select them, then I can view more details to see if I've picked the right one.
Is there any easier way to distinguish between them in WhatsApp?

Just save them as a separate contacts? Solves everything at minimal fuss.


text:
Copy/paste images from phone to desktop, files are corrupted and huge (2gb+)
I linked my Android phone (v6.0) to my Windows laptop, located the phone's DCIM folder in File Manager and copy/pasted images from my phone onto my laptop's hard drive.
Some of the images are corrupted, can't be recognised as a bitmap, and are 2GB+ whereas on the phone they would have been 2-5MB. It seems to be a date thing, as it is all images past a certain date. It also affected some videos and again it is all videos past a certain date, although a different date to the images.
Is this a common problem, and what causes it? I'm assuming the images are lost as I deleted them from the phone once I saw they had successfully been pasted, without checking that the files were still readable.

What was your USB setting on? MTP is best suited for such transfer// It is far more better to use an app like Folder Sync to ensure safe transfer on a one time as also periodic update

I don't know if you mean USB setting of the phone or laptop - either way, I hadn't changed anything from standard. Most of the files transferred fine though, so unsure why it would affect some but not all files, and specifically the latest files.

Enable developer options and Android Debug Bridge (adb) and copy (pull) the files via adb. MTP is a very bad protocol (another bad design by Microsoft).

@Robert can you point me to a tutorial or so. Usually I plug my phone to PC Windows, press file transfer on the phone, and use explorer from PC. Some photos are corrupted and once the entire SD was. Perhaps the method you suggest can help me. Thx.

@Alchimista try https://www.howtogeek.com/125769/how-to-install-and-use-abd-the-android-debug-bridge-utility/ and then use adb pull to download files or folders from your device. There is also a tool called adb-sync which can synchronize directories in both directions.

Not an answer to reading the corrupted files (think they're long gone) but a few other people's experience indicate that it occurs when there is very little free memory left on the phone and memory earnings have been ignored. So take files off your phone regularly and you shouldn't have this problem.


text:
Disable Bluetooth discoverability in Redmi 6 / MIUI 11
Is it possible to completely turn of the ability of my Redmi 6 (using MIUI 11 currently) to being discovered via Bluetooth by other devices? If yes, then how to achieve this?
Things I've tried or read so far:

No corresponding system option (NFUI clone on my Neffos X9 still has it)
This answer that is reported to not work under MIUI 10 so won't work most likely under MIUI 11
Turning off Bluetooth Scanning (turned off, no effect, device still discoverable)
Using Bluetooth Settings 3rd party application

I had the biggest faith in last option (Bluetooth Settings app), but it fails completely under Readmi 6 / MIUI 11. Not only Bluetooth discoverability is turned on again when phone is restarted or Bluetooth is enabled, as it is written here.
It is also turned on again when any paired device connects to it or when Bluetooth Settings app is reopened again. So this is a completely false pathway.

Found the "[Tools] MIUI Bluetooth Discovery App" thread in Mi Community. It lead me to Bluetooth Visibility Fix app which seems to be working as expected under MIUI 11 / Readmi 6 phone.
There's some work when start using it:

It is a  system service that needs special permissions to auto-start,
It didn't work ("restarted" itself to "Visible to all") for first 2-3 times then it suddenly started to work.

But after some time it does seems to be resolving the issue in question and turning off Bluetooth discoverability permanently.
In case the Bluetooth Visibility Fix app is not working for you itself, the "[Tools] MIUI Bluetooth Discovery App" article also mentions some user-contributed app, available as direct .apk file download under above link. Consider it as an alternative.


text:
Android 10 - recording app network usage
On Android 9 or less, I use a shell script which continuously reads from /proc/net/xt_qtaguid/stats and greps by app UID to get app network usage. However, this method is deprecated on android 10: https://source.android.com/devices/tech/datausage/kernel-overview
Is there any other way I can get the same information? Or, how can I use the new eBPF network traffic tool to get this information?

See my answer to How to view network traffic requested by a specific app?. How to achieve this with eBPF is on my TODO list. Stay tuned :)

Very helpful answer, thanks!


text:
How via "a script" to move files (pics and videos from Camera) from phone to SD card?
A user may have a slow SD card. So taking pictures and videos on internal storage solves the problem nicely. It has 100GB. However, it can get big. And the SD card is 256GB. So the user wants to free up space and (once a week or month) move pics and videos to SD card. That is what is desired. Please advice.
In windows, I would create a .bat file and put to desktop and execute when I need it.
something like
copy c:/fast_storage/DCIM/Camera/*.* c:/large_storage/DCIM

How can I put a similar script on my Android home screen?  (not a rooted phone). It can be inside some program that supports such simple script. (but not tasker or some too fancy solution that drains battery and runs all the time). The copy action is on demand (not scheduled).
It seems silly to do the steps repeatedly manually and not use a script approach. Can android do this?

for pulling files from phone to pc check Adebar or adb-sync for shell scripting check stackoverflow.com

Use Termux widget to place a shortcut to a script on home screen. But Termux cannot access SD card directly (except its private directories) due to Android's restrictions. So you have to deal with that. I've an app of my own which I use to execute scripts on given schedule. It doesn't run all the time and doesn't drain battery. It's not very fancy but I can share if you are interested. However, the problem of SD card restrictions remains for any app not using Android's SAF: How to save files to external SD card on a non-rooted Android?.


text:
Is there a way for a website or app to view the contents of my internal storage without my permission?
I see there are a lot of articles about the restrictions imposed on JavaScript in Windows Chrome. It can't access the filesystem of a user without the user himself uploading it to the server of the PWA. But I see none about JavaScript running on Android Chrome. Are there the same restrictions on JavaScript in Android Chrome as that of Windows?
For example I open a PWA on my Chrome, suppose Telegram, so will Telegram be able to access my files like my photos, videos, documents etc. without my permission?
Concisely, if I grant storage permission to browser X and open a web application Y in that browser, does that mean that Y can also access my media, files etc?
JavaScript aside is there any other way for any PWA or web app or website to view the contents of my internal storage without my permission?

Are there the same restrictions on JavaScript in Android Chrome as that of Windows?

Apps on Android are already containerized in multiple sandboxes, be it a web browser or some other app. There's Linux kernel's robust Discretionary Access Control (DAC); UIDs / GIDs / modes, supplemented by Mandatory Access Control (MAC); SELinux. Every app's Java virtual machine (the native process) runs with its own unique UID and SELinux context. Android also makes use of Linux namespaces, capabilities and seccomp. See Application Sandbox.
In addition to that Android has it's own permission control framework. Access to system resources, devices and filesystems is governed by a long list of manifest permissions like Storage, Camera, Contacts etc. which have different protection levels. See Permissions.
So any further restriction put on apps' internal code (like in JS) provides no significant improvement on Android.
From your comment:

But if all Android apps are sandboxed then how can a person upload a file to a website.

It's achieved through Android's external shared storage which is accessible to apps only after user grants permission.

Concisely, if I grant storage permission to browser X and open a web application Y in that browser, does that mean that Y can also access my media, files etc?

Definitely yes. There's no restriction from OS side. A web application runs inside a web browser. A web browser is an ordinary Android app. When an Android app starts, a native UNIX process is forked which is subject to all DAC, MAC and other restrictions at kernel level. A web application running in the same native process isn't a separate entity. From OS's view, the whole native process is a single unit. So the same restrictions apply to the whole code in that process, whether it's written in Java, JS, C, Python, or any other language.

JavaScript aside, is there any other way for any PWA or web app or website to view the contents of my internal storage without my permission?

Well, we first need to define my and internal storage.
DAC on desktop OSes (at least on Windows and Linuxes) is different than on Android. On desktop OSes files belong to human users. So when you say my files, that means they all are assigned an identifier (UID/GID) which represents a human user. And all programs run by a human user also run with the same UID, so they can access each other's files. That's why additional restrictions (such as JS improvement in Chrome as you mentioned, and Firefox's use of Linux namespaces etc.) are put on programs, particularly those interfacing the internet e.g. web browsers. Also check firejail.
But on Android, it's the apps which are isolated from each other, not human users. Every app is assigned a unique UID/GID and files belong to apps. For more details see my answer to Are multiple-users protected from each other differently than apps?.
Coming to storage, Android stores configurations, apps and data to partition mounted at /data which is not accessible without rooting (Why are superuser permissions needed to acess /data partition?). Apps have their private storage (in /data/data/) which isn't accessible to any other app because every app's directory has its own UID/GID which belongs to its owner app (that's how DAC works).
In order to share files among apps, Android provides a permission-less emulated filesystem called external shared storage. It's a physically internal storage (/data/media directory) accessible at /sdcard/ (primary), or additionally can be a physically external SD card (secondary). External shared storage contains private directories which belong to individual apps. These directories are available to apps without requiring any permission. The rest of the public directories are only accessible to apps which are granted Storage permission (READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE) by the user.
However the filesystem level access to whole /sdcard is very much deprecated in Android 10 and 11 due to its broad nature. Now there are MediaStore and Storage Access Framework (SAF) which provide apps even limited access to files on external shared storage. For more details see my answers to Where Android apps store data?, Android's Storage Journey and What is the "u#_everybody" UID?.
So:

Access to files created / downloaded by an app in its private storage or private directories in external storage is never restricted.
Access to the files of other apps in private storage is never possible.
Access to the files in public external storage or private external storage of other apps is subject to permission granted to the app by the user.


text:
Can I enroll my device in Android Enterprise to install a root CA?
My phone can't be rooted but I want to MITM my own traffic. Is there any downside to enrolling my device as a managed enterprise device and installing a certificate through the program? It seems possible, but I have not come across this solution anywhere on the internet so I was wondering if there is a downside.

You need to buy an MDM suite. Usually organization do that; it has an initial setup cost and a recurring subscription fee per device. Or you may think about developing an MDM solution of your own which may take a year or so if you are a good programmer. So go for it if you can afford it financially, or handle it technically.

@IrfanLatif I don't think that current MDM solutions just use the device Management API (which has been marked deprecated). I think you have to register your MDM at Google and get an "EMM partner", hence just development skills and time is not enough.

@Robert I'm not sure but I don't think all Android Enterprise solution providers are registered with Google. Google tries its best, as always, to make things more and more dependent on GMS. But AOSP APIs related to MDM should work without Google Play Services too, at least when integrated with a custom ROM with high privileges. I don't have much in-depth knowledge though. You might be correct. In either case MDM isn't meant for end users, what OP wants.

Your question (or at least the answer) is more development-oriented. But I take the opportunity to share my limited knowledge from an end-user's perspective.

Is there any downside to enrolling my device as a managed enterprise device and installing a certificate through the program?

Yes. The cost, and complexity.
In order to use Enterprise Mobility Management (EMM) on Android, you need to buy a Mobile Device Management (MDM) suite. Usually organizations do that for their employees; it has an initial setup cost and a recurring subscription fee per device.
Or you may think about developing a solution of your own. Developing a full-fledged EMM solution may take months and years. It may include building an EMM console (usually a web interface) to set policies, a back-end EMM server to hold policies, and a Device Policy Controller (DPC, or Work Policy Controller) app which fetches policies from server and enforces on device.
But as mentioned by @Robert in comment, Google doesn't want you use your own DPC app (which was a part of Google Play EMM API since Android 5):

"Android Enterprise is no longer accepting new registrations for custom device policy controllers (DPCs). Learn more."

The latest recommended solution is to use Google's Android Management API (after doing a partnership with Google as EMM solution provider) which enforces policies on devices using Google's Android Device Policy DPC app, and also provides additional features (by making use of privileged Play Services) which haven't been part of previous implementations. It covers all possible scenarios including Work Profile (on user-owned or company-owned devices) and Fully-Managed devices (with no personal profile). Both should not to be confused with Android's multiple users.
THE SOLUTION
So I don't think you'd want to go this far just to install a root/leaf CA. However there's a possibility to develop a simple standalone DPC app based on Android's Device Administration API (which the above stated solutions use under the hood), without integrating with any remote API. Shelter is an example of such use case, which provides app isolation / duplication by creating a Work Profile (it's open source, I've no affiliation). Using admin APIs it's possible to grant access to a client certificate, that's what you want. However as stated in (the link you provided: "... certificate is available to ... apps installed in the work profile", and) the official documentation:

"All apps within the profile will be able to access the certificate chain and use the private key ..."

So if you want to use the installed CA for all of your apps (including those installed in the personal / device-owner profile), your DPC must run in Fully-Managed mode, not a Work Profile. Luckily Google provides a Test DPC app which may run in both modes. It allows installing a CA, so can be a good starting point:

THE CAVEAT
Quoted from Android Developers Blog:

"Apps that target API Level 24 and above no longer trust user or admin-added CAs for secure connections, by default."

"But app developers can choose to let their apps work with manually added CA certificates" by adding <certificates src="user" /> to Network security configuration. So in this case an EMM- / admin-added CA is no way different than a user-added CA, while the latter is very simple to achieve.


text:
a lot of heavy .txt files in my android. is it safe to delete them to free up memory?
There are lots of text documents in my android phone with over 1 mb size. they are typically named with time stamp like "20200419_11". is it safe to delete them? will it enhance my storage space

Depends on the content, though usually they are just log files to help debugging the app/system, and safe to delete as users.


text:
How can one change the timezone of Gmail (Android application)?
How can one change the timezone of Gmail (Android application)?

Edited with inputs from Irfan Latif (thanks) in comments
You can change the system-wide time and/or timezone in Android but you cannot change either of both in individual apps because apps usually make use of system APIs to get time/timezone.
See Time Zone from Android Developers documentation

Typically, you get a TimeZone using getDefault which creates a TimeZone based on the time zone where the program is running. For example, for a program running in Japan, getDefault creates a TimeZone object based on Japanese Standard Time.

However it entirely depends on the developer of the app. They may use some other approach to get timezone e.g. from public IP or device location. Or they may provide an option in app settings to entirely fake the timezone. But Gmail app does not do this and uses system time.
It seems to be possible to change the time zone of Gmail on desktop by changing Google calendar time zones (as I see on net search) but that's not possible on Android.
I am not aware of any rooted method that achieves this either, though some old Xposed modules claim to work in creating dual time zone clocks.