text:
MicroSD card works fine on Mac and digital camera but Android phone wants to format it
I have two identical 64 gig microSD cards I bought three weeks ago. They both work fine in my Canon IXUS camera and they both work fine in my year-old M1 MacBook Air.
But only one works in my new Redmi 10C phone. The phone prompts me to format the other one.
I use the same USB C to USB A and USB A to microSD adapters on both. I've tried removing and re-inserting several times. I've swapped them from device to device several times. The same one consistently works on the laptop and camera and not the phone.
I have a hunch it may have been removed without ejecting. When I had Windows laptops they would prompt me to fix media that had not been ejected. I'm wondering if macOS does not do this. Perhaps because such media always uses a FAT format and not any Apple format, for maximum compatibility across devices. I don't have access to any devices at the moment besides these three.
Is there perhaps some way to get a more detailed technical diagnostic about what could be wrong with the microSD? Using either the phone or the Mac?

As far as I know by definition all SD-cards with a size of 64GB+ come exFAT formated by default. Unfortunately exFAT support is not present in all phones. Some have full support, some only- read-only and some no support at all. Check the SD-cards for the sued file-system.

@Robert can that be checked on Andry? I know I can do it later on the laptop. Still odd since I bought the two cards together and used them straight from their packs without ever reformatting.

I checked both with Disk Utility on the Mac and both are exFAT. I hit the First Aid button for each one. It was almost instant and did not mention any problems found with either. When I tested them both on the phone still one worked fine and I was prompted to format the other!

make backup to PC, format in Android and restore backup

so do I understand right, you always hot-swapped SD Cards before?

@alecxs: I attach the cards via USB adaptor, they are not fitted internally. I always unmount/eject them from the phone and the laptop, and on the camera I always turn it off.

I found a counterintuitive solution!
I tried to check and repair the microSD cards' extFAT filesystems on my Mac using the commandline tool fsck_exfat. I was surprised that this failed and it also failed on my good microSD card which resulted in both cards now not being recognized by the phone though both still worked perfectly on the Mac and the camera.
While hunting for answers on why the attempts to fix the exFAT failed on the Mac and whether I could do anything like fsck on a non-jailbroken Android, I came across some comments that fsck is not necessary on modern Android because the system checks all drives on boot-up.
This gave me the idea of powering off the phone, connecting the SD card via the usual pair of adaptors, then powering the phone back on.
This actually worked and both cards are now working 100% on phone, camera, and laptop.


text:
Magisk: Failed to patch: Unsupported image format
I'm trying to root a Pixel 5a using Magisk (24.3).  I've downloaded the barbet-rd2a.211001.002-factory-dbed3a6f factory image, pushed it to the phone, and tried to patch it with Magisk.
However, the output shows an error:
- Device platform: arm64-v8a
- Installing: 24.3 (24300)
- Copying image to cache
- Unpacking boot image
! Unsupported/Unknown image format
! Installation failed

I gather that I've downloaded the wrong image.  How do I know which image is compatible?

The factory images are provided by Google in ZIP format.  You have to unzip it, select the boot image, and then apply the Magisk patch.

source: Stack Exchange

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

sort: votes


text:
Exclude folder from storage booster deletion?
My samsung phone has this storage booster feature which deletes cache and unnecessary files daily but it has some caveats. There is a game that can't function without data files which are being deleted daily by the storage booster which results in me downloading massive files everyday.
Is there a way to exclude the app or game from the storage booster?

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


text:
is there a way to lock down an android phone to a specific IP range (i.e spotify IP addresses only)?
Is there a way to lock down an android phone to a specific IP range (i.e spotify IP addresses only)?
We want our daughter to listen to spotify, but not access the internet in any other way. Right now, we have locked the phone down to spotify only.
However, for any links provided in descriptions in spotify, when she "clicks" on them, the browser opens.
Hence, we are keen to basically just lock it down to allowed IP addresses only. To keep our policing easy.

No, Android devices don't have that ability without root and custom unofficial applications.  Plus Spotify no longer uses specific IP ranges like they did several years ago, they have hosted servers all around the globe, and Spotify no longer provides those IP ranges to the public (filtering is done by content type now days). My suggestion would be to look into if your device has Parental Controls enabled.

What would be a better way to only allow internet access to spotify? We locked with parental controls to only give access to spotify, but clicking on any link in spotify opens the browser and the browser basically means unlimited access to the internet.

You could, of course, put something in between the phone and the internet that restricts it to a specific IP range.

Theoretically a special VPN app (or service) could restrict network requests to certain IPs. However you should consider that Spotify is a service that AFAIK runs in the Amazon cloud, that means there are a large number of servers be used and their IP can change at any time. Also other AWS services may have a similar or even the same IP if common AWS servers are used.

This is just an idea, but maybe use a vpn directly connected to spotify

Use a parental control (some Kiosk app I guess) app (a separate app, not Google Play Parental Control) to restrict app access to Spotify app only

Perhaps a phone is not the proper device for this application... There are several MP3/Streaming players that can be purchased on sites like Amazon, that would only give access to music or streaming services.


text:
Is there a way to call/invoke a (private) Java function in an app?
Is there some tool that can be used in ADB shell or something similar (without root possibly) that can invoke a function in the app, while it is running?

Rooted device
On rooted devices private function in apps can be called quite easily (in most cases) using a tool like Frida. Frida is like a mixture of a "scriptable debugger" and Xposed framework with the difference that you don't have to deal with low-level code like regular debuggers and the disadvantage of Xposed that when changing your scripting code you don't have to reboot the whole phone.
Frida allows to write JavaScript code that is executed within the app and you also have an interactive shell for finding or creating class instances, calling functions and so on. Frida is like a Swiss-Army-Knife for reverse-engineering and third party app debugging.
Unrooted device
On an unrooted device and an app that is a regular release app (not a debug build) you can't invoke a function within the app without modifying the app.
For example you could try to decompile the app using apktool, modify the Smali code to execute the function e.g. if a certain UI button is pressed and recompile and resign the app with a new certificate. But be aware that Smali is a very low-level language - so even if you are familiar with Java and Android development modifying Smali code will be challenging

If you resign an app, it won't install without fully removing the app, including the app files. Or is there some way to keep them, for I would like to preserve these files.

@hiddenhospitalresearch That is correct, you have to delete app data. If you install the app via adb you can use adb install -r <abc.apk> which will delete app data. If the app allows backup via adb you can try to backup the app data using adb backup <packagename> (check .ab file size afterwards success = file size is larger than 1KB) and after replacing the app restore the backup data.


text:
How To Disable System Updates On Motorola Moto G Stylus 5G? Or How To Disable System App With ADB (Package Is Protected/Protected Package)?
I have a Cricket branded Motorola Moto G 5G Stylus running Android 11, and I'm trying to disable the system updates. I've already disabled system updates in developer options, but it still forces updates - I can delay the update for ONE day, and then it forces the update with absolutely no way to stop it, and no more delays. You get 24 hours and then it forces it.
I tried using ADB to directly disable the system update apps. There are two, both labeled "Cricket Software Update" with package names com.motorola.android.fota and com.motorola.ccc.ota. I disabled com.motorola.android.fota, but when I try to disable, uninstall, or clear com.motorola.ccc.ota, ADB gives an error "Cannot disable a protected package" or "Failure: package is protected."
I use this phone for reliability testing, and forced restarts for system updates break that. Not to mention the updates themselves often break functionality of other apps or system features. I don't need updates, don't want updates, so how do I disable system updates on my Motorola Moto G Stylus 5G? Or, how can I disable protected system packages/apps with ADB?

Do you have the ability to unlock the bootloader and root the device? That is about the only way on modern Android devices like this unfortunately. Last time I checked, Moto (Lenovo) eliminated the ability to unlock the bootloader back in like 2018 though.

You could try to use a VPN based ad-blocker (like Blokada) that allows you to define custom block lists. If you could find out the network names used in the update check process you could block them. Without a working network connection to the update servers the update checker will not work and no new updates will be downloaded.


text:
ITV Hub stopped working on Nexus 7 2013 (OS 6.0.1)
ITV Hub has suddenly stopped working on this - don't know exactly when, don't use it that often for streaming.
It still works fine on my Google Pixel 2 (OS 11) so don't think it is wifi network related.
The app starts OK, but on trying to live stream an error dialog merely says 'something has gone wrong, please try later' (001). ITV's help is not great, simply says it should work on Android OS after 5.0.
Tried reinstalling to no effect. I notice the app version (10.3.0) is the same on the Pixel and Nexus, but in the play store download, the Pixel version says 55MB, whereas the Nexus is 40MB.
I had exactly the same thing with All 4 some time ago, then suddenly it started to work again.

The Pixel will run the ARMv8 64bit version and your Nexus the ARMv7 32bit version, therefore the size difference. Also the screen size differes which can result in different image resources being used.


text:
How can I configure Android so that the phone rings when I receive a phone call while in "do not disturb" mode?
I tried to check allow all notifications:

However, after saving it, it gets unchecked again. It works fine for other applications.
How can I configure Android so that the phone rings when I receive a phone call while in "do not disturb" mode?
I use a Google Pixel 6.

On Pixel 3a Android 12, in the DnD settings, there's a setting for interrupts, and one of them is "People". Inside it, there's "Calls" with "Anyone" as an option. Does that work?

@AndrewT. thanks, perfect, still there in pixel 6. Can you post your comment as an answer? I can add the screenshot.

As Andrew T. commented, go to the Do No Disturb settings and change the people option:

Then call option:

Then one can select who may disturb:


text:
How to recompile existing Android ROM without certain packages
I want to be able to take any version of Android ROM from any device, decompile it, remove certain packages (browser, Google Play, etc), and then recompile it, just without those packages. So it would be the exact same, but those packages would not be part of the new version of Android ROM.
How could I do that?

Do don't need to decompile or recompile anything. As you need an bootloader unlocked device (otherwise you can not modify anything on the system) you can boot into a custom recovery ROM that allows you to modify the system partition, or you root the phone then you can modify it from within Android itself. Note that deleting system packages can brick your system (and then requires a fresh installation of a working ROM).

That sounds super complicated - I have to figure out how to do that.

