text:
How do I know if an app on my phone makes use of App Bundles?
App bundles (or I believe it is because of them) are screwing me over with regards to Titanium backup since restore simply does not work with those - they are stuck on "restoring". Currently, I only have TiBu on old hardware where it takes very long to do stuff, and if it just says "restoring" I've no idea if it's actually doing anything. More apps will soon adopt this new feature and I want to be able to filter them out easily without wasting too much time.
Is there an ADB command maybe that can tell, or some other way with root?

I found an app called Split APKs Installer to help.
Google Play: https://play.google.com/store/apps/details?id=com.aefyr.sai

Why the downvote lol

Hi, I'm not the downvoter, but when suggesting an app, ideally its description and usage is also mentioned on the answer to also help future readers.

Honestly I'm not sure what's the exact use case for it. But it helped me solve my problem of knowing which apps on my device are split APKs, so ¯\(ツ)/¯


text:
Change device model on Android 10
I have Realme X2 (RMX1992) phone with Lineage OS 17.1 with root. I want to change my device model to Realme X2 Pro (RMX1931).
I have edited build.prop files in /system and /vendor folders with ro.product.model=RMX1931 and also set the global device name as below:
adb shell settings put global device_name RMX1931

But still, my device is still recognized as RMX1992.
How to change the device model?

This might be because LineageOS have a init binary to read model from the bootloader, and you can't actually modify that easily.

Below is the method worked for me to change my phone model to Samsung Galaxy S10+

You need to have Magisk for root access
Install BusyBox and "MagiskHide Props Config" Magisk module and reboot the phone
Install the below terminal or any of your choice
https://play.google.com/store/apps/details?id=jackpal.androidterm
Open the terminal and type props to open MagiskHide Props Config and select option 5 to add/edit custom props values
ro.product.model and ro.product.brand values need to be changed to the desired phone model
Go back to the main menu and select option 3 to enable Device simulation for the values added in step 5 and then reboot the phone

After reboot, the phone model will change to the values added. You might also need to check build.prop file if any additional values to be added in the Props.
Note: Take a full backup of your phone before performing these steps in case of any issue occurs.

source: Stack Exchange

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

sort: votes


text:
How can I turn on haptic feedback on my samsung J3?
I just got this phone a week ago and cannot figure out how to turn on haptic feedback. I am using Android 6 and there are no vibration options for the keyboard, only sound options. Is there an app I can download somewhere? Anyone else with a J3 that can help?

This link helps to turn haptic feedback on samsung : http://www.samsung.com/uk/support/skp/faq/1069790. on step 4.3 set vibrate for keyboard

Thanks for trying Rahul, but that link doesn't have instructions for my OS. Android6. I added pics so you can see I don't have the vibration options to turn on.

Try using Google keyboard, Gboard, and in Google keyboard settings you can set vibrations

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


text:
HTC One M8 encrypted it's self, decyption failed, data corrupt, reset doesn't work
I have a HTC One M8 not rooted. Yesterday, when I was checking voicemail, the phone was going really slow and rebooted after a minute or so.  Worked fine after that until tonight.  The phone was on my desk in front of me (doing nothing on it for a couple hours) and I saw it reboot again and seemed to be taking longer than usual to boot.  Then I got the message:
Your phone is encrypted. To decrypt your phone, enter your screen lock password. 30 attempts remain before device data is deleted.
There was a button for emergency call and the keyboard popped up for me to enter my password and hit the decrypt button.  I entered the password and got:
Decryption unsuccessful.  The password you entered is correct, but unfortunately your data is corrupt.  To resume using your phone, you need to perform a factory reset.  When you setup your phone after the reset, you'll have an opportunity to restore any data that was backed up to your Google account.
There was a reset phone button.  I didn't have much on my phone that I didn't have elsewhere, so I hit the reset button.  After the reboot, it went back to the "Your phone is encrypted" message and data still corrupt.  I googled how to reset the phone.  I shut down the phone, held the down volume button and power button to get to the menu with fastboot, recovery, factory reset, simlock, check smartsd, image crc, and show barcode.  Image crc and show barcode worked but did nothing to fix the phone of course.  Simlock got SD init OK, Open MCCMNC file fail, Open CID file fail, Open IMEI file fail, Open atsdob file fail, Open SF file fail, Open mane file fail, Check keycard fail, process done, reboot device? All the others just ended up with me back at the Your phone is enctryped message again.
I did not encrypt the phone, so I don't know why I got this message unless it's just an error from apparently having corrupt data.  Any idea on what to try?  I obviously lost anything that's on the phone that I don't have elsewhere, but I'd be fine with the reset back to not been used yet state.
The phone has plenty of power.  It was around 70% when this happened.  It's fully charged now.
::edit::
After doing some more searches, I went to htc's website to get the rom to flash it back to factory settings manually, but both in the hold volume down plus power button boot and letting it boot normally until it got to the decryption failed, it didn't work.  I tried 5 different usb cables on two different computers.  None would keep the phone connected long enough to do much of anything.  I had installed the htc manager so it had drivers, but the phone only showed up in device manager.  It did not show up in file explorer.  In regular boot, it could just not find the phone to try and update it.  Off the fastboot usb screen, it got far enough to show I was already on the current version but let me pick to install anyway.  However, the first thing it did was try and reboot, which only went back to the phone encrypted message and went no further.
I'm thinking it's a lost cause, and I'll have to get a new one.

You can try to download and install the firmware via fastboot.
HTC provides the firmware for a lot of One M8 variants.
Or you unlock the bootloader (oficcially supported by HTC) and install Lineage OS. That would get Android 7 to your device. Even if Lineage has only nightly builds for the One M8, the nightlies of Lineage OS are usually relatively stable (my experience on a different device). Also the encryption usually works and it is better to have a working phone on Lineage than a bricked one.
Note: Even if you do not plan to install Lineage oem unlock may be interesting for you as it erases the user data partition. Afterwards you can still re-lock it.

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


text:
Samsung Dex compatibility with DELL docks
I have a Samsung S10 phone with Samsung Dex. Dex is fun and can (sometimes) be quite useful.
With it, I can use a desktop environment on my phone, like I would on a computer.
My workplace is equipped with a wide range of Dell docking stations.
For some reason, some get recognized by Dex. And some do not.
For instance, Dex works immediately with the WD19, but not with the TB16 or the WD15.
My questions: is there a (good) reason why not? How can I fix it?

Most likely the S10 supports HDMI over USB C, but not Thunderbolt.  USB C allows a multitude of standards to use the extra pins but what you can actually use depends on what is wired up and how.

Hi, thanks for this comment. Can you expand on it though ?

USB C, along with data, has what are known as Alternate Modes where the devices can change the functionality of the pins at the connector to support different outputs.
For example some laptops can switch the port to Thunderbolt mode which supports some display modes but can also be used to carry PCIe data (encapsulated in the Thunderbolt protocol) which can allow the connection of external GPUs which are more powerful than the built in GPU. Thunderbolt implies a more
There is also an HDMI Alternate Mode, where a device with appropriate GPU hardware can output signals understood by monitors and TVs.
These Alternate Modes come with a price though: the device on either sides must negotiate or support the use of particular modes.
A phone is unlikely to support Thunderbolt mode. It is a locked down device with limited access to install custom drivers for PCIe devices such as graphics cards and other related things.
I would expect your phone to support HDMI Alternate Mode only. As a result you will only be able to use docking stations that also support HDMI mode. A docking station might support multiple modes and I suspect that the WD19 you listed might support HDMI/DisplayPort along with Thunderbolt, while the other devices may only support one particular mode such as Thunderbolt.
The WD15 and TB15 datasheet explicitly states it is a Thunderbolt Dock, most likely incompatible with your phone.
The WD19 on the other hand calls itself a "Dell Docking Station" rather than a "Thunderbolt docking station". And may well support HDMI mode amongst others.
The only thing you can do is ask the manufacturers which "modes" their stations support and use only ones that work for your device. You cannot easily convert one into the other.

Thanks very much for this detailed answer. I'll do some more digging

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


text:
How to use Gmail app without any browsers installed?
I had rooted my Android phone, and after uninstalling all browsers, I am unable to use the Gmail app on my phone. While I still get notification of Gmail in the notification bar, it closes as soon as I open the app.
I had tried some other apps (other than Android built-in apps for mail) like Microsoft Outlook, but the problem remains the same. On reinstalling the browser (like Chrome), my mail apps work properly.
Is it possible to use the Gmail app without browsers installed? Any solution including any third-party app is okay.

Android apps can make use of a WebView (web browser that runs inside the app).
Depending on the Android version Google preferred used Chrome webbrowser app to provide this WebView or the Chrome based WebView app.
Any other WebView capable web browser can also be used.
Go to Settings -> System -> Developer options -> WebView implementation to see and select the app that provide the WebView to all apps.

In your case the WebView app may be the best to install because it can't be used as stand-alone web browser but once installed GMail app should work again as it provides the necessary WebView component.


text:
Save file as PDF using Microsoft Word's app
I have a .docx file that would like to save as .pdf.

If I click in the three dots in the upper right

And clicking the Save As doesn't allow to change from .docx to .pdf

The way I managed to do up to this was to click Share As PDF and send to my email. Then, from there, download it. But surely there must have an easier option. Also this method didn't work all the time.

Instead of clicking Save As, click Print. Then, in the top there's a dropdown from where it's possible to select Save As PDF.

Then click in the yellow circle with the download icon and the text PDF and select where you want the file to be saved. That's it.


