text:
Approaches to support exFat on AOSP Android 10+ where it isnt native
Just found out that my AOSP Android does not support exFat. Any thoughts about getting exFat support  added.  I read about this plugin that will work  only for USB-OTG not for memory card - lest I will be forced to go VFAT with the 4gb limitation.I have seen some discussion on stack regarding this but no solution.
--How do I compile exFat support in Kernel
--  -- If my /proc/mounts list ext4  does it mean if I format this to ext4 it will auto mount it or 1st partition of SD card unless vfat will not auto mount
 Alternatively how can I adopt this posix-vold project to my ROM .  I modified the install script & removed the checks ( for Oreo ,Arm64 etc )  and installed it via magisk and it get stuck at this point
Compressing Ramdisk to fit in partition.....insufficient partition size ...installation failed

 /proc/filesystems looks like this :
     # cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cpuset
nodev   cgroup
nodev   cgroup2
nodev   tmpfs
nodev   configfs
nodev   debugfs
nodev   tracefs
nodev   sockfs
nodev   dax
nodev   bpf
nodev   pipefs
nodev   devpts
    ext3
    ext2
    ext4
    vfat
    msdos
    iso9660
nodev   sdcardfs
    fuseblk
nodev   fuse
nodev   fusectl
nodev   overlay
nodev   pstore
nodev   selinuxfs
nodev   functionfs

I am looking for something that will work. How about an X-posed mod any out there ?

Related: Since which Android version is exFat supported? and How to bind mount a folder inside /sdcard with correct permissions? and How to create and use multiple partitions on external SD card with different filesystems?

guess the Known issue section applies to all solutions. maybe check post from Ziona (at least NTFS, untested)

ziona did not work I will post my debug log there

seems you must build your own kernel first

how "easy" is that..if easy enough remember that ota prob. ? wanna inc that as well. Surprised ... how in the world did Android dev think of iso9660 aka optical disk support and forgot exFat / NTFS

it's not easy, but possible. probably hardest step is find kernel source code https://www.xda-developers.com/micromax-in-note-1-in-1b-bootloader-unlock-guide-kernel-source-code


text:
attempt to install twrp 3.0.0.0 on Samsung G930U (heroqlteue) fails
I downloaded TWRP from here and Odin from here and tried flashing the .img file which I compressed to .tar using 7zip.
Odin outputs that:
<ID:0/005> Added!!
<ID:0/005> Odin engine v(ID:3.1401)..
<ID:0/005> File analysis..
<ID:0/005> Total Binary size: 17 M
<ID:0/005> SetupConnection..
<ID:0/005> Initialzation..
<ID:0/005> Get PIT for mapping..
<ID:0/005> Firmware update start..
<ID:0/005> NAND Write Start!!
<ID:0/005> SingleDownload.
<ID:0/005> recovery.img
<ID:0/005> RQT_CLOSE !!
<ID:0/005>
<ID:0/005> Complete(Write) operation failed.
<OSM> All threads completed. (succeed 0 / failed 1)

using Odin with the downloaded .md5 file gets me this:
<ID:0/005> Added!!
<OSM> Enter CS for MD5..
<OSM> Check MD5.. Do not unplug the cable..
<OSM> Please wait..
<OSM> Checking MD5 finished Sucessfully..
<OSM> Leave CS..
<ID:0/005> Odin engine v(ID:3.1401)..
<ID:0/005> File analysis..
<ID:0/005> Total Binary size: 17 M
<ID:0/005> SetupConnection..
<OSM> All threads completed. (succeed 0 / failed 1)
<ID:0/005> Removed!!
<ID:0/005> Added!!
<ID:0/005> Odin engine v(ID:3.1401)..
<ID:0/005> File analysis..
<ID:0/005> Total Binary size: 17 M
<ID:0/005> SetupConnection..
<ID:0/005> Initialzation..
<ID:0/005> Get PIT for mapping..
<ID:0/005> Firmware update start..
<ID:0/005> NAND Write Start!!
<ID:0/005> SingleDownload.
<ID:0/005> recovery.img
<ID:0/005> FAIL! (Auth)
<ID:0/005>
<ID:0/005> Complete(Write) operation failed.
<OSM> All threads completed. (succeed 0 / failed 1)

And my phone beeing in download mode outputs a red colored line SECURE CHECK FAIL : recovery in both cases
Using exactly this tutorial step by step Odin outputs this:
<ID:0/005> Added!!
<OSM> Enter CS for MD5..
<OSM> Check MD5.. Do not unplug the cable..
<OSM> Please wait..
<OSM> CF-Auto-Root-heroqlteue-heroqlteue-smg930u.tar.md5 is valid.
<OSM> Checking MD5 finished Sucessfully..
<OSM> Leave CS..
<ID:0/005> Odin engine v(ID:3.1005)..
<ID:0/005> File analysis..
<ID:0/005> SetupConnection..
<ID:0/005> Initialzation..
<ID:0/005> Get PIT for mapping..
<ID:0/005> Firmware update start..
<ID:0/005> SingleDownload.
<ID:0/005> recovery.img
<ID:0/005> NAND Write Start!!
<ID:0/005> cache.img.ext4
<ID:0/005> FAIL! (Auth)
<ID:0/005>
<ID:0/005> Complete(Write) operation failed.
<OSM> All threads completed. (succeed 0 / failed 1)

Can someone tell me how to install twrp onto this device or root it anyhow else?

unlock bootloader first

I guess I can't unlock it for this device.. I enabled unlocked oem bootloader in developer settings before doing that odin action, but it doesn't work nevertheless

The  NAM variant (U, U1) can't be unlocked in the first place. heroqlte applies to the CN variant (G9300).

I assume you want to tell me, that I have the CN variant wich can be unlocked (?)

Does this answer your question? How to unlock bootloader on Samsung Galaxy S6 Lite?

@qGold Quite the opposite, you have the NAM variant which is a dead end.

Oh damn. So  I guess I have to look for another phone..

@alecxs that doesn't work for my phone :(

once you got SECURE CHECK FAIL you must start from scratch (including 7-days waiting period for RMM prenormal)

Okay.. see you again in 7 days with most probably another error^^

source: Stack Exchange

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

sort: votes


text:
How can I sort android 10 app updates by time of release?
Android 10 app update notifications do not include the name of the app. Some apps are intentionally not updated. Is there a way to tell which app has a newly available update? Perhaps an OS feature or a 3rd-party utility is available.

Ideally, I would like to sort all apps by the date of the most recently available update and also display the date of release of the installed version. Thank you!

This should be unrelated to the Android version, but more about the store app (possibly Google Play Store).

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


text:
Is it possible to update the security patch level of Android 7.1.2 to 2019-10-01?
I need help in understanding Android security patch level. I am running Android 7.1.2 in an IMX.7 board. That is the maximum version supported by my h/w.
From the NVD vulnerability database, running CPE name search against cpe:/:google:android:7.1.2 results in 1214 vulnerabilities, published from 2010 to 2021. The current security patch level of my android is 2017-05-05 which will fix most of vulnerabilities published earlier to 2017. The 2019-10-01 android security bulletin link says it fixes vulnerabilities for 7.1.1, 7.1.2. So is it possible to update my android security patch level to 2019-10-01, so that I can eliminate the vulnerabilities (not all but most) before Oct, 2019.
But I also found from this page, the max security patch level for android-7.1.2_r39(last Nougat release) is 2017-10-01. And I also found the code change for vulnerabilities listed in 2019-10-01 security bulletin are missing in android-7.1.2_r39. So this means 7.1.2 security patch level cannot be updated to 2019-10-01 or Fixes in 2019-10-01 are not implemented in android-7.1.2_r39? I lack understanding on android releases and security patch levels & would like the help from the community.

Based on my understanding, the security patch has been merged to the AOSP 7.1.2 codebase. However, to update the security patch means that someone needs to build a ROM based on that codebase for your device (e.g. the official Lineage OS for Nexus 5 stopped at Android 7.1.2, with security patch 2018-12-5).

anything can be patched

In the end the answer is the same as for this question: https://android.stackexchange.com/questions/226636/how-to-upgrade-my-android-device-to-latest-android-version


text:
customize swiftkey layout
The title sums it up: how can we customize swiftkey layouts?
To ensure I don't do Y-X problem, my intention is to put an apostrophe (single quote) and median point on the main layout (abc keys, no modifier).
I expect we can retrieve the layouts somewhere, modify the one we want to our wishes, and push it back/ or at least push it to our device(s)?

According to Microsoft SwiftKey Support, it's still not possible.

Thanks a lot @AndrewT. Sad, and the reasons evoked are pretty much laughable ("deep customize", "complicated to set up", really?!).
Anyway I hadn't found that entry, thanks.


text:
How to get work profile container working on a rooted device
I want to use work profile container with shelter on a rooted device
I have pached most of samsung knox by using smali patcher magisk module and to use shealth changing build.prop entry from ro.config.tima=1 to ro.config.tima=0
This is all the progress that I have made so how so I get work profile container to work
It's displaying

The security policy prevents the creation of a managed device because a custom OS is or has been installed on this device


text:
Internal memory block device like "/dev/block/mmcblk0" is missing
I would like to ask for an advice. I've got LG V40 mobile phone from a friend. Unfortunatelly, he has done factory reset even though he had important photos in the phone (internal memory). I would like to make block a copy via dd and try to rescue at least some photos. Someone already rooted the phone and installed TWRP there and I don't know what else. Now I can only access fastboot and TWRP on the phone. When I list "/dev/block" folder through adb, I can see this:

judypn:/ # ls -la /dev/block/
total 0
drwxr-xr-x  4 root   root       2660 2019-09-09 06:33 .
drwxr-xr-x 10 root   root       4620 2019-09-09 06:33 ..
lrwxrwxrwx  1 root   root         37 2019-09-09 06:33 bootdevice -> /dev/block/platform/soc/1d84000.ufshc
drwxr-xr-x  2 root   root       1940 2019-09-09 06:33 by-name
brw-------  1 root   root     7,   0 2019-09-09 06:33 loop0
brw-------  1 root   root     7,   8 2019-09-09 06:33 loop1
brw-------  1 root   root     7,  16 2019-09-09 06:33 loop2
brw-------  1 root   root     7,  24 2019-09-09 06:33 loop3
brw-------  1 root   root     7,  32 2019-09-09 06:33 loop4
brw-------  1 root   root     7,  40 2019-09-09 06:33 loop5
brw-------  1 root   root     7,  48 2019-09-09 06:33 loop6
brw-------  1 root   root     7,  56 2019-09-09 06:33 loop7
drwxr-xr-x  3 root   root         60 2019-09-09 06:33 platform
brw-------  1 root   root     1,   0 2019-09-09 06:33 ram0
brw-------  1 root   root     1,   1 2019-09-09 06:33 ram1
brw-------  1 root   root     1,  10 2019-09-09 06:33 ram10
brw-------  1 root   root     1,  11 2019-09-09 06:33 ram11
brw-------  1 root   root     1,  12 2019-09-09 06:33 ram12
brw-------  1 root   root     1,  13 2019-09-09 06:33 ram13
brw-------  1 root   root     1,  14 2019-09-09 06:33 ram14
brw-------  1 root   root     1,  15 2019-09-09 06:33 ram15
brw-------  1 root   root     1,   2 2019-09-09 06:33 ram2
brw-------  1 root   root     1,   3 2019-09-09 06:33 ram3
brw-------  1 root   root     1,   4 2019-09-09 06:33 ram4
brw-------  1 root   root     1,   5 2019-09-09 06:33 ram5
brw-------  1 root   root     1,   6 2019-09-09 06:33 ram6
brw-------  1 root   root     1,   7 2019-09-09 06:33 ram7
brw-------  1 root   root     1,   8 2019-09-09 06:33 ram8
brw-------  1 root   root     1,   9 2019-09-09 06:33 ram9
brw-------  1 root   root     8,   0 2019-09-09 06:33 sda
brw-------  1 root   root     8,   1 2019-09-09 06:33 sda1
brw-------  1 root   root     8,  10 2019-09-09 06:33 sda10
brw-------  1 root   root     8,  11 2019-09-09 06:33 sda11
brw-------  1 root   root     8,  12 2019-09-09 06:33 sda12
brw-------  1 root   root     8,  13 2019-09-09 06:33 sda13
brw-------  1 root   root     8,  14 2019-09-09 06:33 sda14
brw-------  1 root   root     8,  15 2019-09-09 06:33 sda15
brw-------  1 root   root   259,   0 2019-09-09 06:33 sda16
brw-------  1 root   root   259,   1 2019-09-09 06:33 sda17
brw-------  1 root   root   259,   2 2019-09-09 06:33 sda18
brw-------  1 root   root   259,   3 2019-09-09 06:33 sda19
brw-------  1 root   root     8,   2 2019-09-09 06:33 sda2
brw-------  1 root   root   259,   4 2019-09-09 06:33 sda20
brw-------  1 root   root   259,   5 2019-09-09 06:33 sda21
brw-------  1 root   root   259,   6 2019-09-09 06:33 sda22
brw-------  1 root   root   259,   7 2019-09-09 06:33 sda23
brw-------  1 root   root   259,   8 2019-09-09 06:33 sda24
brw-------  1 root   root   259,   9 2019-09-09 06:33 sda25
brw-------  1 root   root   259,  10 2019-09-09 06:33 sda26
brw-------  1 root   root   259,  11 2019-09-09 06:33 sda27
brw-------  1 root   root   259,  12 2019-09-09 06:33 sda28
brw-------  1 root   root   259,  13 2019-09-09 06:33 sda29
brw-------  1 root   root     8,   3 2019-09-09 06:33 sda3
brw-------  1 root   root     8,   4 2019-09-09 06:33 sda4
brw-------  1 root   root     8,   5 2019-09-09 06:33 sda5
brw-------  1 root   root     8,   6 2019-09-09 06:34 sda6
brw-------  1 root   root     8,   7 2019-09-09 06:34 sda7
brw-------  1 root   root     8,   8 2019-09-09 06:33 sda8
brw-------  1 root   root     8,   9 2019-09-09 06:33 sda9
brw-------  1 root   root     8,  16 2019-09-09 06:33 sdb
brw-------  1 root   root     8,  17 2019-09-09 06:33 sdb1
brw-------  1 root   root     8,  18 2019-09-09 06:33 sdb2
brw-------  1 root   root     8,  32 2019-09-09 06:33 sdc
brw-------  1 root   root     8,  33 2019-09-09 06:33 sdc1
brw-------  1 root   root     8,  34 2019-09-09 06:33 sdc2
brw-------  1 root   root     8,  48 2019-09-09 06:33 sdd
brw-------  1 root   root     8,  49 2019-09-09 06:33 sdd1
brw-------  1 root   root     8,  50 2019-09-09 06:33 sdd2
brw-------  1 root   root     8,  51 2019-09-09 06:33 sdd3
brw-------  1 root   root     8,  64 2019-09-09 06:33 sde
brw-------  1 root   root     8,  65 2019-09-09 06:33 sde1
brw-------  1 root   root     8,  74 2019-09-09 06:33 sde10
brw-------  1 root   root     8,  75 2019-09-09 06:33 sde11
brw-------  1 root   root     8,  76 2019-09-09 06:33 sde12
brw-------  1 root   root     8,  77 2019-09-09 06:33 sde13
brw-------  1 root   root     8,  78 2019-09-09 06:33 sde14
brw-------  1 root   root     8,  79 2019-09-09 06:33 sde15
brw-------  1 root   root   259,  14 2019-09-09 06:33 sde16
brw-------  1 root   root   259,  15 2019-09-09 06:33 sde17
brw-------  1 root   root   259,  16 2019-09-09 06:33 sde18
brw-------  1 root   root   259,  17 2019-09-09 06:33 sde19
brw-------  1 root   root     8,  66 2019-09-09 06:33 sde2
brw-------  1 root   root   259,  18 2019-09-09 06:33 sde20
brw-------  1 root   root   259,  19 2019-09-09 06:33 sde21
brw-------  1 root   root   259,  20 2019-09-09 06:33 sde22
brw-------  1 root   root   259,  21 2019-09-09 06:33 sde23
brw-------  1 root   root   259,  22 2019-09-09 06:33 sde24
brw-------  1 root   root   259,  23 2019-09-09 06:33 sde25
brw-------  1 root   root   259,  24 2019-09-09 06:33 sde26
brw-------  1 root   root   259,  25 2019-09-09 06:33 sde27
brw-------  1 root   root   259,  26 2019-09-09 06:33 sde28
brw-------  1 root   root   259,  27 2019-09-09 06:33 sde29
brw-------  1 root   root     8,  67 2019-09-09 06:33 sde3
brw-------  1 root   root   259,  28 2019-09-09 06:33 sde30
brw-------  1 root   root   259,  29 2019-09-09 06:33 sde31
brw-------  1 root   root   259,  30 2019-09-09 06:33 sde32
brw-------  1 root   root   259,  31 2019-09-09 06:33 sde33
brw-------  1 root   root   259,  32 2019-09-09 06:33 sde34
brw-------  1 root   root   259,  33 2019-09-09 06:33 sde35
brw-------  1 root   root   259,  34 2019-09-09 06:33 sde36
brw-------  1 root   root   259,  35 2019-09-09 06:33 sde37
brw-------  1 root   root   259,  36 2019-09-09 06:33 sde38
brw-------  1 root   root   259,  37 2019-09-09 06:33 sde39
brw-------  1 root   root     8,  68 2019-09-09 06:33 sde4
brw-------  1 root   root   259,  38 2019-09-09 06:33 sde40
brw-------  1 root   root   259,  39 2019-09-09 06:33 sde41
brw-------  1 root   root   259,  40 2019-09-09 06:33 sde42
brw-------  1 root   root   259,  41 2019-09-09 06:33 sde43
brw-------  1 root   root   259,  42 2019-09-09 06:33 sde44
brw-------  1 root   root   259,  43 2019-09-09 06:33 sde45
brw-------  1 root   root   259,  44 2019-09-09 06:33 sde46
brw-------  1 root   root   259,  45 2019-09-09 06:33 sde47
brw-------  1 root   root   259,  46 2019-09-09 06:33 sde48
brw-------  1 root   root   259,  47 2019-09-09 06:33 sde49
brw-------  1 root   root     8,  69 2019-09-09 06:33 sde5
brw-------  1 root   root   259,  48 2019-09-09 06:33 sde50
brw-------  1 root   root   259,  49 2019-09-09 06:33 sde51
brw-------  1 root   root   259,  50 2019-09-09 06:33 sde52
brw-------  1 root   root   259,  51 2019-09-09 06:33 sde53
brw-------  1 root   root     8,  70 2019-09-09 06:33 sde6
brw-------  1 root   root     8,  71 2019-09-09 06:33 sde7
brw-------  1 root   root     8,  72 2019-09-09 06:33 sde8
brw-------  1 root   root     8,  73 2019-09-09 06:33 sde9
brw-------  1 root   root     8,  80 2019-09-09 06:33 sdf
brw-------  1 root   root     8,  81 2019-09-09 06:33 sdf1
brw-------  1 root   root     8,  82 2019-09-09 06:33 sdf2
brw-------  1 root   root     8,  83 2019-09-09 06:33 sdf3
brw-------  1 root   root     8,  84 2019-09-09 06:33 sdf4
brw-------  1 root   root     8,  85 2019-09-09 06:33 sdf5
brw-------  1 root   root     8,  96 2019-09-09 06:33 sdg
brw-------  1 system system   8,  97 2019-09-09 06:33 sdg1
brw-------  1 root   root   254,   0 2019-09-09 06:33 zram0
brw-------  1 root   root   254,   1 2019-09-09 06:33 zram1

There is no device like "/dev/block/mmcblk0". This should represent whole device internal memory. Am I right? What could be a problem? Or how can I address and copy (block level) whole internal memory? My knowledge about Android is really limited so I appreciate every hint you can give me. Thank you!

If you are talking about the "LG V40 ThinQ" released in 2018 this phone came with Android 8.1 according to PhoneArena. As far as I know this means it is encrypted by default. A factory reset deleted the encryption key so any data recovery you try will fail. You can check the device. If in settings -> security -> encryption is enabled after the factory reset then you can stop.

See also https://android.stackexchange.com/questions/209999/data-deleted-after-encryption-recoverable

Your device must have an UFS storage chip, not eMMC. sd[a|b|c|...] and mmcblk[0|1|2|...] are just naming conventions in Linux kernel for different types of storage devices. Read this: https://www.dell.com/support/kbdoc/en-pk/000132092/ubuntu-linux-terms-for-your-hard-drive-and-devices-explained

adb pull /dev/block/bootdevice/by-name/userdata

Thank you guys. I can't check whether is encryption enabled by default, because I can't even boot Android. Someone messed that up during twrp installation.  But I can't mount user data partition in twrp (clicking the check box does nothing) so I suppose that it's unfortunatelly encrypted. I pulled data out using "adb pull /dev/block/bootdevice/by-name/userdata" a I ran "scalpel" on that file to be sure but without success.