@Robert Where would be a good place to start learning how to do that?

As  good a place to start as any is with the Android Documentation i.e. https://source.android.com/setup/build/building

Does this answer your question? Enable and disable system apps via ADB


text:
Manually-modified ADB backup file cannot be restored on a different device
While there are tons of posts about ADB, I think we can all agree it is an elusive beast.  Therefore asking if anyone can shed some light on the following:
The objective is to backup data from an app on device #1, change some database data in the app's database file stored in root/data/data/com.AppName.../apps/db, repackage the changes into an .ab and restore it to device #2 which will have the same App installed.
I have managed to create a .ab via adb backup (without .apk), have manipulated the db data after unpacking it from the .ab and have packed everything back into a .ab ready for restore to a new target device.
However, the restore does not yield any change on the new target device where the app has been pre-installed. This post seems to suggest that the app has to be installed via adb in order to get the data loaded.... but I'm not sure I'm understanding that.
I do have a copy of the .apk for the app which I could point to the mentioned restore script, but just not sure if that's the thing to do.
One more note is that I am working with unrooted devices. While I can see how adb backup could easily have read permission to app data, I never understood whether adb restore has permission by default to write app data to its destination under /root/data/data.
Sorry for the long post but just trying to be clear.
Thanks for any thoughts!

Are the source and the target device using the same Android version? It seems like Google has deactivated adb backup and restore on Android 12 if the app's targetSdkVersion exceeds a certain value. Not sure about Android 11.

Hi, I tried to clarify the title because the original revision was unclear about the real issue. If it doesn't seem to be what you're asking, consider [edit]ing and clarifying it more. Thanks!

@Robert Target device is running Android 10.

Just to clarify a little further, I found it wasn't necessary to take the data from device #1.  I actually only needed to take a backup from device #2, modify the database data mentioned and now wanting to restore the data back to device #2.
Therefore disregard any mention of device #1.  The problem is simply not being able to get the repackaged .ab to restore to device #2 running Android 10.
Also, only had luck using ADB 1.0.31 to perform the backup.   Tried several other versions including current from platform-tools.

Instead of using adb restore I would copy the .ab file to the phone and use the command bu inside adb shell. adb backup is just a wrapper for this bu binary, but executing it directly on the phone has the advantage that you see all potential error and warning messages. In parallel I recommend to have an adb logcat running to see if there are error message in logcat why the restore does not work.

@Robert.
I did previously try placing the .ab on the /sdcard part of internal storage and tried using the 'bu restore' command, but sadly that does not work either.
Interestingly, the syntax of 'bu' is a bit mysterious but is the only thing I could use to successfully make a backup with syntax like: 'bu 1 backup -apk app.package.name > /sdcard/backup.ab' (on an older device). This syntax did not work on new device. {all very confusing}.
Anyhow, will try your advice of watching 'logcat' in parallel in a separate 'adb' window.

I already had the case that the bu binary was simply malfunctioning on a device with stock ROM. In my case it just failed to start but it is also possible that it starts but then fails to do something. As adb backup is deprecated and no longer mentioned in adb help it would be possible that it is also not part of the Android compatibility test suite and thus an manufacturer will not recognize that it does not work at all.

@Robert, do you know for sure as of what Android version adb was deprecated?

Adb backup deprecation was at least three years ago, but I don't remember when exactly or on which version it happened.

Let us continue this discussion in chat.


text:
Does one grey tick in WhatsApp group chats mean that I am blocked?
I'm still trying to figure out WhatsApp. I want to know if I am blocked. So I am in a group with 50 people (nearly all people are not in my saved contacts, only 2 are). I sent a message, and after more than 12 hours, my message is still shown with one grey tick.
The profile picture of my friends that are saved on my mobile is still showing.
Am I blocked?

