text:
How can one install Google Play Services on an Android-running device that does not have it by default?
I have an unusual device - an "ITX-3588J" board from the Chinese manufacturer Firefly (T-Chip Intelligent Technology Co.) using a Rockchip RK3588 ARM SoC - and it comes pre-loaded with Android 12. This Android is very, very minimal: it has virtually none of the apps that one would expect on a phone or tablet, but also has readily available root access and everything unlocked. My aim is to use it to run a virtualized Ubuntu Linux workspace (or at least whatever something like "Linux Deploy" does) to have the ability to make use of both Android and Linux apps on the same machine. While this vendor also offers an Ubuntu 20.04 native image, it pretty much is mutually exclusive with Android because each has to flash to the integrated eMMC.
Yet to install any further apps (including, ideally, a better web browser, too), I need Google Play, and that's not there. And my question is, how do you install it the "right" way, given it's the "app that installs other apps"? I have found very little entirely relevant material describing how to do this. I once managed to get it almost to go with .APK downloads from apkmirror.com, but do not remember how I did that now, and subsequent readings have made me wonder if that's not really the right way to do this. All other material I've found talks about installing on an Android emulator a la Android Studio, but is useless because they always (for that application, reasonably) just point to the appropriate AS tools, which obviously won't work here, and I basically blundered my way though that one time. There obviously has to be a way to do this because presumably it's what Android OEMs would do in the factory, but I also have no idea where that is documented.
So my question is: how do you install Google Play on a virgin Android system loaded to real hardware - including Google Play Services and the Google Services Framework - the "right" way?

Custom ROM users usually flash a pre-built package like Open GApps to have a minimum requirement for the Play Store to work. The code is open-sourced, so perhaps it's possible to follow how it's done manually.

Additional info for alternatives that support Android 12: XDA - Download and install the latest GApps: Open GApps, NikGApps, FlameGApps, and more!

@Andrew T.: Thanks. How though do you install those packages? (I got a couple, including "NikGApps" because the only OpenGApps for v12 appears to be in only a preview state so not sure how trusty it is) They don't look like they come with any READMEs or INSTALLs or similar docs that explain it.

From recovery mode, usually need a custom recovery like TWRP.

@Andrew T.: Ooh. It looks like TWRP only supports Android 11 currently. :(

@Andrew T.: The website for NikGApps - one of the ones that looks to support Android 12 officially - seems to really not have any helpful and/or well written install instructions. I'm really not sure what to do. :(

@Andrew T.: Do you have any answers?

Unfortunately, no. I only have experience in flashing the existing GApps package with custom recovery TWRP, but to do what their scripts are built manually is far from my knowledge.


text:
start apk from console -> get process id
I have some logcat outputs saved as txt file. I need to parse them looking only for entries that correspond to my app. However, it always takes me quite some time to find the exact process ID of my in order to filter for it.
Is there a way to get the process ID automatically when starting the apk via adb?
This is the line in my script that starts the app on a device
adb -s $device_name  shell am start -S -n $pkg_name/com.unity3d.player.UnityPlayerActivity

Some more context:
My script installs and starts an apk on an android device. The script is running on a cloudplatform for device testing (Kobiton) which probably uses Appium to run apks in a sandbox on real devices. After running the app for a the Kobiton server sends back the logcat output as a txt file.
This is what such an output looks like:
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpEngineDatabase$EngineListHandler.getEngineListXmlFile(SdpManagerService.java:2635)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpEngineDatabase$EngineListHandler.getEngineListXmlFile(SdpManagerService.java:2623)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpEngineDatabase$EngineListHandler.getEngineListLocked(SdpManagerService.java:2721)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpEngineDatabase$EngineListHandler.access$2300(SdpManagerService.java:2612)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpEngineDatabase.getEngineListLocked(SdpManagerService.java:2592)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpEngineDatabase.access$1700(SdpManagerService.java:2570)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService.readEngineList(SdpManagerService.java:2543)
2022-08-04 16:10:28.722 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService.handlePackageRemoved(SdpManagerService.java:4755)
2022-08-04 16:10:28.723 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService.access$6100(SdpManagerService.java:171)
2022-08-04 16:10:28.723 -0400  4197  4500 D SdpManagerService.SDPLog: com.android.server.SdpManagerService$SdpHandler.handleMessage(SdpManagerService.java:6105)
2022-08-04 16:10:28.723 -0400  4197  4500 D SdpManagerService.SDPLog: android.os.Handler.dispatchMessage(Handler.java:106)
2022-08-04 16:10:28.723 -0400  4197  4500 D SdpManagerService.SDPLog: android.os.Looper.loop(Looper.java:214)
2022-08-04 16:10:28.723 -0400  4197  4500 D SdpManagerService.SDPLog: android.os.HandlerThread.run(HandlerThread.java:65)
2022-08-04 16:10:28.723 -0400  4197  4500 E SdpManagerService: read engine - No any engine found
2022-08-04 16:10:28.734 -0400  4197  4197 D ZenModeHelper: Set zen mode for exception case : 0
2022-08-04 16:10:28.745 -0400 20156 20156 I SKBD    : anc isTosAccept false
2022-08-04 16:10:28.749 -0400  4197  4197 D UniversalCredentialManagerService: ****MSG_CLEAN_INFO block started****
2022-08-04 16:10:28.749 -0400  4197  4197 D UniversalCredentialManagerService: uid - 15747, userId-0
2022-08-04 16:10:28.749 -0400  4197  4197 D UniversalCredentialManagerService: notifyChangeToPlugin is called for package uninstalled...
2022-08-04 16:10:28.749 -0400  4197  4197 D UcmService: notifyChangeToPlugin event 12
2022-08-04 16:10:28.749 -0400  4197  4197 D UcmService: checkCallerPermissionFor is called for method-notifyChangeToPlugin
2022-08-04 16:10:28.749 -0400  4197  4197 D UniversalCredentialManagerService: ****MSG_CLEAN_INFO block ended****
2022-08-04 16:10:28.790 -0400 19812 19812 D Notification.Badge: onNotificationRankingUpdate().sIsDnDModeChanged[false]
2022-08-04 16:10:28.790 -0400 19812 19812 D Notification.Badge: [invalid] onNotificationRankingUpdate : sNotificationListenerInstance = com.android.launcher3.framework.device.notification.NotificationListener@d63fa54 sIsConnected[true]
2022-08-04 16:10:28.793 -0400 22587 27587 V SysAbnormalItemManager: updated column : com.MoveBook.MoveBookFarmAdventures / flag : false
2022-08-04 16:10:28.798 -0400 22587 27587 V SysAbnormalItemManager: updated column : 15747 / flag : false
2022-08-04 16:10:28.801 -0400  4197  4223 V MARsDBManager: getManagedPackagesFromDB!
2022-08-04 16:10:28.802 -0400  4197  4197 W Looper  : Drained
2022-08-04 16:10:28.813 -0400 28468 28468 I cr_SplitCompatApp: aunched version=95.0.4638.50 minSdkVersion=24 isBundle=true processName=com.android.chrome isIsolated=false
2022-08-04 16:10:28.816 -0400  4197  4223 V MARsPolicyManager: getPkgInfoFromSMToMARs size = 29
2022-08-04 16:10:28.830 -0400  4197  4223 E EdmStorageProvider: Admin not in database, something went wrong
2022-08-04 16:10:28.844 -0400  5426  5426 D io_stats: !@ 179,0 r 4229839 195915004 w 12884332 278363688 d 857544 165056904 f 2502218 2756314 iot 11859272 12140884 th 51200 0
0 pt 0 inp 2 0 5407919.174
2022-08-04 16:10:28.850 -0400  4197  4223 I chatty  : uid=1000(system) MARsDBThread identical 7 lines
2022-08-04 16:10:28.852 -0400  4197  4223 E EdmStorageProvider: Admin not in database, something went wrong
2022-08-04 16:10:28.859 -0400 11692 11692 I StackScroller: ADJUST STACK.TRANSLATION
2022-08-04 16:10:28.860 -0400  4197  4223 E EdmStorageProvider: Admin not in database, something went wrong
2022-08-04 16:10:28.864 -0400 11692 11692 I StackScroller: ADJUST STACK.TRANSLATION
2022-08-04 16:10:28.864 -0400 11692 11692 I StackScroller: ADJUST STACK.TRANSLATION
2022-08-04 16:10:28.865 -0400  4197  4223 E EdmStorageProvider: Admin not in database, something went wrong

As one can see: it has an additional column "-0400" before the process ID and thread ID column

You can use something like pidcat to take logcat. Or simply combine ps with grep / sed / awk.

I don't know a direct way to get the process ID of a started app/activity. But if you have a PC connected to the phone via USB one very easy way would be to use frita-ps to get the full list of active apps and the filter it by the known package name to get the process ID of the started app:
frida-ps -a -U

(list all apps -a on the phone connected via USB -U) from frida tools. Frida is a Python based reverse-engineering and hooking framework that can be installed via pip install frida-tools. frida-ps is just one tool from this collection.
It shows app package name, app display name and process ID and it works on unrooted devices (no frida-server or app-modification required for frida-ps).
Truncated example output from an unrooted Pixel 4a device:
D:\>frida-ps -Ua
  PID  Name                   Identifier
-----  ---------------------  ---------------------------------------
24507  Android Auto           com.google.android.projection.gearhead
16334  Chrome                 com.android.chrome
24906  Duo                    com.google.android.apps.tachyon
20700  Einstellungen          com.android.settings
 2292  Gboard                 com.google.android.inputmethod.latin
 1727  Google                 com.google.android.googlequicksearchbox
22699  Google Play Store      com.android.vending
20585  Google Wallet          com.google.android.apps.walletnfcrel
24221  Maps                   com.google.android.apps.maps
19359  Pixel-Tipps            com.google.android.apps.tips
 2806  SIM-Toolkit            com.android.stk

I just realized that I asked my question wrongly. I don't have access to any console / python on Kobiton (the cloud service I'm using). Since your answer fits my question, I'll get back to it once I could try it out / verify

source: Stack Exchange

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

sort: votes


text:
I have 2 .thumbdata files
I have 2 .thumbdata files on my tab for some reason. My tab is the lenovo M10 16GB model
I have some space issues so I was trying to delete some unnecessary files and I came accross DCIM I researched and learner that .thumbdata was a deletable file. My question is,is it normal to have 2 .thumbdata file and if I delete one what will be the consequences?

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


