text:
How can I fix this issue associated with the Facebook app's folder location and Google Photos backups?
I have an issue with a combination of the Facebook and Google Photos apps on my Pixel 4 XL.
The folder Facebook stores the images you save from it is in the DCIM folder. Photos you take with your phone camera are also in the DCIM folder, in a Camera subfolder. Google lops all content within the DCIM folder into a virtual folder called Camera, completely ignoring the subfolder structure within DCIM. So whenever you have to navigate folder structures to select an image, both the images saved on Facebook and the ones taken with the camera are shown in the same location of the virtual Camera folder - the actual subfolders are hidden by the virtual folder.
This is problematic because Google photos can't distinguish these subfolders either. The option to back up files with Google One can only be set on the virtual folder level. So, I can either back up my camera photos AND any Facebook images I've saved, or nothing. I save a lot of memes and they're cluttering up my Google photos. I want to stop backing up the Facebook images.
As far as I can see it, any of the following would solve my problem

Facebook saves to a different folder not within existing DCIM folder
Facebook allows you to select which folder to save files in
Android doesn't allow virtual folders to totally obscure physical folders, to where we could still specify not to back up the Facebook directory in Google Photos
Google Photos offers some ability to control when backups occur (eg only when charging so I could move the files before they're backed up)
Google Photos has the concept of a bidirectional sync to where local deletion/movement removes the backed up copies

None of these appear to be offered. The one path I did go down myself was installing the app FolderSync which is supposed to be able to instantly move files from one folder (DCIM/Facebook) to another (just Facebook, with Photos backup disabled on that folder). It seems to move the files right as they're saved, but it does not seem to preempt Google Photos from indexing and backing up the files first so this doesn't work. It also breaks the media index and I have to restart my phone or use an app that manually triggers a media rescan (or else all the original files in the DCIM subfolder appear as error thumbnails during media selection, and the destination ones don't appear).
There are a bunch of posts on reddit and Google support forums about this with no fix indicated. This has been bugging me for many reasons - wastes Google One storage, clutters it up so it's harder to find actual images I took (probably have 10x as many images saved from Facebook vs photos I took), didn't exist in earlier Android versions and would've been able to avoid it with control options that have since been removed, etc.

This is somewhat tedious but you can do this, provided your device is rooted: 1) setup island app (which uses work profile user) and install facebook app in it. Because work profile is a separate user, its dcim folder would also be different, and therefore, free from google one's reach (unless you setup a Google photos backup in work profile too). 2) another solution is to use storage Redirect app. It would provide a separate dcim folder for Facebook but it wouldn't be under Photos backup path. I don't know how well this would work with media indexing.

May I Offer some cheese in these trying times: using any decent file explorer, create a .nomedia file inside the Facebook folder. Google Photos will then be blind to that folder, maybe needing a restart first. The downside is that your standard ways of viewing thr folders contents won't work as well - you'll need the same file explorer to look at your downloaded Facebook images.

Use my beginner friendly Tasker project which I made based on this answer. I made some significant improvements that allow it to be used for many other scenarios beyond just moving Facebook's images, and included multiple examples within the project to learn from:

While the original version could detect if the file being moved already existed in the destination directory, it could only handle one iteration of the conflict. For example, if example.jpg were being moved, but it already existed, it would rename the file being moved to example(1).jpg. However, if example.jpg were being moved and both example.jpg and example(1).jpg already existed, it would simply overwrite example(1).jpg.

My version will run an iterative check on names which increments the suffix variable until a non-existing name is found. For example, if example.jpg is taken, it will check example(2).jpg. If that is taken, it will check example(3).jpg, and so on until an available name is found. It also correctly appends the first duplicate with (2) rather than (1).

The original version assumed the first "." in a file name was also the last "." before the extension. While this is fine for images from Facebook, it's not an ideal assumption, and breaks down when adopting the task for other uses, such as moving APKs. With the original, if com.example.app.apk already existed in the destination directory, trying to move a second copy of it would result in com(1).example.app.apk.

In addition to fixing the suffix and making it iterative, I've also changed the logic for its placement, such that it will always go before the last ".". In the above example, the apk would now be renamed to com.example.app(2).apk. This doesn't always work perfectly (consider .tar.gz and other similar cases for instance), but it does a good enough job without having to hard-code in every possible extension.

This appears to vary from device to device, but on my devices, the original version would leave behind broken references to images in gallery apps and other programs that utilize the media provider (most messaging apps that have an image selection UI) due to not correctly refreshing this data. This was not an issue for moving images out of a directory containing a .nomedia file, but caused issues if you wanted to use it in a directory where you didn't want or couldn't have a .nomedia file (such as automatically moving downloaded images out of /sdcard/Download/).

Tasker's Scan Media action seems to act in wildly different ways depending on not only the Android version, but also the vendor variant you're using. I've fixed the issue on my devices (and hopefully many of yours) by running a Scan Media action on not only the file in it's destination directory, but also on the original file path (referencing the file that's no longer there).

I also updated variable names for clarity, and rather than using events that trigger when entering or exiting apps, I've set it to run on a File Modified event monitoring the source folder, with the event set to Closed Write. This works for most purposes, but breaks in some cases. You can fix most issues by either using a different event parameter (such as Create, Modify, or Move To) or by using stricter regex in Action 3 of the task.

 I've heard that devices with slower storage (or slow external SD cards) can have issues with this if files take too long to write. In that case, you may have to experiment with adding delays or using different methods to trigger the task.

I'm attaching not just the task here, but the entire project I've created, containing multiple copies of the task for various use cases, and their respective profiles to trigger them, so that beginners who are new to Tasker can easily get started using this task and have some examples to reference when adopting the task to their own needs.
The examples included in this project are:

When Facebook downloads an image to /sdcard/DCIM/Facebook, move it to /sdcard/Pictures/Facebook.
When Samsung Notes saves an image to /sdcard/DCIM/Samsung Notes/, move it to /sdcard/Pictures/Samsung Notes/. (This works, but Samsung Notes will claim it failed to save the image, due to it checking for the image after it has already been moved by Tasker.)
When you create a GIF using Smart Select, move it from /sdcard/DCIM/GIF/ to /sdcard/Pictures/Smart Select GIFs/.
When you export an APK from ReVanced Manager to /sdcard/Download/APKs/Original/, move it to /sdcard/Download/APKs/Modded/.
When a new file is detected in /sdcard/Download/ . . .

if it's a download from Craiyon, move it to /sdcard/Pictures/Craiyon/
if it's an APK, APKM, APKS, or XAPK file, move it to /sdcard/Download/APKs/Original, unless it is base.apk (I leave that file in Download since I use it for other things.)

Remember to first create the source and destination directories before testing the examples. I also encourage you to check Action 3 in each example task (some of them use simple matching and others use regex) for a better understanding of how they work.
Now that that's out of the way, here's the project. You can import it directly to Tasker from there, or download it as an XML. If you choose to download it, save it in /sdcard/Tasker/projects/. You can then long press on the home icon on the bottom left corner of Tasker to import the project.
Unfortunately the entire XML is too long to post here directly, but for the sake of keeping this answer as complete as possible, I'm including the XML for just the Facebook task below. I strongly recommend that beginners import the entire project using the link above however, so you can get an idea of how to customize the task for your own needs.
The Facebook task:
<TaskerData sr="" dvi="1" tv="6.0.10">
    <Task sr="task3">
        <cdate>1489093858387</cdate>
        <edate>1677367714628</edate>
        <id>3</id>
        <nme>Move Facebook Images</nme>
        <pri>6</pri>
        <Kid sr="Kid">
            <launchID>3</launchID>
            <pkg>me.regalstreak.movefb</pkg>
            <vTarg>21</vTarg>
            <vnme>1.0</vnme>
        </Kid>
        <Action sr="act0" ve="7">
            547
            <Str sr="arg0" ve="3">%sourcedir</Str>
            <Str sr="arg1" ve="3">/sdcard/DCIM/Facebook/</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act1" ve="7">
            547
            <Str sr="arg0" ve="3">%destdir</Str>
            <Str sr="arg1" ve="3">/sdcard/Pictures/Facebook/</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act10" ve="7">
            37
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%fileexists</lhs>
                    <op>12</op>
                    <rhs></rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act11" ve="7">
            547
            <Str sr="arg0" ve="3">%currentfilename</Str>
            <Str sr="arg1" ve="3">%currentfilepath(%pathlen)</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act12" ve="7">
            888
            <Str sr="arg0" ve="3">%suffix</Str>
            <Int sr="arg1" val="1"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act13" ve="7">
            590
            <Str sr="arg0" ve="3">%currentfilename</Str>
            <Str sr="arg1" ve="3">.</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act14" ve="7">
            547
            <Str sr="arg0" ve="3">%namelen</Str>
            <Str sr="arg1" ve="3">%currentfilename(#)</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act15" ve="7">
            890
            <Str sr="arg0" ve="3">%namelen</Str>
            <Int sr="arg1" val="1"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act16" ve="7">
            547
            <Str sr="arg0" ve="3">%currentfilename(%namelen)</Str>
            <Str sr="arg1" ve="3">%currentfilename(%namelen)%null()(%suffix)</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act17" ve="7">
            592
            <Str sr="arg0" ve="3">%currentfilename</Str>
            <Str sr="arg1" ve="3">.</Str>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act18" ve="7">
            135
            <Int sr="arg0" val="0"/>
            <Int sr="arg1" val="10"/>
            <Str sr="arg2" ve="3"/>
        </Action>
        <Action sr="act19" ve="7">
            38
        </Action>
        <Action sr="act2" ve="7">
            412
            <Str sr="arg0" ve="3">%sourcedir</Str>
            <Str sr="arg1" ve="3">*.jpg/*.png/*.jpeg/*.gif/*.3gp</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Str sr="arg5" ve="3">%filelist</Str>
            <Int sr="arg6" val="1"/>
        </Action>
        <Action sr="act20" ve="7">
            400
            <Str sr="arg0" ve="3">%currentfilepath</Str>
            <Str sr="arg1" ve="3">%destdir%currentfilename</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="1"/>
        </Action>
        <Action sr="act21" ve="7">
            459
            <Str sr="arg0" ve="3">%currentfilepath</Str>
        </Action>
        <Action sr="act22" ve="7">
            459
            <Str sr="arg0" ve="3">%destdir%currentfilename</Str>
        </Action>
        <Action sr="act23" ve="7">
            888
            <Str sr="arg0" ve="3">%counter</Str>
            <Int sr="arg1" val="1"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act24" ve="7">
            40
        </Action>
        <Action sr="act25" ve="7">
            37
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%counter</lhs>
                    <op>0</op>
                    <rhs>0</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act26" ve="7">
            548
            <Str sr="arg0" ve="3">No memes? Sad.</Str>
            <Int sr="arg1" val="0"/>
            <Str sr="arg10" ve="3"/>
            <Int sr="arg11" val="1"/>
            <Int sr="arg12" val="0"/>
            <Str sr="arg13" ve="3"/>
            <Int sr="arg14" val="0"/>
            <Int sr="arg2" val="0"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Str sr="arg5" ve="3"/>
            <Str sr="arg6" ve="3"/>
            <Str sr="arg7" ve="3"/>
            <Str sr="arg8" ve="3"/>
            <Int sr="arg9" val="1"/>
        </Action>
        <Action sr="act27" ve="7">
            43
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%counter</lhs>
                    <op>0</op>
                    <rhs>1</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act28" ve="7">
            548
            <Str sr="arg0" ve="3">%counter meme moved!</Str>
            <Int sr="arg1" val="0"/>
            <Str sr="arg10" ve="3"/>
            <Int sr="arg11" val="1"/>
            <Int sr="arg12" val="0"/>
            <Str sr="arg13" ve="3"/>
            <Int sr="arg14" val="0"/>
            <Int sr="arg2" val="0"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Str sr="arg5" ve="3"/>
            <Str sr="arg6" ve="3"/>
            <Str sr="arg7" ve="3"/>
            <Str sr="arg8" ve="3"/>
            <Int sr="arg9" val="1"/>
        </Action>
        <Action sr="act29" ve="7">
            43
        </Action>
        <Action sr="act3" ve="7">
            547
            <Str sr="arg0" ve="3">%suffix</Str>
            <Str sr="arg1" ve="3">1</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act30" ve="7">
            548
            <Str sr="arg0" ve="3">%counter memes moved!</Str>
            <Int sr="arg1" val="0"/>
            <Str sr="arg10" ve="3"/>
            <Int sr="arg11" val="1"/>
            <Int sr="arg12" val="0"/>
            <Str sr="arg13" ve="3"/>
            <Int sr="arg14" val="0"/>
            <Int sr="arg2" val="0"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Str sr="arg5" ve="3"/>
            <Str sr="arg6" ve="3"/>
            <Str sr="arg7" ve="3"/>
            <Str sr="arg8" ve="3"/>
            <Int sr="arg9" val="1"/>
        </Action>
        <Action sr="act4" ve="7">
            547
            <Str sr="arg0" ve="3">%counter</Str>
            <Str sr="arg1" ve="3">0</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="1"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act5" ve="7">
            39
            <coll>false</coll>
            <Str sr="arg0" ve="3">%currentfilepath</Str>
            <Str sr="arg1" ve="3">%filelist()</Str>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act6" ve="7">
            590
            <Str sr="arg0" ve="3">%currentfilepath</Str>
            <Str sr="arg1" ve="3">/</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act7" ve="7">
            547
            <Str sr="arg0" ve="3">%pathlen</Str>
            <Str sr="arg1" ve="3">%currentfilepath(#)</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act8" ve="7">
            547
            <Str sr="arg0" ve="3">%currentfilename</Str>
            <Str sr="arg1" ve="3">%currentfilepath(%pathlen)</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act9" ve="7">
            342
            <se>false</se>
            <Int sr="arg0" val="4"/>
            <Str sr="arg1" ve="3">%destdir%currentfilename</Str>
            <Str sr="arg2" ve="3">%fileexists</Str>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="1"/>
        </Action>

            <cls>com.facebook.katana.LoginActivity</cls>
            <pkg>com.facebook.katana</pkg>

    </Task>
</TaskerData>


text:
Where are notification preferences stored? How can I save/restore them?
Where are per-app per-notification preferences (the kind, sound, vibration, etc. settings for each type of notification for each app) stored on Android?
I'd like to back them up to be able to restore them later. (I have root permissions.)
If there's already an app for doing this, I'd appreciate knowing about that as well.

/data/system/notification_policy.xml. But this cannot be backed up / restored by simply copying the file. Per app notification settings are set through channels which are generated on app installation (or on a notification of new category) with random IDs.

@IrfanLatif: Thank you! It seems like I should be able to just write a script (or even sed) to modify the bits I'm interested in regardless of the ID, right? Do you know if changes become visible immediately by just modifying the file, or if they require some kind of signaling to the system?

I didn't try but changing configuration files never immediately reflects in apps because system_server caches everything on boot and app launch. Killing the app immediately after modifying the file may work, or a reboot might be needed before the file is overwritten by OS. Also, modifying files directly (and not going through proper APIs) usually doesn't work (at least in first attempt). If some piece of configuration is saved somewhere else, you are highly likely to break some functionality or settings may reset back. You might need to go through hit and trial before success.

@IrfanLatif: Okay thank you!

Very interesting question, every time I reinstall the OS it takes a lot of time to remember and re-apply the notification settings (e.g. custom sounds for different callers). Why it's not possible to backup & restore them

Agreed, why is this not backed up as part of Android's Google Backup? Considering how complex and customisable notification settings have become recently (with per-app notification categories, which finally allow me to turn off focus-sucking promotional notifications from 100s of apps, and with Conversations), this range of customizations needs to be possible to backup and restore, otherwise all the user's hard work is wasted every time your device dies or is replaced.

Reading in a single place the whole application notification settings (without root) would also be great, as now you have to open each app to check which channels you've customized. A pain!

source: Stack Exchange

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

sort: votes


text:
Why are there 2 boot partition on mediatek devices, both of which contain the same preloader?
On Mediatek devices, the same preloader.bin is in mmcblk0boot0 and mmcblk0boot1, why does it need to be in both partitions?

This is not always the case: https://android.stackexchange.com/a/218346/218526. But if the second boot area partition had no use, OEM might have used it for bootloader backup. Did you hash both partitions and they are 100% identical?

On the link you mentioned, where does it explain by why the preloader needs to be in both partitions? Yes the preloader.bin found in both partitions are identical.

The link explains that both partitions are not identical. Search the role of idme print command on MTK devices.

Btw bootloader partitions have a backup copy usually e.g. aboot and sbl on Qualcomm devices. This is to make sure if updating bootloader fails for some reason (or the partition geta corrupted for some other reason, though not very likely), device shouldn't be bricked. So a duplicate bootloader partition isn't strange, and nothing to worry about.

Both the preloader BIN files in the mmcblk0boot0 and mmcblk0boot1 partitions are identical. The reason for this is in case the mmcblk0boot0 becomes corrupt, the device is still able to boot up.

You missed my statement: "OEM might have used it for bootloader backup". So I already agreed with what you are saying. But I'm dead sure that not all MTK devices have preloader (or bootloader) on both boot area partitions. I have physically analyzed more than one devices where raw mmcblk0boot1 partition contained device specific information like MAC address, serial number etc. idme print dumps that information to human readable form.

When you were analyzing the mmcblk0boot1 partition , did you use sp flash tool to make a dump of that partition?

Why would one need a special tool just to create partition dump? Why not simply dd? // Btw I checked hash of both partitions, ran strings on both, watched strace idme print running which paths it read, studied somewhat how /proc/idme/ works. So I have no doubt at all in what I'm saying.

Very unlikely (0.000001% chance) the preloader files between mmcblk0boot0 and mmcblk0boot1  are not identical. Which mediatek device did you test on?

May I ask why 0.000001%? Is this a standard? // The one I tested when writing the answer linked in first comment was Amazon KFFOWI (Ford) tablet.

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


text:
Turn off the Cell Radio?
Any way to simply turn off the cell phone radio?
This need has come up in ZOOM sessions using the zoom app because that app uses the "phone audio" rather than "media audio"
As a result, it is impossible to include meeting audio if you ChromeCast the session.  The video works, but the audio only outputs using the phone's speaker or audio jack.  Testing using an android tablet rather than an android phone shows that since the tablet does not have a cellular radio, the meeting audio is cast with the video.
Airplane mode is not an option since that would prevent connecting to the internet.
In addition, trying to address the audio using a bluetooth speaker doesn't work either... while it's possible to initially send bluetooth audio to the speaker, something unknown turns that off after a few minutes.
Any thoughts on addressing this would be appreciated.
Beverly Howard

Have you tried: enable Airplane mode and then in settings enable WiFi before the call?

Ok, just finished a long test session using ZOOM in an attempt to setup a ChromeCast viewing session with ChromeCast transmitting both video and audio ;
android cellphone
OS 8.1.0
The goal was to be able to participate in a remote class using a cellphone and ChromeCast to enable the use a large screen
ChromeCast "mirror screen" works to get the phone video mirrored on the large screen, but the Zoom App only uses the "Call Audio" which is not seen by ChromeCast
Connecting to a Vizio soundbar and connecting via bluetooth does not project the Zoom audio
Using a Bluetooth headset does connect to the Zoom Audio (this is probably bluetooth device specific)
It is also possible to use the phone's audio jack to connect and amplify the Zoom audio output.
Using Airplane Mode did not address Zoom App's use of "Call Audio"
Removing the Sim Card did not address Zoom App's use of "Call Audio"
It has been suggested that using a mobile browser app for the zoom interface might also work... have not tested that yet.
Hope this info will be helpful to others with the same need.
Beverly Howard


text:
How to export phone usage time data to json/csv/sql/txt raw form?
There are many apps like Google's Digital Wellbeing and another famous app called Action Dash.
These apps show your data about how many times the phone unlocked, per-app usage stats, no of times an app launched, no of notification etc.
How can I get all these data in raw format from my android phone?
I basically want to use python to perform some analysis on these data.


text:
Does `adb backup` also backs up what is backed up by Android automatic backup (that is stored on Google Drive)?
I have two backups: one from Android automatic backup, stored in Google Drive; another is what I manually backed up with adb backup.
What are the differences between the two? Do I need to restore the one from Drive as well if I reinstall my OS?
There is a similar question but it doesn't answer my question.

I cannot say definitely, but my guess would be they back up the same stuff (as both use the same backend AFAIK – look out for "backup transport" and "BackupManager"). So at least the same restrictions apply to both (like, honoring whether an app defined android:allowBackup="false" to opt out from backups).

In general I agree with what Izzy wrote. Additional to the general allowBackup setting the developer can explicitly exclude and include files and directories. I remember that Android online backup has changed had changed over the times since it had been introduced with Android 6. Therefore older devices adb backup and online backup may differ especially if the hat a large data set to backup (>25MB).


text:
How can I use userscripts on Firefox for Android?
As of October 2020 I can't seem to find a working add-on/extension for Firefox on Android. Tampermonkey's page says the add-on is not compatible with Android, but I think it used to work fine a while back. Is there any way to install userscripts on a current version of Firefox for Android (including beta or developer editions)?
If current versions don't support such extensions, and the only way is to install an older package (not recommended due to potentially unpatched vulnerabilities, I know), which is the latest package version I can use Tampermonkey (or a similar) extension with?

Related: How can I install Greasemonkey, Tampermonkey, or similar in Firefox Android?

End of August Mozilla has pushed a new major version of Firefox for Android that bases on a new web engine.
For an unknown reason for this new version they only allow a very small set of hand selected addons. May be the engine changes were so big that most of the addons now have problems?
It seems like the developers at Mozilla are trying to bring back the full addon support in the next version which is scheduled for October 22th 2020. According to the Mozilla blog the current Firefox Nightly version should already include the mentioned full addon support. May you give this version a try - hopefully it will be able to run Tampermonkey addon again.
Edit 2024: For installing any XPI add-on in Firefox for Android you have to enable the Firefox Debug-Mode by opening the Settings -> About Firefox and tapping the Firefox logo 5 times. Afterwards the Settings page has the new entry Install add-on from file.

You can instead install an actively maintained Android Firefox fork Iceraven that supports extensions like Tampermonkey, Greasemonkey, etc.


text:
Android phone powers on spontaneously during charging
I want to charge the phone while it's powered OFF.
But it automatically turns itself ON during charging.  It may be 87% or 90% or 100%.  I don't know the exact reason.
Model = LG-K430n.
I don't like cell phone radiation and I rarely use the phone at all.  I just want it to be OFF most of the time.  This is driving me nuts.

There are devices that are designed to power on when connected to a charger. If you don't want your phone to emit radio signals use the Airplane mode.

It's by OEM design. See support questions and in particular this one My phone automatically turns on when I connect the charger. Why? which says

Your smartphone will turn on automatically when the charger is connected. Please be assured that it is a sign of normal operation.

And to prevent it from turning on

To charge when your smartphone is off, connect the charger first and press the Power button to turn off your phone. The display will not be turned on.
When the remaining battery is less than 5%, the battery temperature is too high or low, or the smartphone is turned off due to the high temperature, the screen will not turn on.


text:
Uninstall Android app from Google Play website
I have installed one of the android apps, which is for double tap to screen on/off, but this app is  misleading. Unfortunately I gave admin permission for this app, after installing this android app, My mobile screen is never showing up. But, I can hear phone rings, message tones, and everything working fine. How do I make my screen visible now??
Is there anyway to uninstall that particular app, from any website?? I'm pretty sure that, screen is not popping up because of this app. Please help me here.

Have you seen: How to remove an app that is a persistent device administrator You should edit your post with make/model of Android phone and if possible what OS version.

Could you mention the link to the app in the comment? While we acknowledge the risk, some of us may experiment with it on the emulator/spare device to be certain. Though, AFAIK there's no way to uninstall an app from the Play Store website.


text:
How to remove Messages app for SMS from Android 10 Wiko View 4 phone?
I want to remove the default messages application called Messages which handles sms sending and receiving from my Wiko View 4 Android 10 device.
The reason I am wishing to uninstall this app is that I deem some of the content in this app inappropriate.
Can I install SuperSU or something to root the device and then remove this app?
Is there some other way to remove it?
Is there a way to remove it at all?
When I click on it I can only remove it from my home screen, but cannot uninstall it because the uninstall option to drag the app to in the screen is missing (only the remove place where to drag the icon appears).
If I remove the Messages app from the home screen, I still can see it in the list, if apps, when I scroll up on the home screen with my fingers to see all apps.
But I don't want this app anywhere on my phone.
Thanks.

Well yes you can root you phone and remove the messages app but i warn you that removing system apps is very risky. Why not just disable it because removing it completely you might regret it greatly afterwards

Go to settings
Go to apps or app manager
Go to all apps (differs from phone to phone)
Search for the message app tap on it and then disable it.


text:
Is it possible to see when a bluetooth device was last connected?
I misplaced my bluetooth headphones, does anyone know whether it is possible to get a history when they were last connected on my Android 11 google Pixel 3A? Thanks in advance.


text:
Can android devices be controlled/tracked (including on/off control) by IMEI?
Phone lost having sensitive data that cannot be deleted, The owner(my cousin) has gotten mentally unstable. Tried every possible solution to track it like google's find my device. I also tried to track it by the service-provider/carrier number but couldn't achieve any result so the SIM card has been blocked/disabled. Lastly I reported to the proper authorities to track down the device but strictly advised not to erase the data. They asked for IMEI-number of device which i provided to them on spot. No response whatsoever has been recieved that could even provide a grain of hope for recovery. My cousin is considering sucide but only me being a trustworthy person for him have been controlling him by giving him lies and false hope. The device has not been connected to the internet or even turned on since lost so that it could be tracked down (info by google's find my phone app). The authorities told that it can only be controlled or tracked by its IMEI-number. IS IT POSSIBLE
My email-id is/was also activated on that device. Proper documents and all original accessories along with box and IMEI sticker can be shown for proving ownership of the device
Device: LG-Q60


text:
Speed from mobile hotspot is not consistence and poor speed
I am WFH and using Xiaomi note 8 pro for hotspot to my work computer and I have D-Link dongle which catch the hotspot signal. I am using Airtel sim card for that.
When I start working to my system at 10:30 IST in the morning, sometimes I do get speed about 15-20Mbps but while loading the page it doesn't seems to be that much speed. After 2-5 minutes of this "Rocking" speed, it came down to below 100Kbps and sometimes below 10Kbps as well.
If I am opening Youtube.com, I can watch the videos in full HD without buffer but at the same time i won't be able to remote connect to my PC.
Same when i open youtube, facebook, instagram like app on my mobile, it works good and speed is also good as i can see the speed at the top of my screen. Youtube is giving me speed like 600Kbps-1Mbps and other app too gave me speed of  upto 500Kbps. But as soon as i opened some other app, speed bites the dust.
Suppose I opened 2 apps in the background. One is Youtube and other one is cricbuzz. I maximize youtube and browse some videos and i can see speed upto 600-800 Kbps and suddenly i minimize the youtube and maximize cricbuzz. All of sudden the speed from 600Kbps goes down to 6Kbps.
I am unable to work properly and neither i am getting any support from Sim Company. I am asking this question over here so that if i could get some help in terms of if this is the issue of network company or mobile company or my device is not upto the capacity.
If there would be any work around or hacks. Any kind of solution would be a great help.

Are you sure that tethering your PC is allowed for your data plan? If it is not allowed yozr Mobile Network Operator may throttle connection speed of those connections that are identified to originate from a PC.

How do I check that?

Read the conditions of your data plan and/or ask you mobile network provider.

youtube is working super fine with the same data connection but breaking when multiple times. rest is also working with same breaking but the speed is not as much as youTube.


text:
Is it possible to automatically transform a phone number before calling it?
So I want some kind of solution to take a phone number from my call list, contacts or anywhere else, then transform it in a specific way and then add some digits and symbols in front of the number and a symbol after the number, and then forward the newly created number to the dialer.
For example, I have a phone number in my call list "+37066611111", if I share it as a number in my dialer app (DW contacts and dialer), I get this kind of text:
Contact name:
+37066611111

I want some kind of tool to get this text, drop this part:
Contact name:
+370

Then add additional symbols and digits to the remaining number "66611111", so that the result would look like this:
866622222,789#9#0866611111#

Then pass this newly created number back to the dialer. Is it possible?
I'm using a bootleggers ROM (Android 9 pie) installed on a Motorola Moto E 2015 phone.

Not all requirements of the question are met in this answer, but this is as close as I got so far, and I'm quite happy with it.
So, this requires to copy the telephone number without the contact name, like this:
+370 666 11111

Next, I used tasker to create a task which reads the number from the clipboard, loses the "+370" and spaces and then adds the additional digits and symbols.
I used the "Variable set" action to set a new variable to %CLIP (this way the copied number in a clipboard is saved to a separate variable, so we can manipulate it further).
Name:
%nr
TO:
%CLIP

Then I used "Variable  Search Replace" action on the new variable to get rid of "+370". Took me some time to find out how to get rid of the "+" symbol, because tasker doesn't search for "+" in this action, so I used "\D" in the search parameter, which finds any symbols that are not digits, so it worked for me.
Variable:
%nr
Search:
\D370
Replace Matches: checked
Replace with:
08

Then another "Variable  Search Replace" with a space in the search parameter to get rid of the spaces. (the "replace matches" must be checked to delete the found text from the variable)
Variable:
%nr
Search:

Replace Matches: checked
Replace with:

Then a "Variable set" action to create a new variable with the additional digits and symbols
Name:
%nrr
TO:
866622222,789#9#%nr#

And lastly - the "System > Set Clipboard" action to copy the transformed number back to clipboard, so I can use it anywhere I like.
Text:
%nrr

Then I created a button in the quick settings to launch this task, so all I have to do is copy the tel. no. which I want to transform, use the quick settings button for the task and paste the new number to my dialer app. Originally I wanted Tasker to forward the new number for the dialer to call, but if I use the "Call" action in tasker, everything after the comma in the new number is not forwarded to the dialer. So pasting the number is good enough for me.
I understand that not many people may want this functionality, but if I help even one, I'm happy. I'm willing to edit the answer so it would be easier to understand, but please tell me how to improve it in that case.


text:
How to change a thermal printer’s Bluetooth baud rate?
I want to print image using thermal printer through Bluetooth from Android device.
I connect Android phone to printer (printer model: XP-318B/XP-318BM) through Bluetooth then by using BluetoothPrint app I send command to print image, the printer started to print a part of image then it stopped for half second and than it resume printer then it stops for half second then resume and it continues like this until it finish printing the image, white rows appear at the places which the printer was stopping as in the image.
First, I thought it was a programming issue, so I connect the printer though USB and then printed the same image it perfectly printed, so I'm thinking it is the baud rate of the printer's Bluetooth.
I search for two days with out any good results  how to change the baud rate.
I found these tutorials, but I couldn't change the baud rate .

“Instruction of Change Baud Rate for Bluetooth Printer (To 115200bps)”
“How to Set Baud Rate for 58mm Thermal Printer”

What can I do?

Have you tried printing a lower resolution image?

Bluetooth is a pretty low bandwidth link to begin with. It can maybe do a theoretical maximum of 2 megabits while USB 2 can do 480 megabits.

Please connect the PC via Bluetooth to the printer. If it still does not work, the problem is unrelated to Android.

Mokubai - I have other printer (GOOJPRT  PT-210) work also with Bluetooth can print image without and mistake, this mean Bluetooth technology got the ability to print.

Robert - I did try with PC Bluetooth I got same result as android. yes it unrelated to android it related to hardware of Bluetooth (baud rate setting)


text:
How to share as image from the Wikipedia App?
The Wikipedia app supposedly allows sharing selected text as an image, as seen on diff.wikipedia.org.
At the moment, at least on my phone (Nokia 7.2 TA-1196, Android 10), only “standard sharing” is available, which shares plain text.
Does the feature still exist? How can one share as image?

Just tried it on Wikipedia app (2.7.5033+2020-08-04) on a Samsung S9 running Android 10. And I was not able to have text over image via the share button as described. That feature was from 2015 and based on the comments in your linked post, they was some concern about image rights issues.
Regardless, I was able tap on an article image for normal sharing.


text:
Mobile Data blocked while getting/sending phone call and message
I have 2 sim cards in my phone Samsung J7 Pro. Whenever I used the packet data for internet using sim 2 and there's phone call or message coming in my internet got blocked. I used packet data because it's the only reliable internet connection I have right now. How to totally block all incoming call or messages to avoid my packet data blocked while using the internet?, Thanks in advance.

This all depend on your network provider. And also android operating system.
Generally in 2G network  when you get call, mobile data turn off. while in 3g you can use call and data simultaneously. This also depend on network strength and hardware.
while in 4G LTE, you can connect internet and make call.
So choose network which support data + voice.
kindly provide what is written near your network signal strength at the top of the screen E or 4G Volte.

mine is LTE but when I use the packet data from SIM 2, any call or messages from SIM 1 got my packet blocked.

Normally LTE can handle voice + data simultaneously. But it all depend on how your carrier provide network and network strength at your area.


text:
Navigation bar no longer hides in some games since Android 11
Since updating to Android 11, I've noticed some games I used to play no longer hide the navigation bar as expected.  Some apps, however, work as expected.
One game in question I have is Carmageddon, with the navigation bar visible on the right.
I have tried:

Checking for updates (no update since 2017)
Swiping from top, left, right, bottom
Restarting phone

Is there a way to restore the original behavior where this game would be able to hide the navigation bar?


text:
Can I run AOSPExtended Android 10 ROM in a 16gb storage phone?
I have a Micromax canvas Q417 modeled phone whose last officially received system update was of Android 5.1 Lollipop and they too about 5 years ago. So I decided to install a custom ROM. After searching and researching, I found AOSPExtended Android 10 ROM perfect for me (here is the link). It is an old Motorola model ROM but the device specifications for this model and my model are the same except for one thing ie this phone comes in two variants, one with 16gb internal storage and another with 32. I have 16gb internal storage and after rains some parts on Reddit and Quora, I found that Android 10 updates take a lot of space probably miss than 16gb. The ROM download size in this link is about 400mb which so will I be able to install it on my phone and have some space left for other things (at least 5gb of available space should work)? If not then which ones among Pie and Oreo will be suitable for my phone and I didn't want to get lower than Android 8. I know that this question may be down voted or even closed but before doing so please answer my question. Thanks for reading.

A smartphone is not like a PC. You don't need similar hardware, you need a custom ROM built for exactly your device model only. A single different component inside your phone compared to the phone the ROM was built for can make the ROM unusable to you. Therefore you need a custom ROM built for your device, otherwise you can brick or destroy your phone.

Actually there is no custom ROM good my phone model. So I am using Motorola ROM.

The MotoX victara has an AMOLED, yours have an LCD hence the display controller will be with a chance next to 100% different. Thus this ROM will most likely not work. You need a ROM with at least the major hardware (CPU, display, storage, Wifi chip, mobile radio, ...) components exactly identical to your device. Otherwise you don't even have to try it.

So which ROM should I use?

If you don't find a ROM for your device then you have to stay with your current ROM or try to develop an ROM on your own if you have plenty of time and some development skills.


text:
Disable heads-up notifications
How to disable heads-up notifications (pop-up notifications)?
(These are the notifications that show at the upper part of the screen and obstruct the view.)

You can use adb for this. adb shell settings put global heads_up_notifications_enabled 0 should do the trick

@Aayush Where should I type this?

First of all you'll have to install adb on your pc and then connect your phone and run the commands
Installing ADB

Download adb installer from HERE on your pc
Run the setup and do as directed to install adb.
See THIS video for reference

Connecting device and running command

To use ADB with your Android device, you must enable a feature called USB debugging. Open your phone’s app drawer, tap the Settings icon, and select “About Phone”. Scroll all the way down and tap the “Build Number” item seven times. You should get a message saying you are now a developer.

Head back to the main Settings page, and you should see a new option near the bottom called “Developer Options”. Open that, and enable “USB Debugging”.

Later on, when you connect your phone to your computer, you’ll see a popup entitled “Allow USB Debugging?” on your phone. Check the “Always allow from this computer” box and tap OK. Select connection type to MTP from charge only if this doesn't pop up.
Take a look at THIS if you're stuck somewhere.. Everything mentioned above is demonstrated here with pictures

Now open command prompt and type adb devices. You'll see a device listed there.

Enter adb shell settings put global heads_up_notifications_enabled 0 to distable it. And if you want to enable it back again enter adb shell settings put global heads_up_notifications_enabled 1

Does this command need to be run after every reboot of the phone?

Nope...........

Go to Settings > Applications & Notifications> Notifications.

This affects the normal notifications, but not the so-called heads-up notifications.

Not yet tested; probably doesn't show anything (not even in the status bar) and also disables sounds:

Go to Settings -> Apps -> App info
For each app that shows heads-up notifications:

Tap on that app
Tap on App notifications
For each type of notifications ("Lite" (the cryptically named Facebook app) has about 20 types):

Tap on the name of the type of notification
Tap Importance -> Low (No sound or visual interruption)


text:
Why does my Android 10 phone needs to be called multiple times before rining?
My Nokia 7.2 Android 10 phone has the following strange problem that is 100% reproducible:

Sits there doing nothing for 10 or 20 minutes.
Receives a phone call but does not ring.
Receives another phone call soon without ringing.
Receives another phone call soon without ringing.
Receives another phone call and rings finally. It will continue to ring if a phone call is received soon.

Again, the above can be reproduced reliably.  Could anyone offer a tip on how to fix this?

This is somehow reminded me of a feature in "Do Not Disturb" mode. Are you using it? Otherwise, have you checked the settings inside the Phone app?

I had never heard of this feature.  I have just checked the settings and you are right - it was turned on.  I do not know how this happened.  Could you turn your comment into an answer for me to accept?

This is caused by the "Do Not Disturb" mode and its "allows repeat callers" feature.
The "Do Not Disturb" mode can prevent interruptions from all phone calls, though some contacts can be whitelisted, and may also allow repeat callers to interrupt the user.
The setting can be accessed from Settings - Sound & vibration - Do Not Disturb - People - Calls - Allow repeat callers.

Allow repeat callers
If the same person calls a second time within a 15-minute period

To prevent the first (few) call suppression, turn off the Do Not Disturb mode.

I've had that issue with my older phone (a Samsung) at my home office and my new phone (a Pixel 5a) seems to have the same problem.
I think that in my case it is because the phone is not accepting WiFi calls automatically and I have a bad connection to the cell tower (I'm in a canyon so the antenna is just not properly positioned).
The one way I've found to fix this (At least temporarily) is to make a call to my landline and hang up. That will wake up the call over WiFi feature and then it works well.

As mentioned in a comment under the question, the other reason might be the "Do No Disturb" feature. That was not my issue, though.


text:
Scale entire display down a couple pixels due to replacement screen?
I'm not familiar with Android Stack Exchange so apologies in advance if I am asking this in the wrong place or word something wrong.
Recently I replaced a damaged screen with a new one on my Samsung A8 2018. I noticed pretty quickly that the screen digitizer seems to go over the display itself by a couple pixels on both the top and the bottom. This is pretty annoying as it cuts off some of the information I need to read that is located there (such as notification bar).
I think that the solution to this would be to scale the screen down vertically just by a couple pixels on either end but do not know how to do this. I have tried this , but the scaling starts underneath the notification bar which does not help me. The phone is not rooted (but I do plan to root it in the near future so any solutions that involve rooting are still helpful) and I do use adb for super basic things once in a while.
Does anyone know of any apps or of an adb command that could scale down the entire length of the display and leaving the empty areas of the screen black?

There's a command called wm window manager, which can basically set the screen density, size and overlay. Now, to make sure if you have wm binary on your device, try opening a shell(android terminal or an adb shell) and then try typing wm. If it shows a bunch of helpful stuffs, then good news, you have that and probably can use it. Now, in your case, since things go out of screen limits, it's probably the screen size that needs to be customized here. Now before jumping into the main command, try seeing the screen ratio of your device first. Type wm size and it'll show your screen resolution. Now, for eg, if it says 800x480. You need to shrink the size a bit and adjust until you find the correct ratio, for eg to decrease, type in wm size 790x450, to resize the window resolution.
Now, just before applying all of these, if you're planning to do this from your Android terminal, you'll need root privillege, since for the moment you have no root privillege, adb shell could most definitely work. Hopefully this helps (: If you don't happen to have wm binary by any chance, maybe installing busybox would be a better idea.
This post might be helpful as well
https://stackoverflow.com/questions/18500611/android-how-to-use-adb-shell-wm-to-simulate-other-devices


text:
Debug APK with Android Studio without breakpoints
I'm trying to reverse engineer a newspaper app.
I've decompiled it with apktool v2.4.1 apktool d APK_NAMEadded to android:debuggable=true in AndroidManifest.xml and changed one boolean method's return value to always true.
Then I recompile it apktool b APK_FOLDER -o APK_NAME I don't know if it signs it and if the signing issue causes the problem.
Then I go to Android Studio -> debug or profile an apk and USB debug it with my mobile device connected. After the app runs un my mobile i using it's UI when I go to the section I changed and press to read an article it suddenly loops and jams. I don't know what causes that loop so I don't know where to put the breakpoint(s)
What I need is to see the running code while the app runs or better to see the stack trace while the loop occurs. is that possible?
I'm running the whole thing under Kubuntu Linux 20.04 x64
Thank you

Android Studio is not designed to work on APKs you don't have the Java source code of.
When it comes to debugging apps without sources I recommend to check out the tool Frida. It allows to manipulate apps at run-time.
Using frida-trace you may be able to identify what methods are called when the app "loops and jams".
For advanced manipulation you can also checkout the tool "Objection" which bases on Frida.
On a non-rooted device you may have to include the frida-gadget (a special native library) into the app to be able to connect to the app:
https://fadeevab.com/frida-gadget-injection-on-android-no-root-2-methods/
Alternatively Objection provides an "APK patcher" that does this injection for you: https://github.com/sensepost/objection/wiki/Patching-Android-Applications


text:
Is there a way to connect an external microphone to android, while using internal speakers and charging the phone?
I want to improve the microphone sound quality while using internal speakers. I also want to be able to charge phone while on the call. Is there a way to do it?
So far I only saw solutions that would require headphones to also be connected to the device.


text:
How to keep running Android tablet with dead battery
I‘m using Android Galaxy View tablet as photo-frame, integrated in the wall with AC adapter connected constantly 24/7. The problem is the battery inside tabled dies each year. And when the battery is broken the tablet switches off automatically, regardless of AC adaptor connected.
I tried to replace the battery last 4 years. Replaced 4 batteries already. But currently I cannot find any batteries for this device anymore. The tablet is not in production for many years already.
My question: is there way to avoid switching tablet off while it connected to AC with broken battery?
I‘m able to switch tablet on with power button. But it works this way - just several hours. Then it unexpectedly switching off. Looks like Android monitors the battery and shut downs the system if battery is 0%?. Can I disable this monitoring somehow?
Another question: can I change shutdown to reboot? The point is power button is hidden under glass frame covered the tablet. And it is not easy to press it when i need to switch the device on.

Hopefully helps, but becareful: Using Android phone without battery

If the tablet is rooted you can disable charging, this should also prevent the battery from dying, see e.g. https://android.stackexchange.com/q/54902/2241


text:
Any way to transfer file >4GB from PC to android tablet?
I'm trying to get a very large file (97 GB-Wikipedia for Kiwix) from my PC onto a Micro SD card in my Android 10/Go edition tablet.
The problem is that the tablet doesn't seem to recognize an Exfat card; when I put it in, it wants to format it. If I format it for Portable Storage, it formats it as Fat32, so I can't transfer larger files.
I've seen some indications online that formatting it for Adaptive Storage allows bigger files, but the problem with that is that the adaptive SD doesn't show up in Windows file explorer, only the smaller internal storage.
I've tried downloading the file straight to the tablet, but android is again trying to download it to the smaller internal storage, so it gets stuck. When trying to change the download folder, chrome again only sees the small internal storage.
Any other ideas how I can get this file onto my 256GB adaptive storage sd?
Thanks in advance!

So.. I am just guessing at this but you might be able to do ext3 or ext4 on the SSD and get a driver/tool for that working in Windows.  If you try, make sure ext3 has a block size of 4k or you will have the same problem you have now.  Do you have console access to your tablet?  If so, you might be able to split the file and re-assemble on the android side?

As long as the microSD card is formatted as FAT32 a file of more than 4GB is impossible. You can try if Android Go supports exFAT file system on the microSD card, in such a case it should be possible to you such a large file via USB onto your tablet, not sure which app allows to download directly to external storage.

Does this answer your question? How to read ext4 filesystem without mounting on a non-rooted device?

As Señor CMasMas has mentioned you need to format the SD card as ext4 and you will need root to be able to mount it on the android. You can access the ext4 partition on Windows with "Linux File Systems for Windows by Paragon Software" This program lets you mount the partition in windows and use it as a regular drive.
Here is how this can be done.

Format your SD card as ext4. You can partition it into 2 partitions and only format the 2nd one as ext4. This way you can still use the first partition normally on your device. I used Mini Tool Partition Wizard.
On your Android device, you need to mount the partition. I use Termux (terminal) to do this. You need root to be able to mount it.

Make a folder in your termux home folder where you will mount the partition. (eg. mkdir ext4).
Mount the partition to this folder. You need to find the device name. I have found in all my devices that it was /dev/block/mmcblk1p2 for my 2nd partition. (eg. mount /dev/block/mmcblk1p2 /data/data/com.termux/files/home/ext4-fs).

Once its mounted you can access it with Total Commander (and probably other file explorers as well) on the Android.
I have done this and am able to copy large files onto it.

If you are using Termux then if you used the example folder you will find it here. /data/data/com.termux/files/home/ext4 (This is the mountpoint).


text:
Accessing NFS share
I'm trying to develop a very basic NFS Android client. I don't need to actually mount the NFS share, just list, read, and write files.
I can't seem to find any NFS-related APIs in the Android API reference, nor any Android-compatible Java-based NFS libraries.
What's the easiest way to access NFS shares programmatically in Android?

NFS is complex, won't work without kernel support: How to mount NFS on Android with correct permissions?

That doesn't pass the basic smell test as my Kodi application on my Nvidia Shield reads media files on the local network over NFS


text:
recover text messages
I have an Huawei running the latest Android.  I accidentally deleted some Very important text messages and they haven't been backed up.  Is there anyway I can retrieve them?

no, not from the device itself. check notification logs maybe there is some kind of copy


text:
no write permission to memory card storage from termux
is it possible to write/edit the files on the memory card with Termux
i tried the command:
termux-setup-storage
but it only gives the permission to write on my device storage(/emulated/0/)

Writing to the external sd-card section is only possible using the Java-API. As Termux applications are usually regular Linux programs writing to the external sd-card is not possible as far as I know.

If your device is rooted you can use root to write to memory card.

is it possible if i use beanshell[on termux] to write into memory card


text:
How Auto start apps are able to start after reboot?
Many OEMs have restrictions which do not allow an application to run after boot complete. For this, we need to give autostart permission to that app. Then how does apps like Autostart, startup manager are able to run right after boot without having any permissions? Autostart is developed by a small team and is not as popular as whatsapp, facebook and others that it can be whitelisted by the OEM. Any inputs will be helpful.
Edit1: I am aware of broadcast receiver but even after using them user needs to manually set autostart permission for my application to be able to run the application in background after BOOT_COMPLETE. However this is not the case for autostart apps.
Thanks.

When talking about a specific app please always include a link to the PlayStore web page of that app, because there are a lot of "Autostart" apps available and it is not quite clear which one you are referring to. There are different events that come frequently (e.g. BatteryLevel*) so that you don't need BOOT_COMPLETE if you want to start something some short time after boot.

How do you know Autostart app runs right after boot?

@Robert https://play.google.com/store/apps/details?id=com.autostart&hl=en&gl=US this is the link of one such app. I read on Google's developer page link that apps can now listen to only a few implicit intents.


text:
Why does the Android SDK show Android 10.0+ (R) instead of 11.0?
If I open Android Studio and then open the SDK manager, I see 10.0+ (R). I checked for updates, but no other updates. Why is it 10.0+, instead of 11.0?

Android R/10+ was the name that was used in the beta phase of Android 11. I would assume that Android SDK manager does not update this name or Google forgot to change it to Android 11 after publishing the final release of Android 11.


text:
Phone extremely slow, even after factory reset
I have a Samsung Galaxy J5 2016. It's gotten extremely slow and buggy (>10 crashes a day, waiting more than 30 seconds to open default apps, ...).
I've done a factory reset, with removal of all data, including SD card. And... It's just the same.
I'm already looking around for a new phone, but I'm wondering what can cause this?
When I google why phones get slower over time, they point to more and heavier apps. But this doesn't explain my case.
What can cause this behavior, even after a reset?

Old phone have old unmaintained Android versions installed with a lot of vulnerabilities. Apps can therefore use these vulnerabilities and install malware as system app, hence factory reset has no effect. Alternatively your CPU may be partially defect or the heat transportation does not fully work and the CPU overheats.

The most common culprits for slowing down your phone is accumulating background apps and hardware degradation. Since you've factory reset your phone, that rules out the first.
Flash memory in your phone degrades as you repeatedly write data, but this is a slow process. Eventually you will have sectors of memory fail from physical wear or accumulation of electrons which makes them unreadable.
Same thing happened to my Samsung Note 4. Was blazing quick when I first got it, now its sluggish, even after a reset.
Btw, check out Cycle (https://cyclephones.com)
It lets you stream an android emulator from a server to your phone so that you can run any app smoothly.
Full disclosure: I run Cycle, but I'd use it even if I didn't. There isn't a good solution to a slow phone other than buying a new one.

Afaik flash degrades by its increasing probability of a hardware error, but not by its writing speed.


text:
How to access "Work Profile" files via USB on my PC
I've got an Android "Work Profile" on my phone, kind of setup as explained here.
It's trivial to access normal Android files. Plug a USB cable into my phone and PC, select "File Transfer" and my files show up in Windows Explorer. Is it possible to access my "Work Profile" files in the same manner? I don't see any path to them in Windows Explorer when connected (to Android 11) via USB. I'm guessing this access may not be possible.

Different questions but relevant answers: How to access /storage/emulated/10 (multi-users env) in adb shell on Android 9+ without root access? and How to share files between a regular account and a work account?

You need to install a file sharing app, such as AirDroid, to access your files in Work Profile.


text:
Soft Bricked Nexus 6P
Back in 2015, I rooted my HTC One M7. It was an adventure; I messed up along the way, soft-bricking my phone. Eventually, though, I managed to get it working again. That was five years ago. So, I might as well have never tried to root a phone, because I've now soft bricked my Nexus 6P—and I don't know how to bring it back to working order. I seem to only ever know just enough to be dangerous.
On the Nexus 6P, the problem is that the phone hangs on the Google logo screen. However, I can boot into the bootloader and get into recovery. I've got TWRP 3.4.0.0 already flashed.
ADB does not recognize the device in the bootloader. It only recognizes the device when it is in TWRP. I am using PowerShell in Windows 10 as my terminal.
Everything went bad when tried to flash SuperSU-v2.82-201705271822. While I had done a factory reset before attempting this, the phone only reset to Android 8.1.0, the earliest build of which was 12-2018. Since the SuperSU I attempted to flash looks to have been from 05-2017 ... well ... my bad. Clearly. Rookie mistake.
This seems fixable, though. I just don't know how to fix it.
My error appears to have blitzed my OS entirely. In TWRP, if I look at the 'sdcard' partition, the only directory is TWRP. None of the Android file folders are there (Downloads, Pictures, etc.). Yet, at the level where 'sdcard' is listed, all the system directories seem to be intact.
Further, if I run 'adb shell su' in PowerShell, I get "su: not found", so my root attempt obviously failed.
In sum:

I have an unlocked bootloader
Device unrecognized by ADB except in TWRP recovery
I am not root
I seem to have no OS (but the directory structure above the 'sdcard' level seems intact)

I tried sideloading a factory *.zip from Google, but I can't do it from PowerShell with the phone unrecognized by ADB. I then tried using the TWRP ADB sideload option, but was told that my *.zip was invalid when I tried it (should I not have tried flashing the whole angler-[etc].zip?).
On XDA, I'm finding a lot of information, but it's not been helpful to me. This seems like a simple issue with a simple solution, but it's one of those "clear only if learned" scenarios, and I haven't learned.
As such, I just need some hand-holding for how to get back to a working OS. It seems that, for things being bad, they're not really that bad. If I just knew what to do and how to do it, I could get out of this pickle. If someone could teach me how to get out of this mess, I'd appreciate it.
Thanks.

Just to make it clear adb never works in bootloader mode. In bootloader mode only fastboot works (if the device supports fastboot)! https://android.stackexchange.com/a/221635/2241


text:
How can I make my rooted Android 7 phone as secure as possible for financial transactions?
The latest security update patches for my phone was in 2017. My phone is rooted. What steps can I take to make it as secure as possible to be able to safely use financial apps where I'd be transacting money?
These apps need Google services to work, so custom roms are not an option (or are they?).

For background/context, OP's previous question: Is a rooted phone safe for phone banking?

if your device is Mediatek Chipset there is a risk for malware, therefore i recommend not to use banking apps at all https://www.xda-developers.com/mediatek-su-rootkit-exploit

Yes you can always install the google services in a custom rom. And why are you asking same question again and again?  https://android.stackexchange.com/questions/230442/is-a-rooted-phone-safe-for-phone-banking/230507#230507

First of all install a stock rom of your mobile after that you can just do the banking transactions... Then go to google play store > setting > play protect certification > certified.
if the device is certified you can do any financial transactions!

I thought about that but I really need the phone rooted because I have some apps (like Titanum bu) that requires boot. What about dual boot?

The question was less "how can I use it for financial transactions" – but "how can I make it as safe as possible for financial transactions". Problem with "stock ROM" is, as the question pointed out, that the last security fix was 2017. Though providers of financial/banking apps do not care about that, it's not considered safe by security experts – while making it safe by installing a custom ROM is considered "unsafe" by most of those software vendors, so their apps refuse to run.

@Izzy the ones I got don't have a problem running on my rooted phone. There's also Magick hide as an open for those that do.


text:
suggestion for a stable Chromecasting app?
as above.
I'm using a Galaxy S9+ running Android 10 with a recent security patch.

I have some videos (h.265 AMD VCE encoded using handbrake) that I can cast with no issues when using VLC on the desktop (Windows 10/macOS). The laptops are around 10-15 feet away with wooden walls in-between itself and the router.
I tried casting (6-7 feet away from the router with no walls in-between) with these 3 apps and it's very unstable (video freeze, completely stops and other random issues)

MX Player Pro
VLC
Google Photos
Thank you.

You should list out the codec parameters used for your videos. My guess is that the desktop is doing the necessary transcoding/downsampling if you aren't using a Chromecast Ultra which has documented support for h.265. See supported codecs: https://developers.google.com/cast/docs/media#mp4_video_only If everything looks fine, you should state your Chromecast device and network (a/g/b/n/ac) as well.

I'm using the chromecast device built-in on the TV. I only selected AMD VCE on handbrake and selected "main" as profile. nothing else can be change on the video tab.

Unless your TV is 4K with Chromecast branding, I'm leaning toward the TV only supporting h.264. However if your TV is 4K with Google branding then honestly I'm not sure. h.265 AMD VCE is GPU hardware encoding, you may want to try CPU encoding or a different format (like VP9).

@MorrisonChang but I can cast fine from my desktop using the same h.265 video...

Point taken. At this point I'm not sure if the problem is with the TV or Android. One test to try the same video file with a different phone to see if the same issues show up. I still recommend updating your post with make/model of TV and what the codec worked/didn't work as shown in VLC (Media Info).


text:
OnePlus 8T battery capacity
Using the AccuBattery app I'm told that the design capacity of the battery is 4500 mAh, but after 3 significant charging sessions the current capacity is 2095 and has never reached 50% of the design capacity. I've tried contacting AccuBattery and OnePlus to see if I should be trying to exchange this brand new phone given this report. I haven't gotten an answer yet. Does anyone else have any info about OnePlus 8T actual battery capacity or how to deal with this?

This is the answer from AccuBattery support (OnePlus 8T has a dual battery apparently):

Unfortunately there's no solution for this at the moment as the system
isn't reporting the values in the correct manner. It looks like more
devices with dual batteries have this issue but we currently don't
have these devices to test with so we can't figure out the exact
underlying problem and build a workaround for it, but the most
apparent issue is that the device reports half of the charge current.
The health estimate can still be calculated if you do a manual
benchmark like this:
https://accubattery.zendesk.com/hc/en-us/articles/213575425-How-to-manually-benchmark-your-battery-health
but the maximum you will get is half the design capacity so you will
need to multiply the mAh estimate by 2 (or change the design capacity
so it's half the original value) and make the assumption that the two
batteries are used at the same rate; which is probably not what's
actually happening (one battery might be used to charged the other for
example).

you can mark this as an answer, while there is not better solution


text:
Relock bootloader - "FAILED (remote: unknown command)"
I'm getting rid of my Sony XZ2 Compact. I just flashed the original firmware using Emma and now I'm trying to relock the bootloader.
I've tried running fastboot oem lock and fastboot flashing lock both as a normal user and root with no avail. I always get the following error:
>> fastboot oem lock
...
FAILED (remote: unknown command)
finished. total time: 0.000s

When I run fastboot devices I can see my phone listed. USB-Debugging is active in the developer options.
How can I lock the bootloader so that I don't get the screen with "Your device software can't be checked for corruption. Please lock the bootloader." when booting the phone?


text:
How can I disable locations in Android 11(API 30) using adb shell command
The following commands do not disable location services on API 30. Although they do work on other API levels.
adb shell settings put secure location_providers_allowed -gps
adb shell settings put secure location_providers_allowed -network

They do not throw any error message, but they do not turn off the location services either.

I assume the main problem is that location_providers_allowed is deprecated since API 19. According to the API doc it should be still present in 30 however the doc also states Do not rely on this value being present or correct.

On Android 11 -
to enable, I use:
adb shell settings put secure location_mode 3

and to disable, use:
adb shell settings put secure location_mode 0

Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.


text:
How to backup, restore and share Android settings on a multi-user system?
I have a Magisk-rooted Android 10 device. I want to:

backup my Owner user settings;
clone some settings (background images, sounds, vibrations, etc.) from Owner local user to other users (Work, Guest, etc.);
use only built-in or open-source 3rd-party tools.

What are the options available?

I am not sure in which package the different settings you want to backup are located in, but a good backup program like OAndBackupX should cover most or all of your needs. Note: restoring a backup of system apps (such as Android settings) on a different device type than the one it has been taken from can have strange side in case options are not shown in the GUI but the restored settings are still active. Therefore restoring the settings on a different device is not recommended.

@Robert thank you for suggesting this app. What do I actually do in it to perform the tasks in my question?

I would assume that all those values you want to backup are located in the android settings app. Therefore backup the data of the app com.android.settings.


text:
Can I slow down the speed of my recorded phone calls?
I've installed the Call Recorder app on my GT-S6810P Samsung Galaxy phone. The app has successfully recorded all of my calls but when I play them back it plays them too fast. Is there any way I can slow them down?

While the app that you installed might not have an option to change the speed of the recording, and I'm not sure why it would play it faster than the original, you can download a music player app which allows for speed change, and play your recording there.
The app that I've used is called Music Speed Changer. It's free and it allows for speed change while keeping the same pitch. When playing the recording in this app you'll see a slider for speed change adjust it accordingly.

Thanks very much for your answer. I've tried using Music Speed Changer and I'm able to slow down the speed of my calls slightly but not enough unfortunately. Could this be because my phone is quite old or something?

That is very strange. When i slow down music using the app, it can take 20 min for a 4 min song. Make sure you move the slider all the way to the left. But if that doesn't help and you want to see if it's a problem with the phone itself, i would suggest you try playing regular music and if that's too fast, then yes something else is the problem here.


text:
Google Sign-in not working in new Huawei devices: "There was a problem communicating with google servers"
Between the 11th and the 13th of September 2020 something has changed around the method used to log into Google accounts from new Huawei devices after installing Google Mobile Services (GMS).
Before, the method involved installing GMS-related apps and signing into the relevant Google accounts using browser sign-in (a legacy sign-in method kept for old android versions). However, it seems like just after Huawei announced Harmony OS, that backdoor was closed.
Is there any way to sign into Google accounts for GMS from a new Huawei device (such as a P40 pro)?

Disclaimer 1: I hope no one gets offended by this question being asked... I think that from a consumer perspective it is legit to try to find solutions to the side effects of what effectively seems to be a trade war.
At the end of the day, there are hundreds of thousands of users
affected by this situation and they are not the ones to blame for any conflict between governments and/or companies.

Disclaimer 2: The consequences of the ban get to an absurd level, is not just not having Google Play Store, but for example not being able to log into your Google account from your browser to sync passwords, history and bookmarks... Hope this helps people not experiencing the ban understanding the extent of it.

With root, you can fake your device as something else using MagiskHide Props Config and bypass this.

It's not just that. Google will eventually close every door you  open. It's not some startup company you dealing with.  If you manage to find a way, small group of people will make use of this opportunity. After that,  many users will not be able to install GMS. And you are back to square one.


text:
ADB manual restore?
I've tried to do a full restore for a while now but i keep getting stuck on a specific app and when unpacking the backup and removing it a new problem occurs which is my phone being restarting when using the adb restore command.
is it possible to restore apps and files manually with ADB from an unpacked .AB file?
logcat

If your device is rooted, you can use Titanium Backup to restore selected contents from backup files. Without root, I'm not aware of any such solution.

@Izzy♦ i tried to use titanium but it told me that the adb backup was unsupported or something similar

Then I don't know. TiBu is supposed to be able to extract stuff from ADB backups, though I never tried it myself (I only make "granular backups" with ADB, so I can restore just the pieces I want).


text:
Does LTE Band 20 (800) really matter?
I'm looking to import Redmi K30 Ultra, and since it is not available globally (only Chinese ROM), in the specs it is stated it does not support LTE B20(800). My operator provides following coverage:
4G -> B3(1800) and B20(800)
3G -> B1(2100) and B8(900)
2G -> B3(1800) and B8(900)
All other bands are supported by the mentioned device.
Now, I have some basic understanding about the topic, such as, lower frequencies means broader coverage but lower speeds and vice versa.
But I am wondering if someone could tell me will I really notice the lack of B20 (e.g. will device be prone to losing 4G connection and going to 3G often). Are there any experiences regarding this problem (not necessarily with this phone). Thanks!

You're not really giving us much to go one... Does your phone need to cover every single band your carrier has? Maybe, this depends where you live and who your carrier is. For example, in the US AT&T has LTE on bands 2, 4, 5, 12, 14, 17, 29, 30, and 66, but half of those are only in very limited areas of high congestion, and if you phone supports 2, 4, 5, 12, and 17 there probably isn't anywhere in the country you wouldn't have service that bands 14, 29, 30, or 66 would have coverage. Does your carrier use B3 as their primary and B20 as their backup, or is it distributed? Need more info...

B20 at 800MHz is usually used outside of cities were the mobile cells cover a larger area (because 800MHz is good for "long-ranged" connections). Therefore I would expect that inside cities you won't face any problem but in rural area you will most likely get no LTE connection. If 3G is still active in that area your phone will drop to 3G but note that in a lot of countries mobile network operators start to disable 3G networks or at least decreasing the number of cell phone towers that use 3G.

Thank you for your answers. I will contact my carrier and now I know which question I need to ask. I live in the city, but I don't want to lose connection when I travel somewhere, especially if they are removing 3G towers. Thanks again, information you provided is very useful to me.


text:
GT-P5100 boot loop - nothing helps
OK. I have tried nearly everything recommended on this site and on xda-developers to fix this boot loop issue, and nothing works.
This is a standard unlocked GT-P5100 running 4.0.3. It was running fine and then one day it started to boot loop. It was never used much, and it basically spasmed sometime around a year ago.
I have tried:
Deleting cache and factory reset from various mechanisms. They generally say that they work, but don't actually delete anything.
Using ODIN to install TWRP said it had succeeded, but nothing actually changed.
Using ODIN to install CWM said it had succeeded, but nothing actually changed.
I tried various rooters, Kingoroot being the last. It said it had worked, but I see no evidence of that
.
I successfully (apparently) rooted it via ODIN, but again, there's no evidence of that.
Flashing a new version with ODIN gives me the message:  "Complete(Write) operation failed.
 All threads completed. (succeed 0 / failed 1)"
I tried to re-flash the same version but nothing changed.
I managed to get an actual upgrade to a later version of Android flashed once, according to ODIN, but when  I checked I was still on 4.0.3.
Some issues that make it more difficult:
The re-boot cycle can be as short as 10 seconds, so I often have no time to do much. In upload mode it seems to last for as like as I like.
Changes I make don't stick. I can set the USB debugging switch on, but after the next re-boot it's gone. I have tried deleting apps, e.g. Chrome, to free up space, I shouldn't need to, of course, as I have about 8Gb free. I never succeed in deleting anything, although I get an Application Deleted message, and then an immediate re-boot.
So it looks to me as though something is smelly in my RAM.
There is nothing I need to keep, my wife just uses the toy to google the news while we are travelling, so if there's anything radidal I can do, by, for example running something brutal from the SD card, I would be happy to do it.
So. Any ideas, please?

You seem to have tried everything using various flashing methods, so possibly your problem lies elsewhere (hardware).
If your problem is rebooting loop, then it has to do with your power button being messed up...
Try taking the phone apart carefully (if you know how)
Then hold the power panel down for some seconds (like 15-20seconds). Note: Do this when the phone switch off before it restart.
But if your problem is the phone being stuck on boot loop, then flash using sp flash tool with your phone firmware.
Hope it helps

Hi Benuloh. Tried that. It's still looping. The SP Flash Tool only seems to be for a limited number of devices.I cannot make it work with the GT-P5100.

I also tried the risky process of ticking the re-partition option in ODIN while trying to re-flash. That did nothing.

Elsewhere someone recommended to wipe it all and use Kies to restore it to stock. I don't know how to do this, but I will google it and if it works say so here.

News. Eventually, after all of the various tricks, I transplanted a new Mobo in, and it works, thus demonstrating that the RAM was forked.


text:
How do I force a hard shutdown of a phone with non removable battery?
My phone is Samsung Galaxy S7 with Android 8, and any phone specific answers are welcome but I am looking for a general solution
A few days ago  my phone screen went crazy and started detecting touch events all over the place when it was just left alone on a table. The home button seemed to be unaffected and brought the phone to the home screen, but it didn't stay there long enough for me to be able to do anything. Long pressing the power button brought up the (power off, restart, emergency mode) interface, but it turns out touching anywhere on the screen other than the three specific buttons causes the buttons to disappear, and since touch events were getting auto generated, the shutdown option kept disappearing. Eventually I managed to stay on the shutdown interface long enough to press the shutdown button.
Is there any way to forcefully cause a hard shutdown on a phone that does not have a removable battery? I am looking for a general solution that works on all phones, if such a thing is possible. I would also like to know if this is possible from adb on an unrooted phone.

If u have USB Debugging enabled, you can use ADB to reboot or shutdown

Pressing the power button until the device reboots is the common way. Depending on the Android device you have to hold the power button for 10-60 seconds before the device reboots (hard reboot, no shutdown just a reboot).

@Robert worked on a samsung galaxy win (Android 4.something), didn't work on a samsung galaxy 6 (android 6)

@Robert also, would it work it there were constant touch events being detected on the screen?

Does this answer your question? What is the fastest way to shutdown unrooted Android phone?

Related: How to perform a hot reboot using the terminal emulator?

Yes this works because it is AFAIK not implemented software but in hardware. No matter in what state the OS is pressing the power button for a long time reboots the device. Even if the OS has totally crashed or is in an invalid state.


text:
How do I turn off location permanently on Android
My Samsung note 8 is running Android 9.
GPS location is frequently turned on without my knowledge or permission. There appear to be multiple triggers for this including a change in Wifi network e.g. leaving the house using cellular data and coming back.
This is a nuisance and unwarranted location tracking of the phone. I want to be in control of when I decide to use location based services.
Is there a way of switching off location globally in the settings so I can control this behaviour?

In regular Android devices with Android 9 you can see in system settings location you should be able to see the last apps that have requested your location and it's granularity (GPS or Wifi/Mobile network position). Not sure if this menu has survived Samsung's modifications.


text:
How to lock phone without pressing power button?
Sorry if this sounds like a stupid question, but how can I turn off the display without hitting the physical power button on Android 10 (Pixel 4a)? On my old phone I could customize long-press home or double-tap within launcher to do this. I enabled 3-button style but can't seem to find the settings for customization or for the Pixel launcher behaviour. I also couldn't figure out how to do this with gesture / swipe control.
Thanks!

If you're okay with apps doing this for you, then you could try this app. https://play.google.com/store/apps/details?id=com.lsc.lock You tap on it and it'll lock your phone and turn off your screen as well.


text:
How to sideload LineageOS?
I think I updated twrp and adb seems to be working:
thufir@doge:~/android$
thufir@doge:~/android$ adb shell getprop | grep twrp
thufir@doge:~/android$
thufir@doge:~/android$ adb shell
shell@htc_m8:/ $
shell@htc_m8:/ $ exit
thufir@doge:~/android$
thufir@doge:~/android$ adb shell getprop | grep make
thufir@doge:~/android$
thufir@doge:~/android$ adb shell getprop | grep model
[ro.aa.modelid]: [0P6B16000]
[ro.chipset.model]: [MSM8974]
[ro.product.model]: [HTC One_M8]
thufir@doge:~/android$
thufir@doge:~/android$ adb shell getprop | grep manufacturer
[ro.product.manufacturer]: [HTC]
thufir@doge:~/android$

and am, I think, read to proceed with installing lineageOS but want to make sure I have the right files and am following the right sequence:
thufir@doge:~/android$ adb reboot bootloader
thufir@doge:~/android$
thufir@doge:~/android$ fastboot devices
SH4AYWM01306    fastboot
thufir@doge:~/android$
thufir@doge:~/android$ fastboot oem get_identifier_token
...
(bootloader)
(bootloader) < Please cut following message >
(bootloader) <<<< Identifier Token Start >>>>
(bootloader) 8638E3FC990E8996590950FC43B2597A
(bootloader) D3E768DE94AE44F0545422F4F610A2B1
(bootloader) 0D743BEB9D61A214A14203E5DEF9D3A7
(bootloader) 5E519C96B5DA53C4C2C3DA97A3CA584E
(bootloader) B2A07292DD46C6BD13C1F957106DCAF2
(bootloader) 8E9B3C1E660A93B2824622FEB9786109
(bootloader) EAE5E4C7F87D0F2CF41711CC713CAC69
(bootloader) 49ED4E9D2313AB7B8BC7DDF918067039
(bootloader) 448DD51FFD6CA2BEA7F2E03B9E4706F9
(bootloader) 377CE2210B1BCB3E8960B02A970C5430
(bootloader) B404427005C52B6A07A989CC2378C93E
(bootloader) 23D134B3CC30BD33B24B03BBD4C5CE93
(bootloader) 198734886FC83C5DC56044EE0C477786
(bootloader) 037C2393B758EDA5D03B968564561374
(bootloader) 159EA7D89F97C7E8631C5A5E7C1EF967
(bootloader) E64F871FF21B09A0120A302E8B8F6C89
(bootloader) <<<<< Identifier Token End >>>>>
OKAY [  0.069s]
finished. total time: 0.069s
thufir@doge:~/android$
thufir@doge:~/android$ fastboot flash recovery twrp.img
target reported max download size of 1830612992 bytes
sending 'recovery' (21956 KB)...
OKAY [  1.755s]
writing 'recovery'...
OKAY [  0.626s]
finished. total time: 2.382s
thufir@doge:~/android$
thufir@doge:~/android$
thufir@doge:~/android$ fastboot boot twrp.img
downloading 'boot.img'...
OKAY [  1.741s]
booting...
OKAY [  0.524s]
finished. total time: 2.265s
thufir@doge:~/android$

but what does this mean:

Sideload the LineageOS .zip package:
On the device, select “Advanced”, “ADB Sideload”, then swipe to begin sideload.
On the host machine, sideload the package using: adb sideload filename.zip

(Optionally): If you want to install any additional add-ons, repeat
the sideload steps above for those packages in sequence. info_outline

I should copy the zip file to the phone, then reboot the the phone while pressing the above keys?

Effectively Sideloading is the same as uploading the LinegeOS zip file to the device and then flash this ZIP file. Therefore sideloading is is uploading and installing a zip file in one command (but the zip file is never stored on the device). Sideloading is typically only available in a custom recovery such as TWRP after you have explicitly enabled it.

First of all... MAKE SURE YOU HAVE DOWNLOADED THE CORRECT ROM FOR YOUR DEVICE..
Steps:

Backup important files
Connect usb
Go to recovery and select wipe
select advance
select the things you wanna wipe.. except the usb-otg thing
After wiping.. go to advance(from home page of twrp)
select adb sideload
Make sure adb is installed on your pc
in cmd(admin) type adb devices and check that your phone there
Type adb sideload LineageOS.zip replace LineageOS.zip with your rom
Enjoy LineageOS!!

I'd recommend you to download eelo.. a fork of LineageOS.. It has MicroG which is really awesome.. I'm currently using the same..


text:
Android 10 user CA file not being used in apps
I'm using an ISP that does internet filtering for me, I have install their CA file, and it works in the browser, and used to work in all apps.
After the latest update for Xiaomi Redmi Pro 9, Youtube, Spotify, etc. seem to be unable to load network resources.
I get this error on logcat
09-16 13:17:40.116 29069 29229 E GoogleConversionReporter: bffy: Exception in CronetUrlRequest: net::ERR_CERT_AUTHORITY_INVALID, ErrorCode=11, InternalErrorCode=-202, Retryable=false
09-16 13:17:40.116 29069 29229 E GoogleConversionReporter:      at org.chromium.net.impl.CronetUrlRequest.onError(PG:59)

Meaning the chromium component fails, or refuses, to use my user specified CA.
Is this on purpose? Is this a bug? I really don't want a VPN installed on my device to be able to use my own ISP.

User CA files are by default ignored by all apps (unless an app explicitly allows user certificates). This is by design since about Android 6.

Thing is, it DID work for me on Android 10 before the last update. Is there no way to force apps to use the user certificate without rooting and adding it as a system certificate? Works for me on another device I have, using Android 9. I just don't really want to root this device and start messing with it.
Also, it does work for Brave and Chrome for browsing.

Found an answer, it is described here https://github.com/YTVanced/Vanced/issues/45


text:
Stuck in system boot loop after TWRP installation
I have a Samsung Galaxy S7 and tried installing the custom ROM LineageOS because what could go wrong?
Anyways I followed this guide which makes you install TWRP 3.4.0-0 under the Installing a custom recovery using heimdall section.
I did that and I can (successfully?) boot into TWRP. However when tapping Reboot -> System or trying to boot into my standard android system I am stuck in a boot loop where The Samsung logo reappears every 5 seconds or so.
Here is what I've tried:

The command  dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/fota from here
The command dd if=/dev/zero of=/dev/block/bootdevice/by-name/misc bs=256 count=1 conv=notrunc from here
Wiping my entire phone from TWRP

None of those things made any difference.
I really just hope that I didn't brick my phone.

https://android.stackexchange.com/q/214902
https://android.stackexchange.com/q/225021 if i understand your question you didn't install lineageos but want to boot stock ROM? that will fail for various reasons. continue installing lineageos and format userdata partition


text:
Restore Images from TWRP nandroid backup
My (rooted) HTC U Ultra died, not repairable - motherboard issue. I have a Galaxy S20, but want to get photos etc that were in internal storage. I have a nandroid backup taken with TWRP a few months ago a well as Titanium Backup taken on the same day. From what I understand Titanium backup does not backup data (images etc) from internal storage, so I have been looking at how I can use the nandroid backup which is a backup the entire system at a partition level.
I consider myself a novice, but I tried to restore the Ultra backup to my old HTC One M9+ (it was worth a try), this did not work because internal storage is too small, got a Error 255 and it went to a boot loop. I read in another question the nandroid backup can be opened up using 7zip.
I searched the backup file but could not find anything that resembled the images or my data, most of the files are human unreadable. Do these files need to be compiled to make them readable? Or once opened in 7zip is there a viewer app/program to read them?
Is it possible to restore the nandroid backup into a virtual space which is not device specific, like virtual box?
Any suggestions or advise would be greatly appreciated. Thanks.

You can mount nandroid backup and extract the contained files. On Linux you can mount the image, on Windows you can try ext4 reading software.

you need to pull backup of Internal Storage or (decrypted) userdata partition from the device. guess you did not do that beforehand. if your device died then that data is lost

Does this answer your question? How do I backup media, game data (internal storage) using TWRP?

Does this answer your question? Restore only part of nandroid image

Thanks for the help. I had a look at these options but could not restore the images or access them. There are 3 files in the Nandroid backup that could contain the data. I tried to use Titanium Backup to restore only these files to my HTC One M9+, the restore completed successfully but no images. Also tried to restore the data partition but this put the M9+ into a boot loop. Without another HTC U Ultra to a full restore not sure if i can get them back.


text:
Stuck On firmware update after two days!
I got locked out of an account and I need my phone to verify myself. It was dead so I plugged it in. I tuned it in at about 7% and it said firmware update... this used to happen with my old phone and I’d usually take the battery out but this phone doesn’t have a removable battery so I let it die and decided to try again the next morning.
I plug it in again, this time at 2% just in case and oh wow it does the same thing and I even tried a different charger and plug location. I might be locked out from my phone and account forever because of this, what can I do?

I’m not trying to update it on purpose nor is it even plugged into a laptop, it’s plugged into the wall and doing this, is this normal? I tried to reset it and try again but it keeps doing it. I might be locked out for Awhile

Looks like there was an update waiting to install the last time you shut down the phone. You can try what happens if you hold key combinations like Poer+VolUp or Power+VolDown while starting/powering on. Try to fully charge the phone and then restart and let the update install.