One grey tick in WhatsApp group chats means that someone has not received the messages (e.g. no internet, the device is powered off, etc.)
Users can check the real status by long-tapping their own messages and selecting "Info" (tap the "3-vertical dot" overflow menu if it's not shown). It will show:

Participants who have read the messages
Participants who have received the messages, and
A count of participants who have not received the messages as "x remaining"

On the other hand, blocking participants in WhatsApp group chats does not affect anything.
I just tested this with a group consisting of my 2 WhatsApp accounts, with the recipient blocking the sender:

When sending private messages

Sender: one grey tick (undelivered)
Recipient: not receiving the messages

When sending group chat messages

Sender: double grey (delivered) / blue (read) ticks
Recipient: still receiving the messages and sending read receipts


text:
Certain videos pause on phone when headphones are attached
I have an Android 9 smartphone and headphones with separate jacks for audio and for mic. I only use the audio jack on my phone. The trouble is the following: when I play some videos with headphones attached they pause every second or so. When I click play they go on for another second and pause again. As this happens, the headphone icon on the top panel is flickering. This happened in media players, youtube app and youtube in browser meaning its not app specific. Even weirder is that it happens only to some videos. E.g I was watching a comedy show on youtube and it was fine. Right after that I tried playing a music video it did what I described above and repeated for any music videos I tried but not for any clips of that show, no matter the lenght. I have some downloaded music and on headphones I could only play things I listened to without headphones earlier. Anything else pauses.
Now, i've seen suggestions that say screen time settings and night time settings sometimes cause this but I double-checked and have none set. Turning battery saver off did nothing.
Any ideas?

Clean the headphone jack. It seems like it does not detect the headphone plug reliable. If that does not help it could also be a defect headphone jack (broken soldering point).


text:
How can I configure the clipboard of the Google keyboard so that it doesn't delete all items upon phone restart?
The clipboard of the Google keyboard remove its history upon phone restart. How can I prevent that?

I use a Google Pixel 6.

You can pin items to the clipboard by pressing and holding them and tapping "Pin" in the pop-up menu.
Restarting will empty the clipboard. Clearing app cache will NOT empty it. Clearing app data should clear the clipboard including any pinned items.
It may not be the same on every device. It could be another thing manufacturers can decide. I still have unpinned content in my Gboard clipboard from 10+ hours ago; Moto G Fast on Android 10. There are results online where people say it's removing items after "1-2 hours", but they're over a variety of years on a variety of devices with varying OS and Gboard app versions.
There are alternative Android keyboard apps that have extended clipboard functionality, but of course may lack other features or have even more.


text:
How to IP forwarding/NAT from WIFI -> Mobile data without creating hotspot/access point
I would like to be able to use my android phone as a backup internet connection if my home broadband goes down.
The idea is that if the network went down I would set up a static route on my home router to point all internet-bound traffic at the phone, and all the other devices on my LAN would be able to carry on using the internet without reconfiguring each one.
How can I get my android phone to perform IP forwarding/NAT from the wlan0 over the mobile data network? I don't want to put the phone into access point mode, but rather leave it connected to my home wifi network.
The phone is rooted so it feels like this should be possible with iptables but I'm not having much luck.

Commenting mostly to follow this, but I honestly don't think this is really possible as your stating it... You would have to have it hotspot mode, or wired USB tether mode (some routers support this), otherwise Android just won't allow this to happen, root or not.

@acejavelin I was able to get this working on my rooted Android 10 phone as mentioned in my answer. I believe the steps should be more or less same for all Android devices with changes in names of interfaces, routing tables, iptables chains, etc. @ Oenotria yes, I have used my phone's internet connection as a backup connection in my home router using a static default route with a higher metric than my main default route, and it works flawlessly as long as my changes are active on the phone.

Try to simplify this answer for your use case. Yeah I know it's for hotspot but the network interface is same in both cases. If you can't make it work I'll write an answer when I get time.


text:
How to keep apps from being removed from recent apps list
With Android 7 (aka nougat), behavious of the recent apps list changed: instead of being "kept forever (until swiped out)", apps now get removed by whatever criteria (from my research it now "only shows the 5 last used tasks, and tasks used in the last 6 hours"), which is quite annoying. I found this question asked multiple times e.g. at Reddit or XDA, but no answer. With Android-7 and Xposed, one could use the Recents auto-removal override module, but that stopped working around Android-10.
So with Android-10 and up (I'm on 11 now), how can I keep Android from "expiring" apps from the recent-apps-list? Is there some "hidden setting" or other way to modify this behavior? Any solutions (including those requiring root, Magisk, Xposed) are welcome.


text:
No audio during call
I just upgraded from Oreo to Pie, and calls are not working. Everything else is perfect.
Completely mute: I can't hear anyone, and no one can hear me. Not even voicemail works

Whatsapp call works
Tried wiping the phone app
Tried that option to erase Wi-fi, Bluetooth, and Mobile network settings
Tried soft reset (hold power for 10s)
Tried manually selecting the carrier
Tried cleaning the handsfree jack (no use, since whatsapp calls and hardware tests show that the mic and earpiece are good)
Tried replacing the phone manager by another
Tried call via bluetooth

Tested side-by-side with another phone I have. Completely mute.
This is the ROM:
https://www.stockrom.net/2019/07/xt1925-5.html/amp
All well in according to the model (XT-1925-5)
Is there a way to determine the cause ? Is there a FIX fix ?
Apart from Hard Reset, of course. That would be the third time this month I do that to fix glitches... Problem is that every hard reset forces me to visit two banks to enable the phone.

I would try to "reset" the mobile network part of the phone by removing the SIM card, reboot, reinsert it and reboot again. Modern phones do provide features like VoLTE and WifiCalling which depends on a lot of software settings, may be one of those wasn't correctly upgraded. Hopefully reinserting the SIM card forces the phone to reapply the necessary settings.

Hello, Robert. Tried now, but didn't work. Your idea also led me to another: Reset Wi-Fi, Bluetooth and Mobile network configurations (that option is under the phone's advanced settings), but didn't work either. The problem lies deeper, aparently.  I'm thankful for your suggestion.

I surrended and reflashed the ROM (again), and it worked.
Don't know if just hard resetting was enough. I skipped that.
Plus, I used another ROM source:
https://motostockrom.com/motorola-moto-g6-xt1925-5
Don't know if that made a diffence or was unnnecessary.
Well... Works now


text:
Cannot remove default apps on TCL 30 XE 5G using ADB shell
I'm trying to remove a few apps that came pre-installed on my TCL 30XE 5G. I read online that I could use the... ADB, SDK, something like that, platform tools? So I downloaded those, got the files linked to my phone with USB Debugging, and tried the uninstall commands. But nothing worked, and I'm stumped. I tried using the adb shell command first, and tried it without, but it didn't make a difference.
Here are some examples of what I tried, and what the cmd said in response:

pm uninstall --user 0 com.google.android.apps.podcasts gave Failure User version can not delete system package [com.google.android.apps.podcasts]

pm uninstall com.google.android.apps.podcasts gave Failure to remove user owner's system package :com.google.android.apps.podcasts

Does anyone have any suggestions on what else I can try? Bear in mind this is my first ever smartphone, so you may have to explain things like I'm five. Any help anyone can provide would be greatly appreciated.

Are you able to run any of these commands? pm hide --user 0 com.google.android.apps.podcasts OR pm disable-user --user 0 com.google.android.apps.podcasts

The disable command works, although I could already disable the app from the apps menu. The hide command though, gives the following error: link


text:
Help interpreting logcat messages related to BackupManager Restore
Appreciate any help interpreting the following logcat messages from an adb shell bu restore command.
06-11 19:41:35.342  1450  3609 I BackupManagerService: Beginning restore...
06-11 19:41:35.342  1450  3609 D BackupManagerService: isPrivilegeBackupApp() pkg name is android.uid.shell:2000 value : false
06-11 19:41:35.342  1450  3609 D BackupManagerService: Starting restore confirmation UI, token=144556548
06-11 19:41:35.386  1450  3609 D BackupManagerService: Waiting for restore completion...
06-11 19:41:38.596  1450  4769 D BackupManagerService: acknowledgeAdbBackupOrRestore : token=144556548 allow=true
06-11 19:41:38.648  1450 15003 I BackupManagerService: --- Performing full-dataset restore ---
06-11 19:51:20.395  1450  1450 V BackupManagerService: Scheduling immediate backup pass
06-11 19:51:20.405  1450  1450 W BackupManagerService: Backup pass but enabled=false setupComplete=true
06-11 19:51:35.390  1450  3412 I BackupManagerService: sep backup/restore timed out waiting for success
06-11 19:51:35.392  1450  3609 I BackupManagerService: adb restore processing complete.
06-11 19:51:35.395  1450 15003 E BackupManagerService: Unable to read restore input
06-11 19:51:35.404  1450 15003 D BackupManagerService: Full restore pass complete.
06-11 19:53:50.976  1450  3412 V BackupManagerConstants: getKeyValueBackupIntervalMilliseconds(...) returns 14400000
06-11 19:53:50.976  1450  3412 V BackupManagerConstants: getKeyValueBackupFuzzMilliseconds(...) returns 600000
06-11 19:53:50.976  1450  3412 V BackupManagerConstants: getKeyValueBackupRequiredNetworkType(...) returns 1
06-11 19:53:50.976  1450  3412 V BackupManagerConstants: getKeyValueBackupRequireCharging(...) returns true

Specifically does the following indicate a permission problem writing to /root/data/data ?
> isPrivilegeBackupApp() pkg name is android.uid.shell:2000 value : false
> Backup pass but enabled=false setupComplete=true

enabled=false probably refers to BackupManager is not enabled

I would assume that isPrivilegeBackupApp is just called to decide if the users has to confirm the process in a UI dialog (isPrivilegeBackupApp=false) or if the restore process can be performed invisible in background without user interaction (isPrivilegeBackupApp=true).

@alecxs successful backup was performed from the same device, which assume is also managed by BackupManager. Further, wouldn't the other actions shown in  the log indicate BackupManager trying to do work? In any case, how do you separately enable BackupManager?

The code from here
suggests some kind of IOException.  Any help interpreting will be appreciated.


text:
Password unlock from recovery menu
What do I door the steps to reset or unlock the phone pin on a Motorola phone.. I have already powered device off and am. Ow at.the recovery menu so what do I do to unlock this phone e even have the mount option but Nothing happens when I choose it and bottom of phone screen says
Supported API:3 and has mounted/system 3 times under the api  anyone help me

there is no such password unlock from recovery menu. you can factory reset from recovery menu (but won't remove FRP)


text:
Samsung S7 unresponsive with blue light slightly pulsing
My Samsung Galaxy S7 is completely unresponsive for day and a half, black screen, only blue LED is shining with a slight pulse. According to this guide, it means "the device is turning on or off". For a day and a half already!
So I tried this advice:

Press and hold the “Power” and “Volume Down”
buttons for eight to twenty seconds and the device will eventually
turn off.

Then I tried this advice:

Try pressing and holding Power and Vol Down for about 30 seconds, then
wait a few seconds, then press and hold Power again for another 30
seconds.

Then I tried different sequences as advised here:

up+power 20 secs
down+power+home
up+power+home

Nothing worked. Charging didn't help. Before this happened, my phone was gradually slower and slower in the last month, until it became super slow, as I asked here. Some time before the freeze happened, I also removed the SIM card and micro SD card from the tray. Now I put back the SIM card, the system still stuck.
PS: 10 minutes after the key combo attempts I noticed the battery and display is heated. Interesting.
PS: after 2.5 days the battery finally died and the blue light stopped pulsing. I charged it a little, but now it doesn't even turn on. No response whatsoever.

What happens if you connect the phone to a charger? Does this change anything while it is connected?

@Robert I tried that, it changed nothing. Now I am trying the opposite - trying to starve it out of power so that it turns off physically (because I cannot unplug the battery - where are the good old phones!). But it still holds for more than a day and half. Thanks for asking!

To drain the battery quicker, I have used a spot in my house just within reach of my neighbor's WiFi; the continued attempts to connect can speed the process.

@wbogacz thanks! But I think my system is in such a frozen state that it wouldn't help... it doesn't react to anything, not even the shutdown combos and does not even connect via USB cable to computer.... Anyway we have lots of WiFi here in the air :)


text:
How to deactivate IR-Lights
My IR-Flashlights are not turning off anymore.
Turning the IR-Cam on/off, rebooting the phone, turning off the phone, factory-reset etc. didn't work. It stays on all the time, even when the phone powers itself off due to low battery.
I now rooted my phone and hoped that I may be able to manually deactivate it via /sys/class/ but could not find the directory associated with the IR-hardware.
Any suggestions how I could find the correct directory?
Or any other suggestion how I could turn off the lights?
I have an Ulefone Armor 11 5G.


text:
Using android phone as a DMZ/access point
I had a router suddenly die, and was wondering if I could use a spare Android phone as a temporary replacement.
Currently the network has one laptop connecting via Wi-Fi, and one desktop connecting via WiFi or ethernet.
The laptop and desktop should be able to talk to each other freely.
The internet connection for both came via the router, which was set up to extend another Wi-Fi network.
Does anything like this exist for Android?
I have a few spare phones lying around, including a Google Pixel and Essential Phone.


text:
Will a monitor connected to a usb-hub show image from Android?
I'd like to connect a VGA monitor to an Android device. I'm thinking to connect a usb-hub to the device, then plug USB to VGA adapter into the hub. Also a mouse and a keyboard are going to be connected to that hub (i.e. to the Android device). Is it going to work or display should be the only thing to be connected to micro-usb port of the Android device?
I.e. this way:
Android device -> the hub -> keyboard,
                          -> mouse,
                          -> usb to vga adapter -> display.

I were considering such https://a.co/d/hADyUFi
and such
https://www.amazon.com/Tripp-Lite-Serial-Adapter-U209-000-R/dp/B00005V52C/ref=mp_s_a_1_29?crid=2I0ZITLONHASM&keywords=usb+vga+adapter&qid=1655099821&sprefix=Usb+vga+adapter%2Caps%2C722&sr=8-29#
types of adapters.

I don't think that the Android kernel contains the necessary drivers for a USB-to-VGA connector. But in the end it depends on which converter chip us used by the USB-to-VGA converter and which phone model respectively what extensions have been added by the phone manufacturer. So there is no general answer, but I would surprised if you would find a device with the necessary drivers included. If the phone is rooted you could try to build your own kernel and include the drivers.

Is it a USB-A to VGA adapter or a USB-C one? Does it say "DisplayLink" on it?

The StarTech product might be using DisplayLink (that's the most common video-over-USB2.0 protocol), and I have no idea whether Android supports DisplayLink though most likely it won't. But the "Tripp-Lite" product in your second Amazon link is not a VGA adapter at all – it's an RS-232 serial (aka "COM port") adapter. Note how it has a 9-pin connector (DE-9) while VGA uses a 15-pin one. (Such adapters do actually work with Android for serial communications... but again, it's not a VGA adapter.)

@user1686 I thought to use A, why it is matter c or a, it's just shape of the connector isn't it? Ive posted 2 links in the question, I thoght to use the blue one. No display link label on them.

@YaY: Type-C connectors may have "alternate modes" and quite a few smartphones support direct digital video output over their type-C port (usually DisplayPort; in theory also HDMI), while Type-A connectors are always just USB (and therefore need proprietary video-over-USB standards like DisplayLink that phones don't support).


text:
How to stop automatic copying to usb flashdrive
I have a OnePlus Nord N20 running android 11. Whenever I plug a flashdrive in, It dumps a bunch of empty folders onto the flashdrive. Alarms, Android, Audiobooks, DCIM, Documents etc. Does anyone know how to get it to stop doing that. Thanks.

Does this answer your question? Should a new microSD card appear to have folders in Android?

Related: How to stop apps writing to "Android" folder on the SD card?

Thank you. Your suggestion help me understand how the folders are getting there but not how to stop it from happening.


text:
Information about 'ventoy' application
i recently installed 'ventoy' application from google store, but after i run the application it ask me for internet connexion i was think it is used offline, so why it ask for internet connexion and is it safe to give it access to internet? Thanks for your help.
Best wiches.
N.B: link for the application it is used for making a usb key bootable with '.iso' distribution.
https://play.google.com/store/apps/details?id=com.mixapplications.ventoy_app&gl=US

Welcome to Android Enthusiasts! It might help if you'd [edit] your question to include a link to that app. With almost 3 million apps at Play, it'sotherwise hard to guess which one you mean – especially as you do not even mention what the app might be for. Looking at the only candidate I could find, it seems to use Firebase and Google Ads (both are requiring network but should not be needed for the functionality the user wants). "Overloaded with ads" a review says…

Hello, thanks for your answer, yes it is this app, when i run it the application show a message "must connect to internet", i don't know why it ask for a connexion, i know it use ads but most applications use ads but don't ask for connexion, thanks for your help. Best wishes

I see no reason why the app would need Internet to fulfil its purpose – provided the purpose is the same as that of the Ventoy application for Linux (just preparing the stick). So if the app does not work offline, I'd address the author for the reason and ask how to use that app on a device that cannot connect to any network anymore;)


text:
How to list suspended apps?
You can "suspend" user apps via cmd package suspend <packageName> (which acts kind of like pm disable; the differences are explained in this answer by @Firelord), and later unsuspend them using cmd package unsuspend <packageName> – which also works for user-installed apps. However: suspended packages seem no longer to be listed via cmd package list packages – not even if -u (uninstalled) or -d (disabled) is specified; not even dumpsys package seems to know them anymore.
So is there any way to obtain a list of suspended packages? The syntax output doesn't mention such. But as such apps are still shown in the launcher (though "grayed out"), there must be a way to detect them.

I'm not particularly good with  bash scripts so I'm posting a bit of an ugly one-liner which prints the packages which are currently suspended. Tested on Android 11 and 12 (both Android Emulator).
Works without root access:

adb shell
pm list packages -a | sed -e 's/^package://'| while read package; do status="$(dumpsys package $package | grep -o "suspended=true")"; if [[ "$status" == "suspended=true" ]] then echo "$package"; fi; done

What we are doing in simpler terms is get package names of all the installed apps; then for each package dump its content using dumpsys package, and within each dump check for the string which et al mentions this substring suspended=true. If found, we print the package name, otherwise, we skip to the next package name and repeat the process.
If you have root access (won't work on Android 12):

adb shell
su
grep 'suspended="true"' /data/system/users/0/package-restrictions.xml | cut -d '"' -f2

This is very fast compared to non-root solution. Also prints names of packages which are currently suspended.

Thanks – but the first command again does not show the suspended packages (also not if replaced by the corresponding newer cmd command – both yield "unknown option -a"). The second one did the trick after a slight modification: I had to ommit the ="true" for some reason I don't get. But adb shell su -c grep 'suspended' /data/system/users/0/package-restrictions.xml | cut -d '"' -f2 indeed did the trick, thanks!

PS: moving the grep back to the PC also works: adb shell su -c cat /data/system/users/0/package-restrictions.xml |grep 'suspended="true"'| cut -d '"' -f2


text:
How to Customize Floating Menu When doing Long Press?
When you long press a text from browser or other apps that are clickable, normally you will see copy, select all web search and the triple dots, for instance just like on this screenshot below when I long press a text on Chrome browser

Suppose I tap the triple dots, this is what will appear:

As you can see, there are entries which some of those are the apps that I installed, that means, whichever apps that I install and it's available to appear in the list will be listed there.
However, not every app can do this. For instance this dictionary app that has different list:

And this one has Google translate in the front because I installed the app and it has a bit different entries from the list

From the experience like we can force an android app in a dark mode though the developer of the app doesn't provide this feature by turning on the toggle button in the Developer Options in the setting, I'm thinking that it's not that impossible to, for instance, change the behavior of the long press so that I can modify what should be in the list.
This will be very helpful if it's possible. Because when I'm too lazy to open another app and I need a translator, I can just long press the text and the translator is listed in the floating menu.
At first, I was thinking it's just designed by default, I mean, suppose the developer app A is making it possible that the app B will be listed in the floating menu when the user long presses the clickable text. Until I realized that when I install app C, and the app A itself is so old, and unlikely that app C will appear but it does, which means any app as long as it's compatible, they will be listed there.

Dupe, but no solutions found yet: How to set which options appear on the text selection toolbar?, How to edit the Android context menu?


text:
Will a monitor connected to a usb-hub show image from Android?
I'd like to connect a VGA monitor to an Android device. I'm thinking to connect a usb-hub to the device, then plug USB to VGA adapter into the hub. Also a mouse and a keyboard are going to be connected to that hub (i.e. to the Android device). Is it going to work or display should be the only thing to be connected to micro-usb port of the Android device?
I.e. this way:
Android device -> usb hub -> usb to vga adapter -> display,
                          -> keyboard,
                          -> mouse.

Sorry for the confusion, but you posted the same question on both [su] and [Android.SE]. The one on Android Enthusiasts is on-topic. On the other hand, Super User generally doesn't accept questions about mobile devices, thus it's off-topic and rightly closed, but the mod decided to migrate it to Android Enthusiasts as goodwill. However, this made the 2 same questions exist on this site instead. Thus, I have to close either one as self-duplicate. Please continue the activity in the original question instead. Thanks.


text:
Disable accidental dialing of short code numbers
I live in Europe and use Android v.10 on a Xiaomi Redmi 9A phone.
How to disable accidental dialing of short code numbers (that typically consist of 4-5 digits)?

Is this question about those numbers usually start with a # that allows to execute special functions (like showing IMEI) on your phone?

@Robert possibly not that one, but regular numbers that may accidentally subscribe to carrier's add-ons.

@AndrewT. So those short codes belong to premium services which means you can accidentally call them and then have to pay a few Euro, Dollar, .. If this is true the real question is how to stop paying for those "hustle numbers" (as I would call them).


text:
Can I have screenshot notifications persist in Android 12?
I have a Pixel 6 Pro running Android 12. In previous versions of Android (not sure which ones), unless you disabled it, taking a screenshot would create a notification that persists in the notification bar until you dismiss it.
In Android 12 there is now just a temporary dialog that floats at the bottom of the screen. If I don't react to it before it disappears, I have to navigate to my screenshots folder in Photos which takes a few seconds and is annoying.
I'd prefer the older behavior where a notification is created, is it possible to restore this in Android 12?


text:
I am trying to pull the app data from my phone to my pc but it says the path does not exist?
I have installed adb and am trying to pull the app data from an app. However, the adb command does not recognize the path. Could you please tell me what I am doing wrong here? I have attached the path and the message that the cmd relays as I run the command.

adb pull /sdcard/Pictures/Cats or adb pull /storage/emulated/0/Pictures/Cats

@Irfan Latif Thank you good sir.

@AliMustafa And next time please don't post the console output in a screen shot. You can simply copy and paste the content to get it as text and the paste it into the question and format it as code.

@Robert Thank you. I will keep that in mind next time.


text:
How to get the size of the “super” partition on the device?
lpmake requires to get the size of the “super” partition on the device:

-d,--device-size - The size of the “super” partition on the device. It must match exactly, and it must be evenly divisible by the sector size (512 bytes).

How can I obtain it?
Using adb, I was able to run  ls -la /dev/block/bootdevice/by-name and see

lrwxrwxrwx 1 root root  21 2022-06-13 23:32 super -> /dev/block/mmcblk0p34

and then using termux, as root, I obtained:

blockdev --getsz /dev/block/mmcblk0p34
8388608

but since the original firmware's system.img file is 3.2 GiB (3,435,159,228 > 8,388,608), this seems quite unlikely.
What am I missing?
I am aware of this post, but it did not helped.
The scatter file reads
- partition_index: SYS35
  partition_name: super
  file_name: super.img
  is_download: true
  type: NORMAL_ROM
  linear_start_addr: 0x23800000
  physical_start_addr: 0x23800000
  partition_size: 0x100000000
  region: EMMC_USER
  storage: HW_STORAGE_EMMC
  boundary_check: true
  is_reserved: false
  operation_type: UPDATE
  is_upgradable: true
  empty_boot_needed: false
  reserve: 0x00

and 0x10000000 is 268435456 (268,435,456), but that's still not enough?
I see another number using fastboot...
fastboot getvar partition-size:super
partition-size:super: 100000000
finished. total time: 0.003s

and
echo "ibase=16; 100000000"|bc
4294967296

This one could be valid, since 4,294,967,296 > 3,435,159,228.

blockdev --getsize64 8388608 (blocks) x 512 (block size) = 4294967296 = 0x100000000 (not sure where you got 0x10000000 its not mentioned in scatter file)

Thanks a lot, I had forgotten a 0 in my conversion…

Actually, all three sources are in agreement when you know how to read it:
Scatter

partition_size: 0x100000000

0x100000000 = 4,294,967,296 (I had forgotten a 0 in my question)
blockdev

blockdev --getsz /dev/block/mmcblk0p34

8388608 = 8388608 (blocks) x 512 (block size) = 4,294,967,296 (Thanks alecxs!)
fastboot

fastboot getvar partition-size:super

Gives 0x100000000 = 0x100000000 = 4,294,967,296


text:
lpmake complaining about not having enough space
I am trying, following this tutorial, to re-package a super.img file, but am confused by lpmake.
I am trying to package the following 3 images:

partition
size

lineage-18.1-20220511-UNOFFICIAL-arm64_avS.img
2035568640

vendor.img
312594432

product.img
1945939968

total
4294103040

using the command
lpbinary/binary/lpmake \
    --metadata-size 65536 --metadata-slots 1 --device super:4294103040 \
    --group main:4294103040 --partition system:readonly:2035568640:main \
    --image system=./lineage-18.1-20220511-UNOFFICIAL-arm64_avS.img \
    --partition vendor:readonly:312594432:main --image vendor=./vendor.img \
    --partition product:readonly:1945939968:main --image product=./product.img \
    --sparse --output ./super.new.img

and I get back:
lpmake I 06-14 05:43:50  7411  7411 builder.cpp:1012] [liblp]Partition system will resize from 0 bytes to 2035568640 bytes
lpmake I 06-14 05:43:50  7411  7411 builder.cpp:1012] [liblp]Partition vendor will resize from 0 bytes to 312594432 bytes
lpmake E 06-14 05:43:50  7411  7411 builder.cpp:698] [liblp]Not enough free space to expand partition: product
Not enough space on device for partition product with size 1945939968