text:
Why would I automatically share usage and diagnostics data?
In my Android settings (Version 6) I have the option to activate "to automatically share usage and diagnostics data".
I suppose that this will help certain developpers - and of course Google - by getting statistics of my battery states and usage (as the title says).
But appart from getting "more wonderful and stable apps" in later versions, is there any specific advantage for me? I am asking this as a user and as a developper (who has noticed that many users have this option turned off). In our part of the world (Africa) we are still paying for data, so providing this information will cost me and other users real money.
Do you know about any more direct incentive? Like "better status" in the Play Store? Brownie Points with Google?
Or - at least - can I have access somewhere and see what Google is collecting about my own usage and my own battery performance? That would be an incentive indeed. I might find that I spend much more time with my phone than I think (or maybe that way I discover that my baboon is using it when I leave the room...).
Please do not hate this question; I have started investigating this subject today, because some of our apps have just started giving crash-reports on the Play Console, so am collecting any information I can - from the dev-side and from the users-side. Thank you.
Edit: Since the first answer is questioning my mention of battery-information in my initial question, I will paste here a short summary from a Google Android Account Help page which does mention battery-level:

What information is shared with Google If you turn on usage and
  diagnostics, your device sends information to Google about what’s
  working and not working. For example, your device can send information
  like battery level, how often you use your apps, and the quality and
  length of your network connections (like mobile, Wi-Fi, and
  Bluetooth). None of this information is used to identify you.

can I have access somewhere and see what Google is collecting about my own usage and my own battery performance?

Yes. Click on My activity to see what information is collected by Google regarding your app activities (if you didn't disable it). The data is just about how many times and when you used an app (unless Google chose not to reveal all the data captured). I don't know how this can help in improving app stability or performance
What it does with this information is not transparent and I never saw any information being recorded about your battery statistics
If you click on the hamburger menu and go to activity controls, you will see what it benignly tracks with seemingly useful goals (if you missed the sarcasm , see How Google is secretly recording you through your mobile, monitoring millions of conversations )
Bottom line - all your activites are being monitored to improve user experience etc but at a cost. Folks disable these not just because of data consumption but privacy concerns. Smarter folks manage to have minimum Google components - See Android without Google courtesy Izzy
Edit:

Thanks to OP for pointing out that Google does collect battery information as claimed here. This was new to me but I couldn't find any way this information is available to end users ; developers seem to be able to see it in Android Vitals and maybe elsewhere
Note that you can't disable monitoring, you can only pause ; this means it would be reset to default if you factory reset your device or change your device and could be reset sneakily by OS update or Play Store update. It's better to keep checking periodically if your settings hold

Yes, no problem indeed, your answer is helpful already. And finding a special location where Google would show me a summary of my own diagnostics would be unexpected and somewhat creepy. But I am amazed about all the detail I (as developper) can get about certain users from the Play Console, especially if they write a comment or install as the only user from a specific country on a given day...

Let us continue this discussion in chat.

I marked this answer, although it gave me reasons why NOT to share my usage and statistics data: I tried it out today and then went to the overview-site as given in this answer by @beeshyams and was shocked to see lots more about my content activities and hardly any technical detail about my apps. So it may be labelled diagnostic data, but I will never encourage any user of our apps to turn on this option just for the benefit of more crash reports. We rather will make an effort to do more beta testing on real physical phones with our friends and staff.


text:
How to select photos by file-name when opening from inside an app?
I am converting hundreds of A4 pages of handwritten text into computer text with the amazing Pen to Script app on my Android 10 phone. I got many more to process and I go crazy on one detail:
Here is my problem: Every time I start a new page, I have to select its photo from a very full folder. But every time I get offered some useless (for this purpose) "app switcher" (I am not sure that is its correct name) where I see recent photos and a choice of several apps to select photos.
Problem is also that at thumbnail-size on a phone, all pages of handwritten text look the same.
In my app switcher I found an icon that looks like six tiny white rectangles on a small grey rectangle. This gives me the view I need: file names rather than thumb-nails.
Update: The view which give me the file-names in the app switcher is called "list view"; found that on long-tap on its icon. So please, how can I set "list view" as my default to come up each time I have to select a photo?
I would have preferred to have Total Commander come up, whenever I have to select a photo. But if a user can show me how to make the file-name-view sticky in my app switcher, that would be a solution for this present project.

Usually the way how an image is selected/chosen is defined by the app that requests the image. Also the apps shown in the "app switcher" is pupulated by those apps that define they can provide an image. As TC can only select but not provide an image it is not shown here. As workaround I would try to make one directory per image and move the image in there. If the "Pen to Script App" supports it may be even possible to launch the app from outside alterady defining the photo to be processed. That may be possible via Intent opened via adb or on the shell of the app Termux.

@Robert Sorry, TC is one of the apps that are being offered by the annoying switcher step in my work flow, next to "Bug reports"[sic], "Drive", "Photos", "Photos" and "Recent Images". So I can chose TC but cannot make that choice stick. Your idea about hundreds of folders does not help, but - temporarily - assign Pen to Script to open all photos is promissing, thank you, will test that now. Let you know in a moment.

So sad, my phone is offering 112 apps which can potentially open a photo when hit in my file explorer, but Pen to Script has not registered itself for that purpose. The idea was great, just what one needs from a forum when goind brain-dead from manually batch-processing stuff.

By chance I found a semi-solution: when Pen to Script is showing me the unloved app switcher to select the next photo, I can tap on a sad looking grey icon to the right of the heading "recent images". This gives me the files names I need, rather than thumbs. This too I have not found how to make stick, but it saves me several clicks per page, because I no longer need Total Commander.

Update: The view which give me the file-names in the app switcher is called "list view"; found that on long-tap on its icon. So please, how can I set "list view" as my default to come up each time I have to select a photo?


text:
How to solve the audio problem in Zoom Cloud Meeting for Android TV
I have an audio problem running Zoom for Android on TV Box. Details below:

I have successfully installed Zoom for Android on a TV Box which is then connected to a Samsung QLED TV. I also attached a Logitech camera to the TV Box.
I joined a Zoom meeting hosted by another account. The video function works OK. The host can see my video and I can see the host video on TV.
However, the audio is not working. There is no audio from the TV speaker (I already selected "call over the Internet" on the TV Box app) and there is an error message flashing on the host screen "XXXX is connected to audio but cannot hear you". I then connected a Logitech headset to the TV Box. There is no audio on the headset either, but no error message this time.
I have verified that both the TV box and the headset works well on Skype. Without a headset, I can hear Skype callers on TV speakers. With a headset, I can speak on the microphone and the caller on the other side can hear me, and I can hear the other caller from the headphone.
The TV box is X96Q using Allwinner H313 chipset. The software version is Android 10.

Is there any workaround?

OK. I solved this problem by try and error myself.
In summary, you need a microphone present to enable Zoom audio communication.
I have tested 2 TV Boxes, one with Android 10, another with Android 8.0.1. The microphone I used is Logitech H310 headset with microphone.
The details are as following:

[Edited on 8/27/2020] There are 2 USB 2.0 ports on TV Box. One is Master, where you can plug USB headset and microphone into. The other is slave which is used for PC debugging and local upgrade. You cannot use the slave USB port for microphone. Unfortunately, there is no mark on the box, so you have to try it yourself.
Test the microphone is working on TV Box. I use Skype to test.
Open Zoom.
(For Android 8.0.1 only, it is strange) Click join meeting, scroll down to find "Do not connect to audio). It is unselected by default, click it to make it selected.
Join a meeting.
Click the participant, you should see yourself with a microphone icon. If you cannot see the microphone icon, you can unplug the usb microphone and plug it again.
Once you can see the microphone icon for yourself, click the "join audio" and click  "call over Internet". Then you will see the "join audio" disappear and a microphone icon on the bottom left with "mute".
Now you will be able to hear the sound on your headset. And you can speak over the microphone.
(For Android 10, it is also strange) If you unplug and plug microphone after you already connected to Zoom by microphone. You can see a prompt saying "USB audio AV is plugged in..." and ask "Yes" or "No". If you click No this time, it will say "connect by default channel". Then you can hear the voice communication through both the TV speaker and the headset.
(For Android 8.0.1) I can hear the voice communication on headset, but I still cannot make the speaker to work.

I will mark this one as answer to myself.


text:
How to screencap the smaller display of Samsung Galaxy Fold using ADB 'screencap' command?
I'm trying to take a screenshot of Samsung Galaxy Fold's smaller display.
I use
shell screencap -p /sdcard/testss1.png

but it only captures the main display ― which is off ― and gets a black image.
How to change the display used for capturing?

The screencap command can be configured to capture a specific display using the option -d.

-d: specify the physical display ID to capture.
  See dumpsys SurfaceFlinger --display-id for valid display IDs.

The output of dumpsys SurfaceFlinger --display-id is a bit longer, therefore you can filter out the display ids:
dumpsys SurfaceFlinger --display-id | grep display_id

On my device I only have one display with display_id=0.
Therefore the final command looks like this (just replace display_id):
shell screencap -d <display_id> -p /sdcard/testss1.png

It worked. If anyone will face same problem - the Fold's smaller display ID is 5


text:
How to remove X button on video overlay?
YouTube version 15.08.52 on Android 5.0.1 (Lollipop) is showing a X button on the video overlay user interface and it has to be tapped to hide the UI.

I searched on the internet and some posts say it's because the accessibility options "Switch Access" and "Accessibility Menu" are turned on, but in my case, the setting Switch Access is off and there is no option for Accessibility Menu.
How can I disable the option to show the X button so that the UI is hidden automatically?

Open YouTube
Click on your picture on the top-right corner
Click on settings
Click on Accessibility
Disable the thing.

Oh wow! Is this option only available on the latest release? When I searched on google I couldn't find anything related to that.


text:
Why is Firefox for Android shown as "offered by" Google Commerce Ltd?
If you look at the page for Firefox for Android on Google Play, and it 'Read more' then scroll all the way down, you will see the following. The question is simple, why is it shows an offered by Google and not Mozilla?

I don't think it's necessarily a glitch. Legally, the offering source depends on your country. For example, in the UK,

Content on Google Play is offered by Google Commerce Limited, located at Gordon House, Barrow Street, Dublin 4, Ireland. Such Content may originate from another source (such as an app developer, book publisher, movie studio, or music label) (the “Provider” of the Content).

However, in the US:

Content may be offered by Google or made available by third-parties not affiliated with Google. Google is not responsible for and does not endorse any Content made available through Google Play that originates from a source other than Google.

I guess this is just to comply with legal requirements in certain jurisdictions.

This looks correct. FWIW, here's the link to Firefox on Play Store, geolocked to the UK and geolocked to the US.


text:
dex2oat64 is eating battery on Android 12 (Beta). What is it?
I have updated my Pixel 5 to Android 12 Beta, and in the last update, the "app" or service called "dex2oat64" eats too much battery.

I found some thread in Reddit, but they also don't know the answers like me.
What is this app/service?

dex2oat compiles the Java byte code to native ARM code so applications will run faster. After each update/upgrade all aps are usually processed one time this way which can take several minutes and a significant amount of battery.

@Robert That sounds like a good answer.  Why only posted as a comment?

dex2oat is a utility used when installing or updating applications, so that was likely just a remnant of your "Android is upgrading" phase that you saw after the initial/first reboot after the system/software update.
Most likely you have just installed Android 12 and it's setting up everything/caching process in the background. See if it get fixed in a few days (3-4 days usually).


text:
Remove Termux's extra keys
I can reduce the extra keys on Termux to one row like this:
extra-keys = [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]]