text:
"copy phone data" is not working
When you have a new android phone, it asks you to copy data from old phone.
However, restored apps behaves as if it was installed freshly(i.e. welcoming screen, tutorials, etc.).
I reviewed other guides but they says same thing.
https://www.theverge.com/23067518/android-google-move-data-new-phone-how-to
What excatly they are doing? just reading installed app list from old phone and installing in new phone?

On non-recent phones copy data to new phone is identical to backup and restore. And a large number of apps nowadays forbid backup. Those apps are then just installed on the new phone without copying their data.

I'm having a similar problem: For example the bookmarks of by browser are gone.  It seems Google wants to force you to sync all your data to their cloud, just to be able to restore them to a different device. So all those "Phone clone" apps seem rather useless.


text:
Samsung Auto sync personal data - Does syncing all at once use less data/less battery versus syncing small items every few minutes?
Does turning on auto-sync use a significant amount of mobile data and battery usage, or is it not as much as you'd think?
Let's say someone sent you 100 emails, would your phone use a fixed amount of data usage and battery to sync all those emails, or would it use slightly less data to sync that many emails like you were buying things cheap in bulk?
Would the same apply for battery usage, or would syncing a lot of emails at once use a lot more battery than syncing just one email?

In general a process that is executed less frequently should save battery as all the hardware components can stay longer in energy saving state. Additionally an intelligent scheduler could sync the data while charger is connected (not sure if this is done). How much the difference is is difficult to guess. The only way would be to monitor your device some weeks with enabled/disabled auto-sync and compare the results.

@Robert I see, I think the battery usage would make sense but I'm also wondering about the data used. Maybe it applies the same way and syncing a lot of emails at once might save more data than syncing multiple emails at different times?


text:
How do I get rid of the Read More feature in Outlook?
I am using Outlook 4.2222.2. A few updates ago, it started adding a Read More button about midway through long emails.

I now have to hit Read More to continue, which takes me to a spot in the app where I have to hit the X to get back to the reading pane (and therefore can't move the email to another folder, etc. without exiting).
I searched through the app's settings and did not find one that allowed me to disable it, and a Google search left me with the impression that not many had encountered this feature at all.
How do I turn it off?

It is better if you use the browser, unfortunately there is no option that will remove that button. Your best bet would be to change your mailbox settings. Try to see if you can make your mailbox text size smaller, then go to see if there are options, you can try changing message height to large, also below there are settings saying how should rows be aligned, set it to switch between one and multiple rows based on screen size. You may have to play around with those settings. If none of those options work, go to your settings and make your global text size for all apps smaller. That's what I did for my phone.

This button applies to reading messages, rather than appearing in the mailboxes area.  Good suggestions about font sizes, but I'd like to avoid a ton of workarounds.


text:
Help me, I bricked my phone, and now it won't boot!
Samsung Galaxy Note 3, T-Mobile version. Managed to back up all my data, and wiped it. It still won't boot or start, it just remains on the T-Mobile screen. I need help with my phone, I think I triggered a security function on my phone. I rooted with Magisk and it has worked up until now.
My phone just bootloops and it stays on the T-Mobile screen infinitely, as the blue led function indicates something is being written to the memory but I can't figure out what the issue is. I have tried everything, Odin fails to flash a samsung rom, This started when I removed Magisk.zip because it kept crashing and the app became useless so I uninstalled it (Magisk.zip/manager as well). I can't find a stock rom anywhere for the android because it is taken down by Samsung. Someone please point me in a direction to where I can download the rom, maybe samsung will let me flash the rom but since I couldn't find one or the one I have used failed, because ODIN is trash. I decided to render this useless along with my phone. If this doesn't work I will find a way to flash any random rom I can find on to my phone because I don't want it to fail on me.

You will have to provide us with more details about your situation, what happened before your phone was bricked, what did you do to it? What method you used to root your phone?

This phone acts crappy, it had crappy performances, apps would crash, couldn't even install apps from the play store because the google play store would crash, I had to keep the old version of the play store but it was difficult because the play store would always update it self to the latest version, so everytime I kept the Play Store on the oldest version it came with, it always would reupdate to the latest version. So then my phone was acting sluggish and slow, mainly because I had a bunch of pusd.us and school accounts of my friends. I rooted my phone in 2020 and it erased all my apps.

Please, I need help with my phone it is not booting, I have had an even older phone since middle school that was not even as trash as this phone, my sister gave it to me in 2017.

which partitions exactly you have wiped?

The main ones, cache and data.

so you did not wipe any other partition than cache + userdata? do you know the difference between wipe and format data? have you also tried formatting instead of wipe?

If I didn't, how do I format data, I have TWRP Recovery on my phone?

bootloops can have several reasons. most common 1) verified boot - any modifications (like modified recovery) will break boot chain of trust - avb/dm-verity should be disabled for TWRP 2) encryption - verified boot state is used to derive encryption keys. if encryption is broken, formatting userdata is necessary. TWRP does not support samsung encryption, encryption should therefore disabled 1) + 2) = no-verity-opt-encrypt.zip

TWRP > Wipe > Format Data > type yes

you can install custom ROM https://forum.xda-developers.com/t/4398351

Now I know what caused my phone to mess up in the first place, I encrypted my phone a long time ago, but I think I rooted too soon after fully decrypting the device. Not a problem for me because all my important files were backed up, but apps got removed as if they were offloaded in the rooting process. So I lost all my google accounts I saved on the phone and other app data. I just need help because my phone seems like it's having problems formatting. Did it mark a partition as read only permanently or is the device becoming faulty? This phone is nine years old.

I need help because I have zero knowledge with adb, adb fails on my Note 3, ODIN fails also. I managed to flash TWRP using ODIN and then use Magisk Root.

help with what? stock ROM or custom ROM or Magisk?

consider after nine years usage the eMMC might weared-out

No, I figured the problem, the crappy twrp system has been compromised, it won't let me  wipe partiton/cache/or data. I tried looking up why but I got no answer, twrp never gave me issues and now it does. I can't flash or wipe because twrp throws an insane error.

That sounds like it's going to be a hardware issue, I'm done commenting where else can I go to provide information or get information? Ouch, emmc must be a hardware issue, and that means.... The phone is no good unless you replace the card?

It is possible to replace but it's not worth it https://www.aliexpress.com/item/1005004064792620.html