I don't know the size of my super partition, so I simply set --device super:4294103040, thinking that the sum of the images should hold on a partition of the same size.
Why is this not working? Does the partition needs to be bigger than the image? If yes, by which factor?

super = group main + metadata-size. sure you want the readonly flag?

@alecxs a. How do you know the metadata-size? b. I am not sure I want the readonly flag. How can I decide?

lineageos comes without google bloat. some people want install OpenGApps or microG to get google play services functional, therefore system must mounted rw

@alecxs Thanks a lot, I was not aware of this. In my case (where I don't want to install OpenGApps or microG), I believe it does not change anything, but I am glad I know the reason why now.


text:
What can I do to upgrade an old Android 4.0.3 tablet?
I have an Asus Transformer TF101 that is running Android 4.0.3.
The tablet can connect websites in HTTP without issue but not in HTTPS.
Most HTTPS websites are totally unreachable. Some websites (from large institutions)  are reachable after accepting several certificat issues warnings, but display badly.
The clock of the tablet was set correctly.
I assume the issue has to see with how the tablet is able to deal with certificates, and also with its aging native Internet browser (which is not apparently not Chrome).
I unsuccessfully attempted upgrading the tablet firmware, but got an error message "Internet connection error or server busy. Please wait and try again".
I assume this issue could be caused by disabled upgrade server and/or SSL certificate issues.
Is there still a way to upgrade such a tablet, preferably without jailbreaking it?

For surfing the web try different browsers.
For example: Via Browser and etc.
Also if you can root/jailbreak it, you could give some a bit newer Android versions a try.
Like Android 4.4.2 works fine for surfing the web(a lot of browsers stopped supporting it, but Via Browser works fine.)

Yes, it is possible. Jailbreak to get root rights needed. Enthusiasts do wonders.
A minute of searching DevicseName ROM/image/firmware and we have a range of many variants.
The maximum Android 6 for Asus TF101 was found.
Visit XDA forum for install manuals and image download.
https://forum.xda-developers.com/t/rom-mm-6-0-1-katkiss-katshmallow-034-multiwindow.3318496/
Source Code: https://github.com/timduru/android_device_asus_tf701t

No there is no way to upgrade such an old tablet. For your tablet Android 4.0.3 is already the latest update. It was released with Android 3.0 (Honeycomb) and got upgrades to 3.2 and later 4.0. Therefore there is no other update possible, especially if you exclude jailbreaking/rooting and thus custom ROMs.
Android 4.0 only supports TLS1.0 but more and more servers now require pure TLS 1.1 or even TLS 1.2 that is the reason your network connections no longer work.
Additionally Android 4 comes with outdated CA certificate list. The CA list may be updateable by manually installing all the missing root CA certificates (as far as I remember on Android 4 this require to set a device password).
The only alternative would be a web browser that has a built-in trusted root CA list like Firefox, but Firefox requires at least Android 5+.
Upgrading to a newer Android version also doesn't make much sense as the hardware is pretty weak (1GB RAM for a tablet is very low).
So there is only one really working answer: Your tablet is more than 11 years old, replace it with one that is newer.

Thank you Robert the clear and detailed answer. The tablet was almost not used and could still be used for offline tasks (e.g. teaching apps). I always prefer not jailbreaking when there are regular updates, but I don't exclude jailbreaking if the only way to upgrade.


text:
Android X86 VM on Hyper-V has no network connection
I followed these instructions to install an Android X86 virtual machine on top of Hyper-V inside windows OS. However, now the VM has no internet connectivity. Here are my network settings:

can you be kind to help me know what is the problem and how I can resolve it?

Android-x86 does not contains the necessary ethernet adapter driver for the virtual network card provided by Hyper-V. Use a "legacy network adapter" instead, not sure if this will work. In general the driver support of Android-x86 is very limited, you can find plenty of questions here caused by problems with non-working display, network and so on.

@Robert can you elaborate a bit on how the legacy network adapter can be implemented? is it inside the hyper-V settings or inside the ANdroid VM itself? how come it works in this Youtube video?

Of course it is in hyper-V, it is already mentioned in your screen shot.


text:
Can't update apps even though I have space
Can't update apps even thhough my Samsung Galaxy S9 Plus is having 10 gigabytes of free RAM. The update fails and the playstore glaims I have "no space". Any idea?

PlayStore is not complaining about your RAM (volatile memory, lost when reboot or shut down the phone)), it is complaining about missing flash memory (persistent memory, survives power off and reboot).