but this doesn't get rid of them:
extra-keys-style = none

How do I get rid of Termux's extra keys?

add the following line to the ~/.termux/termux.properties file:
extra-keys = []

apply the changes by running (or restart Termux):
termux-reload-settings


text:
Can't find eSIM option on Google Pixel 3
According to specs, Google Pixel 3 supports eSIM, but under Settings > Mobile networks, there are no relevant options.
Is this depending on whether I'm currently in the service area of a mobile network operator supporting eSIM or should this option appear regardless? If so - why doesn't it appear?

Enabling developer mode made the option miraculously appear.


text:
Would the Amazon Fire OS count as Android?
I am wondering if the operating system on the Kindle Fire would count as an Android-based OS.

Android is 'open-source' in that Google releases code at every major version level. So long as whomever is doing the OS forking doesn't change APIs AND developers don't use any Google Mobile Services APIs, third-party apps should be able to run on both.

Amazon FireOS bases on Android Open Source Platform (AOSP). As it is published under an open source license everybody can fork it and build an own OS.
Note that there is one major difference between AOSP and "Google Android" (which is installed on nearly every Android phone you can buy): All Google services are missing. Starting with Google PlayStore and all Google apps this also affected invisible parts like Google Play Services (which are e.g. responsible for receiving push notifications for all installed apps).
According to Wikipedia relevant versions of FireOS are at the moment:

Fire OS 5 is based on Android 5.0 "Lollipop"
Fire OS 6 is based on Android 7.1.2 "Nougat"
Fire OS 7 is based on Android 9.0 "Pie"

The complete mapping list of FireOS versions and Android version can be found here: https://en.wikipedia.org/wiki/Fire_OS#List_of_Fire_OS_versions


text:
Is it possible to disable video feeds on Discord for Android?
When doing a video call via Discord, one can turn off each friend's video feed. That is, if one is using the desktop client. It is possible on the desktop, but, curiously, not trivial in the metered connection of the cellphone...
I tried: long-pressing the person, looking into video configurations, searching both in search.brave.com and Google, and found no solution.
Is there any way to achieve it?

It seems like it not yet possible. Many users have asked about it on Discord support for more than a year now, but the feature has not yet been implemented.

No, not possible
Source
My email to support@discordapp.com asking

When doing a video call , one can turn off each friend's video feed (without affecting audio) . That is, if one is using the desktop client, but not on Android. On Android, Possible, not possible? Planned for future or not? Steps if possible please