text:
How to add scramble support for Open VPN for Android Client
Obfuscation is known to bypass restrictive firewalls and DPI of some ISPs. I am wondering why this hasn't been implemented officially in the client, given that its open source.
This has been done for some mac and windows clients (and perhaps android clients which are mostly close sourced).
After a bit of digging, I came across a scramble/xor patch here: https://github.com/clayface/openvpn_xorpatch/blob/master/openvpn_xor.patch.
Is there a way to add scramble support for Open VPN client, either by simple decompiling and recompiling or building the client from scratch?
There is another client: VPN Client Pro, which has scramble support but requires a subscription, ideally was looking for a free option to simply to this patch in order to connect to obfuscated servers.

I was in a country where government could sniff OpenVPN using DPI techniques.  So on a rooted device, I've been using shapeshifter-dispatcher and obfs4proxy to tunnel OpenVPN through obfuscated/scrambled protocol. No need to modify the OpenVPN client. Just run a separate process as listening proxy and send OpenVPN towards it. I used to run the process as an init service to fully automate the process.

Thanks!  I will look into it, if you have a guide that will be appreciated

No sorry I don't have a guide. It was a pure DIY project. But currently I don't have a working setup either. You can find guides for Linux though. They are applicable to Android as well for the most part.

I found out that, there is an ics-openvpn-xor project on github by lawtancool.

This is the latest stable release of
https://github.com/schwabe/ics-openvpn compiled with added support for
the Tunnelblick obfuscation patch.

APK releases can be found here


text:
How can I do low-power step counting on the LG G5?
Background information (you can skip this)
The Sensor Detect app says that the LG G5 includes a "LGE Step Counter Sensor" made by "QTI" which uses about 0.18 mA of energy.
"QTI" could theoretically be QTI Sensing, but I suspect it's actually Qualcomm Technologies, Inc.
This Medium post discusses QTI sensors for Android devices.
Google writes that, on Android devices, the "step counter and step detector sensors are either hardware-based or software-based."
The LG G5 includes a Qualcomm Snapdragon 820 MSM8996 system-on-chip (SoC).  This chip, in turn, includes a Hexagon 680 DSP with a Low Power Island for sensor processing.  Qualcomm explains:  "The aptly named 'low-power island' is designed to improve the battery life of always-on use cases, including step or activity counters".
All modern Qualcomm SoCs sold nowadays include a Hexagon DSP built in.  Software developers can download the Qualcomm Hexagon DSP software development kit (SDK) at no charge.
Questions for you
A.) Do you suspect that all major step-counting apps, when installed on the LG G5, do low-power step counting?
B.) How can I get some hint as to whether a step-counting app is doing high-power or low-power step counting?  For example, can I unzip the .apk file and search through the contents to see what libraries it includes or what methods it calls?
Postscript
In case I need to root my phone in order to get an answer to question B:
My particular LG G5 variant (H831) is locked down by design.  It's only partially rootable; see this post and this other post.
I haven't tried the Snapdragon Profiler, but I know it doesn't require root.
Edit
This post from Google states that Google Fit uses your device's step counter sensor.

The Android API directly provides an sensor called "step counter sensor". I would assume that most apps just use this one. How it works is based on your device. If it has a hardware based step counter it should be used by that API. https://developer.android.com/guide/topics/sensors/sensors_motion#sensors-motion-stepcounter

Like Robert's comment, AFAIK developers can only retrieve values from sensors using the available Android API. I don't recall if Android API provides lower-level access to the sensors (e.g. able to choose which specific sensors the app wants to use), so they are restricted to the values returned by the Android API, unless LG provides another SDK/API for their sensors.

Now, between Android API and the physical sensors is what the ROM+kernel decides, so it's left to the maker. Official ROM should have provided the (more efficient) hardware sensor. However, for custom ROM, and if the technology is proprietary, they may not have a privilege to access the hardware sensor, similar to Why does unlocking bootloader affect camera quality on some devices? (this is still hypothetical for LG sensors though, not yet researched)


text:
How to keep cell phone number private to non white-listed numbers
Is there an app or developer tool to keep phone number private when say calling Chinese take-out yet have the phone number displayed when say calling one's aunt? This would be automatic without entering any codes.

@beeshyams:  If Google wanted, it could design stock Android to prefix CLIR commands onto the phone number when initiating any call.  Of course, stock Android does not do so.  But surely a third-party dialer could design in such a feature, if they wanted.

@paulj:  Do you want to send caller ID information only when dialing contacts marked as favorites?  Or do you want something more complex and nuanced?

@unforgettableidSupportsMonica That's about correct.


text:
How can I find out where all my storage space is gone?
I've seen lots of posts here and elsewhere, including YouTube videos, about how to free up space on your android device or find out where it's all gone, including multiple redmi-specific ones, but none of them are helping.
I have a Redmi Node 7 32GB which is not rooted. I'm not a heavy user and none of my apps have a huge amount of data or cache, and I don't have any photos or music on it.
on MIUI settings/about/storage it shows 9GB "System", 7GB "apps and data", 13GB "other" and a few other small categories, and there is about 2GB free. I've tried all the built-in clean features and they don't show anything much available to reclaim.
When I mount the phone onto my PC, I can only see about 3.7GB of files, and this matches up with what I can see in the android file manager under "Internal shared storage". I've tried a couple of other file managers as well and they're all showing the same file system.
I've tried the "diskusage" app - this shows a total drive size of 21 GB (which I'm guessing is maybe everything except "system"?) and 16GB of that is under "System data" - the remainder comprising the same 3.7GB I see in file manager, plus the 2GB free space.
I also tried "disk and storage analyser" (aka "drives"). this similarly shows a total drive size of 21GB but again the analysis of what files are on it again adds up to 3.7GB, and those are the only ones it can delete.
All the instructions I've found online are either (a) deleting cached files or app data or (b) deleting files that can be seen by file manager, but all of this adds up to peanuts compared to the 20GB + of "system" + "other" files. Is there any way I can find or clean them without rooting the phone?

How disk space is used on Android device?

I haven't fully resolved the issue myself, but these could be of help:

Open Gallery > Albums > (scroll) Recycled bin/Trash > Clear all

**Some of the "Other" file storage are in app based and do not show on the file manager or even the system memory. They often include: Downloaded system update and temp/log files like thumbnail-types.

Thanks - that didn't help for me but I also concluded that a lot of the "other" is just stuff you can't clear up because you can't see it. In the end I had to factory reset which reduced the "other" down quite a lot. It's creeping up slowly again but should give me at least a year before I have to reset again. I was tempted to root it just so I could investigate but didn't want to bear the risk of bricking the phone.

I've managed to revive a 3-year-old Xiaomi Redmi 7A by releasing almost 3 GiB of memory on the card by using this procedure (iterative, but streamlined):
Settings > Apps > Manage Apps > (three dots) >
Show all apps > (sorting control) > Sort by used storage >
(select apps one-by-one, moving down) > Storage > Clear all data


text:
Prevent Facebook app from getting automatically updated on Samsung device
I have my auto-update turned off for all my apps on the Play Store. Still, I have noticed that my Facebook app shows updated 3 days ago. This happened today. I have noticed the same problem before 5th October 2021. This is happening only with my Facebook app and no other apps.
I have also checked my Galaxy Store to see if Facebook is being updated from that store. But there is no Facebook app in the Galaxy store (Samsung) whereas there are other apps like Facebook Lite, etc. there.
Can someone please tell me why is my Facebook app getting updated automatically and what should I do to resolve this issue?

Does your device comes with a second app store such as Galaxy Store (Samsung)? If there is a second store the app update can be installed by this store. See also https://android.stackexchange.com/questions/234390/why-do-play-store-apps-show-in-galaxy-store

Yes I have Galaxy store but in galaxy store, there is no app named Facebook. It has Facebook lite and other apps but in my play store, it appeared that the Facebook app has got updated automatically. Then can you please tell what should I do?

If the Facebook app was preinstalled on your device it may be automatically updated via Play Store. For other preinstalled Google apps this is a known feature of Play Store. If it also updates preinstalled third party apps I don't know, it is just a guess that this might be possible, too. Related question on Play Store auto update: How do I stop the Google app from automatically updating?

Possibly related/duplicate: How to stop the Facebook app from updating itself automatically?. Might also want to check this: Facebook Help Center - How do I enable or disable Facebook app updates on my phone?


text:
Fix unable to mount data internal/external/otg USB storage 0MB in TWRP permanently
I have SmartLike Lyf Water 8 LS-5015 with Android 6.1 Marshmallow vendor updated. I want to take NAND backup before rooting through loading TWRP recovery in fastboot mode (fastboot recovery twrp.img).
I tried with 3 TWRP recovery images listed below: one is TWRP 2.8.4 recovery image from the official TWRP website and the other two are from XDA.
However, all give the same error of mounting 0MB storage in the backup menu as not able to select any of the destination drives for saving NANDROID backup system.img, boot.img, data.img to storage.

Official TWRP - TWRP 2.8.4

[XDA - [TWRP]RECOVERY][LS-5015] For Lyf Water-8

XDA - [UPDATED] [Recovery] [Unofficial] TWRP 3.1.0-0 for LYF Water 8 (LS5015)

After searching and googling, I found that it's been encrypted and I have to decrypt it. The solution is as below with links:

Appuals - How to Fix TWRP Unable to Mount Storage, Internal Storage 0MB

Above link says

The first thing to try is if somehow your internal storage became encrypted when using a legacy screen lock method.
Go to your Android device’s Settings > Security > Screen Lock, and change your screen lock method to either Pass or Pin. Create a new one.
Reboot into TWRP, and it should ask for a password – enter the pass or pin you just created.
TWRP will attempt to decrypt your device’s internal storage, and if it succeeds, you should not have further issues. However, if this does not solve your issue of “unable to mount data, internal storage 0mb”, continue with the rest of this guide.
Reboot your device into TWRP again.
Navigate to Wipe > Advance Wipe > Data, and choose Repair or Change File System.
Press Repair File System to see if this fixes the issue. If not, continue.
Press Change File System, choose Ext2, and swipe to confirm.
Now switch back to Ext4 and swipe to confirm.
Go back to TWRP main menu, then the Mount menu, and check if your partitions can be mounted now.
If you are still unable to mount your partitions, you need to repair Internal partition, which will most likely wipe your internal storage.

The password PIN I put in the screen lock is never asked if I boot the two recovery images in fastboot mode (fastboot recovery twrp.img)

XDA - How to fix unable to mount data internal storage 0mb in twrp permanently :

Note : This will wipe/format your Data partion and your data will be reset.
INSTRUCTIONS :

Reboot your device into TWRP Recovery.

Go to Wipe menu.

Go to Advance Wipe.

Select Data and go to Repair or Change File System.

Click Repair File System. (If not fix, go to step number 6)

Go to Change File System.

Select Ext2 and swipe to confirm.

Now change back to Ext4 and swipe to confirm.

Now go back and check if your partions can be mount or not from
Mount menu.