Could you send a picture of the playstore result. I believe the s9plus doesn't not have 10GB ram as well. You can try to clear playstore cache or install 3rd party stores like Apkpure or uptodown to install the updates you want if you believe that playstore has problems.


text:
Group Text question
I use message+ for text. I am stuck in 2 group texts from hell. I didn't ask to be included, I just was & now I can't get out!
Is there anything I can do to leave these group texts? If I factor reset my phone will it stop? Do I have to go to the extreme & change my number?

Why don't you try using another messaging app instead of message+.i believe it would be much better than a factory reset. You could try wiping the App data (message+). Tell me if it helps


text:
How to generate the key to unlock bootloader to unlock OEM
I want to install Lineageos on my Nokia 6.1 Plus.
Info

But I understood Nokia is not supporting officially
I cant see OEM unlocking: Allow the bootloader to be unlocked is DISABLED in developer's options

Already Tried
So far I have ran below commands on my Ubuntu connected to Nokia 6.1 PLus(enabled USB debugging too) but no luck
$ adb devices
List of devices attached
DRGID190811065XX    device

$ adb reboot bootloader

$ sudo fastboot devices
DRGID190811065XX    fastboot

$ sudo fastboot oem unlock
...
FAILED (remote: Flashing Unlock is not allowed
)
finished. total time: 0.000s

I have already checked below links

https://www.techmesto.com/guide-unlock-bootloader-nokia-android-phones/ But the tool they provide is blocked by my anti-virus. I don't want to use it without knowing it
https://stackoverflow.com/questions/23081263/adb-android-device-unauthorized
https://forum.xda-developers.com/t/bootloader-unlock-generating-fastboot-unlock-key.4076421/

Questions

How to unlock bootloader for Nokia 6.1 Plus?(Which requires unlock key)
What is procedure to generate the key to unlock bootloader in general for any android phone

Anti virus warning may be because of unsigned drivers (it costs $$$ to sign drivers accepted by Microsoft) // You can see on the website of the developer how to remove the driver verification // Of course, if you don't trust this developer, then you shouldn't try this method on windows or alternatively try his Linux/Mac version

Linux link (after seeing your profile) https://twitter.com/Hikari_Calyx/status/1545819694808018944?t=VrI5Cn7XCRIhEI5zu1Xkjw&s=19 //locking of bootloader is done by OEM, if they don't want users to unlock. It's proprietary and there is no universal method (your second question)

Unless there is some exploit in the system, you can't generate the key.


text:
Why has Android made it impossible to install system fonts?
Fonts in Android are kept in /system/font directory. There seems to be no way to install custom fonts without rooting your Android or installing some apps.

Why has Google made it almost impossible for Android users to install custom fonts?
What was the engineering decision that led fonts not getting picked up from ~/.fonts/ user directory as happens in a standard Linux Distribution?

The same behaviour is seen in ChromeOS as well.

the system partition is never writable, that is a common standard on embedded devices. 2. Android is not a common Linux system, that means there is no user and thus no home directory...

@Robert 2. You're partially wrong. Android is a non GNU/Linux system I agree but home directories indeed exist in Android: They're /storage/emulated/0 , /storage/emulated/1 and so on

@karthiknair Are you sure that /storage/emulated/0 is the home directory? And of which user? Every app has an own user account, so it would not make sense to have one home directory for all users. On Android versions prior to 11 /storage/emulated/0 was often used like a home directory by some apps, but it was never a home directory in a Linux meaning. And since Android 11 it isn't accessible at all on file level.

@Robert /storage/emulated/0 is what you see when you open File Manager and tap on 'internal storage' i.e where folders such as Downloads, Pictures, Android etc exists just like in a Linux system. /storage/emulated/0 is for user 0. if you create another user and open internal storage in file manager, the contents you see are under /storage/emulated/1

@Robert In android >=11, /storage/emulated/0/Android isnt accessible at all in the file level (there are workarounds for that too). But /storage/emulated/0 has always been and would continue to be accessible

@karthiknair We simply have different understanding what a home directory is. For you it is some directory shown by default in an UI file manager, for me it is a directory where applications places their configuration files/directories and where use related files are stored.

@Robert No we don't have a different understanding of what $HOME is. I'm a GNU/Linux user. Assume you have set up two users in your phone. And e.g let's consider WhatsApp and let's imagine we've that app installed on both users... A lot of related directories of WhatsApp are stored under /storage/emulated/0/Android/data and /storage/emulated/0/media for user 0 and similalry /storage/emulated/1/data for user 1. Though I agree that Android apps store part of related files and configs in /data/data/0 and /data/data/1 too, /storage/emulated/ still remains something similar to $HOME

@Robert also kindly read my prev two comments properly once

Fonts can be considered an attack surface so system level fonts are restricted.
The Android Open Source Project documentation has a section on Custom Fonts Fallback which allows for Android 12+ OEMs to modify/update the system font with appropriate system level permission/keys. For Android 11 and earlier, the system font was delivered with a ROM update.
Reading on there is a section on signing font files:

Signing font files
Since font files are risky resources, they must be verified with trusted keys. Carefully review all font files that are to be updated, and sign with your private key. The signature must be fs-verity compatible.

where Google calls out that font files are 'risky resources'.
Quoting from:
How can a font be used for privilege escalation?

Fonts are hard. It's old code. It runs in kernel mode.

Related post:
How to detect suspicious content in a TrueType Font (.ttf) font file
So it can be implied that by not allowing end-user customization of the system fonts, there is a reduction of the attack surface.
Individual apps can embed their own custom font files for use within their own app.


text:
If my android phone runs out of charge, is it bad for my mobile?
So i have this habit of using my phone till the very end. It isn't like my phone runs out of battery too fast, just that i use it too much. Does this switching off affect my device? Is there any hardware/ software damage sustained?
Samsung J7