Their reply (request # (17987066) assigned)

Sadly, we don't have any option to turn off the video feed on mobile devices. Unfortunately, we also don't have any timeframe if this feature will be implemented on all mobile devices.
If you would like to see changes to these systems in the future, then you can definitely create or vote up the suggestions at feedback.discord.com. It would really help us out if you upvote the idea since feedback contributes greatly to our decision-making of which features and fixes to implement in the future based on what our community wants.
I'm so sorry again that we don't have a current solution for you at this time, but I like to think that anything is possible in the future.
Please let me know if you have any other questions!
Cheers,
Daniel R

(Click to enlarge)
As pointed out in comments, the fact that is open for so long is another indicator


text:
Disabling Chrome tab groups in Chrome v85
My phone (Samsung S7 running Android 8.0.0) recently updated to Chrome version 85, and with it came tab groups.
I am sure this is a welcome thing for many, but I rarely have more than 8 tabs open at any time. Thus the ability to group tabs makes little sense for me.
Unfortunately, I can't seem to avoid it. When holding on a link, "Open in new tab" has become "Open in new tab in group", and there is no option to open it just as a separate tab.
This makes my regular tab cleaning a lot more cumbersome, as now I suddenly have two or three groups where I want to remove one or two tabs each, rather than just four tabs I want to close.
Is there a way to remove tab grouping, or at least a way to hide it away so that I don't have to bother with it during casual internet browsing? At the very least, I can't find anything even remotely relevant in the settings, and a rudimentary internet search has only provided news of the feature, not any details on removing it.

Paste chrome://flags/#enable-tab-groups in address bar and Tab groups options, choose default and re-launch Chrome by tapping the option at bottom. Tested on Chrome version 85.0.4183.127 (if that doesn't work for you try disable option).
( If you type Chrome://flags, you will get a scary warning, ignore that, changing flag properties is harmless-you can always reset flags, if you wish)

Nice! Didn't work on the first relaunch, but the second attempt was a success! I wonder why more (or even most) of these flags aren't available through the usual settings menu. Seems like exactly the kind of things a settings menu is for. Instead they have hidden them away somewhere one won't find it unless one already knows where it is.

They are experimental features, no guarantees. Don't be surprised if this workaround fails in subsequent versions. You need to keep playing with flags and search internet for solutions

Well, at least I know where to start looking next time.

Had to use 'disable' and relaunch twice to successfully disable tab groups.

With the help of beeshyams' answer, I ended up disabling 4 sections to get mine back to "normal."

Tab Grid Layout
Tab Groups
Tab Groups Continuation
Tab Groups UI Improvements


text:
Does LineageOS allow us to install apps via Google Play?
Someone told me we can't install Google apps after installing LineageOS and it doesn't support Google Play.
What is the truth behind this? Can I access Google Play in LineageOS?

https://android.stackexchange.com/questions/180142/which-version-of-gapps-to-install-for-lineage/180145#180145

LineageOS is Open Source OS. Google apps like Play Store, Gmail, Maps etc are proprietary Google products and cannot be bundled with LineageOS due to licencing issues.
However, you can always download these Google Apps Packages (Gapps) to run with LineageOS. These come in different flavors, starting with minimal Google services to full fledged suite of Google Apps . For more details see LineageOS Wiki. Related Which version of Gapps to install for Lineage?
So, LineageOS by itself does not have Google Play  but by installing Gapps of your choice, you can have Google Play and other Google apps of your choice.

To add to this, you have the option of flashing a .zip file of Gapps in recovery mode (at any time). It's usually less than 200MB. I'd recommend the smallest "lite" flavour which gives you the Play Store and other basics.


text:
Is there any way to make calls ring/vibrate only for specific contacts?
My friend has an Android phone but she hates actually talking on the phone and hates being distracted by ringing or vibrating. Her mantra is that she'll check it when she checks it. This is quite annoying when I really need to get a hold of her as she often won't notice I was trying to call/text until later. She has the phone set on silent and turned off vibration.
I am wondering if there's any way I can configure it so that either it rings, vibrates, or both -- but only if it's me calling? In other words, I'm asking if it's possible for only specific contacts to trigger a ring and/or vibration, while otherwise being silenced? I'm not sure if this is something that can be configured out-of-the-box as I have an iPhone and am unfamiliar with Android. But even if it involves installing a third-party app, that would be fine as long as it can achieve the same result. Is this possible on Android?

I don't know any direct method, but we can apply some tricks to it.
(I am assuming that we want to make all other calls silenced and only your call can ring or better we can say make a sound.)

Open a voice recorder and record silence. Name that recording at your convenience.
Now go to the settings and change the call ringtone to the one you just now recorded and save the change's made.
Now go to the dialer and select your contact and now edit your contact info.
(at this you need to be careful as every Android device has this feature in different ways). From there in the settings, select a special ringtone for your contact

Thus when others call, it will sound silenced, and when you actually call, then it will ring the tone you specifically selected for you.


text:
`adb pull` says it pulled all of the files from my Android phone into my Windows PC, but in reality it didn't
So I am using adb to copy all of my Android files to my Windows PC with this command: adb pull -a /mnt/sdcard C:\backup
And when it's done it says all x amount of files have been pulled, I can confirm that the number of pulled files matches the amount of files that reside inside the folder of my Android storage but when I check how many files are actually in the C:\backup folder, I see about 200 missing or in other words adb skipped about 200 files and did not copy them over to my C:\backup folder.
I understand that this could be due to path limit or due to some files containing characters in their filenames that Windows' NTFS file system just doesn't allow.
How can I see what files are actually being skipped? Is there a switch in adb or some trick?

You can instead use tar on device to create a tar archive with all files and stream that to your PC. May be tar works more reliable: https://android.stackexchange.com/a/194854/2241 If you device is not rooted remove the su part and adapt the path.

@Robert I used adb exec-out 'tar c /storage/emulated/0/123.txt' > 123.tar but it just creates a corrupted tar archive.

@alecxs /mnt/sdcard/ is internal storage and it is also the same as /storage/emulated/0 and no, I am not trying to pull things from a MicroSD, I am trying to pull all the files in the internal storage's root directory.

The tar archive was corrupted (what type of corruption)? May be you are facing a totally different problem with a broken USB cable and/or port. What adb version do you use the latest from Android SDK?

@Robert No matter what file or how many files I add to the tar archive with that command it always outputs a 90 byte archive that 7z can't open because it says "Is not archive". I am using the latest adb, I literally downloaded it today. Tried multiple USB cables, same issue.

Seems like tar has some problems with the absolute path (it then outputs some text which destroys the archive) also you used the wrong quotes. This works: adb exec-out "cd /sdcard && tar c *" > sdcard.tar

* does not match all file names use . instead

Just pulling all files via adb to a Windows computer has multiple problems:

Android/Linux allows multiple files in one directory that just differ in their case.
The file system on Linux allows characters in file and directory names that are disallowed on Windows.
Some file names are completely disallowed on Windows which are just regular file names on Linux/Android.
There is a path limit as you have already mentioned that may cause trouble.

Hence, the best solution to create a full backup of the SD card is to pack all files into one tar archive as all file system limitations of Windows can be bypassed using this method.
Via adb, you create a full backup of the SD card using the following command:
adb exec-out "cd /storage/emulated/0 && tar c * -" > sdcard.tar

This command creates the tar archive on the device and directly streams the data of the tar archive through adb to your PC and saves it there as sdcard.tar.
WARNING: The created file sdcard.tar will be corrupt if tar prints any warning or error message to stdout (this will be invisible to the user executing the command). Therefore, it is crucial to perform an integrity check on the created tar file if the tar structures and the contained files are correct. For more details, see this answer to ADB pull stops after first error.

@alexs You are correct 1 is not possible but 2 and 3 are valid. Filenames with backslash are possible and reserved names like aux and com1 are also possible just as an example.

oh no how stupid from sdcardfs. thought behavior is same as vfat

I wish this worked, but I simply get a corrupted tar archive no matter what.

@computationalprince But the tar size should be correct, yes? Use an hex editor to check if the file starts with an error message.

@Robert I just noticed that tar doesn't exist in /system/bin folder but I have tar installed in Termux but I can't execute it in adb because I don't have permission.

@computationalprince An Android without tar installed, ok that explains a lot. What device do you use (manufacturer, model and Android version)? In termux you should be able to copy busybox/tar to /data/local or /data/local/tmp. From there you can execute it from adb.

@Robert My phone is a Huawei G8 with Android 5.1.1 and I don't have permission on /data/local nor /data/local/tmp althought I can cd into both of them.

@computationalprince Right, access to that folders is only possible via adb. Hence if you really want a warking tar you have to copy the busybox binary to sdcard in Termux. Them in adb copy it from sdcard to /data/local/tmp and restore the executable flag via chmod. Then you can execute tar via /data/local/tmp/busybox tar.

@Robert You were right! I did everything you said and now when I run your command with the new tar path e.g. adb exec-out "cd /storage/emulated/0 && /data/local/tmp/busybox tar c * -" > sdcard.tar I get a healthy tar archive with all the files. Thank you a lot!

Is there way that command adb exec-out "cd /storage/emulated/0 && tar c * -" > sdcard.tar is buffered enable? I noticed in task manager of windows, the disk usage is utilized while the memory usage is just using 1MB. I want to speed up transfer.

@MuhammadIkhwanPerwira The point of adb exec-out is that it does not require RAM. All the data written by tar on the phone are transmitted via USB to the PC and there directly written to disk. Note that if the enabled for the HDD disk caching will automatically be used, but that is not visible in taskmanager.  The limiting factor is the USB interface which is often only USB 2.0 thus limited to 25-30 MB/sec.


text:
Wi-Fi Verbose logging fields
I've been trying to troubleshoot a Wi-Fi issue (with a specific network) and have Wi-Fi verbose logging on, but I can't find any documentation on what any of the fields in the network selection menu are.
The network in question has the full info of:
Connected [ UN UN UN ] f=2462 00:00:b1:6b:00:b5 standard=4 rssi=-75 score=59 tx=23.3,27.9,1.0 rx=20.9 4G STAs:8[(2)

I understand rssi and STAs (although, I have no idea for the second number for STAs) and f fits the channel frequency, but the rest (UN, tx/rx, standard, score, and 4G) have me stumped.
Does anyone have any idea for these or a pointer to the relevant documentation?

The Android source code is available online.
Your log line appears to be from:
WifiStateMachine.java specifically String getLogRecString(Message msg)
Around line 2196, the string output starts looking similar to yours:
sb.append(" rssi=").append(mWifiInfo.getRssi());
sb.append(" f=").append(mWifiInfo.getFrequency());
sb.append(" sc=").append(mWifiInfo.score);
sb.append(" link=").append(mWifiInfo.getLinkSpeed());
sb.append(String.format(" tx=%.1f,", mWifiInfo.txSuccessRate));
sb.append(String.format(" %.1f,", mWifiInfo.txRetriesRate));
sb.append(String.format(" %.1f ", mWifiInfo.txBadRate));
sb.append(String.format(" rx=%.1f", mWifiInfo.rxSuccessRate));

The variables names appear reasonably descriptive for at least further research. The above file is dated 2017, given that there have been a number of WiFi changes made between OS version, I would find the one matching your version of OS, by looking for a "base" OS version branch (left hand side), and then drilling down to the appropriate WiFiStateMachine.java file:
https://android.googlesource.com/platform/frameworks/opt/net/wifi/
or searching for an appropriate string where you can find where logging is occurring.


text:
Will installing a file manager app void the device/Android warranty?
One of the frustrating things about HTC is that I cannot manage my files which have been downloaded. On the marketplace, there are some apps which allow you to do this such as:

Astro File manager
eFile
Root Explorer

If I install a file explorer app, will that void my warranty with HTC or Android?

No, you won't invalidate your warranty.*  Keep in mind that Root Explorer requires root, though, and rooting will invalidate your warranty.  I personally love Root Explorer, so I recommend the non-root version: Explorer.
* I haven't read your warranty, but I've never heard of a condition that bizarre. This is not legal advice; I am not a lawyer.

No, using a file manager will not invalidate your warranty. Rooting often will though. On my phone, I personally use Astro File Manager.
If you want a solution to manage all your files from the desktop, our company produces a solution called SnapPea. It's an easy way to manage contacts, apps, music, and videos from your Windows desktop.


text:
Having confusion building erofs format system.img for Android
I try to edit an Android 11 system.img file that was extracted from super.img. Now I have an issue that is very confusing to me. First, I extracted system.img by this command (The file system is erofs, which is used on HUAWEI android devices):
sudo fsck.erofs --extract=./extracted --no-preserve --force --overwrite system_a.img

And I got a directory tree that contains files like this:
.
└── extracted
    ├── 3rdmodem
    ├── 3rdmodemnvm
    ├── 3rdmodemnvmbkp
    ├── acct
    ├── apex
    ├── cache
    ├── config
    ├── cust
    ├── d -> /sys/kernel/debug
    ├── data
    ├── data_mirror
    ├── debug_ramdisk
    ├── dev
    ├── eng
    ├── hw_product
    ├── linkerconfig
    ├── log
    ├── metadata
    ├── mnt
    ├── modem_log
    ├── odm
    ├── oem
    ├── patch_hw
    ├── preas
    ├── preavs
    ├── preload
    ├── prets
    ├── pretvs
    ├── proc
    ├── res
    ├── sec_storage
    ├── splash2
    ├── storage
    ├── sys
    ├── system
    ├── system_ext
    ├── vendor
    └── version

Then, I did some modifications and tried to pack it into a system.img using this command:
sudo mkfs.erofs -zlz4 -Enosbcrc -U00000000-0000-0000-0000-000000000000 --ignore-mtime lz4.system.img ./extracted/

Everything was perfect, no errors or warnings were shown with this command, and lz4.system.img was generated successfully.
I compared two files by using file command after finishing the re-packing:
@localhost:~/Desktop/extracted_super> file lz4.system.img  system_a.img
lz4.system.img: EROFS filesystem, blocksize=12, exslots=0, uuid=00000000-0000-0000-0000-000000000000, incompat: LZ4_0PADDING
system_a.img:   EROFS filesystem, blocksize=12, exslots=0, uuid=00000000-0000-0000-0000-000000000000, incompat: LZ4_0PADDING

But I found something different between the one I generated and the original one.

File size wasn't the same (later I realized that it is normal because it wasn't signed)
There are contents that differ from each other, I am enclosing the screenshot to make it clear to distinguish them:

As you can see on the right side of the picture, that's the original system.img, it contains some of the strings that seem to have something to do with selinux, in turn, the new one doesn't have it.
My questions are:

What are the strings?
What should I do to fix this? Is it because the new one hasn't been signed, so they are not the same?

For those who don't know the reason for this issue, I have found how to fix it by adding a parameter --file-contexts=plat_file_contexts.

how to add this parameter --file-contexts=plat_file_contexts


text:
Unable to login and load web page in Sony Ericcson W8
I am using a Sony Ericcson w8 Android phone. I am unable to log in and load a web page (like Google, GMail, etc.) even after selecting "clear cache." There is just a blank screen with a progress bar.

Can you load any web pages? Are you actually connected to the internet at all at the moment? Are you using a 3G connection or a wifi connection?

I assume your selecting Browser > Menu > Settings > Clear Cache ?
You can also try clearing the full app memory from your home screen (outside the browser):
Settings > Applications > Manage Applications > Select the Brower App
Choose 'Clear Data' and also 'Clear Cache'.
If all else fails you could also factory reset the phone.

It sounds very much like a connection issue, I wouldn't resort to a factory reset before diagnosing the connection.

Yeah true I assumed he had the sense to realise his net was working. I'll drop my assumptions!


text:
How to get rid of this orange highlighter
Recently I've noticed a really annoying orange highlighting feature that I can't find a way to get rid of. It usually appears in the default browser and apps that use webview (websites that act like apps). So I was hoping someone would know of a way to get rid of it.
Some info about my devices:

Archos Platinum 50
Runs a vanilla flavored stock ROM (android 4.1.2)
Rooted

I've attached a sample image with it.

Settings > Accessibility > Enhanced Web Accessibility > Don't Allow.


text:
An existing package by the same name with a conflicting signature is already installed
I'm trying to update (Documents to go Main app) in my device.
When I'm trying to install it an error comes out says an existing package by the same name with a conflicting signature is already installed.
I have root access on my device. Is there anything I can do?

Could it be you originally side-loaded that app from some dubious source, or your update comes from such? One of the two obviously is not from the original developer, hence the signatur mismatch.

I've Documents to go as main app in my tablet and the Play store is restricted in my country so i'm downloading it from one mobile market and after downloading it gave me that , any ways for solve the problem or deleting the app completely ?

First, if there's a signature mismatch and I'm sure the original app comes from a trusted source, I'd doubt the source the "update" comes from: the .apk very likely is manipulated, and might include malware -- so be warned! I do not know the "one mobile market" you've downloaded it from, so I cannot tell for sure.
If you still want to install the new .apk: Yes, removing (uninstalling) the previously installed app and the installing the downloaded version should work. If the first one was installed as a system app, you will need the appropriate system tools to uninstall it (e.g. Titanium Backup  -- which you then could also use to create a backup before removing the app, just in case). Alternatively, if you know the right command line tools, you can do it also via adb shell.
As the app in question does not require to be made a system app, installation can be done normally without any root stuff: just tap the .apk in your file explorer, and let the normal installer do its job.
After that, watch out for any strange behavior -- just in case the .apk introduced malware.

here's my problem i can't remove the system app it just gives me (Disable App) and when i disable it and trying to install the updated one it says (Enable the package) and when i enable it i turn back to my problem

Quoting your question: I have root access on my device. Pointing to the corresponding part in my answer: you will need the appropriate system tools to uninstall it (e.g. Titanium Backup I use TB regularly, so I can vouch for it. Did you try to remove the app with this tool, or with any other such like NoBloat? Sure, Android's own Settings->Apps doesn't let you uninstall system apps :)

This error usually occur when you use a different key while Generate Signed APK, Note: In order to Update your App you need to use the same Key password and key alias of your previous version then Generate the Updated Signed APK.

This site is for end-users of Android not developers. The question is about updating an app that they have downloaded not one they are developing themselves.


text:
Transfer data from one user to another in 4.3
I have the Nexus 7, and I just updated to 4.3, and I'm creating restricted profiles for my kids. They use to play in my main profile, and they progressed a lot in several games and, when they access their new user, they have to start over. Is there anyway to migrate the application data from my main user to the restricted users? I'm not rooted. Tks

Possibly related and helpful: How to migrate 4.1 primary user's app data to new 4.2 secondary user? / Converting an existing user to a restricted profile / How to migrate applications to other user account without downloading the applications again? / How can I move application user data to a different user? (also see the "Related" section of this question)

Had the same problem with my kid's profile. Finally solved, but it required root access.
This is what I did:

Close all running app instances.
From command prompt start ADB shell:
c:\> adb shell

Switch to root user (your device must be rooted):
shell> su

Go to in target profile directory:
root> cd /data/user/[profile_user_id]

For example: profile_user_id is 10 for first restricted profile.
Rename app directory (to have a back up copy)
root> mv [app_dir] [app_dir].old

Copy app data from main profile (id=0) to new profile:
root> cp -r /data/user/0/[app_dir] .

Change owner for files just copied:
root> find [app_dir] | xargs chown [app_user]:[app_group]

Restart device (not sure if it is really needed).

I'd just make a small adjustment to Tonto|One's answer: use "cp -a" rather than "cp -r". This preserves symlinks (typically to a lib directory) and avoids the need for the chown step.

chown is required to set the owner to the new user. Also, there's a -R (recursive) option so running find isn't necessary. chown -R  [app_user]:[app_group] [app_dir] (ls -l [app_dir] to know what they are before step 5)


text:
How to extract sqlite file
My Samsung Galaxy S was having an error on the notification bar saying sd card blank or has unsupported file system, so I was required to format my sd card. However, I couldn't format it using the phone, and my lappy couldnt recognize it either. So I formatted the card using my Nokia 5800, and it works.
I tried to recover lost images and songs using Photorec. However, I was only able to recover 3 files and all of them are sqlite files. One of them is 2gb in size which match the size of all the photos and songs that I used to have. Is the sqlite file my lost data or not? If it is, how can I convert it back to photos and songs that I mentioned earlier?

You're trying to view an SQLite file on your computer?  You should perhaps ask on Super User, though I would Google first -- we only handle Android-specific PC questions, like drivers and the emulator.

That's odd, photos are usually stored within a DCIM directory of the SD-Card. Never heard that one would store them as binary blob within a sqlite db.
Anyways, you cold discover the contents of the sqlite db with the sqlite (sometimes sqlite3) tool. But you need some basic understanding of SQL syntax.


text:
How to make my phone vibrate when a text or an email is received when in vibrate mode?
Currently, when I put my phone into vibrate mode, it only vibrates for calls. It does nothing for texts or emails, however, so I don't know when I've received one. Does anyone know a way to enable vibrating when a text or an email is received? My phone is an HTC Eris rooted with Cyanogen Mod if that helps.

You can enable vibrate for SMS from Messaging -> Menu key -> Settings -> Notification settings -> Vibrate. Not sure about Email since I use K-9 (in case you use it too it's in the app, Long-press the account -> Account settings -> Notifications -> Vibrate).

Not sure if this helps, but I have a Samsung Galaxy S2.
I use GO SMS Pro for texting, instead of the stock Messaging app.
The vibration settings can be configure through the app itself.
In the stock Messaging app, I could not find any option for vibration.

If you want your Galaxy ii to vibrate when your receive a text:

Go to the "conversations" page in the Messaging application (stock). ie. where you can view a list of your conversations.
Hit the "Menu" button
Select "Setting" from the "Menu" list
Find "Notification settings" towards the bottom of the page.
Select "Vibrate" then, "Always"

If your phone is in Vibration mode then by default the phone vibrates for a small amount of time if you receive an SMS.
To customize it, I mean to increase the Vibration to a little longer period you have to install some applications from the Android Market.

Look under vibration intensity/ notifications turn it up and it will work for messages


text:
USB drivers on the xperia play
I'm helping out a friend with rooting Xperia play, I spent 5 hours trying to root it yesterday with him and we couldn't. We tried gingerbreak and z4mod but they did not work, so we tried the fastboot way and I can't seem to get the drivers installed properly.
Whenever I try the command to check for the phone in cmd the phone shows no response as if he wasn't connected.
What am I doing wrong?

Steps I've used in the past for this kind of issue :

Check your USB cable - some are no good for data. (this is
frequently the issue when my computer can't see my phone)
reboot everything
you say the drivers aren't installing - what's the issue there? try manually installing the drivers.

the computer always says "the current drivers are already up to date".im gonna try unnistalling every usb driver in every aspect and unnistalling his pc companion, the pc companion could be interfeering with the process. his cable is the original cable that came with the device and he does use it for transfering normal data so i would assume the able is fine but if everything else fails we'l try to replace the cable. tks, il let you know how it worked out

I didn't bother installing the companion software, so def try removing that. My comp didn't recognise my Play until I toggled USB debugging on my phone a few times and selected for the phone to not connect as usb storage.  Good luck, i know it can be difficult sometimes!


text:
Intents in a grid instead of a list on Android 4.4 KitKat
I have just received the Nexus 4's Android 4.4 KitKat OTA. One of the first things I remarked was that the intents layout for choosing an application is now a list instead of a grid just like in Jelly Bean:

(click for larger image)
I find this list layout ugly (I don't want to go back to the good ol' ICS days) and I would like to get my intents in a grid again. How can I retrieve the grid layout for intents on Android 4.4 KitKat?

So you want something like this:

AppChooser (source: Google Play; click for larger variant)
Freely configurable, including the possibility to...

switch between list and grid
hide apps you never use, but still having them available quickly with a single tap
sort alphabetically or by last-used

Then take a look at AppChooser Pro, available for a single buck. There's also a free version on Play if you want to test it first. I went immediately for the payed version a couple of months ago, and never regretted the decision. Still you might wish to pick the free version first, as I didn't test it on 4.4 (I'm still on 4.0 on my phone).

Thank you for your answer. I will test this solution and write a feed back in the comments. However I would prefer a solution without third party apps so that's why I do not accept it now.

Understood. I had prefered a "stock solution" as well. But either I've overlooked it, or there really is no possibility to configure the picker. Wouldn't be the first time I missed a "hidden gem", so let's see whether someone turns up with an alternative; if not, you still can accept the answer later (or accept now, and switch the accept-flag later, if a better solution is presented).


text:
Re-install app without losing personal data
How do you re-install an app without losing personal data?
In this case its Plants vs. Zombies 2 that hangs when loading the game. I thought a re-install might solve the issue. But I don't want to need to redo everything I've done so far.

For the following procedure you'll need adb installed on your computer (if you're not already have that, see: Is there a minimal installation of ADB?). Alternatively, a terminal emulator app should do as well.
Android apps are managed by the "Package manager", which has a command-line interface called pm. So here's what you can do with it for your case:

# to use ADB, first get a command line
adb shell
# now tell the package manager to uninstall the app, but keep its data
pm uninstall -k com.YOUR_PACKAGE_NAME`

(Note this won't work with a terminal emulator app on device (at least with none I know of) except with root permissions, as "normal apps" lack the required privileges/permissions.)
Of course you have to replace com.YOUR_PACKAGE_NAME with the package name of the app you want to deal with. Easiest way to find that is visiting its page on Google Play, and take a look at the URL: the package name follows the id= parameter there. It's the -k parameter telling the package manager to keep the app's data.
Now, when you re-install the app, its data is already there (was not removed).
All this does not require root (at least as long as we talk about a user-installed app).

After one hour Iv'e managed to do what you wrote. It took some time as all about Android SDK was new to me. I managed to re-install the game, and the personal data seemed to be there. But unluckily the game would still not load. Only after I removed the personal data.

Yeah, I was afraid of that. It still could have been the Dalvik cache being messed up, but then an update/re-install (without uninstall before) should have cured that (so the app's own data being messed up was the logical conclusion). But it was worth a try. And having ADB running from your computer gives you a bunch of other options (see the adb tag-wiki for hints on that).

You must be root in order to uninstall an app.  To become root, you must either launch adb shell from a computer or else you must root your phone and use the su command.  If your phone is not rooted, a terminal emulator won't allow you to uninstall anything.

@unforgettableid have you tried it? On most of my devices, ADB doesn't run as root. Still, pm uninstall works for user apps (i.e. those you've installed yourself) – as my answer points out, quote: "as long as we talk about a user-installed app". Admitted, I didn't try with a terminal emulator but always use adb shell for things like that – so for that part you might be correct (I didn't verify), as ADB gets slightly elevated permissions. Terminal app would need the corresponding permission (INSTALL_PACKAGES) for that.

@Izzy: My mistake. I experimented further. adb shell indeed lacks root privileges. But it does get enough permissions to run pm uninstall -k. Still, my terminal emulator (jackpal.androidterm) does not have sufficient permissions to run pm uninstall -k: when I try it, pm gives me a "Permission denied" error. I did my testing in Android "Jelly Bean" 4.1.2.  I wonder if, on a newer OS version, App Ops could grant more permissions to my terminal emulator?

I doubt that, @unforgettableid – it's adbd which gets "elevated privileges" (which it e.g. requires for adb backup). Terminal is dealt with like a "normal app" – so unless it explicitly requests additional permissions, it won't get them.

Android hasn't got function which you described. If you have root access on your phone, you can make a copy of folder /data/data/com.xxx.xxx, reinstall app, and overwrite generated folder by your copy.

Android has this function, even built-in ;) See my answer. Works without root.

You can also just reinstall the APK file that already exists on the device. After an upgrade to Android 6 somehow default permissions like android.permission.ACCESS_NETWORK_STATE were lost, that is where this trick comes handy to discover the APK and reinstall it:
adb shell
shell@hammerhead:/ $ pm path com.stackexchange.marvin
/data/app/com.stackexchange.marvin-2/base.apk
shell@hammerhead:/ $ pm install -r /data/app/com.stackexchange.marvin-2/base.apk
        pkg: /data/app/com.stackexchange.marvin-2/base.apk
Success

Alternatively if you would like to reinstall a bunch of packages (-3 for third-party packages only), you can parse the obtain the list of installed packages on the device and reinstall all of them with:
pm list packages -f -3 | cut -d: -f2 | cut -d= -f1 | while read apk; do pm install -r $apk; done

I will just add that now you must use cmd package list packages -f -3 and that in that cut -d= -f1 did not work for every package, as some paths include base64 padding (= characters), but was able to use regex in a text editor to process the list, and then use cat with the last part of your one-liner.


text:
Bluetooth Remote Controll for Voice input on Nexus 5
I am using my Nexus 5 for 1.5 months now. Previously I used an iPhone 5. On the iPhone there was Siri and - when connected via Bluetooth to my car stereo - I could push a button on my Steering Wheel and start voice interaction with siri.
When I push the same button in Android 4.4.2 on my Nexus 5, it says "initialisieren", I think the english locale would be "initializing" and nothing happens.
It would be great to get at least some starting of calls working like "call my mom" or "call john doe" better would be also a working tts/stt (reading/dictation) of sms. Best would be if I also could change playlists (Play List Salsa/Play List Rock) or starting of the navigation (Navigate to Home)
is there any way to get those things working?

Screenshot (click image for original size)

I'm not sure about the "Steering Wheel" controls, but you might wish to take a look at tasker (being German, just follow the link to AndroidPIT from there :) and the AutoVoice plugin.

so out of the box there is no way to use that standard voice recognition?

I can't tell, as I've not much played with that. Let's see if someone else has fresh ideas.

I have tried tasker now. It is a really powerful thing. But I have the problem, that my phone speaks the variables instead of speaking its contents:
AutoVoice and Tasker: Speak recognized Variable says “percent varname”

You might wish to see the above linked tasker tag-wiki and follow up the link to my ressource collection. Though that post being German, it links to several English tutorials, including those around AutoVoice; I roughly remember there was at least one with using Variables to be spoken out.

Solved that specific problem. Tomorrow I try to get it working with the button on my car stereo system. But it's kinda hard to programm all that features with that little keyboard and screen. Usually I use 3 big screens for programming and a mechanical keyboard ^^

Glad for the solution (and thanks for answering your own question and sharing it, just upvoted ;) And yes, the question has been asked for years to have a desktop version of Tasker to write profiles and export them. Trouble is, that would need all the environment (addons, configurations) as well. One might be able doing that in an emulator... Good luck further, looking forward to your solution!

The trick with the autovoice for car mode didn't work. Now I can toggle the task, but cannot get it to work with the car microphone as it does during calls.

Have you tried contacting its author? He's very responsive, and AutoVoice are his "crown jewels". Tell him Izzy sent you with best regards :) If there's any solution, I'm pretty sure João will find it. // Oh, if he did it, please don't forget to let us know the solution :)

@Izzy I don't have an answer from the author of the software yet but I have another solution for the initial problem (See answer)

@Izzy how did you resize the image or have you done it offline?

Just click the [edit] link and see for yourself: imgur ships a smaller variant when you add a m to the basename (e.g. if abcde.jpg is the large image, abcdem.jpg gives a Medium sized (which I used), and abcdes.jpg would give a (too) small one). Then I made the medium variant a link to the large one, using the normal markup elements for that.

I found a solution to the initial problem. It seems that this is a common bug and in the software since at least Anroid 4.2. There is an Application in the Play Store that does nothing but reacting to the Bluetooth button and starting the voice recognition:
Voice Command
When I push the Button, I have to select what app to start, I chose "Voice Command" after that I am asked again and chose "Google Now" and then it starts directly in the Voice Recognition mode.
I don't know yet if it gets the commands over bluetooth or over the built in mic but it stops the music and starts the recognition.
This works at least with My phone (Nexus 5, 32GB Android 4.4.2 All settings to german and my Car Radio (JVC...))


text:
My Galaxy S3 freezes and the screen goes black, what could be the problem?
I had this several times, my Galaxy S3 freezes and then the screen goes black and I can't wake it up. the only way is to reboot it and pull out the battery.
What could be the reason for it?

Could be the battery, try borrowing one from a friend or buying one to test out

The problem was in the android version, after I got firmware update it fixed the problem

I also have that problem. It starts when the battery goes really low.
So, keep it charged up. If you take the battery out for awhile, it will reset.
But, get another battery. Best Buy has them for as low as 8 bucks online.


text:
Trying to restore photos from a broken S4 (AT&T), how do I go about it?
My friend broke her S4's screen, and wants to get back the photos from the internal memory. The phone does not have USB debugging turned on, so having it attached to the computer only charges it. The phone does show up in Kies and is asking for me to unlock it. I do have the pin code, but as the screen is dead, and I cannot put it in. ADB devices, and FastBoot devices do not show the phone at all. Fastboot Reboot-recovery does not do anything either.
How can I go about restoring these photos from the internal memory. Any suggestions would be helpful. Thanks!

A good starting point is our data-recovery tag-wiki and its most frequented questions, pointing e.g. to How do I backup data (SMS/contacts) from a device with a broken screen?

Thanks @Izzy - however, I've looked through most of those articles and there was nothing specific to my device, and my problem. Unfortunately, a broken screen on a Samsung device =/= a broken screen on a Nexus device.

Well, a broken screen is a broken screen – but you're right, solutions might not always work cross-device. That's why I wrote "starting point". Sorry, I have no real answer (I don't use a Samsung phone), so I can just point to possible solutions, until a real answer turns up. Maybe a search for "broken screen brings up something helpful? Also watch out for "remote-control" solutions there. I remember we had something comparable.

No worries, I know you are just trying to help. I look around until I see something get adb to work! Thanks.

Just a raw idea (I never tried that myself, so no guarantees at all): AFAIK you can switch your device to "fastboot" mode. Even if you might not be able to access your files from that, you could use it to temporarily side-load (and boot) some image shipping with ADB enabled (if there is such). Also, you might be able to access it with ADB when booted into recovery. Again, no guaranteees – but surely worth trying.

I tried to boot into fastboot by holding home+volume down+power and then pressing volume up + power at the prompt. However, the phone never showed on my computer. This is definitely hard without a screen.

Admitted. Maybe connecting it to a TV or the like via MHL/HDMI? That would at least show the output (hopefully). That way you could also test if it maybe even still accepts touch input. // But again, for Samsung specifics I must pass on the stick.

Thanks Izzy. I already did this and the screen is completely broken--it does not accept any input.

Alright, I managed to get it work. I hooked up a octopus USB extension to a micro USB cable on one end, and an USB keyboard on the other end. I booted the phone and then pressed ENTER, ##PIN##CODE##, ENTER on the USB keyboard and the device unlocked. This took a few tries as I was going in blindly.
Then I unplugged the USB cord, then plugged in a micro USB cable that was connected to my computer (Ubuntu 14.04). The phone showed up w/o any problems and I was able to grab files from the on-board storage.
One thing I had to do was constantly keep pressing the BACK button on the device to prevent it from locking.
At the end of it all, I successfully extracted 4GB worth of pictures.

Though not (yet) a solution for the OP in this case, I will already start summing up helpful facts from the comments: they might solve comparable issues for others. An update might follow if we find further things.

A good starting-point for comparable issues is our data-recovery tag-wiki as well as its most frequented questions, where a solution often can be found already (see e.g. How do I backup data (SMS/contacts) from a device with a broken screen?). A search for "broken screen" might also prove helpful. Even if the devices differ, approaches should be comparable.
A raw idea (I never tried that myself, so no guarantees at all) would be switching the device to fastboot mode. Even if you might not be able to access your files from that, you could use it to temporarily side-load (and boot) some image shipping with ADB enabled (if there is such).
It might also be possible to access the device with ADB when booted into recovery. This very much depends on the recovery image installed (see e.g. recovery-mode). No guarantees for this either – but it's surely worth trying.
Connecting the device to a TV or the like via MHL/HDMI would at least show the output (hopefully). That way you could also test if it maybe even still accepts touch input. In case touch input is still accepted by the device, you might be able to activate usb-debugging this way, and then access the device via ADB – or to install some remote-management software such as Airdroid to have an interface for file retrieval and more.

If all fails, your hope is a local service center to replace your screen without deleting (or stealing ;) your data. Or a data-recovery-company (too expensive, I guess).

If you can enter recovery mode manually on vol up + home + power, give it like 20 seconds of pushing all of those buttons.. at least maybe you can hear a sound of booting up. Then plug it into your system. Run ADB and then run "adb pull / dir of you internal memory" command  mine should be "adb pull / C:\DCIM" <--default location of my photo

I did try that, but without a screen its hard to tell if I'm pressing the right buttons to get to that point. Is there a prompt to go into recovery mode like UP for recovery, DOWN for boot-loader?

Just got home and tried that. I've got it in the recovery mode, however ADB says its unauthorized, and that I should check the device. :|


text:
Accessing internal storage on Moto G, locked phone, broken screen
my girlfriend dropped her Moto G and now the screen is completely black, the phone is secured with a lock pattern. It's very important for us to recover the pictures, because unfortunately they weren't backed up.
I'm a software dev, so don't hesitate to offer solutions that involve ADB, the Android SDK or anything else. Another important note, the phone is not in Debugging mode.

Is it possible to remotely enable USB Debugging?

See: Broken screen while debug mode was disabled. How can I re-enable adb? (and our broken-screen tag-wiki).

This cannot be done without unlocking the device. If the touchscreen still works try to boot the device, let it settle, press the power button to wake it up and then draw the pattern from memory. You can print a photo of the phone on the lockscreen and mark the point on the display as a reference.


text:
Chrome 37 back button
I've tried various different Google searches on this, but can't seem to find the answer or even someone reporting the same problem.
I cannot for the life of me find the browsers back button. It's annoying enough that google decided to remove the refresh button from the address bar, but they can't seriously have completely removed the back button from the entire app could they?

Screenshot (click image for larger variant)
I know under usual circumstances I can use the Android OS back button, however if I'm in the browser, then exit out to the home screen or switch to another app, and then reopen the browser, the back button no longer goes back in the browser - it goes back to the last activity I was in e.g. the home screen.
NOTE: This behaviour is not consistent. Like right now it is not happening, but a day or 2 ago, it was and I literally had no way to go back to the previous page because each time I pressed the back nav button the browser simply closed. So even if this does not always happen, I'm still puzzled as to where the browser back button has gone..and yet they leave the forward button in the menu...I almost never use the forward button.
p.s. If you too find the removal of the refresh button from the address bar ridiculous too, make sure to star the issue here so that the devs might notice and actually revert it.

@DainBinder I've currently not been able to recreate the issue reliably, so I've not created an issue about it. If I do manage to at some point I will.

The behavior is reliable for me. If I change to Chrome from another app, the back button always just goes back to the previous app, not the previous page. Very annoying.

This would be helpful for users like me also when our phone back button doesn't work. There must be some other way.

Yes, they've completely removed it from the UI, so you have to use the Android back button.

Wow, then how do I go back two pages in history?

@Protectorone Press it twice, or select the item you want from the History, which is still accessible from that menu.

What if your bank button doesn't work any more? I hate to have to use another android browser.

Found this thread and just wanted to update it with a proper workaround. I used this on Chrome for Android ver 7.0.0. On my Note 9 and it works like a charm
Go to settings > home page
Set your homepage as javascript:history.go(-1)

As a workaround, you go to Settings -> Home page and set Homepage to javascipt:window.location.back() and use the home button as a back button.  Here is a picture.

It seems to work well but yes you did lose the home button.

But where is the home button…?

@Protectorone they may have removed this button in chrome also.  I am using an iPhone now as my main device.

To use the Home button as Back in Chrome version 108, in Menu / Settings / Homepage, set the homepage to:
javascript:window.history.go(-1)

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 can I control my Azpen Android Tablet with a broken screen without root or usb debugging?
I've had this Azpen A700 tablet for a while, but at some point it got the touchscreen broken. I can still see an image but the touchscreen is completely unresponsive. I'd like to still get some use out of it, but it is not rooted and it has USB debugging disabled. Is there any way to control it or root it without the touch interface? I have a USB cable for it, it's just that the USB debugging setting is turned off.
I've tried googling how to control an android tablet with a usb cable and it requires rooting. Then I looked up how to root a device and it requires usb debugging. Is it possible to do it without rooting or debugging?

You could get a USB-OTG cable, which allows you to connect USB devices to Android devices via the USB port (so long as the Android device supports OTG, which the A700 does). If you plug in a mouse you'll get a mouse cursor to work with; you could even use a USB hub to attach both a keyboard and a mouse if you want to type instead of using the on-screen keyboard.
You could also use the USB-OTG cable long enough to pair a Bluetooth mouse/keyboard to the tablet, then go wireless.

Interesting idea. I didn't know that was possible on android tablets. Is it possible to make one of these cables? I have a USB extension cable and a few USB charger cables, so I assume I could simply cut the ends off of both and rewire them to fit. Is this possible or would there be issues? (other than the obvious connecting the wrong wires together) I ask this because I don't have enough money to buy one of these cables at the moment.

@user1193112 Yes, you can make one yourself. Most USB controllers have OTG support at the hardware level; as long as the device manufacturer includes software support for the desired peripherals it can work.


text:
How can I get the latest compatible app version?
I once had Acrobat Reader and Seesmic installed in my LG GT540 (Android 2.1).
I had to uninstall them to free some space. After a few days I tried to install those apps again, but their updates made them unavailable to my Android version.
Is there anything I could do to install the latest compatible version?

Ok, this is not exactly what I was looking for, but it works... it is more like a preventive approach.
So, my solution would was to install Titanium Backup (which requires root access to work) and backup all my apps. Then, whenever I need more space, I just backup my apps before I go on. If I need them again, I can use Titanium Backup and restore.
And this is why I consider it a preventive approach: it is all about regular backups.
If anyone knows a better way to do this, please share =)


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

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

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

reboot should fix this

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

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

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

Thought this is fixed automatically since Oreo. try manually

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

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

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

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

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


text:
Does TubeMate use some peer-to-peer network?
I was using TubeMate to download my first video with TubeMate, and I got banned from the Wi-Fi network I was using:

Online activity through a browser or application has been flagged as malicious or in violation of the purpose of this network! Close all offending programs and try accessing the Internet again in five minutes.
Quarantine Trigger
"ET P2P ThunderNetwork UDP Traffic"(2009099) UDP 192.168.10.237:58509 -> 13.57.93.165:10050

According to https://whatismyipaddress.com/ip/13.57.93.165, 13.57.93.165 is an Amazon.com IP. I have no idea why some packet would go there.
I'm wondering why TubeMate caused it. Does Tubemate use some peer-to-peer network? If not, what could have caused this ban?

Not sure by "peer-to-peer network", but based on the link, it's AWS (Amazon Web Service) Compute Engine. Not a user of TubeMate, but I'd assume just like most YouTube video downloader services, when you trigger the download, the app requests to the server on AWS to download and process the YouTube video first, then serve it back to the app from AWS for the device to download.

From https://community.ui.com/questions/IPS-Alert-1-Potential-Corporate-Privacy-Violation/b435dc41-7d47-4107-b789-198beee2c26d and https://redd.it/r0ok41, it looks like it was just a false positive. I'm guessing it was triggered by the port or IP.


text:
How to install netcat on Termux?
I want to use WireGuard on my phone to connect to WireGuard on my Desktop's WireGuard server. On another website, I have been advised to execute in Terminal (I use the Termux app) on my phone, the command nc -4u -w1 I get "The program nc is not installed. Install it by executing pkg install netcat". When I try to install netcat, I get various repositories being a problem and netcat is not installed.
$ pkg install netcat
Testing the available mirrors:
[*] https://dl.bintray.com/termux/termux-packages-24: bad
[*] https://grimler.se/termux-packages-24: ok
[*] https://main.termux-mirror.ml: ok
[*] https://termux.mentality.rip/termux-packages-2
4: ok
Picking mirror: https://termux.mentality.rip/termux-packages-24
Get:1 https://termux.mentality.rip/termux-packages-24 stable InRelease [14.0 kB]
Ign:2 https://dl.bintray.com/grimler/game-packages-24 games InRelease
Ign:3 https://dl.bintray.com/grimler/science-packages-24 science InRelease
Err:4 https://dl.bintray.com/grimler/game-packages-24 games Release 404 Not Found
Err:5 https://dl.bintray.com/grimler/science-packages-24 science Release 404 Not Found
Get:6 https://termux.mentality.rip/termux-packages-24 stable/main aarch64 Packages [502 kB]
Reading package lists... Done
E:The repository 'https://dl.bintray.com/grimler/ game-packages-24 games Release' does not have a Release file.
N:Metadata integrity can't be verified, repository is disabled now.
N:Possible cause: repository is under maintenance or down (wrong sources.list URL?).
E:The repository 'https://dl.bintray.com/grimler/ science-packages-24 science Release' does not have a Release file.
N:Metadata integrity can't be verified, repository is disabled now.
N:Possible cause: repository is under maintenance or down (wrong sources.list URL?).

$ echo Test message | nc 4u -w1
The program nc is not installed. Install it by executing: pkg install netcat

$

Original Termux output

Related: Getting "E: The repository '... Release' does not have a Release file." error message when installing package on Termux. Bintray has been shut down, thus you have to change the repo source.

Termux already has ncat installed, which is virtually the same as netcat(1).

If you are using Termux installed via the Google Play Store, please remove it and replace with builds from GitHub or F-Droid. More info about here: https://github.com/termux/termux-app#installation
Run termux-change-repo to update your repos.
more info here: https://github.com/termux/termux-packages/wiki/Package-Management#package-management
for installing netcat, pkg install netcat-openbsd for using with command nc or pkg install nmap-ncat for nmap variant, command ncat

Great answer, thanks! Adding that, for ease of upgrading in case you have the Play Store version of Termux, you can just run pkg remove game-repo && pkg remove science-repo && pkg update -y. See this for more info.


text:
How to install a ringtone into internal memory?
I am using a custom ringtone. It is a mp3 which is stored on the external SD card.
When my phone is connected via USB to my computer and the SD card is mounted, my phone uses a default ringtone on incomming calls.
How can I use a custom ringtone without SD card?

If you have root, it is possible, but not really recommended. If you do not have root, then you cannot. The file system is designed to be readonly and you can't add additional files to the system.

The ringtones in the internal memory reside in /system/media/audio/ringtones directory (and this is part of the system partition).
You need to have root privileges and you can move the ringtone(s) into the above said directory in debug mode (adb) and booting into recovery. I have a Galaxy S4 (TMobile-US) also codenamed jfltetmo, with cm11-m9 and twrp recovery.
All you need are:

Your phone rooted.
Custom recovery is preferred (e.g. TWRP, PhilzTouch, etc.)
Data cable
a PC with the drivers installed for the relevant phone.

I followed the steps in this Moving Ringtones To Internal Memory. All credit goes to villo-2 who posted the steps in the link.
However, in the event of that page is deleted or not found in the future, here below are the steps:
Note: Please be informed that the following steps are to be executed at your own risk. On the other hand, the adb commands are executed from the PC.

Put your phone into “Debug Mode” and connect it to the computer via the data cable.
Open the command prompt and change to the directory in which adb is installed and issue this command “adb reboot recovery”. This steps lets you reboot into the recovery. In my case, it is TWRP v2.8.4.0
The phone should reboot in a few seconds and enter recovery mode. Go to “mounts and storage” then mount ‘system’ and ‘sdcard’. In case ClockworkMod recovery, volume keys normally move between options and the Power button selects your choice.
Now the system partition is read only by default so we will have to remount it as read/write. This can be done with this command “adb remount”.
Login to the shell of the device with this command “adb shell”
Then finally the joy….. “cp /sdcard/Music/ringtone.mp3 /system/media/audio/ringtones/.”
Unmount the partitions you mounted in step 3 then use the last option to exit this menu (Go Back). Then reboot the device with the first option on the resulting list.

Hope this helps.

From your computer send the mp3 to a cloud service. Then use ES file explorer. Get it at the google store. Download mp3 from cloud you can use ES to do that for you. Make a new folder ringtones
on your phones sdcard. Use EX to open your mp3 an it gives you an option to set your mp3 as a ringtone in your new folder.  It worked for me. Marty a 73 year young noobe.

This doesn't seem to answer the question since it still relies in the SD card....

The only way I found for my custom ringtone to work while USB is connected (and to prevent losing my setup if a call or an alarm happens) was a tip from here (vote him up please).
Basically (with some extra info):
1) you need a rooted device (for m-mp5303g the only method that worked was by using cydia impactor # drop SuperSU su to /system/xbin/su and do not upgrade SuperSu after that, and on linux this was also required sudo adb kill-server;sudo adb start-server)
2) I used use X-Plore with root write access option enabled to copy the ringtone .ogg or .mp3 to /system/media/audio/ringtones/
3) find the alphabetically first ringtone, rename it to a .old file, rename your custom ringtone to that ringtone filename. This will help in case some ringtone configuration is lost, that file will be used as default (in m-mp5303g at least). Obs.: make it sure you do not care for that first ringtone music.
Obs.: this seems to work with alarms and notifications too.
PS.: just adding files there did not work here, they all were ignored, even after reboot; only replacing worked.

The easiest way that I have found to do this is,

you must have root access on device as has been stated in previous answers
use Root Browser or some other file manager to change the file to a .ogg file while on the SD card.
Use the file manager (I recommend Root Browser) to move the ringtone to the /system/media/audio/ringtones path on the system partition of your device. Move it there do not copy it. Reboot your phone and things should be okay.


text:
Hide or autohide top bar
Is it possible to hide or autohide the top bar which is still present on the top of Android screen? My version of Android is 2.2.
The top bar is distracting for me while reading. I'm using Aldiko, ezPDF Reader, Infinity for reading. Most distracting is the wifi icon which is changing when something happens with the connection.
And the top bar is using space on a small display which can be better utilized (e.g. in Teamviewer)
Some video players can hide the top bar (default Video player) and some can't (Act1 Video player - which I like more but don't use because of the top bar).
Thank you.

Certain apps have fullscreen mode.  Those that don't probably won't be able to take advantage of the extra space if you were to hide it?  I'm not sure.

Infinity browser has fullscreen mode but the top bar is still there.

You can hide the top bar if you use a different launcher like @CustomiZer stated, but it will Only hide it when you are on the home screen. When you open apps, if they are not Full Screen apps, the top bar will still be present.
This is part of "core" android, and it is not something that can be changed, currently, via a setting or 3rd party application.

I edited the question. The top bar is present even in fullscreen (see Infinity browser).

My answer is still the same, the app doesn't seem to actually use "full screen mode" if the top bar is still there.

OK, it seems this is the feature of individual applications. Is there a proof that application A can't change this property in application B? You probably have this information from somewhere. Could you please cite this source?

Its not a feature of an application, it is a feature of the Core System. it allows the application to cover it, if the application specifies that it is a full screen activity.

It is usually not possible with the default home screen.
This is possible with alternative home replacement like GO Launcher EX, LauncherPro, ADW Launcher, etc. Some of these allow hiding of the top notification bar in their respective settings with specific swipe actions.

The top bar is distracting for me while reading. I'm using Aldiko, ezPDF Reader, Infinity for reading. Most distracting is the wi-fi icon which is changing when something happens with the connection. And the top bar is using space on a small display which can be better utilized (e.g. in Teamviewer)

I don't think  you can do it when opening other apps (unless you mod the ROM I guess)


text:
How do you change the screen background on Nexus S?
Just bought a Samsung Nexus S. No manual came with it. Apparently the moving default screensaver eats up heaps of battery life and I am not getting much battery life out of this new phone and I am constantly recharging.
How do you change it to a non-moving image?

As the Nexus S is a "Pure Google" phone pretty much every detail of it is covered in the standard Android manual. See the Android 2.3 manual here http://www.google.com/googlephone/AndroidUsersGuide-2.3.pdf

"Screensaver"? Do you mean the Live Wallpaper?

Live wallpapers normally only consume battery when you're on the home screen, they don't play in the background.

From the home screen, press the phone's Menu button. Here, there is usually a button for Wallpaper (it will be the top right button on the menu), where you should be able to pick your wallpaper (this applies to your background and lockscreen).

+1 You can also "long-press" on an empty bit of the home screen background and select "Wallpaper" from the menu that pops up.


text:
Why can't I access the /data directory with ADB on my Samsung Vibrant?
I used Simply Honey before and everything was okay. However, when I flash to a Stock 2.2 ROM, I cannot access the /data directory from adb. I am sure the phone is totally rooted because I have the Superuser icon in my apps menu and I can open the /data directory in Root Explorer. Why can't I access /data from adb as well?

What's the error?  Are you escalating the adb shell to root?

no, just when use adb shell to go into data directory, it says "don`t have the permission"

You need to escalate the shell, since /data requires root permissions to access.  After running adb shell, run su before running cd /data.  The prompt should change from $ to # if it works.

but i can`t run su in adb shell.

@ufo Why not? You can run it if you have it.  Example use.


text:
Restoring deleted video on Android Marshmellow
I accidentally deleted a video on my Nexus 5 running Android (6.0.1) Marshmellow. The device uses internal storage only. I'd like to recover the video and from what I already know from the Internet, there are desktop/mobile apps that can recover the file.
The problem is, all of the apps I've tried need root access to the system. Rooting the phone, on the other hand, will can wipe all my data (see the comments below), as far as I understood the process correctly. So, ironically, if I root, there will be no file to be restored.
1. Is there any way to recover the lost file without the root access?
or
2. Can I root the phone without deleting all its data?

Where did you read that rooting wipes a device? That's usually not the case. Also, have you already consulted our data-recovery tag-wiki?

I put it poorly into words, sorry. I read that rooting on some devices requires doing the OEM unlock or bootloader unlocking - which wipes all data. I tried 2 apps to root the phone but they failed for the reason unknown, so my guess is the unlock is needed in the case of my device. I will check the wiki.

Ah, in that case you're correct: Unlocking usually wipes the device. Though a Nexus 5 shouldn't be too difficult to root IIRC. Our rooting index points to Can I root my Nexus 5 without a custom image? You might wish to check that as well.