If not fix, repair your Internal partition. (This may wipe your
Internal storage).

OR Unlock your bootloader again.

As per the wipe option, I tried to repair the file system of /data or external HDD card, it gave the following errors as the screenshot below

Any solution for solving the two mounting problems of decrypting or converting the file systems?

if TWRP is not capable to decrypt, use Migrate for backup instead

please share /tmp/recovery.log

@alecx bro thank migrate for backup is option in two or any another app tool or advice command kindly guide how to use

@alecxs bro "/tmp/recovery.log"   i can't find any folder /tmp/  in root as phone is not rooted  and it decrypted it's /data/    and  /system/.   Folders  are showing access denied from xplore file manager..Kindly guide how and where to locate /tmp/recovery.log folder or file

@alecxs bro is there any adb. Shell command or fast boot commands or third party app (works on not rooted phone) that can decrypt the encryption of /data/  or in twrp  old version any way to decrypt the data  folder temporary for.backup .....I tried  adb pull command for userdata but it's not working even ls -l command  not working to show device. List....Any solution

how about 'adb pull /tmp/recovery.log' while in TWRP recovery

you cannot access userdata on unrooted phone. either get TWRP decryption fixed or root the phone. decrypted userdata partition is /dev/block/dm-0

After struggling with this and being unable to install ROMs or sideload anything with the latest TWRP, I flashed OrangeFox recovery instead and I was able to sideload my ROM on the first try.

I had a similar problem just now, having installed LineageOS on a Xiaomi tablet.
After installing the OS, the device was unable to load into it. It only showed the Mi icon, and shortly flashed black, repeatedly; seemingly stuck in a short loop.
At that point, only my external SD card could be read by TWRP.
What helped me out, was this simple comment from Bartnl on the OnePlus community forum:

Restart TWRP (in TWRP: Reboot -> Recovery)
After having restarted, go to Wipe > Format data, and type 'yes'

Now your internal storage is formatted and you can access it from a PC.

In my case I rebooted and the device loaded into LineageOS.