Does the phone has the time to correctly shut down or does it just go off? If it is the latter, then your data may be at risk. Furthermore using a phone until it goes off may also affect the battery in a negative way.

I have personally used the Samsung Galaxy J7 so I can confirm it shuts down properly when it runs out of juice (almost all OEMs including Samsung ensures that the device shuts down properly before the battery 'literally' runs out of power). So no software damage.
Speaking of hardware, using your device between 20%-80% battery percentage would be a good practice. Discharging or charging to the extremes (0% and 100%) affects the battery cycle and can degrade your net battery capacity faster.
Have a look at this - BU-808: How to Prolong Lithium-based Batteries


text:
Notification badge counter disappears on dismissing the notification

Device : Redmi Note 11 (MIUI 13.0.10.0 with Android 11) using the default launcher

Problem: Whenever a notification gets dismissed (even without opening it) the badge counter attached to the respective app disappears.
The badge counter will remain visible on the app icon as long as the notification is not dismissed from the notification area.
Expected behaviour: This is a common behaviour to keep the badge counter visible on the respective app if there are any unread notifications, but this is not happening.
Question: Is this a bug? Is there a way to keep the badge counter visible on the app even after dismissing the notification from the notification area?

AFAIK, unlike the implementation of custom badges provided on some launcher apps, this is how the native Android notification badge works: dismissing the notifications will also dismiss the badge.

@AndrewT. Really?? I used to think otherwise for my entire life


text:
Is it possible to have 2 separate Google Voice phone numbers?
Can I get 2 Google Voice numbers?
I have a single phone number issued by AT&T. I can sign up, but the verification process requires me to enter a phone number to link and as soon as I enter the phone number to link, the previous Google Voice number gets disconnected.
From their official docs, it appears you can have just 1 GV number - 1 phone.

You can link up to 6 numbers. You can't link a number that's already linked to a Google Voice number.

So is there any obvious loophole that can be used to get 2 phone numbers?

TL;DR - it's possible to get more than one GV number; you can only use one at a time; here's how and why it can be useful.
FWIW, linking a GV number to a "real" mobile number is only really needed when you to take ownership of the GV number, solely for verification purposes (it's one SMS message with a 6-digit code, just like any other MFA).
Once you have the number in your GV account, you can unlink the "real" mobile number from the GV number and they are completely separate again.  So, if you already have a GV number and really want another one, find a friend that will let you use their phone for the SMS verification code, then unlink their number right afterwards.  Viola, you have another GV number.  The caveat is that the friend can't then use their number to get their own GV number, so make sure they don't care.
If you have more than one GV number (so, multiple Gmail accounts), you need to link the one you want to use to your actual mobile number under Google Voice > Settings.  You can link/unlink as many times as you want, which means you can change which GV number is tied to your phone any time you want.  You can NOT link more than one GV number to your mobile number simultaneously.
This came in handy for me because I wanted to add another line to my cell phone plan, but if I didn't bring a number with me the carrier would force me into a higher plan ($35/month) for that additional line. If I brought a number with me it was only $15/month.  That's $2,400/year!  Ridiculous!  Google only charges three dollars to unlock a GV number, which allows you to port it to the carrier of your choice.  When you add the line the carrier will port it over for you.  So, there are some instances where this can be useful.
This is all true as of November, 2023.  Who knows if Google will decide to change things up someday.  Hope this helps.

The only loophole would be to get a second real phone number, as each can only be linked to one GV number. This could easily be done with a "burner" phone if they're available near you, or if someone else will let you use their phone to signup, or a government ("Obama") phone.
Another VoIP number won't work because they're identifiable as being VoIP. It requires a mobile or landline number.


text:
LG V60 Thin - Incoming calls sometimes show a square Answer, sometimes round Answer button? Why?
On my LG V60 Thin, Android 11, and I have Google Voice enabled, and Google owns my cell number.  (I expect it is related to this).
When someone calls me, and my phone is almost always on Mute ringer, I get two different interfaces for the incoming call.
Sometimes it is a square button, single touch answers.  This rings in my Bluetooth headset but not on the external speakers.
Sometimes it is a round button, press and hold to answer.  This is completely silent when this rings the phone.
Problem is, as far as I know, I cannot tell why the round or square app answers.  I would like to always use the square button to answer, but cannot figure out where this might be controlled.
(I checked. If I call the real phones # that Google Voice redirects too, it comes the same as calling the Google Voice #. So I expect this is somehow related, but not this easy an answer).

Maybe a bug wiith Google Dialer?

Or the LG Skin?  Thus the question, if anyone else has seen this, knows what it might be. Or even what the different round/square buttons indicate.


text:
Running Android with data functionality from a laptop with a SIM card slot
I have always worked with laptops and amnt a fan of smartphones or tablets,
But I will soon be required to use an app, which doesn't have a desktop alternative, meaning I will need an Android-capable device.
So I was thinking could I run Android off of a desktop
and as I will also need my SIM card from my cell phone,
I was looking at the Lenovo ThinkPad X250
as it comes with a SIM card slot.
And I know Android can be loaded onto a laptop using the likes of
Bliss OS or Android x64
But I have read that people have had issues with connecting to the mobile data from the SIM card when using Android this way and was wondering if anybody knows any good ways to accomplish this.

BlueTooth has a profile that allows "SIM card roaming". It was developed to be able to use a SIM in a smartphone from your car cellular system (the antennas of the car are usually better and not shielded by the car itself). But I have not heard that such a profile can be used with a Laptop.

Not really the answer to the title, but perhaps mobile/portable WiFi may be more practical?


text:
Issue with FTP over hostapd hotspot and specifically an Android client using ProFTPD
So I have been using this setup with an iPhone quite successfully.
The "server" box is running Fedora 34, on which is installed ProFTPD.
I went through and configured through the visual client the firewalld zone to allow the FTP service through, I even disabled the firewall to check.
I have an Android phone which is a tad aged. It's using Android version 5.1. I try to connect via an Android client and via the Chrome browser in the usual manner.
Now, on my server machine, I opened up Wireshark and watched the hotspot interface. Sure enough, ARP hits "Who is 192.168.x.x", no problem, reports the correct MAC and IP addresses. The FTP request is visible. Even pinging the device from the server works. But for some reason, no response is being sent back from the server, and it's not because it's blocked. The connection just times out.
I note that this only seems to be happening when I use this Android phone, it's a ghost in the shell scenario for sure. I'm going to try a different phone, shouldn't matter right? Makes no sense that it should matter!
The local login of the server still works and there are no options regarding bind address, so I cannot assume it's that.

If I remember correctly on Android you can not run services on the phone IP in the mobile hotspot Wifi. For that you need root and some fiddling with iptables.

that actually isn't relevant, hostapd runs on linux. it creates an ap to be connected to. As it turns out there is a far less buggy implementation of this called lnx-router that doesn't drop constantly !

Whatever the problem is it doesn't occur with this wonderful project on which I have not had ONE AP-DISABLED error occur or network drop thus far !
https://github.com/garywill/linux-router
Does the same thing with some extras and doesn't require tinkering with configuration files.


text:
I have an old android tablet, how do I update it?
Ice cream OS on an Irulu x10 tablet, is there anyway to update to a new version of OS without cracking open the tablet to look at the CPU/board model numbers for an updated firmware flash?

Only if you find a custom ROM for that exact device model and the bootloader of the device can be unlocked. But the device is so old that it is unlikely to still find a ROM. But the hardware specs of that tablet is very low (1GB RAM) so newer Android versions will not really run well even if you would find a ROM.


text:
Is it safe to store passwords in WhatsApp end-to-end encrypted backup?
So there is a WhatsApp group in which only I am present and hence I use the group to store my passwords by sending them in the group as chats. I then backup those chats using the WhatsApp end-to-end encrypted Google Drive Backup. But is it safe to store my passwords this way? I mean it is end-to-end encrypted so even if there is a data breach my passwords would be encrypted and they would be safe, right?

Besides that the backup is password encrypted there seem to be no details on the security and the used algorithms of the encryption. Therefore I would not recommend this as password storage. Better use a tool that uses Keepass based database or other known to be secure formats. Apps like Keepass2Android can auto sync database to Dropbox or similar cloud storage and offer password entering keyboard on Android.

Is Keepass2Android better than Bitwarden?

That depends on what security properties you want to achieve. I have set-up Keepass in a way that even if someone gets access to my Dropbox account containing the database it is impossible to hack the database because it requires not only the password but also a secret file that is not stored online (I have manually copied that file among my devices). Also you can choose the key generation iterations and algorithm to enhance security. I am not familiar with Bitwarden, but I assume it only uses a password to secure he password data so everything depends on the strength of the password only.


text:
Galaxy S8 has no option to show CPU usage
My Samsung Galaxy S8 (SM-G950F) is not showing the developer option to "Show CPU usage".
I have turned the "Developer options" on, but scrolling down to "Monitoring" I only get 2 options: "Strict mode enabled" and "Profile GPU rendering".
I don't know why is it not available and how can I get it.
I keep getting a message "Abnormal account. You need to login again." about every 15 minutes on my screen, but I have no idea which app is doing this, so I'm trying to track it.

AFAIK, there has never been "show CPU usage" on the developer option. Have you seen this menu on other devices/some guides? Note though that manufacturers can customize their Android OS, including the developer options.

If the action occurs as often as every 15m then the Battery Usage could probably show some consumption. Look under Device Care > Battery > Usage By Apps for a clue.


text:
Does a store see my email address when I pay with Google Pay (NFC)
Can a store see an email address associated with my Google account (a card has been added to) when I pay with Google Pay via NFC?

Google Pay transmits credit card number(s) to the merchant terminal, I don't think the payment NFC standard even has the possibility to transmit an e-mail address (no data field for that).
According to the "Detailed Google Pay transaction process in stores" this data is transmitted from the phone to the payment terminal:

Merchant receives token: When the customer taps their device on an NFC-enabled terminal at the store’s point-of-sale, the device sends the token, token expiry date, and cryptogram to the terminal via the NFC protocol.

https://support.google.com/pay/merchants/answer/6345242?hl=en#zippy=%2Cdetailed-google-pay-transaction-process-in-stores
The data is processed then by the "Acquirer" and "TSP" both financial companies. In the end the merchant respectively the used terminal just gets a success or failure response but no customer data.


text:
Does a bank see email address of a Google account if I add a credit card to google pay
If I add a credit card to my Google pay what Google account details is my bank able to see if any?


text:
Soft-bricked A40 after uninstalling apps ADB
I may have just messed up my smartphone and really need your help. I wanted to get rid of some of the bloatware on my A40 and read online that one can actually uninstall many apps via the Windows command line. So I looked up a list of apps supposedly safe to remove and ran a batch file to uninstall them. This is as far as I got:
a40:/ $ pm uninstall --user 0 com.sec.android.app.samsungapps
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.camera.sticker.facear.preload
Success
a40:/ $ pm uninstall --user 0 com.sec.android.mimage.gear360editor
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.smartmirroring
Success
a40:/ $ pm uninstall --user 0 com.android.htmlviewer
Success
a40:/ $ pm uninstall --user 0 com.sec.android.provider.badge
Success
a40:/ $ pm uninstall --user 0 com.android.sharedstoragebackup
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.simplesharing
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.themecenter
Success
a40:/ $ pm uninstall --user 0 android.autoinstalls.config.samsung
Success
a40:/ $ pm uninstall --user 0 com.sec.enterprise.mdm.services.simpin
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.stickercenter
Success
a40:/ $ pm uninstall --user 0 com.sec.android.mimage.avatarstickers
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.knox.analytics.uploader
Success
a40:/ $ pm uninstall --user 0 com.sec.enterprise.knox.cloudmdm.smdms
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.camera.sticker.stamp.preload
Success
1|a40:/ $ pm uninstall --user 0 com.sec.factory.cameralyzer
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.sdk.handwriting
Success
a40:/ $ pm uninstall --user 0 com.sec.android.app.fm
Success
a40:/ $ pm uninstall --user 0 com.sec.enterprise.knox.attestation
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.mdm
Success
1|a40:/ $ pm uninstall --user 0 com.sec.android.widgetapp.samsungapps
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.app.spage
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.drivelink.stub
Success
1|a40:/ $ pm uninstall --user 0 com.wsomacp
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.game.gametools
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.game.gos
Success
1|a40:/ $ pm uninstall --user 0 com.dsi.ant.sample.acquirechannels
Success
a40:/ $ pm uninstall --user 0 com.dsi.ant.service.socket
Success
a40:/ $ pm uninstall --user 0 com.dsi.ant.server
Success
1|a40:/ $ pm uninstall --user 0 com.android.egg
Success
a40:/ $ pm uninstall --user 0 com.sec.android.easyonehand
Success
1|a40:/ $ pm uninstall --user 0 com.sec.android.app.launcher
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.mateagent
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.app.watchmanagerstub
Success
a40:/ $ pm uninstall --user 0 com.sec.android.daemonapp
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.social
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.wellbeing
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.da.daagent
Success
1|a40:/ $ pm uninstall --user 0 com.android.bips
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.authfw
Success

Right before that, I had moved apps related to "Knox" and "MDM" and everything seemed fine. But even while the last commands were running, the "desktop" disappeared (the home screen with all my app shortcuts) and some kind of "busy notification" was running instead (I think it said something like "starting up apps" or "launching apps"). But the phone didn't reboot, it just seems that the homescreen had crashed. I then noticed that I might have slipped in apps for deletion that I actually needed or was using, such as
com.sec.android.app.launcher
com.samsung.android.wellbeing

Since the phone seemed to be stuck in this "busy loop", I decided to restart it by long-pressing the power button and selecting restart. But from this point, the phone wouldn't restart and got stuck in a reboot loop, where only the Samsung logo pops up, followed by a short vibration pulse, then reboot etc.
At this point I panicked and started searching online for solutions (which also brought me to this forum). I've read about using OEM unlocking, firmware-flashing using Odin, Samsung Tool Pro, TWRP etc. but quickly got lost in the woods and didn't want to risk breaking things more.
There are log files I can access from the boot menu which might contain a lot of useful information regarding the cause of the problem, but it's way too much to type it:
/cache/recovery/last_log
/cache/recovery/last_kmsg
/cache/recovery/last_history
/cache/recovery/rescueparty.log
/cache/recovery/last_avc_msg_recovery
/cache/recovery/last_log.1
/cache/recovery/last_kmsg.1
[...]
/cache/recovery/last_log.9
/cache/recovery/last_kmsg.9

Is there a way I could somehow read these log files via a USB connection? For example, in rescueparty_log, there is some "serious-sounding" stuff:
!@*** FATAL EXCEPTION IN SYSTEM PROCESS: main
java.lang.RuntimeException: There must be exactly one installer; found []
?at com.android.server.pm.PackageManagerService.getRequiredInstallerLPr(PackageManagerService.java:4422)
?at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3954)
?at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2856)
?at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:985)
?at com.android.server.SystemServer.run(SystemServer.java:762)
?at com.android.server.SystemServer.main(SystemServer.java:762)
?at java.lang.reflect.Method.invoke(Native Method)
?at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
?at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:945)
Error reporting crash
java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference
?at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:144)
?at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
?at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
?at java.lang.Thread.dispatchUncaughtException(Thread.java:1955)