text:
How can I move back data from external SD card to internal memory?
Today I added an sd card to my smartphone (Fairphone 3+, Android 10), I selected to use it as internal storage, and moved the photos and some apps (don't know which ones) to it automatically. After the move, I now cannot see any of my photos (except a dozen of them) and some apps (like Dropbox) keep crashing. Stupidly enough, I didn't back it up. Now the camera doesn't show any photo, the files application doesn't show them, if I connect to a PC, I get an error trying to open the DCIM folder, and the SD card cannot be opened by other devices (there's no warning of it when selecting). The space is however marked as occupied in the setttings
How can I move back this data from the external SD card to the internal memory?

Are you sure the SD-card was genuine? A lot of extra large SD-cards for cheap money are fake cards that have may be 16GB real storage but claim they have 256GB or more. So if you write to them data loss is inevitable.

@Robert it was a 256GB SanDisk bought off Amazon, and was definitely not cheap. I would be very surprised if it was not genuine

so what happen behind the scenes when formatting as internal, SD Card is repartitioned and encrypted, ext4 partition is mounted /data/media/0 > /mnt/expand/* and symlinked /sdcard > /storage/emulated/0. former "Internal storage" in /data/media is now unused (disk space might still occupied). you can 'adb pull /storage/emulated/0' to backup files from adopted SD Card once, eject, and 'adb pull /storage/emulated/0' again to backup files from internal storage. in case you have root access you can get encryption key from /data/misc/vold and decrypt SD Card on PC (for direct access)


text:
Prevent phone from turning off video during call
I got a new Samsung phone (Galaxy A32 5G) and it has a "feature" that I find disappointing.
I was in a video call with my grandmother, using Viber. When I switched to another app (I wanted to look up something on my calendar), the video stream automatically stopped. When I switched back to Viber, I was able to turn on my camera again, after some fumbling; my grandmother did not manage to turn on hers, although I cannot say if it really was impossible, or if she didn't find the right button. In any case, it greatly distressed my grandmother (who is very afraid of "breaking" something on her phone) and was also very unwelcome for me.
On my old phone (Moto X4), when I switched between apps, Viber continued transmitting video. I think there was a small window still showing the other person, or maybe the other person just kept seeing me, and when I switched back, I saw them again.
My questions are:

Is the problem related to the Samsung UI (the Moto X4 was, I believe, very close to a stock Android), or to the fact that the new phone uses a more recent version of Android? It is on Android 12, and I noticed that, when asking for permissions, it only lists the options "deny", "allow once" or "allow while the apps is running", but not just "allow" - maybe Viber loses camera permissions when I switch?
Is there a way to prevent this from happening?
If I cannot turn it off on this phone (or if turning it off requires rooting), would returning this phone and buying another one (e.g. a current model of a Motorola-brand phone) solve the problem?

Looks like it's a restriction since Android 11.

@AndrewT. the mystery grows deeper then! The page you linked is about both microphone and camera, and it seems that both should work the same way. My microphone continued working when Viber was in the background, only the camera stopped.


text:
How to hack into a Samsung Galaxy J5 with broken screen?
The phone is Samsung Galaxy J5 and its screen is completely broken. USB debugging is not enabled either. I don't want to throw it out since everything else seems to be working fine. And I can't afford to buy a new one.
How do I hack into it and project its screen on a PC, so that I can use it like a webcam or mini server? It shouldn't be that hard since it's such an outdated OS. Should I inject some kind of code via USB or SD card?

flash modified boot with ro.debuggable=1, ro.adb.secure=0 in default.prop and connect scrcpy. there is also hands free root method cf-auto-root


text:
Why is the Google Play Store showing wrong app sizes?
Since recently, the Google Play Store is showing different app sizes when downloading updates. The displayed size of the update is X but the downloading size (of the se update) is slightly greater than X.
For example (see attached screenshots):

Messenger (FB): 44 MB -- 25% of 46 MB
Microsoft Teams: 37 MB -- 29% of 39.01 MB
Spotify: 34 MB -- 32% of 36.10 MB
Uber: 49 MB -- 22% of 51.00 MB
etc., etc., for every other update

Is this a recent bug in the Google Play updater?
Or might it be an indication that I have a virus or spyware installed on my phone?

..

Some more examples, comparing the size in MiB to the size in MB, as @Robert suggested in his answer:

My main question is: Does anyone else has this issue on their Android phone?

The Play Store seems to use MiB (1KiB = 1024 bytes) but displays like Windows "MB" as unit. The download size seems to be measured in MB (1KB = 1000 bytes).
44 MiB = 45,056 KiB = 46,137,344 bytes = 46,137 KB = 46 MB

Thanks, Robert! It would be comforting if that was the cause. But for some reason the numbers do not match. For some apps it's bigger, for other apps it's smaller. I've added a new table in the question.

@SorinPostelnicu If you add the assumption that the number in the first column is not exact but rounded then it would match. So don't start with the first column, use the last column instead and multiply it's value by 1,000,000 and then divide it by 1,048,576 and you should get the value of the left column before it had been rounded.

Thanks, @Robert ! Indeed, that matches perfectly!


text:
Where are Android app settings stored?
If I uninstall apps/services on an unrooted Android device via the ADB shell (e.g. by doing pm uninstall), where is this information stored?
Note that I'm not referring to settings within individual apps, but to their installation state.
I've read that uninstalling apps without root privileges will only remove those apps from normal user space through modifications to a configuration file (/data/system/packages.xml), but the app files physically remain on the device to allow reinstallation. If this is true, is packages.xml encrypted (being located in the encrypted /data folder) or can its contents be modified even without root access?
Motivation: Access to /data seems to require root privileges. If you soft-brick an unrooted Android device by accidentally uninstalling critical system apps (and hence modifying packages.xml) resulting in a boot loop, is there any practical way of restoring packages.xml to its stock configuration? Examples may include Samsung Knox or TEEGRIS services.
UPDATE: To clarify, the goal is not to wipe the device as suggested in the comments (this can be done any time from the recovery mode menu), but to find out whether or not the boot loop is caused by a persistent misconfiguration of a file residing in a secured area (persistent meaning that it cannot be reset by flashing e.g. the HOME_CSC firmware file without wiping the entire device and losing all data). Also, the device is not rooted.
NOTE: 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.
Is it possible to delete package-restrictions.xml (instead of modifying its content in order to restore individual app settings) from an unrooted device?

I shouldn't be here but gosh this is too confusing for me to even answer, sorry. Try to rewipe or format, it is in your device recovery firmware. It's easier if you have Clockworkmods or TWRP Recovery on your phone, but some phones don't make it easy for you to put those recovery firmwares on them. Put the iso rom on an sd card and insert it in your phone because you bricked your phone, that was the major f-u-c-k-up, now you have to wipe your device, some will wipe sd cards to so wipe the phone before you put the sd card in. I wish I knew more like you did with devices. I used ODIN to flash...

The file is encrypted and can't be changed other than by a running OS on the phone. But even if it would be not encrypted this would not help you because if the bootloader is locked you can only boot something that is signed by Samsung. So how would you modify the content? I don't think you can use Odin to partially manipulate the user data partition so the only way would be to desolder the flash chip, attach it to a system where you could communicate with the flash chip (I don't think something like this would be cheap). And then re-solder the chip which is again an extremely difficult task.

Does this answer your question? Cannot log in after disabling Android package from TWRP or with ADB

@Ethanmiller Sorry, but your comment is completely incoherent and unintelligible. I think the question is crystal-clear. What do you find confusing? Also, you're throwing together "Clockworkmods", "TWRP Recovery", "ISO ROM", "SD CARD", "wipe your device"...it's a complete mess to be honest. Could you try to formulate a coherent solution or at least explain what you are trying to achieve? Please note: The objective here is not to wipe the device (I can do that any time from the recovery mode)

@alecxs Please read the question. The device is not rooted, therefore the suggested solution is not applicable (or is it?)

If you have an answer in mind, please post it for reference/further discussion. The answer that you've linked concerns only disabling of apps, not uninstalling. pm disable and pm uninstall are assumed to have different behavior


text:
GPS reliability -- how to (almost) guarantee it?
Background
First, short history -- Samsung Galaxy Ace 2, I used it for years and GPS signal fix time is something like 2 minutes to 15 minutes (starting from town). On average. But some time ago the fix took one hour (I was long in open spaces) and on the last Saturday (2022-06-18) I waited around 2 hours and still did not get the fix (again open spaces, no obstacles).
I bought also two Samsung XCover 3 phones (used ones) and after buying them I checked if GPS works. GPS was fine so I thought it will be solid replacement. Yet on my previous trip (week ago) sometimes during the day it lost signal several times for few minutes. Such gaps are unusual to Ace 2, because once it is locked -- it is locked.
After returning home during the week I rechecked GPS on both of them, waiting around 15 minutes -- no signal. Next day I rechecked it -- again, no signal. This was worrying, although those short checks was within town.
So for just ended trip I took instead two XCovers, XCover + Ace2. As I wrote earlier I tested Ace2 for two hours and still nothing (I had to turn it off, because the battery is weak). On the same day XCover couldn't catch GPS for entire day+night (sic!).
On 2022-06-19 and 2022-06-20 Ace2 managed to get GPS fix within 2 minutes (starting from the forest), while XCover didn't catch at all (including nights).
As for XCover I installed some GPS status apps, and they show there are some satellites visible but not used, because "signal is too weak". The report usually goes like this -- 1 satellitte visible, 3, 5, 8, zero. And again, 1 visible, 3, 7, 9, zero. So the count is constantly cleared.
For the record -- I didn't drop those XCovers, hit them hard, or anything, i.e. I didn't damaged them in any way.
To give XCover a hand I restarted it, turned on hybrid location -- GPS assisted with GSM info. I also updated AGPS data using "GPS Test" app.
Question
How to improve GPS reliability to humanly possible levels? I would not like to repeat experience from my last trip.

including buying new phone -- how to look for the best GPS receiver installed?
using existing phone -- how to monitor the health of GPS unit, or diagnose the cause of the problems? What not to do with the phone? I put XCovers in silicone "frame" protectors (bumpers) for example. In short what can user do with existing phone to avoid losing GPS signal for good?
how to recover from such permanent GPS problem? Could GPS receivers just die or have some expiration date?

I am talking about normal usage, in plain, flat areas, not dungeons, not cave exploration, or something like this. And I opt for Android smartphone because of freedom (I wrote one tracking app myself) and as the Ace2 goes, no complains, I even didn't think the problems can be so severe.

I once had the case that I could not get a fix on an Xperia XA2. Seems like the GPS chip was in an invalid state and wasn't able to recover even by reboot. The only way to fix it was to shut down the phone, wait a minute and power it on again. Also keep in mind that the signal of GPS satellites is very weak and can be interfered very easily e.g. by countries for military reasons or by people who wants to hide their position (e.g. a car thief).

@Robert, thank you. I forgot to mention I restarted the phone. For the first day it was my thinking exactly. I live in Poland and I thought maybe Russia now invading Ukraine plays with GPS satellites. But on the second day, when Ace2 got the lock this theory didn't hold.

As I wrote restarting the phone had no effect on the GPS part. Only a full shut down helped in my case. There is a small enclave Kaliningrad in the Balic Sea north of Poland and it is known that Russia disturbs GPS signals in that area. May be you are already that far away from affected area that not every device is affected?

@Robert, ah, you mean not selecting "restart" option on the phone, but instead "shutdown" and then manually starting it again? This I didn't do. As for Russia play, it would mean I need a phone with solid GPS, Ace2 is a proof it is possible, but how to know in advance if given chip is good one or not? In all tech specs I saw only generic "GPS, GLONASS, etc" merely stating what is supported.


text:
Samsung a40 bootloop
Does anyone know how to fix a bootloop? I have tried flashing a stock room using Heimdall but that only makes the phone show to Samsung logo show the erasing animation for a little bit and boots into download mode and show "Error validating footer (6)"   . If I try to generate a vbmeta file with abvtool it shows the warning that says that unofficial software was installed and shows the unlocked bootloader warning and after that it reboots.

@alecxs Where should I find that file?

@alecxs After un tarring the stock ROM. I found only a "vbmeta.img" file and no "vbmeta_samsung.img". Could this be because I downloaded the firmware from "samfw.com"?

@alecxs So if that does not apply to my phone is there any other way to unbrick my phone or should I just try to flash "vbmeta_samsung.img" even if it is for another phone or version?

@alecxs But after flashing TWRP all the phone does is show to unofficial software was installed, show the unlocked bootloader warning and reboot.

of course easy way is flash stock ROM but it will re-lock bootloader and you might not able to unlock again because of samsungs restrictions. you can install TWRP and AOSP instead

read the instructions and ask in that threads if something is unclear

Try using the Samsung Smart Switch app for PC to restore the stock ROM.


text:
How to route all my Android phone own's DNS request to 8.8.8.8 in iptables with root?
su
iptables -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to 8.8.8.8:53

The above command is really working, but only for client phones who are using my phone's WiFi hotspot.
The result I need is for my phone itself. I want to route all my DNS queries only through 8.8.8.8 without using a VPN but with iptables.

Can you just set the DNS through the settings on your phone? A quick search of "android change dns to google" throws up loads of tutorials on how to do this

Yes I know dns setting in phone's setting. for some reason i do not use those feature . I want to do it via iptables

How to configure DNS?


text:
Will flashing the stock firmware using HOME_CSC instead of CSC restore all app settings?
Will flashing the stock firmware using HOME_CSC instead of CSC restore all app settings, specifically the encrypted configuration file /data/system/packages.xml?
Motivation: If an unrooted Android device is soft-bricked by accidentally uninstalling critical system apps from user space (and hence modifying packages.xml), is there any practical way of restoring the secured packages.xml file to the stock version without wiping all data?
UPDATE: There is some additional confusion. It seems unclear what exactly pm uninstall from the ADB shell does, i.e. which files get modified (see here and here). Is it packages.xml or package-restrictions.xml or both?

Devices I know have one user data partition. Flashing this partition is equivalent to performing a factory reset.

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

Does this answer your question? What is the difference between Samsung 4 files(Repairing firmware) and Single firmware file for flashing?

@alecxs Again, very informative, but not sure it actually answers my question (which refers to the installed/uninstalled/disabled state of apps)

Cleaned up comments - however, the answer remains the same as the linked solution does not apply here.


text:
How to install my own CA (Certificate Authority) root on Samsung S22?
S22 with Android12 here. I am trying to install a root CA so that I could access my internal websites using HTTPS. I seem to be having unexpected trouble doing that.
So far trying to do it by going: Settings/Biometrics.../Other.../Install from device storage/CA Certificate/Install Anyway

First off, when I copy certificate to internal storage, it is not visible to said installer until I reboot the phone. Annoying, but oh well, I only do it once
Once this installer sees the cert, it will not import it. "Private key required to install certificate" toast will pop-up after that.
Exactly same happens when I try to click on certificate in 'Files' app and choose "Certificate installer"

I tried to use following formats:

cer
pem (basically cer file renamed to pem)
p12 or pfx (same file, rename) - it asks me for password but unable to decrypt
pem/cer containing not only a CA root, but also a device certificate signed by said CA root and it does have private key

Phone not rooted
One thing I never tried and will not try is to export CA certificate with private key (phone has no business knowing CA's private key).
Any ideas?

P12/PFX files can be encrypted using different algorithms. I would assume that Android only supports the old 3DES encryption which was the standard since a about a year in Java. If you try to open a P12 file encrypted with AES and the software only supports 3DES then no matter which password you enter it will always fail.

Solved: certificate installation worked using "Install from device storage" when I placed cert into "Downloads"


text:
How to connect over fastboot to Galaxy A50?
I'm on ubuntu 22.04 and I can connect over adb to my Samsung Galaxy A50, and do
adb reboot bootloader

it reboots to bootloader mode, but I can't use fastboot devices, it returns empty.
Other phones work in this computer.
lsusb shows
Bus 001 Device 015: ID 04e8:685d Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II] (Download mode)

All tutorials talk about a Windows driver, but what do I do for ubuntu?

Most Samsung devices don't have a real fastboot/bootloader mode. The lower layers of Samsung device are just a bit different. Also "Download mode" is also not fastboot mode you could better call it "Odin mode" (or "Heimdall mode" as you are on Linux).

@Robert oh ok. Is there an open source client for odin mode?

Search for Samsung + Heimdall and you will find what you need.

@Rafaelo see our heimdall tag wiki ;) P: here is a more up-to-date fork of it.


text:
getprop: abi vs abilist
I was reading this blog post on determining the supported ABIs for a phone.  It said that, prior to Lollipop, the command is
getprop ro.product.cpu.abi

whereas, after Lollipop, it's
getprop ro.product.cpu.abilist

My phone is running Android 11 and I note that both properties are supported by getprop.  Specifically, abi is arm64-v8a and abilist is arm64-v8a,armeabi-v7a,armeabi.
Is the support on post-Lollipop devices for getprop ro.product.cpu.abi just for backwards compatibility and, hence, abi is just returning the first item in abilist or does the abi value hold more significance?

Most likely, yes it is for compatibility.

abilist shows a list of supported ABIs on your device.

@IrfanLatif, that I know.  I'm curious as to how abi is different from Lollipop onward.


text:
name resolution on samsung s22 device does not find local host using full name
S22 Android 12 device here.
I have my own DNS server on a local network. Phone seems to pick up local DNS, but it will not address devices using fully-qualified name. Example (in adb):
g0q:/ $ ping nas.mydomain.local
ping: unknown host nas.mydomain.local
2|g0q:/ $ ping nas
PING nas.mydomain.local (10.1.1.26) 56(84) bytes of data.
64 bytes from 10.1.1.26: icmp_seq=1 ttl=64 time=2.41 ms
64 bytes from 10.1.1.26: icmp_seq=2 ttl=64 time=13.4 ms
64 bytes from 10.1.1.26: icmp_seq=3 ttl=64 time=10.7 ms
64 bytes from 10.1.1.26: icmp_seq=4 ttl=64 time=16.1 ms

Same is happening in firefox and other apps. I can access host via https://hostname, but not https://hostname.mydemain.local. Anyone knows what magic is happening here and how to turn it off?
UPDATE: what I suspect might be happening is that .local domain seems to have a special meaning. I am not sure what is different in Samsung implementation, since GrapheneOS (also based on android 12) handles these hostnames fine. If someone has any suggestions how to disable this feature, please let me know

Have you checked DNS access log on your server? Then you will see what DNS queries were sent.

The reason indeed was that domain ended with .local. I configured several servers to use .home domain name, issues them new certs, and they work resolving properly.


text:
How to use adb to take dumpstate logs on a Samsung device during device setup after first power on?
I need to get dumpstate logs on a Samsung Fold device during device setup after first power on (after new binary flashing or factory reset).
I am unable to set debug level high through *#9900# because the device is switching on for the first time.
Is there a way to do this through adb? I have a custom ROM in which adb is pre-enabled.
Thank you for your time

Unless you have flashed a custom ROM with pre-enabled adb mode, adb will not be available until you have finished device-setup, activated debugging menu and there enabled adb.

@Robert Thank you for your response. Yes, I have a custom ROM in which adb is pre-enabled.

I am not quite sure if that is helpful but you can install sidebar lite from adb and do anything you want on initial setup screen, like open dialer and type the code (sure there is a more straightforward way)


text:
Maintain adb port forwarding after reconnect
I've noticed that, when I do
adb reverse tcp:12345 tcp:12345

and then later disconnect/reconnect the phone, adb reverse --list will come up empty.
Is there a way to persist this port forwarding?  That is, I'd like it so that, whenever I connect to a device (either through USB or OpenSTF), the port forwarding is automatically established.

Write yourself a batch file that connects and establishes the port forwarding.

How do I make that script run whenever I plug the phone into the USB port?

ADB has no such feature. You can only use such a functionality if it is provided by your OS.


text:
Does Heimdall have the option to boot without flashing/substituting the kernel? (like fastboot boot boot.img)
Fastboot has the option fastboot boot Image.gz to boot a kernel without flashing it to the phone. Is there something similar for Heimdall? I did not want to mess with my phone's kernel for now. It's a Galaxy A50.
By the way, what is the "no reboot" button for?

Buttons on heimdall?

@alecxs on the frontend for it, or the command line


text:
What EXACTLY does "pm uninstall" do on an unrooted Android 9.0 device?
There seems to be confusion regarding the behavior of pm uninstall from the ADB shell, see also here and here.
Question: What configuration files does pm uninstall write to, is it /data/system/packages.xml, /data/system/users/0/package-restrictions.xml or both? Are there any additional files?
Note: This questions specifically concerns the behavior of pm uninstall, not pm disable. Furthermore, it concerns the behavior on unrooted devices.
Motivation: Uninstalling the wrong apps doing pm uninstall can result in a soft-brick/boot loop. Therefore, reversing the effects of pm uninstall can be the easiest way out of such problem, especially if other methods risk wiping data that needs to be rescued.

I think the question title should better be "What EXACTLY does pm uninstall do when uninstalling a system app". Because on regular apps it doesn't matter if your device is rooted or not, the app would simply be uninstalled. Also on system apps I don't think pm would be able to uninstall (delete) it even with root permissions.

...this bit of information should actually be part of an answer. Also, the solution should be specific to Android 9.0 or at least include it.

I don't think that somebody exactly has the answer to this question. But you can try it out yourself. get yourself a rooted emulator, uninstall a system app as you did on your Samsung phone and then compare the xml files before and after uninstalling the system app. A possible emulator for that purpose would be Genymotion as it provides images for different Android versions.

curious about what is the difference between pm block vs hide vs disable vs disable-user vs uninstall for system apps

As I understand, Android is open source and written entirely in C. I don't have sufficient command of C, but would it be possible to find definite answers in regard to function behavior by searching the source code (https://cs.android.com/android/platform/superproject)?

yes, homework for someone with too many free time hehe.. actually it's java/kotlin ;)


text:
How does Android device supply internet to apps and apps become online?
Apps are in an offline state. Whenever I turned on data (internet), in the blink of an eye, the apps become online. In another instance, I turned on data (but I have no internet), and apps are not becoming online.
I am assuming:

There is something in the device that somehow figures out if my device has an internet connection or not (maybe by trying to connect to a site?)

If it figures out my device has an internet connection, it notifies the apps to connect to the internet.

Since my device got internet and the apps are notified, now we need another program(s) to share (manage) internet between the device got internet and those apps.

Now to elaborate on my question, in point 1, the thing/program which figures out whether my device has internet or not, what is it called? And in point 3, what is the program's name, and how does it share the internet with apps? Or in other words, in which way can I manage my device's internet with my user-space applications, and how do I manipulate it?
If it helps, I know (more correctly, read) DNS resolution, with destination IP address apps connected to the server.

Making a ping takes only a few seconds. Android framework provides APIs for this. Or the apps can check internet connectivity themselves. Your assumptions in point 2 and 3 don't make much sense. Why do you assume it works this way? What's the problem you are trying to solve?

i am interested in knowing app(s) pre-online inner workings! especially what program of   android os process and manage internet and provide internet to apps

Or perhaps, do apps always send(s) request to their designated server when data in turned off and when data is turned on but no internet?

@IrfanLatif point 2 is a power friendly method instead of letting each app making request each second to know if the device got internet connect, in my nobby opinion

See ConnectivityManager.


text:
Write into android/data on Android 12 using ADB?
With the addition of scoped storage in Android 11/12 I no longer have access to certain application directories within android/data.
I would like to write into this directory but since I have no permissions, I cannot do it locally using a file manager (I have tried multiple file explorers including x-plore and marc files, none of them work)
I was wondering if then there is some way to bypass this limitation using ADB?
Or any other way? Without Using Root, I am on the American S22 Ultra so there is currently no bootloader unlock/root.
Appreciate any help.

Via adb it is no problem to read or write files within /storage/emulated/0/Android. Just connect your phone to a PC and use adb.

Will adb allow me to have write access on those directories that are read only though? Since I do not have root but this is in the home directory? Basically I am asking if this can bypass the scoped storage limit the developer has put on the android/data directory of the application within my internal storage.

adb can not be used for bypass the scoped storage limit because by default adb is not available from within an app. Note that is site is for Android users not developers. If you are asking because of app development you are wrong here. Development question belong to stackoverflow.com.


text:
Exploring options for customizing SeLinux policy ( SePolicy to enable bind-mounting ) , including kernel recompilation
As   I realized selinux for Android is more than tad bit different creature than what I can get done on Linux . I need SeLinux policy to be modified so I can bind mount my folders. Unless that happens I dont want to root my phone. The below was when I temp magisk rooted my Samsing M20 in permissive
Here are the issues I encountered  trying to    achieve   the above.
-- AVC denials aren't logged into my Logcat. Why is that ? and should I be looking at some other file to get these. If they are disabled how can that be reversed. This is a Samsung Exynos Chipset.
    root@m20lte:/ # logcat -d | grep -i AVC
06-23 03:38:03.046  4392 19898 I OMXMaster: makeComponentInstance(OMX.Exynos.AVC.Encoder) in android.hardwar process
06-23 03:38:03.112 12145 12164 I ACodec  : [OMX.Exynos.AVC.Encoder] Now Loaded
06-23 03:38:03.128 12145 12164 I ACodec  : setupAVCEncoderParame

--- Can I just modify  the Sepolicy file at or entire `kernel` needs to be `recompiled`
/sys/fs/selinux/policy

. How many files need to change for a modfied custom SePolicy to be in effect

-- If changing Sepolicy isn't that simple & you need to recompile  the Sepolicy in kernel. How do I go about doing that and before re-compile how do I test that it works for my goal

Here is what i did.
--- I pulled up the SePolicy which was in binary and ran it through sepolicy command on linux . No luck.
mnt/sda2 # sepolicy -P policy
Traceback (most recent call last):
  File "/usr/bin/sepolicy", line 692, in <module>
    args.func(args)
AttributeError: 'Namespace' object has no attribute 'func'

-- before that obviously I tried a low  hanging fruit given by this guide where I tried using bindfs with various userids and grouoids including the ones exemplied in the post  but I still got errors. AVC errors not being logged I can figure our what caused these

--- Can I just modify the Sepolicy file at or entire kernel needs to be recompiled
/sys/fs/selinux/policy

. How many files need to change for a modfied custom SePolicy to be in effect

First of all, if your device is rooted with Magisk, you can use Magisk's supolicy to add SELinux rules to your device.
If your device is not rooted with Magisk, it is still possible to 'simply' modify the sepolicy file to add new SELinux rules that will be loaded by init on startup of the device.
The file that you will have to modify to achieve this is /vendor/etc/selinux/precompiled_sepolicy (or /odm/etc/selinux/precompiled_sepolicy if it exists).
You can use tools such as sepolicy-inject to add your custom SELinux rules to the file.
Note that since the file is located on the /vendor partition, you will need to have read-write access to it. This can be achieved by remounting it if your device is rooted, or through recovery with a custom recovery image (such as TWRP).
Another option, if you do not need the policies to be permanent, is to directly load your policies with sepolicy-inject. Note  that for this option, you need to have a rooted device, or have a SELinux context which would allow you to load policies (this would typically require you to add custom rules in the first place).
If you want more details on how the SELinux policies are loaded and how to modify them, take a look at this answer.
After that, all you need is to figure out which SELinux rules would be needed for your case, which you can find by grepping for avc errors in logcat. I am afraid however that I do not know right away why those avc errors are not showing in your logs.
Hope this helps!

For the avc denials not showing in Logcat, this answer may help you


text:
Is it possible to do a full image backup of an android 11 phone?
Most manufacturers require a factory reset before sending away to be repaired. However if it's not a software fault then you are inconvenienced.
Is it possible to do a full image backup of the phone? I've read through a few of the answers here but they're a few years old.

depends on phone

If an app uses the hardware based AndroidKeyStore then it is not possible. As far as I know cryptographic keys in that store can only be accessed/used but not exported even with root permissions (if the key has been created as non-exportable key). If you perform a factory reset the necessary keys to decrypt those keys are gone.

D2D transfer apps are used to backup nowadays. I am not quite sure but this solution might use the same underlying technique https://www.xda-developers.com/lineageos-seedvault-open-source-backup-solution

So let's create a new fresh answer then. As mentioned in another answers [1] [2] one can do a full backup of

boot
system
data (there is a trick to include the Internal Storage)

by booting into TWRP and doing so called NANDroid backup (IDK, it's just a big "Backup" button on the main screen)
Once you find a TWRP image for your device, the process looks like this.
adb reboot bootloader

# when device at the booloader screen
fastboot flash recovery twrp.img

# be ready to press a key combo
fastboot reboot

Before the tablet/phone boots up hold Volume Down + Power buttons. This way we end up in the same bootloader, select Recovery Mode and it will load TWRP.
For more details read here


text:
Silence all notifications by default
How can I silence all notifications by default on Android 12 without resorting to DnD?
I just replaced my old phone (Google Pixel 4a, same as the old one) and restored everything from backup, but sadly the notification configuration has not been restored and the phone is beeping like there's no tomorrow.
I only need sound if someone calls me on the phone or some other app like WhatsApp. Other notifications should be silent.
I don't want to use DnD which I use by night when I don't want any ringing sounds either.
It seems to me I need to silence each individual app, but there are like 100 of them. I want the default notification to be silent and then be able to turn on sounds for WhatsApp e.g.

Depending on the device model, Android version, and custom ROM, there may be a built-in setting to set the default notification sound. The default option may include "no sound", or otherwise preparing an audio file with no sound may be an alternative workaround.
For the Google Pixel series, Android 12 particularly: Settings - Sound & vibration - Default notification sound. Inside "My Sounds", choose "None".


text:
Pixel 3 stuck in fastboot loop after flashing factory image
The problem
After trying to flash a factory image of Android to my (previously working) Pixel 3, I can now no longer exit the bootloader, nor can I boot into the system. The bootloader simply reads no valid slot to boot.
I was trying to downgrade my phone to Android 11 in preparation for installing /e/OS. I attempted to flash a factory image from Oct 2021 to my Pixel 3 Android phone using ADB but after completing the process, I received the following message in the terminal:
Erase successful, but not automatically formatting.
File system type raw not supported.
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 235.583s

and then after my phone finished rebooting, it showed the following screen:
Fastboot Mode

Product revision: blueline MP1.0(ROW)
Bootloader version: b1c1-0.4-7617406
Baseband version: g845-00194-210812-B-7635520
Serial number: XXXXXXXXX
Secure boot: PRODUCTION
NOS production: yes
DRAM: 4GB Micron LPDDR4XUFS: 64GB Micron
Device state: unlocked
Boot slot: b
Enter reason: no valid slot to boot

Current Phone State
If I attempt to reboot my phone, it simply returns to the fastboot screen.
From the fastboot screen, I have the following options: Start, Power Off, BarCode, Rescue Mode, Recovery Mode, and Restart Bootloader.

Clicking "Start" immediately returns me back to the fastboot screen.
Clicking "Power Off" powers off the phone if unplugged, or just returns to the fastboot screen if plugged in.
Clicking "BarCode" brings up the expected screen.
Clicking "Rescue Mode" or "Recovery Mode" brings up the android icon with "No command". Holding the power button and clicking the volume up button brings up the expected screen of commands.

I can also still run the fastboot reboot fastboot command from the terminal and enter the fastbootd screen successfully.
What I've tried so far
Here are the following things I have tried to recover from this:

Running the flash-all.sh script again.
Flashing each image (boot, bootloader, radio, system, vendor) individually.
Flashing different factory image versions of Android, both of Android 11 and 12, and both using the flash-all.sh script and flashing each image individually.
Switch to using a USB 2.0 cable (USB-A to USB-C). I had first tried all the above steps using a USB 3.0 (USB-C to USB-C) cable.

Prior to doing this, my phone was in working order and running the latest version of Android 12 available for my phone.
Have I simply bricked my phone? The fact that I can get to so many different screens and still access the phone from my computer makes me think this is recoverable but I've so far been able to fix it.

Additional Information
I've included the results of running the flash-all.sh script below:
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ ./flash-all.sh
Sending 'bootloader_b' (8521 KB)                   OKAY [  0.440s]
Writing 'bootloader_b'                             (bootloader) Flashing Pack version b1c1-0.4-7617406
(bootloader) Flashing partition table for Lun = 0
(bootloader) Flashing partition table for Lun = 1
(bootloader) Flashing partition table for Lun = 2
(bootloader) Flashing partition table for Lun = 4
(bootloader) Flashing partition table for Lun = 5
(bootloader) Flashing partition msadp_b
(bootloader) Flashing partition xbl_b
(bootloader) Flashing partition xbl_config_b
(bootloader) Flashing partition aop_b
(bootloader) Flashing partition tz_b
(bootloader) Flashing partition hyp_b
(bootloader) Flashing partition abl_b
(bootloader) Flashing partition keymaster_b
(bootloader) Flashing partition cmnlib_b
(bootloader) Flashing partition cmnlib64_b
(bootloader) Flashing partition devcfg_b
(bootloader) Flashing partition qupfw_b
(bootloader) Flashing partition storsec_b
(bootloader) Flashing partition logfs
OKAY [  0.269s]
Finished. Total time: 0.902s
Rebooting into bootloader                          OKAY [  0.018s]
Finished. Total time: 0.119s
Sending 'radio_b' (71468 KB)                       OKAY [  2.780s]
Writing 'radio_b'                                  (bootloader) Flashing Pack version SSD:g845-00194-210812-B-7635520
(bootloader) Flashing partition modem_b
OKAY [  0.423s]
Finished. Total time: 3.394s
Rebooting into bootloader                          OKAY [  0.019s]
Finished. Total time: 0.270s
--------------------------------------------
Bootloader Version...: b1c1-0.4-7617406
Baseband Version.....: g845-00194-210812-B-7635520
Serial Number........: XXXXXXXXX
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Checking 'product'                                 OKAY [  0.059s]
Checking 'version-bootloader'                      OKAY [  0.059s]
Checking 'version-baseband'                        OKAY [  0.059s]
Setting current slot to 'b'                        OKAY [  0.078s]
extracting boot.img (64 MB) to disk... took 0.677s
archive does not contain 'boot.sig'
Sending 'boot_b' (65536 KB)                        OKAY [  2.490s]
Writing 'boot_b'                                   OKAY [  0.321s]
extracting dtbo.img (8 MB) to disk... took 0.056s
archive does not contain 'dtbo.sig'
Sending 'dtbo_b' (8192 KB)                         OKAY [  0.400s]
Writing 'dtbo_b'                                   OKAY [  0.102s]
archive does not contain 'dt.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta.sig'
Sending 'vbmeta_b' (8 KB)                          OKAY [  0.120s]
Writing 'vbmeta_b'                                 OKAY [  0.067s]
archive does not contain 'vbmeta_system.img'
extracting super_empty.img (0 MB) to disk... took 0.000s
Rebooting into fastboot                            OKAY [  0.060s]
< waiting for any device >
Sending 'system_b' (4 KB)                          OKAY [  0.001s]
Updating super partition                           OKAY [  0.019s]
Resizing 'product_b'                               OKAY [  0.005s]
Resizing 'system_b'                                OKAY [  0.006s]
Resizing 'vendor_b'                                OKAY [  0.006s]
archive does not contain 'boot_other.img'
archive does not contain 'odm.img'
extracting product.img (2148 MB) to disk... took 26.647s
archive does not contain 'product.sig'
Resizing 'product_b'                               OKAY [  0.006s]
Sending sparse 'product_b' 1/9 (262140 KB)         OKAY [  9.263s]
Writing 'product_b'                                OKAY [  1.304s]
Sending sparse 'product_b' 2/9 (262140 KB)         OKAY [ 10.195s]
Writing 'product_b'                                OKAY [  1.289s]
Sending sparse 'product_b' 3/9 (262140 KB)         OKAY [ 10.014s]
Writing 'product_b'                                OKAY [  1.269s]
Sending sparse 'product_b' 4/9 (262140 KB)         OKAY [ 10.325s]
Writing 'product_b'                                OKAY [  2.340s]
Sending sparse 'product_b' 5/9 (262140 KB)         OKAY [ 10.254s]
Writing 'product_b'                                OKAY [  1.289s]
Sending sparse 'product_b' 6/9 (262140 KB)         OKAY [ 10.050s]
Writing 'product_b'                                OKAY [  1.320s]
Sending sparse 'product_b' 7/9 (262140 KB)         OKAY [ 10.353s]
Writing 'product_b'                                OKAY [  1.294s]
Sending sparse 'product_b' 8/9 (262140 KB)         OKAY [ 10.516s]
Writing 'product_b'                                OKAY [  1.277s]
Sending sparse 'product_b' 9/9 (102612 KB)         OKAY [  3.970s]
Writing 'product_b'                                OKAY [  0.544s]
archive does not contain 'product_services.img'
extracting system.img (845 MB) to disk... took 13.288s
archive does not contain 'system.sig'
Resizing 'system_b'                                OKAY [  0.006s]
Sending sparse 'system_b' 1/4 (262140 KB)          OKAY [  9.876s]
Writing 'system_b'                                 OKAY [  1.271s]
Sending sparse 'system_b' 2/4 (262140 KB)          OKAY [ 10.578s]
Writing 'system_b'                                 OKAY [  1.289s]
Sending sparse 'system_b' 3/4 (262140 KB)          OKAY [ 10.270s]
Writing 'system_b'                                 OKAY [  1.274s]
Sending sparse 'system_b' 4/4 (79656 KB)           OKAY [  3.154s]
Writing 'system_b'                                 OKAY [  0.422s]
extracting system_other.img (67 MB) to disk... took 0.737s
archive does not contain 'system.sig'
Sending 'system_a' (69440 KB)                      OKAY [  2.707s]
Writing 'system_a'                                 OKAY [  0.344s]
extracting vendor.img (442 MB) to disk... took 5.910s
archive does not contain 'vendor.sig'
Resizing 'vendor_b'                                OKAY [  0.006s]
Sending sparse 'vendor_b' 1/2 (262140 KB)          OKAY [ 10.532s]
Writing 'vendor_b'                                 OKAY [  1.289s]
Sending sparse 'vendor_b' 2/2 (191236 KB)          OKAY [  7.695s]
Writing 'vendor_b'                                 OKAY [  1.008s]
archive does not contain 'vendor_other.img'
Erasing 'userdata'                                 OKAY [  8.253s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Erasing 'metadata'                                 OKAY [  0.009s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 235.583s

Flashing each image individually results in the following:
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash boot boot
boot.img                                  bootloader-blueline-b1c1-0.4-7617406.img
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash boot boot.img
Sending 'boot_b' (65536 KB)                        OKAY [  2.700s]
Writing 'boot_b'                                   OKAY [  0.392s]
Finished. Total time: 3.291s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash bootloader bootloader-blueline-b1c1-0.4-7617406.img
Sending 'bootloader_b' (8521 KB)                   OKAY [  0.440s]
Writing 'bootloader_b'                             (bootloader) Flashing Pack version b1c1-0.4-7617406
(bootloader) Flashing partition table for Lun = 0
(bootloader) Flashing partition table for Lun = 1
(bootloader) Flashing partition table for Lun = 2
(bootloader) Flashing partition table for Lun = 4
(bootloader) Flashing partition table for Lun = 5
(bootloader) Flashing partition msadp_b
(bootloader) Flashing partition xbl_b
(bootloader) Flashing partition xbl_config_b
(bootloader) Flashing partition aop_b
(bootloader) Flashing partition tz_b
(bootloader) Flashing partition hyp_b
(bootloader) Flashing partition abl_b
(bootloader) Flashing partition keymaster_b
(bootloader) Flashing partition cmnlib_b
(bootloader) Flashing partition cmnlib64_b
(bootloader) Flashing partition devcfg_b
(bootloader) Flashing partition qupfw_b
(bootloader) Flashing partition storsec_b
(bootloader) Flashing partition logfs
OKAY [  0.272s]
Finished. Total time: 0.909s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot reboot-bootloader
Rebooting into bootloader                          OKAY [  0.019s]
Finished. Total time: 0.119s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash radio radio-blueline-g845-00194-210812-b-7635520.img
Sending 'radio_b' (71468 KB)                       OKAY [  2.930s]
Writing 'radio_b'                                  (bootloader) Flashing Pack version SSD:g845-00194-210812-B-7635520
(bootloader) Flashing partition modem_b
OKAY [  0.414s]
Finished. Total time: 3.536s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash system system.img
Sending sparse 'system_b' 1/4 (262140 KB)          OKAY [ 10.840s]
Writing 'system_b'                                 FAILED (remote: 'Partition should be flashed in fastbootd')
fastboot: error: Command failed
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot reboot fastboot
Rebooting into fastboot                            OKAY [  0.011s]
< waiting for any device >
Finished. Total time: 16.212s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash system system.img
Resizing 'system_b'                                OKAY [  0.007s]
Sending sparse 'system_b' 1/4 (262140 KB)          OKAY [ 10.777s]
Writing 'system_b'                                 OKAY [  1.297s]
Sending sparse 'system_b' 2/4 (262140 KB)          OKAY [ 10.784s]
Writing 'system_b'                                 OKAY [  1.306s]
Sending sparse 'system_b' 3/4 (262140 KB)          OKAY [ 10.676s]
Writing 'system_b'                                 OKAY [  1.294s]
Sending sparse 'system_b' 4/4 (79672 KB)           OKAY [  3.095s]
Writing 'system_b'                                 OKAY [  0.468s]
Finished. Total time: 39.727s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot flash vendor vendor.img
Resizing 'vendor_b'                                OKAY [  0.006s]
Sending sparse 'vendor_b' 1/2 (262140 KB)          OKAY [ 10.659s]
Writing 'vendor_b'                                 OKAY [  1.275s]
Sending sparse 'vendor_b' 2/2 (191236 KB)          OKAY [  7.817s]
Writing 'vendor_b'                                 OKAY [  0.977s]
Finished. Total time: 20.757s
chris@chris-XPS-13-9300:~/Android/Sdk/platform-tools$ fastboot reboot
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.201s

Have you tried to manually select slot A or B using fastboot --set-active=a

@Robert no I haven't tried that yet. Would it make a difference if I'm writing to slot A or B? I had noticed that it was writing to slot B but wasn't sure if that was significant.

It should not make a difference which slot to use. But at the moment neither slot A nor B is selected which makes booting impossible.

I just ran fastboot --set-active=a and rebooted and I get the same fastboot message as above but with Boot slot: a instead of Boot slot: b.

I'm not sure if I'm misunderstanding your suggestion, but I tried flashing a factory image to the phone again on slot A but am still experiencing the same situation described above.

I guess this is all because of your platform-tools SDK package. You need to install or update it via the following commands:
sudo apt-get update -y
sudo apt-get install -y android-sdk-platform-tools

After installation/update, run again the fastboot flashall command. The formatting issue will be removed, and hopefully, your problem will be solved.


text:
Auto brightness turned off, but it's not
I have problem with auto brightness setting on my android smartphone.
Auto brightness turned off in settings, however it still works via not changing the display brightness, but changing lighntess(or contrast, idk) of the intarface colors.
VIDEOS:
https://i.stack.imgur.com/LVwxZ.jpg
https://i.stack.imgur.com/RqFxj.jpg
SPECS:
Android 11
MIUI 12
Does anyone know a solution of this problem?
It's really important for my work with UI Design.


text:
Change settings on Samsung Galaxy tablet restricted profile
My kids have restricted profiles on my Samsung Galaxy tablet. The settings are good and I like the ability to control which apps they have access to. However, they are unable to sign in to their Google accounts on YouTube, as this appears to be a limitation of a Galaxy restricted profile. They already have Gmail accounts. Each time they try to sign in, they get an error message: "This change isn't permitted by your admin".
Since I am the admin, I would like to change this setting so that they can use their Gmail account to sign in to YouTube. Is there a way to access the settings to perform this change?
Thanks!


text:
Is it possible to dump the internal storage of an unrooted, boot-looping Android 9 with locked bootloader?
Is it possible to dump the internal storage of an unrooted, boot-looping Android 9 with locked bootloader via USB or to SD card, e.g. using some firmware tool in download or recovery mode?
If YES, what is the procedure, and if NO, how exactly does Android prevent read access while simultaneously allowing full read & write access in download mode (= required for flashing/updating firmware files)? Shouldn't it be possible to read out data from disk if it's possible to write data to disk?

Also for now...decryption is secondary (and not part of the question either). First I need to see into the device storage as I'm literally facing a brick with no inside information...I need introspection

"If an API only allows writing then this possible without problems." - Is this a definite statement regarding the Android download mode or just a general remark concerning APIs unrelated to the download mode?

yes, it's possible to dump raw partitions. for MediaTek you have BROM + preloader mode. for Qualcomm you have EDL mode. for Exynos you have usb-emergency-recovery (smdk-tools). all of these have extra security, for Samsung mobiles leaked programmers are rare. ask Alexander Tarasikov. of course dump is useless because of encryption and there is no way to backup TEE

it's possible to dump physical layer (chip off method) or middle layer (easy JTAG). NAND flash file system software exist. it's even possible to fly to the moon, if you have a rocket. I think the cheapest way is buy a second device for experimentation, find a way to hack into and make big money with your solution

its also possible to dump upper file system layer with ISP In-System Programing if you have good soldering skills (Medusa Box or similar required, maybe cheap Arduino??) https://forum.gsmhosting.com/vbb/f664/samsung-a40-isp-pinout-answered-2967555 https://phonelumi.com/samsung-galaxy-a40-sm-a405f-fn-g-schematics

What all Samsung devices have in common, download mode (fastboot) has been replaced with proprietary Odin protocol.
Benjamin Dobell (author of Heimdall) has reverse engineered Odin Software, or at least some parts of the protocol by sniffing libusb traffic. I remember that Heimdall can read the PIT from device. So my assumption is there may exist secret commands not yet discovered. If Samsung call the firmware flashing process "Download", then what you're looking for is "Upload" aka read back data off the device. Feeding search engine with some keywords give this answer:
There exist a Heimdall based S-Boot Dump that uses the Exynos exploit SVE-2019-15230 (discovered by Alexander Tarasikov) to dump memory (RAM?) off the device in UPLOAD_MODE.
The vulnerability has been fixed, but there exist other causes (and maybe secret command?) that will switch from download into upload mode.
you can read step by step tutorial here
https://hexdetective.blogspot.com/2017/02/exploiting-android-s-boot-getting.html

"Wish to test this method in a fully-featured demo license? Contact us via this form" https://www.forensicfocus.com/news/samsung-exynos-support-in-oxygen-forensic-detective


text:
Between fingerprint unlock vs double-tap to wake up, what consumes more power?
Due to past experiences with power buttons, I'm trying to almost not touch the power button (side key) except left with no option. So between these two alternatives of waking up a phone:

Using a fingerprint to unlock and wake up at the same time
Double-tap to wake up and then use a PIN to unlock)

What consumes more power of the two?

Fingerprint sensors are highly specialized hardware components with very little power consumption. Additionally entering the PIN takes additional time which means the display time is higher for a few seconds (and displays usually consume a lot power). So my guess would be using fingerprint is better to unlock. I also use my phone this way and then use double tap on launcher screen to re-lock (Nova Launcher feature).


text:
Why does the WiFi symbol have "R" text on it?
I have this strange "R" on my WiFi signal.

It's not on my cell signal and it's not a glitch. It seems to be set when I am on WiFi, but I don't know why. Sometimes it's there, sometimes it goes away.
The only way I am able to fix the issue is by restarting the phone, but does anyone know why this happens?
When I look online, everyone seems to not know what the main problem is and most threads give up and stop trying to figure out what is going on.

do you have some VPN app installed?

@Esther that is a good question. I have no VPN apps installed. I used to have OpenVPN app back on my old phone but I just got a new phone a month ago and I just checked my apps to double check; and there is no VPN apps currently installed.

What is your phone model, manufacturer and which Android version is running?

Have you tried turning off roaming in your settings? The R stands for roaming.

@Mastaxx This is the WiFi icon, roaming does not apply there.

I know, but from what i read from other users having this problem it appears roaming still needs to be turned off to get rid of it?

It wouldn't make sense. Roaming refers to your device not being in its home country and using the network where it is, in most places (outside of the EU) at increased cost. For this to apply, it would have to for example geolocate the external IP it uses and then decide to show said icon, which has no added value. WiFi is WiFi, and almost always freely available...

I'm wondering if there's a built in VPN function on the asker's phone that either kicks in or is buggy. Can you please answer @Robert's question on which model, manufacturer and Android version you have?

Sorry for the delay @Robert and MiG. The model: Moto G Stylus (2021). Manufacturer: Motorola. Android Version: 10 (build number QPCS30.Q4-31-26-1-9)

Thanks! And which WiFi network is it connected to when said 'R' is displayed? Is it a specific one or ones at certain locations, or does this also happen to for example your home network?

Only my home network. Its usually connected to the wifi extender's ssid.

For as far as I can tell so far it seems to be a bug, specifically with Motorola Android devices (Motorola themselves do not list WiFi-with-R in their glossary of terms and WiFi troubleshooting section either).
I've seen one mention that a factory reset might resolve this, so if it's particularly annoying it's worth a try.
If you want to help squash said bug I would first contact them before performing that reset though, maybe they can finally track it down and fix it for everyone.

It means that your WiFi has a repeater (like a range extender). Or your AP was in repeater mode.

For those not familiar, AP = Access Point.


text:
How to enable "display over other apps" feature on Unimax UMX U696CL?
I have a Unimax UMX U696CL and when I got to give permission for an app to draw over, it tells me the feature has been turned off because it makes my phone run slow.
How to enable the feature on this device?

Just for additional info: according to the manual (PDF), looks like this runs on Android 11, though it's unclear if it's Go version or not. Otherwise, the restriction may be implemented on the ROM itself, so to enable this, the user might need to flash a custom ROM that enables this feature (if it exists, or if it's even possible to flash a custom ROM)

TWRP + LineageOS


text:
Syncing calendar events between Samsung Galaxy J3 V and Motorola Moto G Power
My wife and I had Samsung Galaxy J3 Vs for several years. She still has hers (and loves it), but mine was accidentally destroyed last week, and I just got a new Motorola Moto G Power.
When we both had J3Vs, EVERYTHING I posted on my Calendar was automatically also posted on her Calendar, and vice-versa. This was a VERY VERY important capability for us. This was some 3rd-party calendar app that came with the phone; I don't know who created it.
My new Moto G has some version of Google Calendar, and it won't do this.  I can't find her Calendar app on the Play Store anywhere.  It was extremely simple to set up. When you added an event, there was a space to put a person's email address. Then the event would show up on that person's calendar as well as yours.
Can anyone suggest a Calendar app that will do this?
Possible solution: uninstall the Google Calendar from my Moto G, then transfer her Calendar app over from her J3V. Would that work? Please help, thanks.

You don't need to uninstall Google Calendar app on your devices. Multiple calendars can exists on a device. First I would try to find out the exact app name and package name of the calendar app on the J3V. You can use an app info app like AppInspector

AFAIK, Google Calendar also allows adding guests by email addresses. This will integrate automatically for Google-based accounts (make sure the Calendar sync is enabled from the Android Settings), but probably need a manual interaction for other email providers/calendar apps by consuming the attached .ics file.


text:
Not able to connect USB or gamepad through Type-C adapter
I'm trying to connect a gamepad with my mobile but it is not connecting.

On mobile 1 (Xiaomi Redmi), I connected the gamepad it was not working. I found that the gamepad works only with applications that request USB permission. So I installed an app that asks for USB permission, and it worked. I installed a game, cast the screen on the TV and everything was working fine. After a few seconds, it stopped working. And now it is not connecting anymore. Before connecting, I tried to read an SD card through a USB port and it was working fine. Now even that is not working.

On mobile 2 (another version of Xiaomi Redmi), it shows that the gamepad is connected as the light is not blinking but always on. But nothing works.

On mobile 3 (OnePlus), did a few attempts, but it didn't work. But then it started working automatically. Without giving any additional permission. Probably it was trying to download some driver in the background, no idea.

Additional info

USB tethering is disabled. It says the USB is not connected. But if I connect the data cable with a laptop then it's connected.

How can I debug or fix this issue on Xiaomi mobiles?
Update
It seems weird. But when mobile battery is less than 15% then it automatically connects.

What's the gamepad model? Does this happen for all gamepads or just one? Does it still time out with a Bluetooth-connected gamepad? Based on the description I'd guess this is a problem on the device's side.

It is happening with all devices like USB, microsd card through OTG, gamepad, c port headphones. Etc. Ideally OTG option should be developer option, I believe. But not in my case.


text:
Is it sensible to turn off the phone for charging?
I know that electronic devices, when not in use for a few hours and especially when charging, should be turned off.
However, when I turn my phone off and plug it into the charger, it shows the "Unlocked Bootloader" warning before showing the charging status, meaning it turns itself on again somewhat.
Is the wear of that negligible, or would it make more sense to simply leave the phone on in battery saving/flight mode when charging overnight?

I would not shut down the phone before charging because of two reasons:

Modern phones often have an optimized battery loading algorithm especially when charging over night. The charging speed is reduced and the last percent or charged the hour before you usually disconnect the phone from charger. Such an advanced loading strategy is usually not implemented in "charging OS" (the minimal OS started for charging).

Another reason is your power button. Turning the phone on usually requires the power button. Unfortunately this crucial button is often the part that fails first...


text:
How to spoof/change IMEI that is sent to the service provider using an open source or "official" software?
I bought my phone (Pixel 2 XL) abroad and hence, my IMEI is not present my country's IMEI registry. Hence, I'm not allowed to use any service providers. Hence, I want to spoof/change my IMEI so that the service provider will receive a different IMEI and hence, I will be able to use my phone.
What's the most secure way of doing this? I believe there used to be the PDroid project but AFAICT, it is not maintained anymore. Likewise, there's the Xposed framework, but it doesn't seem to be maintained either. I guess I can also use stuff like Qualcomm Product Support Tool (QPST) to change the IMEI directly on the chipset, but I wasn't able to find an "official" copy. That is, I registered to Qualcomm's website but they don't let me access to their "support software" section. Hence, I cannot download an "official copy" of QPST.
So, what are my options here? I would prefer to use an open source software, or if closed source, prefer the software to be directly provided by an "official" source, such as Qualcomm, etc.

Xposed has been superseded by EdXposed, a Magisk module (and there are other Xposed forks you can try).


text:
How to clone an app in 2022?
So, I tried to clone an app but it didn't work. My goal is to have an application with 2 different versions installed on the same smartphone, without using additional applications such as Parallel Space.
On the old version of the app, I was able to do it normally using Lucky Patcher(LP). But on the latest version of the app, I failed to use LP to clone the app. Then, I tried to kill signature verification before cloning, but that didn't work either. Then I tried killing signature verification using MT Manager and re-signing it before putting it in LP, but it didn't work either.
On LP, it shows the application has been cloned successfully. However when I open it, the app is like force close before fully opening.
How to do it? Did I miss something?

Lucky Patcher tends to not work on newer apps. Your best option would be apps like Parallel Space or a phone/custom ROM with that functionality built-in.

It's alright. I've done it.

It's resolved now. I have no idea why using LP sometimes it's not work on a specific app.
I used the APK Editor app to solve this problem. By going through killing signature verification and changing the package name a bit.


text:
Use infrared LED of the proximity sensor as a remote control
The proximity sensor present in almost all Android phones have a infrared light and a sensor. There exists an app that use this infrared to act as IR remote control? If no, it's possible to construct an app to do that?

The Android API only return 0 and 1 for the proximity sensor, but I don't know if that is the real output of the sensor or if it is interpreted by Android. On a rooted device direct hardware access may reveal more details on the sensor data, but I don't think the sensor is fast enough for IR signals which use about 30KHz or more as base signal.

I mean if it's possible to use an app to control that infrared led using it to control other devices like TV.


text:
How to disable a broken system service in Android 11
tl;dr: the fps_hal init service on my phone is constantly restarting, and since I don't use the fingerprint sensor I want to disable it.
Background:
Trying to debug my own app on LineageOS 18.1 (Android 11), logcat gave a ton of information about a system service going haywire:
06-25 15:50:23.258     0     0 I init    : starting service 'fps_hal'...
06-25 15:50:23.262     0     0 I init    : Created socket '/dev/socket/fpc_oem', mode 660, user 1000, group 1000
06-25 15:50:24.116 30815 30815 D fpc_hidl: fpc fingerprint hwbinder service starting
06-25 15:50:24.117 30815 30815 D libfingerprint_core: core_init
06-25 15:50:24.117 30815 30817 D libfingerprint_core: worker_thread: started
06-25 15:50:24.117 30815 30817 D libfingerprint_core: pick_task: suspended 0
06-25 15:50:24.117 30815 30817 D libfingerprint_core: pick_task: No tasks
06-25 15:50:24.117 30815 30817 D libfingerprint_core: worker_thread: Waiting tasks, suspended 0, on pause 0
06-25 15:50:24.120 30815 30815 I fingerprint_key_handler: Input device qpnp_pon (/dev/input/event0) supports KEY_POWER
06-25 15:50:24.122 30815 30815 D fingerprint-oem-server: install_oem_client_handler: installed ID 2
06-25 15:50:24.122 30815 30815 D fingerprint-oem-server: install_oem_client_handler: installed ID 3
06-25 15:50:24.122 30815 30818 I fingerprint_key_handler: key_thread: starting
06-25 15:50:24.124 30815 30815 I fingerprint_key_handler: Input device qpnp_pon (/dev/input/event0) supports KEY_POWER
06-25 15:50:24.126 30815 30815 D fingerprint-oem-server: start_oem_server
06-25 15:50:24.126 30815 30815 D fingerprint-oem-server: open_socket: pass
06-25 15:50:24.126 30815 30815 D libfingerprint_core: core_init fingerprint wakeup supported.
06-25 15:50:24.126 30815 30815 D libfingerprint_core: set_env: added key 'hal_dev' value 0x71ac4e7430
06-25 15:50:24.126 30815 30815 D libfingerprint_core: task_alloc: authenticate
06-25 15:50:24.126 30815 30815 D libfingerprint_core: task_set_suspendable: authenticate
06-25 15:50:24.126 30815 30815 D libfingerprint_core: task_alloc: enroll
06-25 15:50:24.126 30815 30815 D libfingerprint_core: task_alloc: remove
06-25 15:50:24.126 30815 30815 D libfingerprint_core: task_alloc: enumerate
06-25 15:50:24.127 30815 30819 I fingerprint_key_handler: key_thread: starting
06-25 15:50:24.133 30815 30815 D QSEECOMAPI: QSEECom_get_handle sb_length = 0x80
06-25 15:50:24.134 30815 30815 D QSEECOMAPI: App is not loaded in QSEE
06-25 15:50:24.134 30815 30815 D QSEECOMAPI: app_arch = 1, total_files = 9
06-25 15:50:23.346     0     0 W QSEECOM : qseecom_load_app: App (fpctzfingerprint) does'nt exist, loading apps for first time
06-25 15:50:24.257 30815 30815 D QSEECOMAPI: Loaded image: APP id = 69996
06-25 15:50:23.464     0     0 W QSEECOM : qseecom_load_app: App with id 69996 (fpctzfingerprint) now loaded
06-25 15:50:24.264 30815 30815 E fpc_tac : fpc_tac_transfer send_cmd failed -11
06-25 15:50:24.264 30815 30815 E fpc_tac : fpc_tee_print_build_info, fpc_tac_transfer failed -4.
06-25 15:50:24.273 30815 30815 E fpc_tac : fpc_tac_transfer send_cmd failed -11
06-25 15:50:24.273 30815 30815 E fpc_tac : sensor_command, Failed to send command: 4 to TA, status code: -4
06-25 15:50:24.277 30815 30815 E fpc_fingerprint_hal: fpc_hal_open failed
06-25 15:50:24.277 30815 30815 I scudo   : Scudo ERROR: invalid chunk state when deallocating address 0x00705c4e4350
06-25 15:50:24.277 30815 30815 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30815 (fpc_fingerprint), pid 30815 (fpc_fingerprint)
06-25 15:50:24.336 30823 30823 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
06-25 15:50:24.337   726   726 I tombstoned: received crash request for pid 30815
06-25 15:50:24.337 30823 30823 I crash_dump64: performing dump of process 30815 (target tid = 30815)

Pulling out some keywords, I ran getprop|grep "init" and all the init services are listed as running except this one:
[init.svc.fps_hal]: [restarting]

And that's where I'm stuck. service list gives me nothing to go on, Google gives me nothing, and my knowledge of the Android init procedure and directory structure is close to nil.
Can anyone help point me to where this service is managed from, and how to disable it? If the location is SELinux protected, is there a way to patch without re-flashing the entire ROM? Thanks in advance.

service list gives a list of Android framework services running in Java stack. fps_hal is an init service running in native stack. They are entirely different. You can do setprop ctl.stop fps_hal or simply stop fps_hal. Requires root.


text:
Web browsers' privacy - how much does the OS know?
TL;DR: When using 3rd-party web browsers (e.g. Firefox), how much does the OS (Android) know about the user's activities?
Most information on the internet about privacy-focused web browsers focuses on tracking protection. Similarly, narrowing down the search queries to Android mostly gives results about Android permissions. But there is one glaring omission which I never see addressed: what about the OS itself? So, my question:

How much does Android itself know about what is going on in the browser app? I.e. which sites the user visits, what the user sees, clicks on...?

(...and, optionally:
1.1 Does it make any difference when using the browser's private mode or not?
1.2 Does it make a difference whether the device is running vanilla Android or one of the myriad vendors' customizations?)
In case the question is too broad, please consider specifically: Firefox / Android 12 / One UI 4.1 (Samsung).

"which sites the user visits": if DNS queries go through the OS, it always knows every site you visit. // "what the user sees": WindowManager is a framework service which always knows what's appearing on the screen. // "what the user clicks on": screen touches are passed to the apps by the OS. So the latter is always in a position to know what you clicked / tapped on. // Whether a ROM logs your activities or not, cannot be answered with certainty by the community.

Thanks. I would readily accept this as an answer, actually.


text:
Why does the internet connection lag when I hold the phone in a specific way?
I want to know what's really at play between my smartphone, Android 11, and my holding has to do with loading content.
By "loading content", I mean when I enter a search term in Chrome, when I open YouTube, to Chrome loading the search results, to the search result I click on, going to the web page. Once on the web page, the content loading just trying, trying, trying to load.
It takes a noticeable time to complete the loading, which sometimes doesn't load at all until I sit the phone down like a table or anything really, out of my hands, off of my lap when I'm sitting, not touching the phone, and bam, the content loads almost immediately.
It's happened so much that I took notice of it, now I want to know what's really going on here.

Anecdotally, I have experienced a similar issue while holding the top part of the phone, and then the internet connection suddenly lagged. My assumption is that the hand somehow blocked the WiFi receptor enough that the signal got disrupted. However, this is just a wild guess since Physics-wise, I thought the WiFi signal should pass through the hand easily.

Not with Wi-Fi, but with Mobile Data I've been observing the same behavior on almost all phones I've used so far. So I conclude that cellular radiations are certainly weakened by the human body.

Humanoids (that's you... and maybe even me) are made of materials that are fairly effective at blocking (absorbing) radio signals of many different wavelengths and frequencies.
To transmit and receive data via radio waves (such as by WiFi and mobile data), your phone uses at least one antenna.  When you place your grubby paws over an antenna, your extremities restrict - to a degree - effective transmission/receipt of radio waves.
When I get any new phone, I always determine where the antennas (and microphone(s)!) are located within the device so I don't accidentally block them with as I hold the device.
A "pro tip" I discovered years ago is to keep a short, but wide, round glass cup where you often use your phone.  When you need a better connection, place your phone in the empty glass cup.  This will keep your hands off the phone while providing a stand that may actually improve reception just a bit. This technique has worked well for me for quite a few years.

Try turn off Experimental QUIC Protocol by navigating to chrome://flags/#enable-quic and disable it from the dropdown.

Could you explain why this setting is relevant to the issue, which seems related to physical instead of software?

Google Chrome uses QUIC to connect to all google services by default. As such all requests to google services via the Google Chrome browser use UDP instead of TCP.  On the surface, QUIC is very similar to TCP+TLS+HTTP/2 implemented on UDP. Because TCP is implemented in operating system kernels, and middle box firmware, making significant changes to TCP is next to impossible. However, since QUIC is built on top of UDP, it suffers from no such limitations. Because QUIC protocol is based on top of UDP, packet delivery is not 100% guaranteed. Chrome have this QUIC protocol turned on by default!

Thanks for the explanation, that's certainly helpful, but still... for this specific question, what I (and possibly the OP) want to know is why was there a connection issue when the phone was held and no issue when it was not touched?

Wow, I knew someone would know what's going on from Stackexchange. Thank you all very much


text:
Samsung's note-taking app encryption algorithms
Does anyone know what's the encryption algorithm used in Samsung's Android note-taking app?