text:
How to configure AWS VPN with Federated authentication on Android?
I have an AWS Client VPN that I use successfully in my laptop. Nonetheless I've not been able to configure it on my Android phone.
The issue is, I think, that this VPN uses federated authentication (with Microsoft's Active Directory), and the OpenVPN Android client doesn't know how to use it.
From my laptop, using the AWS VPN Client it opens a web browser that authenticates against Microsoft each time that I connect to the VPN, but on Android this browser window is not being opened.
Does anybody know how to set this up?
This is what my AWS VPN client file looks like:
client
dev tun
proto udp
remote hello.cvpn-endpoint-REDACTED.clientvpn.us-west-2.amazonaws.com 443
remote-random-hostname
resolv-retry infinite
nobind
remote-cert-tls server
cipher AES-256-GCM
verb 3
<ca>
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
</ca>

auth-user-pass
auth-federate
auth-retry interact
auth-nocache
reneg-sec 0

Notice that:

My endpoint says hello as I found out the OpenVPN app doesn't honour remote-random-hostname to prepend the random string to the url (used to bypass DNS caching), so I had to add a random string manually.
The config file says auth-user-pass but I don't have a username and password for the VPN, besides the one from Active Directory, which I've already tried with no luck.


text:
How to extract data from non-rooted phone via ADB?
So, I was thinking that ADB is a superior method of backing up any device then using an App, out of privacy concerns if not for the flexibility. However, when I try to extract a system database I get an error:
adb -s X50L0000000012374 pull /data/data/com.android.providers.telephony/databases/mmssms.db D:\BACKUP\contacts2.db
adb: error: failed to stat remote object '/data/data/com.android.providers.telephony/databases/mmssms.db': Permission denied

I need to extract stuff like:

Contacts
SMS/MMS
Call logs
Alarms
Calendars
Browser Bookmarks

Surely, I must be doing something wrong?
I red that ADB is crucial in android forensics, but I can't imagine the police not succeeding to gather evidence because, get that, suspect's phone is not rooted...

The items you are after cannot be accessed by adb without root privileges. Wherever you came across that particular adb pull command that you used the resource should have had mentioned that it is possible only using root. Otherwise, you would get permission denied. There is no workaround so long as you want to use adb to get those items.

Why oh why? I just want to be able to back up my phone easily without having to rely on google or other third party apps. Thanks though, you can post it as an answer...

See Why are superuser permissions needed to acess /data partition? and Why "adb root" does nothing?

The only way to backup private app data (if the app allows it) is to use the adb backup command. If the app denies it (no data is retrieved for that app) then you can't access the data without root.

android 5.1 can maybe rooted via exploit. qualcomm device can maybe accessed in EDL mode. backup contacts and sms with MyPhoneExplorer if you know screen lock pattern, will work without root


text:
Pixel 4A ArcaneOS removal/Sideload USB debugging/ unlock bootloader
So I've swapped my Redmi for a used Pixel 4A which has this ArcaneOS installed.
The issue is that there is no build number in about phone section so I can't really flash anything.
My question is if I can somehow either enter EDL mode, sideload USB debugging or unlock bootloader in any way?

Kind of doubt if it's possible. There's a coverage on XDA about it: Is it bricked? Cannot flash stock Android to remove ArcaneOS, which is linked from XDA member unknowingly bought a Pixel phone with an FBI backdoor.

Yea, i've been checking that thread a lot. No fix yet, maybe in the future if there's a way to flash the stock os through qualcomm's edl (emergency download mode).

If you haven't found out by now, You have been conned... In a big undercover action the FBI sold phones to criminals. The operation was a huge success. One of the consequences was that a lot of these pixel 4 were dumped for very attractive prices.... If the price is too good to be true......
As far as I know there's not much you can do. Best option is to buy a phone with a broken display and swap parts...


text:
Messages on Bluestacks 5
I would like to text from my PC, so have installed Bluestacks and google Messages.  Although messages runs, when I try to send a text it says "Not sent, tap to try again"
I have set my phone number in advanced settings.  But still won't send.
Is it possible to use messages within bluestacks?  I can see potential abuse, so wondering if messages requires it run on a real phone

If this is about SMS text, how do you set the SIM on the BlueStacks? SMS is sent through carrier network, not internet. Without carrier and supporting hardware, there's no way to send SMS as done by real Android phones. Note that Google provides web interface for Messages on https://messages.google.com/web though, but it has to connect with your phone first.

Google Messages app routes SMS and MMS over data network, not carrier SMS/MMS network.  (Much like Apple routes their SMS and MMS over data network)

Are you sure about that? Or are you talking about the "chat features" (a.k.a RCS)? Just now I checked, I can't turn the feature on without a SIM card, so it still needs the SIM card to work first.

From postings I read Messages is supposed to route all three over data.  But app description is not as clear (seperating RCS from SMS/MMS).  If thats the case it won't run on BlueStacks.  But I wait to see if someone has a solution.


text:
Malware propgating through usb debugging
Summary:
Computer probably had malware. Didn't know. Connected phone to use as midi. Could have turned on usb debugging or usb tethering to see if that helped without knowing what it does as I was an idiot at the time. 4 months or so has passed. No evidence of malware. Should I bother with formatting it?
Questions:

Should I bother with formatting it?

Is it even possible for malware to exist without any indicators?

Extra info:
Did antivirus scans with Avast, Malwarebytes, Kaspersky and Google Play Protect. None of them found anything.

How old is your device? The older the device the higher the chance for malware to hide. Some malware even can root your device in background which can make it very hard to detect: https://www.bleepingcomputer.com/news/security/new-abstractemu-malware-roots-android-devices-evades-detection/

@Robert pretty recent. It still gets security updates and stuff. And android version is pretty recent as well.

Then installed malware should not have much options to harm you. A potential attack would be to display popup windows at the right time asking for credentials (phishing attack). or to misuse the dive for ad fraud (downloading ads in the background and simulate clicks on it).

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.

@Robert what about the possibility of spyware?

Apps on Android are restricted, and can not spy much on you without explicit permission by you. The default sensors are accessible but for e.g. location the app needs to be granted permission by you (system dialog). The higher the Android version the less an app can spy.

@Robert Wouldn't malware be able to bypass this? As i said, i had usb debugging enabled.

Yes indeed I forgot that way. But you should be able to reset those changes by executing adb shell pm reset-permissions.


text:
Recovering forgotten lock
I have forgotten a 3x3 pattern lock on my phone, luckily I do have TWRP.
Is there an easy way to brute-force it, then? I'm willing to wait a while if that's what it takes.
The reason I ask is because Android internally represents the lock as a PIN anyway, but the orientation isn't known hence the brute guess.
Any ideas? I'm not too familiar with fancy scripting/linux stuff honestly.

Does this answer your question? Gatekeeper timeout. TWRP vs Lockscreen

https://github.com/timvisee/apbf

https://github.com/Areizen/Frida-Pin-Bruteforce

https://chat.stackexchange.com/transcript/message/58596284#58596284


text:
How to install Another Term, an alternative to Termux for Android 6.0 and below?
I am running a lower Android version and need to install a Linux proot container in Android. Another Term is the closest alternative, but how do I install it? It seems pretty hard.

First, read the readme of AnotherTerm GitHub repo and this

You can run the stock install-linuxcontainers.sh you downloaded from the Git repo without tweaks for an automatic install. It gave me errors, that's why I did this Q&A style question to write the tutorial on how I got it to run on my old tablet.
Download Another Term from Play Store. If the Play Store version does not work, then go here and try previous versions that work on your device and issue the bug.

Know yor phone architecture

Download run-tpl (after downloading, make sure it has no extension), installshellscript (the file must be like install-linuxcontainers.sh), proot-android.tar.gz (download both if your architecture has 2 gunzips), and minitar.

As for the rootfs.tar.xz, google search images.linuxcontainers.org
and enter. Upon entering, select Distro, then release.
For architectures, if your phone architecture is arm7-a, select "armhf", and if arm8-a, select "arm64". The same applies to i386 and amd64.
Then select default, then choose any build date you want, and then select rootfs.tar.xz, then the file will start downloading.
After downloading all the files, download Simple HTTP Server app from the Play Store or any webserver app to host the files.
Copy or move minitar, rootfs.tar.xz, proot.tar.gz, and run-tpl to /android/data/com.phlox.simpleserver/files
Open the app and start the server. Launch your browser and go to your IP address and port specified in the app. On Chrome or whatever browser, long press to copy the download link address (if using a desktop right click) then go and edit the install-linuxcontainers.sh using a text editor and replace all URLs beginning which are like this http://192.168.43.239:8080 and replace them with corresponding download URLs which you copy from your browser. If your ip local ip is 0.0.0.0 then the url should look like http://0.0.0.0:8080 .Make sure that all URLs have been replaced by your own URLs you copied from the browser and save the script.
Final Step
Install and open Another Term and click the + icon on top, name the shell profile and save (I did not edit anything).
Stop the webserver in the app
Start on the profile to start the terminal. Maybe you will notice too small or too big font, but you will change the font settings later. Tap on the keyboard icon (top-right leftmost icon) to switch to your default keyboard.
u0_a176@goyave3g:/data/data/green_green_avk.anotherterm.oldgood $ cd /storage/emulated/0/Download
u0_a176@goyave3g:/storage/emulated/0/Download $ ./install-linuxcontainers.sh Debian Buster

Installation subdir name proots/___ [linuxcontainers-Debian-Buster]:
Actual name: kgktk

To uninstall: run `rm -rf "$DATA_DIR/proots/kgktk"'

Creating favorites...
Done.

Arch: armv7a
Variant: -pre5
Root FS: Debian Buster

Source: http://192.168.43.239:8080/rootfs.tar.xz

Getting minitar...
failed to connect to /192.168.43.239 (port 8080): connect failed: ECONNREFUSED (Connection refused)

Type your fake random directory name and enter.
Profile pop-ups will appear, but quit both and tap OK and Exit and you will return to the shell.
As you can see above, the variant shows "-pre5". If it's not, you are good to go. But if it's "-pre5", you must start the webserver, go to the browser, copy the download link of prootpre5.tar.gz, go and edit install shell script replacing the proot.tar.gz link with the new pre5 one, then save the script.
Don't stop the webserver.
The second Run:

u0_a176@goyave3g:/data/data/green_green_avk.anotherterm.oldgood $ cd /storage/emulated/0/Download
u0_a176@goyave3g:/storage/emulated/0/Download $ ./install-linuxcontainers.sh Debian Buster

Installation subdir name proots/___ [linuxcontainers-Debian-Buster]: Buster

Actual name: Buster

To uninstall: run `rm -rf "$DATA_DIR/proots/Buster"'

Creating favorites...
Done.

Arch: armv7a
Variant: -pre5
Root FS: Debian Buster

Source: http://192.168.43.239:8080/rootfs.tar.xz

Getting minitar...
Getting PRoot...
Getting Linux root FS...

/etc/passwd:
=======
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:105::/nonexistent:/usr/sbin/nologin
=======
Regular user name [my_acct]: my_acct
Preferred shell [/bin/bash]: /bin/bash

Setting up run script...
Configuring...

Done!

u0_a176@goyave3g:/storage/emulated/0/Download $

Now we are going for the last time. Start the ./install-linuxcontainers.sh, type your distro and release as shown above.
Now, type the real subdirectory name of your pr choice. In my case, I chose to type Buster. This time, save & exit the two pop-up profiles. After saving, you will come back to the terminal and notice rootfs downloading progress. After that, you will be asked to type user and shell preferred, type the ones inside the [] brackets and enter, and you will notice it done.
Quit this shell by tapping back then long-pressing on it, and click terminate then confirm the termination. Tap on any of the shell profiles you save before name; Buster and Buster (Root) in my case and welcome to Debian, I mean your chosen distro.
By the way, I am in no way part of this project, but I'm just a Linux newbie who has found an amazing project he was searching for for quite a long time.
Shoutout to the devs for this amazing app.
Useful Screen shots:

EDIT:
For new android versions the script has been updated and no need to use the edited script and method except maybe if you want to have a backup of the files needed wenr you want a clean container. For "very old android versions" (e.g 4.4.4 range and maybe 5.0.0) you cam use this script because there is an error in old versions.

You can also choose a bit simpler way...
Prerequisites

A ready-to-use statically linked wget for Android:
https://github.com/pelya/wget-android/tree/master/android

Up-to-date SSL CA root certs
(most usual place on Linux: /etc/ssl/certs)

You can easily recreate hashes in your own crafted certs directory
by means of openssl rehash <dir>.

The process

Create a "local" profile with the "execute" field left set by default
and launch it.

$TERMSH pick . to put the aforementioned wget
by an Android file picker into the $DATA_DIR.

Create the $DATA_DIR/certs directory and
put your up-to-date certs into it.

Fix your favorite installation script by replacing all the
$TERMSH cat / copy / etc HTTPS stuff with appropriate
wget --ca-directory="$DATA_DIR/certs" ...

PS
I will create a ready-to-use script a bit later...


text:
Camera taking too long to open in Redmi Note 9
I have Redmi Note 9 which is about 1 year old but everything is up to date.
Now the problem is that whenever I open the camera a black screen appears and it takes 15 seconds to open it and as I tap the shutter button the screen freezes with the photo and after another 15 seconds it updates.
I have tried everything on the internet including:

Restarting the camera
Restarting the phone.
Clearing the camera data.
Restoring camera settings to default.

I suspect that it is the problem in the memory as I see that only 700-800mb memory is available every time out of 4gb. But every other app just runs fine.
So how can I fix that.
Any help would be appreciated.

You can try to check adb logcat if any errors are logged that could be related to this problem (requires to enable Developer menu and adb on device as well as install "minimal adb" or adb from Android SDK on the PC side).

Can you try any 3rd party camera app?


text:
Can I put a 512GB sd card in my Xiaomi Redmi Note 8?
I bought a 512GB sd card but right after I investigated the characteristics of the Redmi Note 8, and everywhere it says that it supports up to 256GB memory, I got frustrated but still I inserted the memory to see what happened.
I was curious, but it did not happen nothing out of the ordinary, he accepted it, so it seems suspicious to me. If I leave it inside, do you think it will have an impact on my cell phone?

guess in the time of writing specifications there was only 256 gb available on market, but it can handle 512 gb as well

https://www.reddit.com/r/techsupport/comments/lsr4ze/if_my_phone_has_a_max_sd_capacity_of_256gb_can_i


text:
Change tablet OS
I have an old android tablet. I want to install another OS on it. I am afraid of problems after installation. Is there a way to return to exact previous OS (android 5.1.1) if I have problems?
Tablet: Galaxy Tab A6

The article is written for Galaxy smartphones, but it may also work for Samsung tablets: https://www.xda-developers.com/download-stock-odin-firmware-samfirm/

Does this answer your question? Explain "Don't Downgrade!" warnings when flashing stock firmware

https://forum.xda-developers.com/t/rom-unofficial-n-14-1-sm-t285-lineageos-for-samsung-galaxy-tab-a-7-0-lte-gtexslte.4290531

@Robert Thank you!

@alecxs The link is useful. Thanks


text:
Format SD card for internal storage for POCO M3 Pro
I recently purchased a POCO M3 Pro 5G.
I also received an SD card which I want to use as an extension to internal storage.
I have looked around here for how to do it and none of the suggestions seem to work.
Using Activity Launcher just doesn't work because the required activity doesn't appear under "Files".
There is no system option to do this.
Am I missing something?

Does this answer your question? SD card not appearing when formatted as internal

if you don't care about warranty you could root your device

@alecxs I would rather not root it. The only reason I got the SD card was because they only had 64GB phones. They said it would work but didn't. In the end, I went back and switched to a slightly more expensive phone with 256GB. Plenty for the foreseeable future.


text:
Default Launcher still running and using RAM. How can I stop it without root?
I am running a stock MIUI system launcher on my Xiaomi Redmi Note 10 Pro. Today, I changed my launcher to Nova Launcher, and set it as default. And, I tried to force stop the MIUI System Launcher, but failed. It continues using about 150MB of RAM. How can I stop running this app and reduce RAM/battery usage?
(Previously I used Motorola with Moto Launcher. I installed Pixel Launcher over it. And, there I can force stop Moto Launcher, which will start again at next reboot)

It uses the RAM but not much of battery. Anyway forcing system applications would break system functionality. Moto launcher is close to stock launcher but MIUI is quite opposite. It is too far away from stock launcher. I'm sure it will break other things like notification shade, gestures etc. 150Mb is not much if we consider 6Gb-8Gb of RAM today in Android mobiles. Why do you want that extra memory for?

@MANI its just to understand facts. I thought UI become lighter after force close heavy miui system launcher.


text:
Application Isolation and access control
I want to prevent an app from knowing whether certain files or directories exist on a device. For instance, if the application have some code like:
if (/system/lib/libJohnDoe.so){
    print("yes")
}
else{
    print("no")
}

I want this to always evaluate to "no" even if the file does exist. I was thinking of completely changing the directory tree that the application sees but I do not know if this is even possible.
What I would like even more is to only allow applications to see specific directories and files rather than hiding existing ones from them.

Is your device rooted? For rooted devices, e.g. using a module similar to MagiskHide. If the device is not rooted by Magisk you can still try to modify the return value of a certain function by developing an XposedModule (requires [Ed]Xposed installed).

Device is rooted. Unfortunately, I don't know much about exposed not to mention developing modules for it. I suppose it has to do with hooking certain functions in the target app's code. Thing is, I don't know which functions are being used also, I want to do this for a wide range of apps. So I was thinking it would be easier to restrict access or visibility to certain files and directories.

Magisk modules use bind mounts to add and remove files to a filesystem by overlaying the file / directories, without modifying the actual contents of the filesystem. You can achieve the same by doing bind mounts manually too.

I was thinking of that also. I even tried it once. However, it gets tricky when trying to perform bind mounts on system directories; /system/lib for example. Doing this sometimes crash the system. A more perfect solution is to somehow isolate a specific application and allow it to see only what you want it to.

Achieving that at application level doesn't seem to be a viable option to me. Intercepting the filesystem APIs e.g. using Xposed hooks or by patching the app is highly unlikely to work, in particular when you are dealing with multiple different apps. Another option is to use mount namespaces. But that can get even more complicated than bind mounts.

I was wondering how to do this with namespaces but I read somewhere that namespaces cannot be used to change root directories that an application sees like what chroot can do.

Still if there is a way to achieve this with namespaces I am more than willing to attempt it.


text:
How to update pocof1 mobile running on pixel experience android 10 to latest version?
Currently, my mobile pocof1 is running on pixel experience ROM Android version 10 but I was unable to update to the latest version as I didn’t get any OTA updates, but on the pixel experience website android 11 plus is available. And I forgot about flash and installing os as I did it by watching YouTube one year back. So please anyone can help me to update my mobile to the latest version. Please feel free to comment If want more information Thanks in Advance.

Have you read the install guide? https://wiki.pixelexperience.org/devices/beryllium/install/ Just like any custom ROM you can download the ROM and install it via recovery.

Please follow the official guide: Upgrade PixelExperience on beryllium. It says "The updater app does not support upgrades from one version of PixelExperience to another, and will block installation to any update for a different version.", so you have to manually flash the ROM. And please read the warnings first, since it mentions that you need to do a factory reset first (whether it will affect something later or not, we can't guarantee).


text:
How to make android box device recognised as mobile device, and not tv device with build.prop
I want to use an application for mobile devices on my android box. I am using X96 Max+, and when I install an app, the version for android tv-s gets installed, and I want to have a version for android phone devices. If I directly download the version for mobile devices, the warning goes off and says "This application can't be used on a non-mobile device!".
Box uses android version 9, so I tried to edit build.prop file (the device is rooted), and set ro.product.brand and ro.product.model to google pixel 2 I think. And nothing happens.
If I go in setting and about, I can see that these properties have been changed.
So my question is, how can I know which parameters the app inspects before installation/launch and how to find what to edit to make it work.

Idk but android.software.leanback may give you right direction (have a similar follow-up question)

I am not developing that app, I just have the apk.

You can know what the app is doing by decompiling it, e.g. using Jadx (assuming that the check is done in Java code and not in native assembler code). Inspecting the Java source code of course requires a bit of Java and Android development knowledge.

I am trying to access the manifest file with Apktool, not sure will it help, but will give it a try to Jadx soon.

Where does the warning "This application can't be used on a non-mobile device" come from, it looks like browser notification to me? Are we talking about already downloaded apk?

Installation is no problem, the warning pops when I launch the app. And then the app closes automatically after I dismiss the warning.


text:
How can i view my WIFI Password when connected with WPS?
I connected to my wifi with WPS, and wanted to view the Password later
I looked in
/data/misc/wifi/rawconf.conf where all my other wifi (passwords) were but not the one i searched.
And in wpa_supplicant.conf is something like hex (called psk?)
Is there a way to see the password?

As far as I understand the WPS process the device never gets the Wifi password it just gets access to the Wifi, hence it can never display it. If you have the PSK you can try to find the matching password using tools like Aircrack-Ng.

@robert: I do not agree here. The way WPS works is by connecting to the AP without authentication, by checking if PIN or PBC is valid, then by retrieving the password via encrypted messages and disconnecting. It saves the password locally, then it connects again to the AP normally thanks to the password. It should normally be stored where other passwords are, but it is possible that KerbMario's phone has a different implementation.


text:
How to change vendor.img contents with android emulator?
So, I have a custom AOSP image that I'm building, and it allows me to provide my own kernel and debugging features that I want (this is just for the record, because you can't do some things that are needed with a regular AVD). I need to change the contents of /vendor, and I thought that I could do this by providing my .img file to the emulator with:
emulator -vendor /path/to/my/vendor.img
But, as I checked, the md5sum does not match for some files between my vendor.img and in the /vendor/path/to/file when I run the emulator and connect with adb shell. This is perplexing to me, because when I run with -verbose, I can see the arguments given to qemu for the drive and I expect that img to be mounted under /vendor. Looking at the original vendor-qemu.img with 7z, I can check the md5sum of ome files and see that despite the -vendor argument, the sums did not change to the values in my img, but match the old intead. I even went to the length of renaming the original vendor-qemu.img and putting my img in it's place with the name vendor-qemu.img. Same result with the md5sums though.
Perhaps I could be wrong, and the -vendor emulator argument shouldn't change the contents of /vendor in the running emulator instance. What do I do to get the /vendor directory contents of a running emulator instance to match with the vendor.img?

/vendor should be the path that the vendor.img is mounted to, if I understand correctly. So, if I change the vendor.img, then that should change the contents of /vendor, but it doesn't.

I don't know what FEC would have to do with this. I thought that qemu sees the .img files as drives, android mounts them to directories

No. I did not know that it did that. I was wondering if I could rebuild the vendor.img by adding or editing files in the out/target/product/generic_x86_64/vendor and just calling make.

Does this answer your question? How to change vendor.img contents with android emulator?

just realized you already posted on stackoverflow. I completely misunderstood the question. issue is not with modifications in first place. You ask about how to load modified vendor.img - probably only on reboot. That's how it works on mobile phone, android partitions are loaded ro on boot and dm-verity prevents modifications during runtime. Don't know what running emulator instance is, but I doubt it's possible to replace disk during runtime

I'm not trying to replace it during runtime. I want to have the entire contents of /vendor to match the vendor.img that I am trying to boot the emulator with.

Does this answer your question? What is the format of Android M1 Initial Preview system.img?

I don't think so. Actually, the vendor.img is a sparse image as returned by file. I was able to use simg2img and img2simg in a script to decompress all of the contents of the original and then make a new one. Also, I don' think the system image contains /vendor, I checked and found an img with an empty /vendor.
Since you pointed out FEC, I thought about it again, and think that dropping the files into the AOSP build process would do the trick. That way, I wouldn't be scripting the creation of my own vendor.img, just drop my files into place and let the system do the rest.

Just using simg2img and then decompressing with 7z works. I then went the other way with img2simg

I only use 7z for extraction, to go from img to a folder. I had a whole different script for creating the img, where I did mount a folder and used mkfs to format it the way the old one was. Right now, no matter if I swap the img files out, the vendor folder remains unchanged though. I think I want to investigate the FEC possibility.

The way I found to do it was to go to:
out/target/product/<lunch tgt>/vendor/
And just put the vendor contents the way you wish them to be. When finished do:
make vendorimage && make systemimage


text:
Is there any way for an app to insert text at the cursor in another app, in the currently focused input field? (With the ‘accessibility’ permission)
I'd like to have an app with my custom programmatic text snippets, that would insert them at the cursor in the focused text field, next to other text that I already entered. I'm using both Tasker and Automate, and both can enter text letter-by-letter, or rather keycode-by-keycode—with me translating the letters to keycodes, I guess. Neither of the two can just insert text: instead, Automate can ‘set text’, overriding all text in the field, and IIRC Tasker's docs suggest using some command via adb, that requires root permissions.
I wonder: is there perhaps some way to just spill some text into the focused input, at the cursor, without affecting surrounding text? Both apps have the permission to work as accessibility-helping apps.
I asked this question in one of Automate's communities, and was directed towards the docs for ACTION_SET_TEXT, which doesn't have any options to specify the target position for the text, or to keep the text that's already there.
I would vaguely hope that accessibility apps can help the user with entering text, among other things, and thus have some means to that end.
There's a kind-of-a-workaround with setting the clipboard text and then pasting it, but that's rather dirty since the existing clipboard value is not preserved: I looked into getting the clipboard contents and putting them back after all is done, but this turns out to require a rooted phone again. Plus the solution is generally hacky.
Maybe there's some way to get the cursor position in the text field, extract text before and after the cursor, and then use SET_TEXT? I could live with the text formatting being lost, if only that would allow me to enter snippets.

Hi, just FYI, the question received a close vote for "app development" probably due to the wording. Just to make sure, I assume this is about using an existing app to achieve this, possibly using [tag:automation] apps like you have mentioned, e.g. Tasker and Automate?

@Andrew T. No, I'm actually wondering about whether it's at all possible in Android currently, and how. If it is, I could talk to app authors about implementing the feature, or try to slap together an app of my own.


text:
Is it possible to see location history for my devices? Or is location history only specific to a google account?
Is it possible to see location history for my devices?  Or is location history only specific to a google account?
So for example..
If I go to https://myaccount.google.com/find-your-phone
The most info I get is that a device was located in the united kingdom..

The one last seen Oct 21st is lost.  I don't know if location history is turned on on that one.
A phone that I have to hand, is the first one listed there, seen 12min ago. I have the "find my device" app installed on it(which may help I dont know). And I have turned on "use location", and I have turned "location history" on, by choosing location history then choosing the google account, the one that lists the device.
I can go to my google account (which knows of all my devices), and I can go to "manage your google account", and £data and privacy",  "location history", and I see location history set to on there.  And "manage history".
But I think that's just showing me placed i've been to with google maps.. or maybe it's using GPS too so even without google maps..
But it's not showing me where the particular phone has been. It just means that some device I had with me has moved to those locations.
But it's not working on a per device basis.
Is there any location history option that works on a per device basis?

The 'manage history' option you found is showing you something google calls your 'timeline'.  It is using your location history to guess at where you've been, and in my experience it's pretty accurate, but it doesn't require you to actually use google maps to get there, it's mostly passive.
I feel like you may have already tried this, but you might have luck just finding out where you were on the last day that phone was seen.
I did a quick check... and you can use google takeout to export your location history in its entirety.  This website will give you a good start: https://www.maketecheasier.com/visualize-google-location-history/
This may require... a lot of work, especially if you aren't familiar with JSON files, but the exported documents do have locations recorded with a 'devicetag' that seems to correspond to the device that was at that location along with a latitude/longtitude and other details.


text:
What is Dynamic system update
Is seamless update(a/b partition) same as dynamic system update
Or
Can I use DSU in A only devices & how do I know if my device supports dsu updates.
I have lineageos 18.1

It's very well documented officially. See https://source.android.com/devices/tech/ota/dynamic-system-updates and https://developer.android.com/topic/dsu. Further explanation: https://www.xda-developers.com/android-q-dynamic-system-updates-project-treble


text:
Nandroid backup stuck at last few files
I've been backing up my device (128GB internal storage) fully through:
adb exec-out "dd if=/dev/block/mmcblk0 2>/dev/null" > H:\mmcblk0.img

(I specifically need a full system image this way, that's why I'm doing it)
As you know, adb has no progress bar.
Right now, the file on my PC mmcblk0.img seems to be stuck at 125GB and has been for about 25 minutes or so, and I'm not sure what this means. The properties tab also shows the last modified date as about an hour ago, which is pretty strange.
(mmcblk0.img = 125136398.233 kilobytes)
When I run cat/proc/partitions, mmcblk0 on my phone is 122142720 kilobytes
My napkin math says the PC image is about 3GB larger, but I haven't yet disconnected the cable since I'm afraid if I don't let the image complete till the end, it could end up as unreadable due to missing important information from the partition structure. However, if the last modified date is accurate, it might mean it spent an hour basically doing nothing.
Does anybody have an idea of what I should do in this case? Is the image file useless or corrupt then if I unplug my cable? I'd rather not restart the whole thing again, as backing up 128GB of data takes an insane amount of time. If there's a way to somehow view or mount the image to check for that, it would be really amazing. Maybe like a Windows tool, or if not Linux even. I just want to view it basically and check that everything is fine.

use adb pull instead exec-out to avoid garbage. pull each partition on its own, prefered by it's symlink name 'adb pull /dev/block/bootdevice/by-name/system'


text:
How do I extract photos from a .bak file created from a phone backup?
I want to extract some important photos from a .bak file.
I created a backup of my phone using Wondershare Dr.Fone software and now I have lost my phone, but luckily I have the backup on my laptop. But then I want to extract the photos from .bak file, but I cannot find a way.
I can open the .bak file using the application Wondershare Dr.Fone, but I cannot open the image, though I can see the image thumbnail. I can take a screenshot of the Photos but the thumbnail is too small.
It has no option to extract the images, can some please help me.

Stackoverflow is for programming, this site is for non-programming Android questions.

Backup software such as Wondershare Dr.Fone are closed-source and proprietary, so their file format and content may not be known by other than its developers. If their own app cannot show the full image, then there's little chance that it's even possible to do what you want.


text:
Is it possible flash recovery partition through init.rc script on boot
a year ago a I had installed a custom recovery on my Lenovo S5000-F and it caused a bootloop and I lost the recovery, fastboot is working fine but it only allow me flash boot, system, userdata and cache partitions. I already tried do:
1-Unpack boot.img
2-Edit default.prop to allow adb debugging and then create a custom OTA update to install by adb sideload.
But when I boot the system I get device offline. So looking through system.img I found an interesting thing, a flash recovery script: install-recovery.sh
#!/system/bin/sh
  echo 1 > /sys/module/sec/parameters/recovery_done        #tony
if ! applypatch -c EMMC:recovery:6156288:b1d3582729e0f954b16931a7a87d4c09b6854396; then
  log -t recovery "Installing new recovery image"
  applypatch -b /system/etc/recovery-resource.dat EMMC:boot:5781504:94079a17dc0e061e417363e4d44d7d8d0e609f16 EMMC:recovery b1d3582729e0f954b16931a7a87d4c09b6854396 6156288 94079a17dc0e061e417363e4d44d7d8d0e609f16:/system/recovery-from-boot.p
  if applypatch -c EMMC:recovery:6156288:b1d3582729e0f954b16931a7a87d4c09b6854396; then        #tony
    echo 0 > /sys/module/sec/parameters/recovery_done        #tony
        log -t recovery "Install new recovery image completed"
  else
    echo 2 > /sys/module/sec/parameters/recovery_done        #tony
        log -t recovery "Install new recovery image not completed"
  fi
else
  echo 0 > /sys/module/sec/parameters/recovery_done              #tony
  log -t recovery "Recovery image already installed"
fi

This script means to replace any recovery installed by the user to the original one, but for some reason its not working.
So I would like to know if there is any way to flash a recovery partition through a script, so I can write this script to init.rc to install the stock recovery and fix bootloop.

what is the error message for 'fastboot flash recovery recovery.img'? how did you re-pack boot is it re-signed? /system/recovery-from-boot.p exist?

when I try flash recovery it says "recovery partition does not support flash". I compiled this project to unpack and re-pack the boot.img (https://github.com/rom1nux/mtkimg) I'm not sure if its re-sign too, and yes there's a file recovery-from-boot.p on /system.

of course you could modify content of install-recovery.sh but I guess device becomes unbootable once recovery partition was modified. Unlock bootloader, root with Magisk and flash recovery from official TWRP app

you could also flash recovery from mtk-su or SP Flash Tool, but it might render device unbootable on locked bootloader

Yeah I know this but the problem is I dont have the stock ROM with the scatter file and I didn't found the original ROM of my tablet, most I found is the chinese ROM and android version 4.2 but my device is 4.4.2 version, but I already unpacked this chinese rom and most files are broken and incomplete.

carefully read last link, there is explained how one can create scatter file based on device and get stock ROM off device itself

probably boot-loop is caused by something different (maybe emmc wear-out) because /system/recovery-from-boot.p should already have restored stock recovery automatically. try 'fastboot format:ext4 cache' that sometimes fixes boot-loop

I know its possible create your own scatter file to flash only recovery, but I can't do this because uboot, boot, logo, recovery and others partitions are in the same file (mmcblk0) so I need to know the exact start address of recovery partition and its size to write the stock recovery in the right range.

I was looking the applypatch source code to understand how its works, and I found when sha1 of boot doesn't match its return failure, thats why its not working because after 4.4.2 upgrade the size of boot image was modified so consequently sha1 of the file was modified too, I'll try to fix the script adding the right sha1 and size values.

Oh sorry for not read your answer I though it could be a link to download SP Flash tool lol

yes it doesn't make sense changes in sha checksum but  the original boot.img size is 6MB not 5,7MB as its on script, sorry bad english


text:
Do Android permissions allow listeners on ports >1024 without special root permissions (only standard in-app permissions)
I'm not an Android developer, I am a developer in many other contexts.
I have a simple question that I don't see an answer to on Google: Can a standard android application (no rooting required) listen to a socket on a high numbered port? E.e. only using standard in-app permissions?
Any reference to the documentation on the available permissions would be a nice addition for this weekend warrior Android coder to-be.

Android bases on Linux and thus has the same limitations that the root permissions are required to open a socket on ports below 1024.
For opening a socket in an app on a port greater than or equal to 1024 the app itself needs to have the static permission:
<uses-permission android:name="android.permission.INTERNET" />

defined in its AndroidManifest.xml. Without that permission no network communication is allowed by the Android operating system. With the permission you can open client and server sockets to perform network operations as usual.
When opening a socket for running a server, be aware that usually this only makes sense on the WiFi interface. On the mobile network interface you can open up a socket, but as mobile network providers don't assign a public IP, you can't reach a server running on a Android system connected via mobile data to the Internet.

Is there a way to open a web server on a "Unix domain socket" that is accessible only to another app on the same device?


text:
Why do apps paste from my clipboard as soon I open them (without manually pasting anything)?
I have a Google Pixel 5a running the latest version of Android 12 (I updated a couple of days after I bought it, so I didn't use Android 11 much if at all). I noticed that a lot of apps trigger the "app pasted from your clipboard" as soon as I open them. These are legitimate apps like Here Maps or Firefox Focus, installed directly from the Play Store.
Importantly, I am not doing anything to trigger this manually. No long press and hitting paste, nothing. I'm worried about this for security reasons, obviously, but I've checked my permissions and they all have minimal permissions. Here Maps, for example, only has location access and nothing else.
Why is this happening? Is there any way to debug this or see what's being pasted or why? Or to disable apps from checking the clipboard without my explicit permission?

The text Android displays is just a notice to you that the app accesses the clipboard and reads it's content. Before Android 12 there was simply no such notice so some apps checked clipboard regularly without knowledge of the user. For the question why I am not sure of the community is able to answer that.

@Robert Right, I know it's just the app checking the clipboard. I guess I'm simply worried that certain apps, which have no reason to be checking the clipboard at all, are actually checking it. Are they trying to steal passwords? Even legitimate apps like Firefox? Is there no way to disable that?

As Robert said, community cannot answer why an app behaves or does not behave in a certain way. You should ask the developer of the app.

I cannot answer the question as to why apps are doing this, it does seem like a major security issue to me. It looks like there might be better features in Android 13 for this. I have an app that I need to use but this bothered me that it pasted contents from my clipboard on open every time. For Android 12 (and I assume below that, but only tested on 12) there is an option if you run a few commands. First you will need to setup adb on your computer (there are many tutorials depending on your computer os), then on the phone enable developer options, and enable adb access. Then you can type adb shell and this will allow terminal access on the phone. You can then type the below to see all the apps that have clipboard access.
cmd appops query-op --user 0 READ_CLIPBOARD allow
From there you can type the below, replacing  with the full name from the list.
cmd appops set <packagename> READ_CLIPBOARD ignore
This will block the app from reading the clipboard and I no longer see the message at the bottom of the screen when I open the app. Hope this helps!


text:
Microsd card can't be read after being used with android phone once
I have a Samsung galaxy s8.  I was using an external card reader to access a micro sd card.  Initially it worked fine, but lately I have been having some odd behavior.  The first time I connect the card reader to the phone, it works fine, I can access files on the microsd card.  However if disconnect and reconnect the the microsd card, it isn't detected.  If I attach the card reader to a windows PC, it says an error was detected and scan the drive.  Generally if I restart the phone, it detects the card again.
I'm at a loss for what's going on.  To complicate matters, I am not trying to read the sd card internally.  I am using a USB-c to USB-a adapter to connect the phone to an SD card reader and I am using an SD to Microsd adapter.  I have tried multiple usb-c to usb-a cables, and multiple micro sd - sd card adapters.  Both USB-C to USB-A cables are the same type, so it could still be some wort of cable issue, but I don't think so.
This isn't something I am using for phone storage, I have some trail cameras and the microSD cards are from them.  I want to be able to access the pictures on the microsd card in the field and copy the images to my phone storage.
This seems more like a software issue than a hardware issue, but I'm not completely sure.  I know android 9 (which is what my phone has) is getting pretty old, so I'm not sure if that's the issue, but it seems like it could be.

Use parted/gdisk to check the partitioning on the card. But first make sure that your card reader isn't broken.

You may need to recreate the partitions on the SD-card as Irfan mentioned. On Windows use the Disk Management (diskmgmt.msc) to view existing partitions on the card. Delete the existing one and create a new one using a suitable file-system (NTFS, exFat, FAT32). https://superuser.com/questions/1223640/where-is-my-disk

@IrfanLatif the card reader works fine with repeated insertions/removals on a PC.  I can remove the card reader or the card reader multiple times on the PC and it reads fine.  Its only an issue the first time I read the card after using on my phone
.

@Robert The partition seems fine, its a 32GB partition formatted with FAT32, not my first choice of file system, but its what works with the camera.  Windows scans the partition the first time I switch from my phone to PC, but doesn't find any errors, and then I am able to access the sd card.  Im not super concerned about windows reporting an issue, im more annoyed that the drive seems to be only readable once on my phone without restarting the phone.


text:
Where can an app store a drone video?
I have a Tomzon D65 drone, and the accompanying Tomzon-G app (Ver:1.1.2). The drone captured some awesome footage! It plays in the app fine. However, the app won't let me download the file. I suspect that is because the app was not developed for Android 11.
Regardless, I cannot find the location of this video within the file system. I have tried Android Studio and the Files app from the Play Store. The video is not located in DCMI, Download, Android/Data (com.hy.tomzong), Android/Obb (com.hy.tomzong), nor Movies.
Root/Data gives the message "run-as: package not debuggable." To circumvent this, I tried to create a backup.ab file to view; but, exporting the .ab to a .tar was inscrutable.
In storage, the "space used" lists App as 269MB, and Data as 421MB.
Where can an app hide video files, and how can I retrieve them?
Thanks!,
John

Does this answer your question? Where Android apps store data?

Can you play the video without a connection to the drone? If the app supports try to use the "Share-With" menu and upload the video to a cloud drive like GDrive, Dropbox (which is hopefully supported by the app). This should work no matter the app can access the shared storage.

@IrfanLatif Yes it does! Thanks


text:
Overnight, I open my phone to find an unknown app running since android 12 upgrade
I'm running a Pixel 3A.
After the last upgrade to Android 12, I regularly find that an app is active in the background overnight.
Its logo is 2-dimensional, and consists of dark green ball floating above green heart. The heart has three shades of green and is constructed out of a square with semicircles to the left and right.
If I try to navigate to it, it minimizes,
If I swipe away it disappears.
Does anyone know what this is?
here it is:

A google image search doesn't find anything either

https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing

Thank you Irfan, It is Digital Wellbeing, albeit well hidden.
For others who have this problem, some notes:

I'm surprised that google images doesn't locate it, but there you go.
It does not appear in the app drawer (see image below) - you can only get to the app via settings.
In my case, it seems to be activated when the phone is in bedtime mode
When you click it, it doesn't take you to the wellbeing screen, it just
minimizes itself. That is very disconcerting.

My app drawer image:


text:
Android device is stuck on "signing in" page
I had my tablet repaired yesterday (new LCD) - unfortunately the tablet had been sitting broken for a long time.  When I got it back, I done a factory reset  so that I could start fresh.  The factory reset was successful but now it gets stuck on the signing in page when I try to sign in with my google account.  It's the vodafone 3G tablet.  It has been upgraded to 4.4.2 android version.  I cannot access anything to do with google.  And the play store keeps giving notifications that it is not working.  There is no data or cache to clear, I tried stopping it from the settings but it still keeps happening.  I have tried whatever I know to try but just can't get in.  I would greatly appreciate any assistance.  Thank you.

connect to wifi or insert SIM card with mobile data and wait for update. or install update.zip from stock recovery

Wonder if it has something to do with unsupported TLS/SSL on older Android versions.

Android 4.4 devices support TLS1.0 and TLS1.1 (TLS1.2 is also supported but disabled by default). All Google services should still support TLS 1.0 e.g. accounts.google.com play.google.com and play.googleapis.com. Therefore TLS version should not be a problem. Make sure date and time is correctly set on your tablet.

Thank you for your comments.  I will try these and hopefully it works.

Is the ROM modified (e.g. rooted)? If yes you can try to register your GSF-ID at Google. The whole process is described here: https://lineageos.org/Google-Play-Certification/

Thank you everybody.  Unfortunately I still can't get it working.  I will have to take it to somebody.

It might be google released some broken update (again) https://android.stackexchange.com/q/242689


text:
Multiple encryption passwords (also different from screen lock password) with file-based encryption
QUESTIONS

How can you set different passwords for file-based encryption of different files in an Android version that allows file-based encryption?

As a corollary,* how can you set a file-based encryption password that is different from the screen lock password?

*I am saying that the second question is corollary to the first because if you have two or more passwords for encryption then at least some of them would of necessity be different from the screen lock password.
I would like the answer to refer to (a) methods (for 1 or 2) generally available in any Android version, (b) if no such methods exist, any method available for a particular version (e.g. Lineage) or brand of manufacture, (c) if no such version or brand exists, any method through a third party app or command line hack, or finally (d) state that there is no method to achieve 1 or 2.

BACKGROUND
The questions amount to asking what the implementation of the following statement (from this android.com page) actually looks like.

Android 7.0 and later supports file-based encryption. File-based encryption allows different files to be encrypted with different keys that can be unlocked independently.

What I (perhaps naively) expected was to see handy Settings items for choosing groups of files and assigning them different passwords or at least a Settings item for assigning an encryption password different from the screen lock password.
What I instead found:

My Samsung phone running Android 11 has a Settings item called "Strong protection" (which I understand is the reference to the file-based encryption). It can only be turned on or off.  The blurb for it goes, "Encrypt your phone using your secure lock type (pattern, PIN, or password)." I found nothing else in Settings relating to an encryption password.
The statement that setting an encryption password different from the screen lock password was "no longer possible" with file-based encryption, as found in this post.
No guide out there on the Internet on how to set different passwords for different files or an encryption password different from a screen lock password (other than what looked like a hack, used a third party app, or was three or four years old).

So it seems:

There is no practical way to separate encryption password from screen lock password in Android (as of version 11) to say nothing of setting different encryption passwords for different files.
The old complaint about having to strike a balance between security (from a long encryption password) and convenience (from a short screen lock) still remains.

LATER ADDED
As for the request appearing at the top of the post, i.e.

Your question has been identified as a possible duplicate of another question. If the answers there do not address your problem, please edit to explain in detail the parts of your question that are unique.

The linked post is about separate encryption vs. screen lock passwords.  This post is about multiple encryption passwords (the encryption vs. screen lock part of it arising only as a corollary). I don't see how the two questions could be conflated, but there it is.
Thanks for the comments tending to say that multiple passwords are either not possible or not to be encouraged.
If so, how should I square away the apparent contradiction with the statement from android.com, i.e.:

Android 7.0 and later supports file-based encryption. File-based encryption allows different files to be encrypted with different keys that can be unlocked independently.

Maybe comments might suffice on this contradiction.  If this must be a separate question, please advise. I am willing to remove the 'contradiction' bit to a new post.

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.

That's not possible. Storage encryption is cryptographically bound to screen lock code. You can use file manager's vault to further encrypt your personal files with different vault PIN.

@alecxs Because you shouldn't believe everything you see on a random page? Because the statement from android.com patently contradicts it? Because things might have changed?

@Community Can you explain what is not "specific" about the question? "How can you set different passwords for different files?" Maybe there is no way to do it, but that does not mean the question is not "specific." I think you must have some other request in mind. If you express it, I will consider it.

Android file-based encryption only knows two types of files: Those that are encrypted by a key bound to the user login password and those that are not bound to this password (but still encrypted by a key in the Gatekeeper). On a rooted device you may be able to apply custom Linux encryption to other partitions but I would not try to do this with the user data partition as this would interfere with the standard Android encryption.

@Robert Thanks. (1) On Android 11, if you set no screen lock, would your "not bound to this password but still encrypted by a key in the Gatekeeper" apply? (2) If you turn off (what they call) "Strong protection" on a Samsung (again Android 11), would the same "still encrypted by a key in the Gatekeeper" apply?

@Catomic Yes, if you have to lock screen configured you don't have a password you can bind the key to. "Strong Protection" is something Samsung specific. I don't know how it works and what it affects.

@Robert. If I may pursue this matter just a bit further, your "but still encrypted by a key in the Gatekeeper" sounds as if it might imply: "If FBE is set to on but no screen lock password is set, then there will be encryption in the sense that CPU is working on it but no encryption in the sense of increased security." Would that be right?


text:
How to enable two button navigation on Android 9?
OK! This might sound silly, but it's a big problem for me.
I have an IBall ITab Moviez Pro tablet running Android 9. Since it's Android 9, it should have an option to enable two button navigation. But this model doesn't. When I go to System > Gestures, there's no option for two button navigation. I did a quick search and found this adb command to enable it:
adb shell cmd overlay enable com.android.internal.systemui.navbar.twobutton
This doesn't seem to work at all. When I run this command :
adb shell cmd overlay list
to get the list of available overlays, it shows the following:
C:\Users\Basudev\Desktop> adb shell cmd overlay list
android
[ ] com.android.internal.display.cutout.emulation.corner
[ ] com.android.internal.display.cutout.emulation.double
[ ] com.android.internal.display.cutout.emulation.tall

com.android.systemui
[x] com.android.systemui.theme.dark

From the above output, it seems like com.android.internal.systemui.navbar.twobutton is missing from this tablet. Is there any workaround for this?
Tablet specification:

Model   : IBall ITab Moviez Pro (IBall IT-KSA0012)
Chipset : Unisoc SpreadTrum SC9863A
Released with android 9. Currently running the same OS
Bootloader is unlocked
Device is unrooted
No custom recovery installed

Edit: It does show a Navigation bar option in setting:

If I get inside it, it just shows the options to tweak the regular there button navigation bar:

Here a screenshot of System > Gestures page:

According to Google you have to enable System -> Gestures -> Swipe up on Home button to get the two button navigation. https://support.google.com/android/answer/9079644?hl=en#zippy=%2Cchoose-how-to-get-around-android

Thanks, but as you can see in the above screenshot, this option is unavailable. System > Gestures has only two options ie Jump to camera and Prevent ringing. Is there a way to bring back this option somehow?

They might have removed the customization for system navigation completely...

@Andrew T. You're right. They have removed it. Is there any way I can add it by myself?


text:
Fix ownership issue with Titanium Backup creating backups with media_rw as the ownership
Normally, Titanium Backup saves backups with its ownership. For example, u0_a252:
-rw------- 1 u0_a252  u0_a252   539 2021-11-07 09:52 com.application.zomato-20211107-095236.properties

However, it sometimes saves backups with media_rw ownership:
-rw------- 1 media_rw media_rw 963K 2021-11-07 09:00 net.bikerouteplanner-667db7c2a87ed259454c457130013a1a.apk.bz2

The backup directory is in /sdcard/, internal storage.
These files can't be read by users or even by root. It prevents me from easily syncing the files to an external server or copying them off before doing a factory reset.
I've tried chown in adb with su, but the ownership isn't changed.  The solution I've found is to reboot to the bootloader, boot TWRP, and change it in an adb shell.
I've found nothing in web searches other than to use TWRP. I found nothing going to the cause of the bad ownership other than perhaps android taking them as media files. I believe the problem started with Android 11.
I am currently running Android 11 on a Pixel 5, rooted with Magisk.

reboot should fix this

Reboot doesn't fix it.  I rebooted dozens of times trying to find a solution.

I also went all the way back to a factory reset phone.  When I uploaded the backup files I fixed the ownership in TWRP's adb.  TB uses its ownership 95% of the time.  I haven't found correlation between the an app's attributes and the bad ownership.

the bad files always have the .apk.bz2 extension.  When I used gzip compression, I believe the bad files were with the apk.gz extension.

Thought this is fixed automatically since Oreo. try manually

If you can't solve it let me advertise Migrate alternative

Thanks for pointing me to migrate.  TB has the look of an app that hasn't been updated in ages.

Migrate is more handy when you are "migrating" to another ROM. Titanium has the unappealing UI since long but it doesn't seem to be actively developed anymore // It wouldn't run on Android 11//I switched to swift backup//Titanium hasn't been updated for two years now;two years is a long long time in mobile app world

I found a workaround/solution.
Go into Titanium Backup, Preferences, Backup folder location.  Change the storage provider to "DocumentProvider" storage which shows up as 'External Storage.'
It's important that 'use the current folder' be used in the selection.  I let it be set to the storage root (/sdcard/), then set it back to my Titanium Backup folder.

I found the solution here. It's frustratingly simple:
$ adb shell
$ su -
# cd /sdcard/TitaniumBackup
# chgrp "$(find . -maxdepth 0 -printf '%g')" ./*