Also, some more information from the boot screen output:
Android Recovery
samsung/a40eea/a40
9/PPR1.180610.011/A405FNXXU3ATA4
user/release-keys

#Reboot Recovery Cause is [system_server:7340 RecoverySystemRescueParty]#
Support SINGLE-SKU

Block-Based OTA
Supported API: 3

MANUAL MODE v1.0.0#

Is anyone perhaps familiar with this problem and knows of a way how I could get the phone to start up properly, so I can at least recover all my personal data?
My impression is that I might have deleted some important system app, since the problem occurred right in the middle of the uninstall process (see shell history above), and I'm a little bit hopeful that maybe it's possible to just reinstall it somehow. I haven't tried the "Wipe data/factory reset" option in the boot menu as I don't want to lose all my data.
Thank you so much for your help, any advice is super-appreciated!!
Update/additional information:
...from the downloading mode information text:

FRP LOCK: OFF

OEM LOCK: ON(L)

Secure Download: Enabled

Also, I never registered a Google account on this device.

I think I got the bloatware list from one of these two sites: hxxps://rootmygalaxy.net/remove-bloatware-galaxy-s20-s20-s20-fe-s20-ultra and hxxps://androidflagship.com/40011-learn-to-completely-remove-bloatware-on-your-galaxy-s10-no-root-needed

With a Linux system, I would simply mount the hard drive to another PC, decrypt it if necessary, and rescue my data by copying the files. Is there something similar that can be done on Android (since it seems to be based on the same architecture)?

Comments are not for extended discussion; this conversation has been moved to chat.

encryption is hardware-backed therefore userdata can decrypted on device itself only. to get adb access you need combination ROM + DID token.
Still userdata is not accessable unless device is unlocked/decrypted with lock screen credentials (might not possible from adb in current boot state).
Factory reset device from recovery and unlock FRP with samsung or google account afterwards.
Next time backup your important data before trying to disable system apps

Comments are not for extended discussion; this conversation has been moved to chat.

I'm proposing a possible way to solve this issue.
There is an interesting comment below the answer to
Can system apps be enabled/disabled directly from the filesystem? :
"It is also safe to simply remove the package-restrictions.xml file — a new 'clean' file will be recreated on next reboot." – ccpizza Oct 3, 2021 at 16:43
As far as I understand, Android 9.0 switched from Full-Disk Encryption (FDE) to File-Based Encryption (FBE), which means that encryption is done on a file-by-file basis by default.
If it's possible to locate package-restrictions.xml on the internal storage, deleting the file (instead of modifying its content in order to restore individual app settings) will cause the stock version to be restored on the next reboot. Any problem due to a prior misconfiguration of package-restrictions.xml by pm uninstall will then be magically gone.


text:
Using Termux on an emulator isn't possible?
Can someone explain why isn't it possible to use Termux on an android emulator such as VMOS though it's able to fake root access? Is it just the limitation of the fake root that's provided by the emulator so that there's no way I can use Termux unless I really have to root my phone?

What error do you get when you try to install Termux? Termux runs fine even without root so if you just want to use Termux you can simply install it from Google Play Store or FDroid.

@Robert I need to access the root files that are stored in the emulator. I was trying to decrypt dex files. That's why I need root. And I don't want to root my phone, so I'm using an emulator and thought that was the best idea I got but turned out it wasn't.

VMOS does not give root access, it can just simulate a separate device but that one is different to the device itself. If you want an emulated device better directly use an PC based emulator.

@Robert Right, I understand that. I mean at least I wish to perform something in somewhere (an emulator) which has the root access and it's able to recognize termux and allow it to access and run some commands to the root files from termux. Can I do that using Nox or Bluestack? I'm not quite sure about that pc based emulator means.

I wrote PC based emulators in difference to VMOS. I don't have experience with Nox or Bluestacks, IMHO they are designed to play games not to do something meaningful with it, so I prefer emulators like Genymotion or the emulator for Android SDK (which has images without root but the non-Google images can be rooted with a little bit of effort). In an emulator you also don't need Termux because you can simply use adb.

@Robert the play store version of termux is deprecated. Please only suggest fdroid.


text:
WhatsApp backup shrinks in size for no apparent reason
AFAIK, there were never msgstore.db.crypt14 incremental backups in WhatsApp message file backup design strategy. In other words, every day, WhatsApp leaves a 1.1GB file in /sdcard/WhatsApp/databases. Now, I know I did not delete any messages in bulk; in fact, none. What I observed is that the database backup size has shrunk a tad bit.

What can explain this? Could any of the following be happening to account for the screenshot?

WhatsApp now refuses to back up messages past a certain time frame, e.g. oldest message will be today() - 365*x.
Compression has changed - well, it did from crypt12 to crypt14, but we are still at crypt14.
There is some incremental approach in play and not all days get full backups.

P.S. My internal storage WhatsApp partition is getting full, so I have written a batch script that moves msgstore.db.crypt14 files from their default location to another. What you see is in the latter directory.


text:
How to make a phone locks automatically when seeing someone's face?
I just want to ask if is it possible to make my phone lock when it sees person A's face. It's reverse to unlocking my phone.
It should work on all screens, whatever I'm doing, does that mean the camera is always accessed?

I'm not completely certain.  I would think it would be theoretically possible, but it would greatly reduce your phone's usability and battery life.  If you just bring up a barcode scanning app and notice how things slow down, I suspect a face locking app/service would be even slower.  Also, you would probably have to be viewing the phone from a pretty wide angle so it wouldn't lock when seeing your face.  It would also likely interfere with any video meetings or other camera based apps you wanted to use.


text:
Change default camera to USB camera
I'd like to know how to change the default camera on Android to a USB camera, I'd like to use my webcam to authenticate QR codes, but with emulator, the camera doesn't start, I can only get video through a USB camera (v4l2)

I'd like to make WhatsApp recognize a USB camera.

Unfortunately, WhatsApp only has access to camera id 0 and 1 (main rear camera and main front camera respectively). Further, the part where it scans QR code for Linked Devices it only uses camera 0 i.e. the main rear camera.
In short, the only possible way is to fake your external USB cam as camera 0 which is pretty hard (maybe build Android from source after making the necessary changes?) and since that's not my area of expertise, can't help further.


text:
Halp...soft-bricked A40 after uninstalling apps ADB
I may have just messed up my smartphone and really need your help. I wanted to get rid of some of the bloatware on my A40 and read online that one can actually uninstall many apps via the Windows command line. So I looked up a list of apps supposedly safe to remove and ran a batch file to uninstall them. This is as far as I got:
a40:/ $ pm uninstall --user 0 com.sec.android.app.samsungapps
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.camera.sticker.facear.preload
Success
a40:/ $ pm uninstall --user 0 com.sec.android.mimage.gear360editor
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.smartmirroring
Success
a40:/ $ pm uninstall --user 0 com.android.htmlviewer
Success
a40:/ $ pm uninstall --user 0 com.sec.android.provider.badge
Success
a40:/ $ pm uninstall --user 0 com.android.sharedstoragebackup
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.simplesharing
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.themecenter
Success
a40:/ $ pm uninstall --user 0 android.autoinstalls.config.samsung
Success
a40:/ $ pm uninstall --user 0 com.sec.enterprise.mdm.services.simpin
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.stickercenter
Success
a40:/ $ pm uninstall --user 0 com.sec.android.mimage.avatarstickers
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.knox.analytics.uploader
Success
a40:/ $ pm uninstall --user 0 com.sec.enterprise.knox.cloudmdm.smdms
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.camera.sticker.stamp.preload
Success
1|a40:/ $ pm uninstall --user 0 com.sec.factory.cameralyzer
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.sdk.handwriting
Success
a40:/ $ pm uninstall --user 0 com.sec.android.app.fm
Success
a40:/ $ pm uninstall --user 0 com.sec.enterprise.knox.attestation
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.mdm
Success
1|a40:/ $ pm uninstall --user 0 com.sec.android.widgetapp.samsungapps
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.app.spage
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.drivelink.stub
Success
1|a40:/ $ pm uninstall --user 0 com.wsomacp
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.game.gametools
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.game.gos
Success
1|a40:/ $ pm uninstall --user 0 com.dsi.ant.sample.acquirechannels
Success
a40:/ $ pm uninstall --user 0 com.dsi.ant.service.socket
Success
a40:/ $ pm uninstall --user 0 com.dsi.ant.server
Success
1|a40:/ $ pm uninstall --user 0 com.android.egg
Success
a40:/ $ pm uninstall --user 0 com.sec.android.easyonehand
Success
1|a40:/ $ pm uninstall --user 0 com.sec.android.app.launcher
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.mateagent
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.app.watchmanagerstub
Success
a40:/ $ pm uninstall --user 0 com.sec.android.daemonapp
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.app.social
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.wellbeing
Success
a40:/ $ pm uninstall --user 0 com.samsung.android.da.daagent
Success
1|a40:/ $ pm uninstall --user 0 com.android.bips
Success
1|a40:/ $ pm uninstall --user 0 com.samsung.android.authfw
Success

Right before that, I had moved apps related to "Knox" and "MDM" and everything seemed fine. But even while the last commands were running, the "desktop" disappeared (the home screen with all my app shortcuts) and some kind of "busy notification" was running instead (I think it said something like "starting up apps" or "launching apps"). But the phone didn't reboot, it just seems that the homescreen had crashed. I then noticed that I might have slipped in apps for deletion that I actually needed or was using, such as
com.sec.android.app.launcher
com.samsung.android.wellbeing

Since the phone seemed to be stuck in this "busy loop", I decided to restart it by long-pressing the power button and selecting restart. But from this point, the phone wouldn't restart and got stuck in a reboot loop, where only the Samsung logo pops up, followed by a short vibration pulse, then reboot etc.
At this point I panicked and started searching online for solutions (which also brought me to this forum). I've read about using OEM unlocking, firmware-flashing using Odin, Samsung Tool Pro, TWRP etc. but quickly got lost in the woods and didn't want to risk breaking things more.
There are log files I can access from the boot menu which might contain a lot of useful information regarding the cause of the problem, but it's way too much to type it:
/cache/recovery/last_log
/cache/recovery/last_kmsg
/cache/recovery/last_history
/cache/recovery/rescueparty.log
/cache/recovery/last_avc_msg_recovery
/cache/recovery/last_log.1
/cache/recovery/last_kmsg.1
[...]
/cache/recovery/last_log.9
/cache/recovery/last_kmsg.9

Is there a way I could somehow read these log files via a USB connection? For example, in rescueparty_log, there is some "serious-sounding" stuff:
!@*** FATAL EXCEPTION IN SYSTEM PROCESS: main
java.lang.RuntimeException: There must be exactly one installer; found []
?at com.android.server.pm.PackageManagerService.getRequiredInstallerLPr(PackageManagerService.java:4422)
?at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3954)
?at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2856)
?at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:985)
?at com.android.server.SystemServer.run(SystemServer.java:762)
?at com.android.server.SystemServer.main(SystemServer.java:762)
?at java.lang.reflect.Method.invoke(Native Method)
?at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
?at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:945)
Error reporting crash
java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference
?at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:144)
?at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
?at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
?at java.lang.Thread.dispatchUncaughtException(Thread.java:1955)

Also, some more information from the boot screen output:
Android Recovery
samsung/a40eea/a40
9/PPR1.180610.011/A405FNXXU3ATA4
user/release-keys

#Reboot Recovery Cause is [system_server:7340 RecoverySystemRescueParty]#
Support SINGLE-SKU

Block-Based OTA
Supported API: 3

MANUAL MODE v1.0.0#

Is anyone perhaps familiar with this problem and knows of a way how I could get the phone to start up properly, so I can at least recover all my personal data?
My impression is that I might have deleted some important system app, since the problem occurred right in the middle of the uninstall process (see shell history above), and I'm a little bit hopeful that maybe it's possible to just reinstall it somehow. I haven't tried the "Wipe data/factory reset" option in the boot menu as I don't want to lose all my data.
Thank you so much for your help, any advice is super-appreciated!!


text:
How to verify Samsung/Android firmware files - has Samsung published MD5/SHA256 hashes?
I've soft-bricked my Samsung Galaxy A40FN running Android 9.0 Pie while attempting to disable bloatware via ADB and I'm currently searching for a solution to recover my data and get the system back running. The phone is stuck in a boot loop, but I can get into recovery mode and download mode.
FRP lock is off (no Google account registered on this device) and I didn't activate any encryption on my part.
I didn't try wiping/factory-resetting yet as I need to rescue my data first. One possible solution for this could be to flash the original firmware using Odin while leaving the /data folder untouched:

Question: Does anyone have experience with retaining personal data during a firmware flash and know how to verify the authenticity of the files downloaded from unofficial sources such as SamFW?
I.e. does Samsung publish MD5 hashes of official firmware updates and would comparing these hashes/checksums be a reliable method to verify that the files have not been tampered with, considering that firmware files are typically 4-5 GB large?

Flashing the system image will not help you because you have not uninstalled the apps but only disabled them. Modifications to the system partitions is not possible unless the device is rooted (but if I remember correctly your device is not rooted). So all apps are still present but the config files from the user data partition tells Android they are disabled which causes your device to not boot.

@Robert So doing pm uninstall only removes the apps from the "standard (non-root) user", but they're physically still on the device (I watched the apps disappearing one after the other from the apps list)? Are you suggesting that I need to root the device first in order to get access to the data folder? If yes, is this possible without accidentally wiping everything?

Rooting does not accidentally wipe the device, it does so by definition. When you unlock the bootloader everything is wiped as this opens a big back door on the encrypted user data.

@Robert ...and I guess this behavior is hardcoded in some chip and cannot be modified on software level? Or is it?

Of course not, this would be a disastrous security vulnerability for the Android ecosystem. In the early days of Android 4 there were a few devices which had implemented bootloader unlock factory reset in a defect way, but since that time it is known as a crucial point and thus the manufacturer have this functionality on their checklist.

@alecxs Yes, I'm also looking into combination ROMs as suggested, but couldn't make a decision yet on what to try first: Combination ROM or stock firmware using HOME_CSC instead of CSC. The main goal is data recovery

@alecxs By the way, would you recommend the combination ROM for everyday use, i.e. is there any reason one could or should not use it instead of stock firmware? Does is lack any functionality or is it less secure (maybe due too root privileges)?

Okay, I can answer my own question: You can download firmware files directly from Samsung using open-source tools such as SamLoader.


text:
is there a log in my android of GPS & speed? Asking after car accident 2 weeks ago
I was in an auto accident two weeks ago, and the onboard dashcam had failed to record anything.  But, I had two Android phones on (both with GPS / location enabled, one on Android 9 (LG V35 Thinq), one on Android 11 (Pixel 4)).
Is there a log in the phone for the past n days of location and speed (and perhaps direction)?
(I was not running any particular GPS tracking/logging app, probably had phone, messaging, Pokemon Go, and Facebook in the "background".)
The information might help avoid my insurance rates going sky high :)
thanks!

check google maps timeline