text:
How to unpack Android's radio.img file
Android images (e.g. those for nexus) ship with a radio-(version).img file. I wanted to unpack this file to look at its contents.
I tried using simg2img, as is done with system.img, but that approach didn't work for this file. I know that for boot.img, separate tools are available. I wanted to ask if anyone has tried unpacking this img file ?

radio.img is the radio firmware.  It's a binary, not any kind of archive; you can't unpack it.
You could, of course, attempt to de-compile it — but manufacturers generally don't release the source code so you are not likely to get very far with that without extreme effort.

I know that this is an extremely old question, but if I came across this thread then there's bound to be others to come across this as well. I actually have a pretty consistent and universal way of extracting the data from radio images.
You'll need to know your device's partition layout, and of course, you'll need to be rooted to do any of this.

The easiest way to do this I've found is to just adb shell and then su to get a root shell. Then you'll need to traverse the /dev directory, since each device is different you'll need to navigate your way through to find how to implement this next command.
For my Nexus 6P the directory is /dev/block/platform/soc.0/f9824900.sdhci/by-name, though your device will be different from .../platform/... to .../by-name, so just navigate to .../by-name and issue a ls -la command to display your specific partition layout. Take note of the mmcblk# block device number for "modem". (Ex. - the 6P has modem -> /dev/block/mmcblk0p1)
Reboot to bootloader (which will need to have been unlocked, though if you're reading this I'll assume you know how to), fastboot flash radio [radio_you_want_extracted].img, and boot back into Android.
Give yourself another root shell and then cp [your_modem_mmcblk#] /sdcard/Download, then open another cmd or terminal and adb pull /sdcard/Download/[your_modem_mmcblk#] . to pull the block device to your computer.
Now its as simple as extracting the contents with 7zip (surprisngly it opens the block file without issue!)

Cheers

That won't do anything useful.

Right, I just made all of this up because I like wasting everybody's time. This is the exact method I used myself to decompile the engineering radio found online for my Nexus 6p. Works great, and doing the same for the stock radio.img produced an entirely different directory structure with entirely different files. Keep your incorrect assumptions to yourself.

is "fastboot flash radio [radio_you_want_extracted].img" correct for extracting contents of radio partition to an img file? looks more like the way to flash an img file onto a partition.

It is for flashing a radio onto a device. Since the radio images are basically proprietary binaries that you cannot extract or decompress, by flashing a radio onto the device, then pulling the block device pertaining to that partition, you can then mount that block device as if it were an .img or .iso file directly within Windows or elsewhere. Try it using different radios on a device that you have rooted, and you'll find that the files contained within are drastically different between two radio images.


text:
Canonical explanation of Android Encryption and Vulnerabilities
Note: Well, the bounty expired and one possible reason could be effort required to address as I gather from comments. Seeing the number of upvotes, it appears to be of interest to others as well. I would still like to get an answer so here's what I propose- a good answer within a month, will get a bonus of 50. This would I hope give adequate time and incentive

I have been trying to understand Android Encryption process and its vulnerabilities for a while
There are many questions addressing portions of this topic on this site and also on sister site.  To drive my point home, these questions address portions and not the whole (reminiscent of "blind men and an elephant ?" :)

What is Marshmallow encryption protecting?
Does full device encryption protect my data from Google and the government?
https://android.stackexchange.com/questions/137334/if-we-encrypt-our-device-can-user-connecting-to-adb-get-it
Questions pertaining to SD card encryption
android-encryption-when-phone-is-on
android-cyanogenmod-encryption-vs-gnu
is-there-cryptographic-material-in-a-phones-sim-card-that-can-be-used-with-rsa
android-device-encryption

My understanding (or misunderstanding ?)

Encryption password is generated from a combination of user lock screen PIN and encryption algorithm (therein lies an inherent weakness owing to limited length of PIN)
This is salted, and stored in root location, not accessible to users
This is used to  generate the actual password to encrypt /decrypt and the actual password is stored in RAM
This was strengthened by linking Step 1 to the device SoC (Which Android Version ? Which is the hardware element that uniquely identifies the device?  Can that be replaced to fake?)
Hence, it is not possible to decrypt data without encryption key and device (holds for external SD as well)
Possible recovery methods - brute force, capturing RAM information (step 3) to obtain key
Rooted devices appear to be more susceptible to access step 2 data through custom recovery/ possibly ROM and kernel flashing?? (if true, why is this not touted as a big risk?)
Even if this information is obtained , I am guessing that it is non-trivial effort wise to generate the actual password
Marshmallow can treat external SD as "internal storage" or "portable storage". Logically, it shouldn't make a difference but am not sure

There are gaps in my understanding, probably missing out on other key aspects as well.
So, I am looking for a canonical explanation for  understanding from a user perspective

Entire encryption process (including external SD)
Implementation variation across Android versions- from KitKat to Marshmallow (including dual options for external SD in Marshmallow)
Vulnerabilities at a user level

Note

I am aware of the risk of the question being considered too broad but IMO warrants  a comprehensive treatment
Having some experience in communication security, I understand the challenge in translating Cryptographic concepts to a user level. I would prefer the answer to address this, with explanatory pointers for deeper understanding. Examples of the process need not be Cryptographically correct in a rigorous sense but should convey the essence
A possible advantage could be "duping" future questions on related aspects
At the cost of repetition, answers should be primarily at user level, but with adequate explanation for a deeper understanding. Splitting the answer in two portions may be a suitable way.
I would make it a point to down vote trivial/casual/patch work answers to encourage comprehensive answers

Comments are not for extended discussion; this conversation has been moved to chat.  // This might be a better fit for Security.  I do also think it's too broad because a good chunk of what you're asking about depends on the particular hardware and how the manufacturer implements it.

I envision it works like this:

Storage is encrypted using synchronous random key.
When the user chooses or changes a password that is based on whatever input, be it a password comprised of letters and numbers and characters, or be it a pin code, or pattern swipe, or finger print, or any other input, an asynchronous encryption algorithm is used to encrypt the master key, such that correct identification ends up decrypting the input resulting in the master key, which in turn makes it possible to encrypt and decrypt storage.
The moment the user logs out, the memory holding the master key is overwritten

The big trick here is that asynchronous encrypting of the master key. Once Android has the master key, it has the ability to exchange data with the storage. Only when the user is logged in, that master key is known. Asynchronous encryption is what is called public key encryption. What happens is that a public key encrypts data (the master key in this case), and a private key decrypts data. Not to be confused with the storage encryption here. The storage is just synchronous encryption. There the same key is used to encrypt and decrypt. But the finding/retrieval of that "master" key, is the biggie. It means that if at one point you have a weak login method, like for intance "1234" as a pincode, and you change your mind, and change the pincode to "5364", which is harder to guess, unless that earlier "1234" was stolen, snooped on, at any point, the security has just become better. Same deal when changing the login method to a full password that is impossible to guess or dictionary attack. The storage itself does not need to be re-encrypted at all. It's all about hiding that master key - internally. The user never sees that master key, because it's most probably just a random hash code of sorts - nothing will ever "find" or "guess" that hash code. Not even the NSA or any other security body on the planet could ever find a matching key like that.
The only attack vector is hoping for a weakness on the user's part. Perhaps the user chose a pincode login. If it's 4 digits, then it's a maximum of 10000 possible pincodes. The OS might "block" the device after trying out a few in a short time. The solution is then to "hack" the OS, so that it becomes possible to try all possible pincodes without the OS intervening and blocking the device. I believe that is how the FBI eventually got access to a phone of a criminal. A third party company (some Israeli company from what I recall) did the hacking for the FBI I think. They bypassed that pincode-try limit.
If the login is a full password, and if the user picked a strong password, and you're sol. Not in a life time with all the cpu power on the planet will hack that in a million years. I'm not buying any of the NSA can decrypt anything rumors. I think those people watched one too many men-in-black movies. All one has to do is look at the scientific documents about the various encryption algorithms (eg. AES), and you'll know that hacking simply won't happen, except in the olden days when there were 40 bit keys. Those days are long gone. AES128 is already unhackable I think, and if anyone is concerned, jumping to AES256 makes it more secure by a magnitude to the size of the universe pretty much.
Maybe one day quantum computers might decrypt it, but I'm skeptical. Not sure if it is possible to have a probability system simply highlight the solution. We'll see about that, eventually. Perhaps that's a few lifetimes away anyway. Nothing to worry about right now.
So, end of day, the security limitation lies entirely on the login method that is used. One can change the method without having to re-encrypt the storage. All this because of the asynchronous public key encryption of the master key.

I think you mean "symmetric" and "asymmetric".  Not "synchronous" and "asynchronous".

Because updates are frequent, the way encryption on the phone (Android-based OS) is handled can change from one build to the next. Therefore, primary concern is not with encryption itself, but where the process is running. And if that platform has vulnerabilities, then the strength of encryption algorithm itself becomes of little or no importance.
Basically, once your device decrypts file(s), they can be directly accessed by a process with Super User privileges. This process could gain access to your device by exploiting a weakness in the ROM (Android OS) itself. (This was recently in the news as some flaws were exposed by WikiLeaks)

Rooted devices appear to be more susceptible to access step 2 data through custom recovery/ possibly ROM and kernel flashing?? (if true, why is this not touted as a big risk?)

Before root: To root a device you have to use external tools all of which have deep access into internal structure of the device. Some of these tools are precompiled and are not open source. They do have "official" websites, but who are these people? (twrp.me, supersu.com for example, but there are others like KingoRoot) Can we really trust them? I trust some more than the others. For example KingoRoot installed a program on my pc which behaved in a virus-like fashion (had to use dual-boot to remove it).
After you root: giving a compiled program (APK) a SU access means it can do anything it wants without restrictions or stating which Intent it will be using. (Intents are way for APKs to access things like WiFi, Camera etc) So a "well trusted app", after given root access, can easily access any kind of information and send it back to its server.

Does full device encryption protect my data from Google and the
  government?

Google - yes. It does not have the key to unlocking.
Government (or hacker) - no. because Government or hacker can essentially use an exploit which will intercept the file(s) as I mentioned above.
The complexities of security procedures/algorithms are of little use if they can be intercepted and bypassed.
Edit: It's worth mentioning that Google actually has ability to download and install/update apps onto your android device without asking your permission, or even notifying you that update has taken place. And even on rooted device, there doesn't seem to be a way to block this without loosing key functions (Play Store, Maps, Sync, etc)

source: Stack Exchange

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

sort: votes


text:
Cannot add google account (It is not in the list of available account)
I bought the tablets from China, and if I want to add Google account (from Settings.Account.AddAccount) ther is no google account in the list.. There is only
Corporate
IMAP
POP3
tablet:
x-302 of Dragon
h701
Android 4.4.2
kernel 3 April 67
Build ALPS.KK1.MP1.V2.11
and on tablet are no applications from Google (NO "Gmail", "Account Manager Google" and "Google Services Framework")
It looks as if not installed (or forbidden) Google applications from the producer.

Obviously the tablet wasn't certified with Google by the manufacturer, so you've got to flash the Google Apps yourself if you want them. Or you use this big chance given to you (a Google free device), and install an open-source alternative like miroG :)

Thanks for comment. It is not for my needed but my company so i need stay with google. Can you post your comment as a answer so than i can mark it as answered?

There you go :) I've included some additional details and references.

Manufacturers must certify their devices with Google in order to have the Google Apps pre-installed1. Obviously that wasn't done for your device. So you have to either install GApps manually (follow the previous link for details) – or use the chance a "Google free" device gives you and install an open source alternative like miroG.

1: See e.g. here; the term for this agreement is MADA (Mobile Application Distribution Agreement)

Izzy has already answered this, but adding this piece of information, so that you could authoritatively quote to your company
PDF at this link List of all devices supported by Google Play
can be quoted after verifying if you can query with additional information on your device . Search based on details provided by you shows, it isn't registered

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


text:
What is the Stock ROM?
I bought my brand new phone with the Android Version of Lollipop 5.1 out of the box, does that mean Lollipop 5.1 is the phone's stock ROM?

Stock Rom simply refers to the ROM your manufacturer has provided for your device. So yes - the current firmware is your stock-rom. Every official Update from your manufacturer is a new "Stock rom".

See What's the difference between an AOSP ROM and a stock ROM?

Stock Rom is basically the software which is provided by the vendor or You may can say that the software which was installed by the manufacturer of the phone is Stock Rom. the other type of the Rom is Custom Rom which advance users installed after flashing it as per they desire.
And Yup in your scenario you have Stock Rom of "Lollipop 5.1". You may install any custom Rom as per your own risk. if you know well how to flash custom Rom.


text:
Apps disappear after restart
After an android update, my apps disappeared. The apps cannot be seen in the apps list, and they are seen as 'com.something.something' in the settings app manager. Some of the apps are not in the SD Card and even Android System Webview disappears after every restart. Sometimes, my phone randomly restarts and all my apps come back. Please help.

What is your previous and current Android versions? What are all the list of apps that are disappearing? Add more information that could help answering your question.

Device brand/model might also help. Also, do all apps "disappear", or only those installed on SD card?

You should try wiping cache in recovery mode, it helps occasionally.

My device is SM-N9005. I updated from N9005DXUGBOF1 to N9005DXUGBOK3. Apps which disappear are Aznog, Google Street View, Android System Webview, Silly Sausage, Brain Dots, C2HAMPS, MEGA and Psych!.

I have already tried wiping cache several times but it doesn't seem to work

Apparently it was a problem with knox, and it fixed itself after i rooted ny phone.


text:
What is the meaning of 1,000,000-5,000,000 installs in google play?
I used to see a number in Google Play Store app on my tablet showing the number of installs for an app. However, when opening google play in PC browser, e.g. for the DI app (shown in figure) under "ADDITIONAL INFORMATION" section of the app page, it reads Installs: 1,000,000-5,000,000. What does this number show? If this is a range, how can it signify number of app installs?

It is a range as you state. And I don't think you can find a specific number.

It shows the total number of downloads for that app. Related/dupe question asked. http://android.stackexchange.com/questions/87472/how-to-see-download-count-of-an-android-app-on-google-play-store

So, how why this much difference? 4,000,000 difference!!! Doesn't google manage to give a more accurate install statistic?

Accurate download statistics is available to the developer of that app in the developer account dashboard. Dashboard sample

As you said, it is a range. That being so, it cannot signify the number of installs.

Those getting revenue out of it- developer and Google need to know the exact number. Exact figures would be available with them.Thanks to Lucky for confirming
From a user perspective, I am not sure how exact number helps unless that metric is used to evaluate merit of the product! Which is not the use case for most

There is a source, which claims to provide you a view of the downloads and revenue figures, Sensor Tower (I have no idea how reliable it is- you could cross check with a developer). Website says:

Sensor Tower is the leading app analytics platform focused on helping companies with mobile apps understand and improve their organic user acquisition, analyze their app’s performance, keep up to date with competitors and manage reviews. Over 90,000 mobile companies and developers use Sensor Tower to improve their downloads on iOS (iPhone, iPad and iPod) and Android

App mentioned has this statistic using the above source


text:
How will I know the signal strength of my smartphone's 3g?
How will I determine the signal strength of my smartphone's 3G whether strong or weak?

check  right angled triangle symbols, to the left of H with arrows. if they are completely white colored , signal is strong, else it degrades to lower.

Try Signal level notification app.

The title seems on-topic but the body appears to be off-topic. It is Android independent because signal strength is not Android specific thing.

To see the signal strength:

Go to Settings → About phone → Status.
For dual sim phones: go to Settings → About phone → Status → SIM status.


text:
Checking if audio is playing with bash script on Tasker
I have the small script below to check if audio is in use on my Android.
if grep -q RUNNING /proc/asound/card*/pcm*/sub*/status; then echo "Playing" ; else echo "Idle"; fi

It works nicely in the console. However, if I execute it in Tasker it always returns "Playing" which means it always evaluates to true.
Anybody an idea why this is happening?

Welcome to [android.se]. I modified the title to make it more general, in case there's alternative to your script.

Try this approach in your script and let me know the results: The system service media.player would show you what file(s) is/are being played under Android. Use it as a condition.  Access the dump of the system using dumpsys media.player. Surprisingly, when I try your script in my device, it always ends up with "Idle".

I get an unknown error code when i call that in console no matter if root or not. I am on cyanogenmod 13 if this helps.

I'm voting to close this question because OP is running CM13 (CM has not released any stable build of Marshmallow so far) which currently has nightly or experiment builds. As such, this question isn't in consonance with the consensus we've here

But the shellscript works in console. It only goes somehow wrong when run in tasker. And that problem seems to be very similar for other people as well as you wrote. I do not think that this is related to cm13 but rather tasker itself.

When you say console, do you mean a terminal emulator app running in Android or adb?

I mean a terminal emulator.


text:
Is it possible to backup Whatsapp Contact Photos?
As the title says, is it possible to backup my Whatsapp contacts pictures?
I'm not talking about pictures and photos shared between us, I'm referring to the contacts' profile pictures.
All the solutions that I have found are focused on backing up chat histories, shared pictures and so on, but nothing that can perform this task.

The pictures are located at /Whatsapp/Profile Pictures/. Can't you just copy them with a file Explorer?

There is no direct button to do this work. But, you can find all those profile pictures that you see in full clear view. These pictures are downloaded in folder WhatsApp/Profile Pictures.
From there you can copy and paste where you want. Generally, these will not show in Gallery, because these pictures kept hidden by .nomedia file.

Thanks, I knew where they are located, I was looking for a way to automatically backup them; I guess that I have to do that manually.

Where you want to automatically backup these pictures?

@Sekhemty auto backup is not supported AFAIK. Reason...this is what I think!! Just Imagine this:  You have 1000+ contacts. Hundreds of them changing their profile pics regularly and Whatsapp is taking their back up as soon as profile pics changes. As you may know, these back ups are local + Google Drive(optional, as not all user have Google account ), and soon your local storage will become full. Bad user experience...isn't it?


text:
How is it that I don't need to enter my password to decrypt my phone?
I understand that my Android phone is encrypted, however I never input any password to decrypt the phone. If the key is stored in some hardware component but is automatically retrieved every time my phone boots, how is it secured?
Edit: I do have to unlock my phone, but that's after it's booted. Doesn't seem logical.
My phone clearly states its encrypted:

Perhaps it isn't secured and your phone isn't encrypted.

If your Android device is encrypted, when you turn it off and on again it will ask for your decryption password and your pin. If this is not the case, then your device is not encrypted.

Note: by turn off, i mean, shutting it down completely

Knowing what Android version you are using would be helpful.

My assumption lies in the fact that when you bought your device it came loaded with Android Lollipop and has the capability for full disk encryption. In that case, see: "Because Android 5.0 devices are encrypted on first boot, there should be no password set; therefore we decrypt and mount /data."

Me too! On Android 5.x, I got the PIN prompt just after boot (and then before just before logging in, iirc). But after upgrading to 6, the PIN prompt only appears just before logging in and well after the boot process. So even if it is encrypted, it's clearly able to load a lot of my apps and data without my PIN. So it just a lock screen PIN or an encryption-key decryption-PIN? This answer and the comments below it have shed some light.

The data is encrypted by default, but if you don't have a pin, or code to unlock your phone, then it's obviously not secure at all.
If you set a pin, password, or pattern lock etc. then you will need to provide this when the phone boots, to decrypt the drive.

A PIN/Password/Pattern/Swipe at lock screen only unlocks for access, not decryption. You have to setup actual encryption on the device at boot level, before your lock screen policy.
Unlocking phone for use/access does NOT equal decryption.

I believe some newer phones have encryption enabled by default. You obviously need to set a lock to actually secure it though.

According to the Android documentation it uses a default password of "default_password". This is obscured by a hash involving hardware encryption keys and a salt unique to your hardware signature.
As already mentioned, this isn't very good security so there's not much point. Without securing your phone with a strong password to rehash the key, it's easy to get into. What wouldn't be easy would be recovering your data if you had some sort of hardware damage. If you were able to externally mount it all you'd get is encrypted garbage; all this for what added security? So the FBI can't see videos of my kids graduation? This is a move to encourage you to back up your data into the manufactures cloud infrastructure... the least secure thing you can do.


text:
Taking the initiative and updating to Marshmallow without rooting. Can I do it?
I have an Alcatel One Touch Idol 3 running through Cricket as a carrier in the United States. It is currently on an Alcatel version of Lollipop that is reversible. My OS also frequently crashes hard and reboots.
I'm coming from using Motorola devices that were close to stock Android, and I want to go back to pure android and get the latest. Can I put Marshmallow on my phone without rooting? I'm technically able, and I could root my phone if I wanted to. I've done it many times before. I just want to put the latest Android on my phone.
Can I do it? If not, why not?

You need a custom recovery installed in the device to flash custom ROMs. If your device allows flashing from bootloader or at some low-level (such as what SP Flash Tools do with MTK devices) then you can get away without rooting the current ROM. Otherwise, I see no way to flash the custom recovery without first rooting the device.

Without root,you can update to Marshmallow if the update is provided by your mobile manufacturer. Without root you cannot switch to custom roms.You can downgrade in few cases if that is available and provided by manufacturer.

This is not helpful. OP wants to use pure Android (vanilla build) which won't come from manufacturer. "Without root you cannot switch to custom roms." -- why?


text:
After downloading APK Games weird things happening
I downloaded APK Games and one thing I know when I woke up my built-in apps were being replaced by "pornclub", "sexyhot", etc. I did Factory data reset but it deleted my built-in apps. I was going to flash it, but I can't enable developer mode by repeatedly tapping the device model (it doesn't work). Also my installer, messenger, and everything are gone. What can I do?

What's your device & model? After you get done flashing, this is a prime example of how rooting your phone makes it more secure. Had you rooted with SuperSU those games/apks would not have had permission to write/access su in order to delete your messenger and dev options. I hope you good luck.

I recommend backing up any important files to your PC and then using fastboot flash to go back to stock.

Fastboot needs fastboot mode and without usb debugging you can't flash anything to your device.

If you boot into fastboot mode by pressing vol and pwr keys you can still run fastboot commands regardless of  debugging settings.

You phone is most certainly infected. The most guaranteed way to get rid of the infection and bring back all the built-in apps you mention is to flash a clean stock ROM. Since you didn't disclose your device information I can't recommend anything further than this.


text:
How does Google TTS decide which voice to use?
How does Google TTS decide which voice to use? If a book is written in two or more languages, can TTS choose the language-voice pair (perhaps based on the information stored in a dictionary app or e-book)?

I have never seen Google TTS switch languages based on the text it is trying to "read", the default language is based on the system language, meaning if you select English as the display language, English is the TTS language by default but you can change it in the Language and Keyboard settings. Are you asking if an ebook is written in English and Spanish (for example) you want the TTS engine to read each portion in it's written language? I don't think that is currently possible for the Android TTS engine to have an "auto detect" setting.
You could request this feature, see
productforums.google.com/forum/#!home and poke around, I am not sure it has it's own section... all Google products are supported in their forums.

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


text:
Transfer contacts from a phone with non-functioning screen
I have a HTC 510 Desire.An I try to tranfer my contacts but the touch screen does not work. How can I get my contacts?

Have you tried searching for other appropriate answers here? Here is a query with about a dozen questions of a similar nature (transferring data from a broken-screen device) with an answer.

PC companion software
The only way to do it is if you use HTC's pc companion software to sync the device with the pc and then use the software to the pc and then to your new device.
The software can be downloaded from HTC's site here


text:
want amazon prime video on android tablet
I HAVE a Toshiba wt10-a tablet and want to access my amazon prime video account to download and watch movies.   I am not a techie, .  All other devices are iPhones and kindles and want the Toshiba to connect to them if possible.  Thank you!

Umm, try to download Amazon Underground and then install Amazon Video app?

To get Amazon video on a "regular" Android tablet, you need to install the Amazon App Store, then install Amazon Video. This  should walk you through the process and is Amazon's official way of supporting Amazon Video on non-Kindle Android tablets.


text:
Volume Button does not work during Recovery Mode
Hello I am trying to update my samsung Ace into 4.1 and for this reason I need to run Recovery Mode. I am able to open Recovery Mode but I cannot move using my Volume Button. Is there a way to solve this issue? Thanks in advance


text:
How to Backup and Restore Android OS without Rooting
I want to find a way to restore my phone in case the process of rooting my phone or dual booting a custom rom breaks it. However, most of the ones I've looked at require the phone to be rooted before installing. I know I can create a nandroid backup through system settings, but I don't know how to recover that without rooting my device, or if there are better options. I'm not terribly concerned for any personal data on my phone (I can backup my pictures pretty easily), but I mostly just want to be able reinstall Android OS or reset to factory default in case my device breaks. Thanks!
Edit: I am going to ask a new question (one different enough to justify not simply modifying this one) with the new info I learned from the possible duplicate.

I know I can create a nandroid backup through system settings

No, you can't. Read the tag wiki of nandroid to clear your concept about nandroid backup, including how it is made.

I mostly just want to be able reinstall Android OS or reset to factory default in case my device breaks.

A factory reset wouldn't help since it only clears data, internal SD card and cache partitions while rooting mainly affects system partition. System partition is what contains the files needed for Android to run.
You can use the answers available to Full Backup of non-rooted devices. On a non-rooted device, those answers  are more or less  limited to the extent of the magic adb can perform. In essence, they would, when possible, copy an app's apk and its data. Some of them covers both system and user-installed apps.
Tip: If an app doesn't want to be backed up (such as Chrome), none of the answers there would be able to backup that app's private data - sad reality of our times.
As for re-installation and possible nandroid backup, the situation differs for device to device. Following are few generic things I can tell:

Your device is popular enough in developer community that at least one person has created and publicly hosted a custom recovery for your device and also hosted the stock ROM somewhere, either by themselves or by making a copy of what OEM probably provided . If there exists a way to flash the ROM without booting into a custom recovery mode, then you can take the moderate risk of rooting.
Make sure you meet all the requisites to flash the ROM before you begin rooting.
Your device's OEM provides stock ROMs image which can be flashed from stock recovery or through fastboot (or equivalent) mode.
Fulfill the requisites of ROM flashing and you can take the moderate risk of rooting.
You own a device with chipset from Mediatek and that chipset is supported by Smart Phone (SP) Flash Tool. If yes, then make the scatter file and use it in SP Flash Tool to make image of your device's partitions. You can call it the true nandroid backup. That backup can be used to restore the Android OS.
Note: If you've a custom recovery for your device, then you can use SP Flash Tool to flash the recovery without bothering to root the device at first. Once the custom recovery is installed and device is booted into, rooting would be a piece of cake.
Make sure you meet all the requisites before you begin rooting.
If there is no OEM or developer support for your device, then I suggest you don't take the risk of rooting. The ending might take away your peace of mind.

You may call it a partial answer since I can't possibly cover details for backup.

Helium might be something you're interested in. It backs up mainly apps, but since you said you already have solutions for photos, this could work the way you need.

Helium is the missing app sync and backup solution for Android.
Helium does NOT require root. All Android users can use Helium to backup and sync Android applications.
Helium lets you backup your apps and data to your SD card or cloud storage. With Helium, you can sync app data from your other Android devices-- even if they are not on the same network. Set up backup schedules with Helium, and never lose data again.

That being offered, if you're looking for a way to back up the entire system, an ADB nandroid backup might be better, and can be restored without root. This has been outlined in another answer here.

It is not a solution as it can't backup android os(stock rom).

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


text:
/data/logs/modemcrash is huge and growing
I have a hitherto unmodified ZenFone 2.  Lately I've been constantly running low on space, and it's not my files -- it's that mysterious black hole: "system data".  As soon as I delete more apps & my own data, it starts filling up the available space.
I finally rooted my phone, and found the culprit:
/data/logs/modemcrash
It currently has about 260 .tar.gz files (plus another 78 files in the "mmgr2" subdirectory) from the last 4 weeks or so, taking up 7GB, so nearly 2GB a day.
I downloaded a 600kB archive, and it showed a 101MB file, suggesting a compression of nearly 200:1, but I extracted it and it stopped after 16MB with an error. Examination suggests that most of the data is from core dumps.
Sure I can delete them to temporarily recover the space, but... any ideas on how to prevent the problem from occurring?  I suppose I might be able to write-protect the directory, but it would be nice to ether solve the problem that's causing the crashes, or at least tell it to stop saving core dumps.

Some init*rc contents (none of the files have had datestamp changed from 1/1/1970 0:00 UTC):
/etc/init.rc:
    # Android default init.rc (system/core/rootdir/init.rc) should be untouched.
# *EXCEPTIONALLY*, definitions from Android default init.rc may be modified.
#
# Use this file for overrides prior to default init.rc definitions.
# Please keep this file to the bare minimum as default init.rc should be
# preferred to duplicates here.

### Import ###
# import Android default init.rc renamed init.aosp.rc
# init.aosp.rc actually gets parsed after all the content of this file.
import /init.aosp.rc

### Services ###
# Android init only keeps the first definition found for a service.
# Override a service from Android default init.rc by adding it here.

service media /system/bin/mediaserver
    class main
    user media
    group audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm radio system
    ioprio rt 4

service keystore /system/bin/keystore /data/misc/keystore
    class main
    user keystore
    group keystore drmrpc system

service flash_recovery /system/bin/install-recovery.sh
    class main
    seclabel u:r:install_recovery:s0
    oneshot
root@Z00A_1:/etc #

/etc/init.asop.rc:
(doesn't exist)
/etc/init.debug.rc:
# Enable by default android java wakelock logging
on init
#    mkdir /logs
    symlink /data/logs /logs
    write /proc/sys/kernel/kptr_restrict 2

on early-boot
    chown system log /logs
    chmod 0770 /logs

on post-fs-data
    mkdir /data/tombstones 0755 system system
    mkdir /data/system/    0755 system system
    mkdir /data/system/dropbox 0700 system system
    mkdir /logs/modemcrash 0775 system system
    mkdir /logs/aplogs 0775 system log

on charger
    # basic networking for "adb root"
    ifup lo
    hostname localhost
    domainname localdomain
    mount ext4 /dev/block/mmcblk0p7 /logs nosuid nodev barrier=1,data=ordered
    mkdir /logs/modemcrash 0775 system system
    mkdir /logs/aplogs 0775 system log

on ramconsole
    powerctl reboot

# crash and log services
#service crashlogd /system/bin/crashmonitor
#    class late_start
#    user system
#    group system log radio

# LogConfig service
service logconfig /system/bin/logconfig
    class main
    socket logconfig stream 0660 root system
    disabled
    oneshot
root@Z00A_1:/ #

Can you verify that the content in your kernel's  init.rc has similarity with the lines shown here: https://github.com/audahadi/android_device_asus_zenfone5/blob/master/init/init.debug.rc?

@Firelord I added the contents to a couple of files to the article.  It looks to my uneducated eyes like rc.debug.rc does have about the same logging-related entries.

This runaway modemcrash log bug was introduced by an OTA firmware update, became fairly famous, and was eventually fixed by another OTA update (I forgot the date) with a description of something like "storage optimization".
As a temporary measure, I finally made the directory read-only, so I wouldn't have to keep deleting the files; I reversed this at some point before applying the OTA update that fixed it.


text:
App detects it has been previously installed
How does an app detect that it has been previously installed on a phone even though it was hard reset and completely wiped (even the system partition and sd card and everything)? I think it is due to IMEI number.
Are there any methods to bypass this?
In case of multiple such methods, what is the best method and what is the most popular? And how can each be bypassed?

Could you mention what app? There are many possibilities (e.g. IMEI, MAC address, phone number, "unreliable" device ID, etc), so it's better to pinpoint the cause on specific app.

@AndrewT. Actually I'm not interested in a particular app. I have edited the question in accordance with your comment. :)

If you did the hard reset, but app still know, I think it check your IMEI, MAC address, google ID, or else stored in app owner server or google.

I can think of two things involved here:

Not clean wipe: An app might keep that record of being installed somewhere on the device, that even uninstalling the app, doesn't get deleted. Thus, upon being re-installed, goes to check that whatever it stored to learn if its been on that particular device before. Therefore, if you say you wiped clean, then it wasn't an 'entirely' clean wipe, as the app stored the file somewhere out of reach of a 'normal' wipe. With that said, wipe-wipe-totally-clean-everything, in other words, hard wipe
A remote account involved: Does the app request to login before using the app? If so, then probably, the app stored a combination of unique information about your phone somewhere remotely (online), then upon re-login, it simply checks to verify.


text:
Is it possible to open Hotspot while we are using wifi?
I have tried but you can only use one at a time either WiFi or Hotspot but it'll be great if we can use hotspot while we are using WiFi.

No. Its not possible.
Creating a WiFi Hotspot requires using the WiFi interface. And the interface, at the moment, supports using it for one thing at a time, either connecting to a Router with it, OR, creating a hotspot (router) for others to connect to.
As a side note, it would have even been nice to have your phone to connect two WiFis for faster browser. But that's also not possible either, at the moment.

WiFi and Hotspot at the same time is possible for certain WLAN adapters on PC, though.

@NVZ on PC yep. But phones, I'm yet to hear of any that supports that!


text:
How many apps can be installed on an Android device?
How many apps can be installed on an Android device? Is there any limit in number? Or whether it depends on RAM/Storage ?

In the source code of Android M that you can find here, is this statement:
/**
 * @hide Range of uids allocated for a user.
 */
 public static final int PER_USER_RANGE = 100000;

In this line of code, it states that a user can have one hundred thousand UIDs.
However there is a conflicting information. You know that root UID is 0 and system UIDs start from 1000. Normal user apps start from 10000. This interval defined for user apps' UID numbers is also stated here as:

FIRST_APPLICATION_UID has the constant value of 10000 (0x00002710)
LAST_APPLICATION_UID has the constant value of 19999 (0x00004e1f)

Therefore, first UID that will be given to a user app will be 10000, and last one will be 19999. Therefore, it states that a user can have ten thousand apps.
So, which one is correct? I think this might explain. Before 4.1.1 LAST_APPLICATION_UID was 99999, allowing ninety thousand user apps as the limit. However, this is for user apps while PER_USER_RANGE doesn't specifically say so and therefore probably includes all UIDs from 0 to 99999. After 4.1.1 LAST_APPLICATION_UID was reduced to 19999 but PER_USER_RANGE was left untouched.
So for pre-4.1.1 versions, the limit is ninety thousand user apps and for 4.1.1 and after it is ten thousand user apps.
That is of course the limit that Android accepts. But in most cases, your storage will be full before you can reach such numbers.

I'm somewhat curious why pre-4.1.1 it's 90k, then it's lowered to 10k after that. I still have no conclusion (well, only Google can answer that), but I assume it has something to do with the addition of multiple users on Android 4.2. Probably the question can be extended to: how many apps can be installed per user?... or is 10k apps total for all users? (might be a homework in the future)

@AndrewT. I haven't used the multiple users option ever. Are UIDs for user apps different between them?

I haven't either unfortunately, so I don't know.

I had upvote earlier but missed to mention. Today I was referring in some other context :)

Theoretically you can install as may apps that fits on internal storage. In reality it's significantly lower due to an Android bug/OS limitation which may cause other apps, and the system itself to crash if the list of app "information" is larger that 2MB:

https://code.google.com/p/android/issues/detail?id=93717
https://code.google.com/p/android/issues/detail?id=69276

The sources you have quoted have nothing to do with a large number of apps, rather they deal with an issue with a set of specific Android versions where apps would crash when asks would simultaneously try to access contact databases.

Citation needed
You can install as many apps as you want to the device but...
If your like me and use a good Chunk of your internal storage just for apps and you have a 8GB phone or tablet as the Android Operating system will take a chunk as well and leave you with about 3-5GB of available storage you are limited to the devices storage capabilities but a good rule of thumb is to have 128Mb per GB of storage for device usability without getting random crashes from stable apps and not usable situations for apps that are not so much stable. It is also a good idea if you have a Micro SD card slot in the device(s) you have the apps on and send them to the SD card by going in settings and tapping on

Apps
Tap or scroll to On SD Card
Select the app in question and tap Move
"Move" will possibly cut up the app (depending on device and or app requirements) and send all data including app data(again depending on device and or app requirements) to the SD card or not be available at all to move. If you have a device that has no SD card but supports OTG(On The Go storage it will not be possible to have the apps sent to the OTG and be usable whenever you want due to the Mount protocol as it is not the correct mountable hardware
be aware that not all data can be sent to SD
assuming that you can make it this far with the device, wait till the grayed out Move is pressable again then repeat till complete
Please note that some apps that can move to SD may work better on the devices internal storage

Also be aware that the more apps you have the more possible resources (RAM)(Random Access Memory) can be used in the device in question as let's say you have 12 apps that request a refresh in the background (like Facebook, Gmail, Twitter to name a few) the less RAM can be found for other operations and causing ANR(App Not Responding) messages and drain the battery faster than expected

Comments here have been purged. They were deviating way beyond just the content of the answer here. If y'all need to have an extended discussion regarding views on what makes for a good/bad answer or how to present answers "safely" then feel free to start up a new room in chat.


text:
Hide "User is typing..." in WhatsApp
In WhatsApp Group chat, when other person is typing when I am actively looking at the group conversation chat, I could see who is typing at the other end.
That conversely also means, when I am typing in a group chat, other people too can see me typing.
I checked the FAQ Section of WhatsApp. Could not found any settings mentioned for this.
Is there a way to disable showing "Me typing..." to other people in a group chat when I am typing? Wanted to surprise them by my post directly :)

I am not aware of such a feature yet in WhatsApp.

I don't think this is possible: first because even if you turn off the 'last seen' option and write on a normal chat the other person can see 'John Doe is typing...'; second because groups have a lower privacy than normal chats (they can see if you read a message and when). EDIT: found articles and forum posts that confirm my idea: it is not possible unless you turn off mobile data while typing or installa a modded version of WA (if they still exist/work).

You could try a modded version of WhatsApp, there are many of them nowadays and are constantly being updated too.
I have tried a few for research purposes only and Gb WhatsApp seems to have a bunch of extra options with the ability to block features like:

typing status,

online status,

and blue ticks to mention a few...
Take a look here: WhatsApp modded versions for more information.


text:
To Connect Audio Generator to Phone Call?
I know that you cannot play music to your phone call without hacking the code as discussed here but I would like to connect an audio generator to a phone call.
This approach should be simpler because I have the synthesizer code myself.
Assume the code can be run in real-time with only a little tau time-lag so fits very well in such an application.
I am not sure how you can reach an real-time access from your keyboard to your phone call.
Cases where the feature is needed

Sometimes, I am in a library where I cannot talk and I cannot move without disturbing my work.
However, I could easily type to the caller such that the text would be converted to speech in real-time.
Person with a disability that he cannot speak but only type. People are calling him, but currently, he cannot provide discussions because of restrictions and little understanding about the tech.

I am using Samsung Galaxy S4 GT-i9506 with CyanogenMod 13 (Android 6.0).
So I want

Type with your Laptop or Bluetooth keyboard connected to your phone.
Synthesize the typed text in real time to the phone conversation.

How can you connect audio generator to your phone call?

Why do you think this would be any different from playing music to your phone call?

I cannot answer your question. Technically, it should be possible. I do not understand the parts of Android system that are limiting the solution.  I updated little the body.

As you've already said you don't mind typing on your laptop to achieve this, it's perfectly possible. Just use any text-to-speech system on your laptop (Windows has one built-in, and you can buy/download extra voices for it), and make it output to your laptop's headphone jack. Then you need an adapter cable to connect the headphone output of the laptop to the handsfree kit of your phone. Alternatively, you can use your PC as a Bluetooth headset for your phone instead of using a tangible cable.
Note that this technique isn't specific to Android at all: it would work just the same with an iPhone or even a 'dumbphone'.

Doing it on the device might not be possible, even with a custom ROM. My answer here about recording calls explains why not all phones can do this: often, the phone call audio goes directly from the Bluetooth interface or speaker/mic to the mobile baseband, so the application processor has no way to send other audio to it (or to intercept the received audio).

Yes, it is possible to use USB keyboard with Oneplus 3. Now, the only problem is to connect any speech synthesizer with your calling.  - - I think it is not possible at the moment because of security issues.


text:
boot loop after flashing partitions from stock firmware
I have Arch linux installed and have installed android-tools(so fastboot and adb commands are available).
Because I had a problem with kingroot I needed to flash the phone to stock.
I had stock firmware downloaded and extracted it to see the sin files inside it.
I flashed partitions using these commands :
fastboot flash system system.sin
fastboot flash userdata userdata.sin
fastboot flash cache cache.sin
fastboot reboot

Now the first two succeeded but the third one failed saying partition not found(guess I don't have cache partition for some reason).
After that I got stuck in a boot loop.
Normally sony Xperia P boots with Sony word and then to Xperia word(which blinks) and then to android but it's stuck in the Sony word.
I tried powering off the phone and flashing the boot partition using this command :
fastboot flash boot kernel.sin

rebooted, the same problem.
I tried to flash FOTAKernel but I don't seem to have this partition.
I tried also fastboot reboot-bootloader and then reboot but the same.
I've read the boot-loop wiki, both Safe mode and recovery mode are unreachable.
I would try to flash the other .sin files But I don't know to what partition they belong and google didn't help me to get this information :3 .
So what to do ?
Update
I forgot to mention that I tried to flash .ftf file using FlashTool 0.9.19.10, this tool didn't work, I click the lightning bolt, I chose the Flash mode, I choose the .ftf file(after putting it in ~/.flashtool/firmwares), after clicking ok it tells me to plug my device in fastboot mode.
I click Volumne Up while plugging the device and I see the blue(somewhat purple) Led light on.
I wait and wait and even when Flashtool said "Device connected in fastboot mode" it doesn't do anything but telling me to plug my device :3 .
Device
Sony xperia P runing android 4.0.4, bootloader is unlocked but the phone is not rooted nor has custom recovery(so no CWM or TWRP here).

Have you tried flashing the .ftf file using Flashtool?  You can select the partitions that you wish to flash in that tool. Also, if you're on Unlocked bootloader, you can flash custom recovery with fastboot flash recovery recovery.img command

@Manubhargav yes I tried Flashtool, about custom recovery my phone isn't officially supported by neither TWRP nor CWM, I found an article on xda developers about TWRP for my phone, unfortunetly it needs a working root phone.
If you know of a custom recovery that I can flash even with the situation my device in , I'd appriciate it .

@Manubhargav anyway what will custom recovery do if I can't even boot into recovery mode :3

I have found the answer.
FlashTool worked after using Flashmode, it wasn't working because of my mistake, I was plugging the device in fastboot mode instead of flashmode.
After I flashed it it works great.


text:
Mount external SD folder to /data/user
I'm trying to free up some space and install large games on my rooted Samsung Galaxy S2 with an external SD card. The app I've been using is FolderMount, which mounts any folder in a different location. Using this app, I've successfully mounted /storage/extSdCard/Android/obb/com.*.appname to /storage/sdcard0/Android/obb/com.*.appname for a number of apps. I've also sucessfully mounted /storage/extSdCard/data/com.*.app to /data/data/com.*.app. This effectively means anything that tries to access these locations on my internal storage actually accesses the external location, thinking it's on the internal storage (basically the same effect as symlinking), as far as I understand the process.
However, I'm now looking at an app which stores large amounts of data in /data/user/0/com.*.theapp and FolderMount fails to access the user profile: When I navigate to /data/user/ in FolderMount, it shows the folder as empty, even though it contains the folder 0/ when I navigate to it using RootBrowser. Since FolderMount uses root permissions, this shouldn't be an issue, but just to be sure, I edited the 0/ folder's permissions to 0777 and it didn't help.
So now my question is, how do I mount an external location to my /data/user/0/ folder?
Is there a profound reason FolderMount can't access my user profile folder? Can I achieve the same result with a different app? I have Link2SD, but the free version doesn't link app data and I don't want to buy an app to do something I can perfectly do for free with a different app...

New information: I discovered /data/user/0/ is somehow linked to /data/data, but I neither know why nor how nor which way. Is there a way to find out?


text:
Unable to view SD card files on my computer
I'm using a Moto G(2014) model. I recently upgraded my android to 6.0 and I noticed my computer doesnt display my files when I connect via USB. I changed the USB notification option to MTP and now I can view my internal storage files but my SD card is still showing an empty folder. How do I fix this?
Edit: I tried to copy files onto my SD card and they transferred without any problem but I can't view the existing files on my SD card.

I'd your SD card setup as portable storage (external), or adopted storage (internal)?

I did the adopted storage feature and now I can see the SD card(as internal memory)I was able to see the internal memory even before I did this.

Have you seen SD card not showing files when connected to pc?

Check if you have enabled USB debugging and also the usb options that show up on your notification bar asking you to use your device as ptp or mtp.

What does USB debugging has anything to do with the issue and OP already wrote: "I changed the USB notification option to MTP"?


text:
Google Pixel C erratic USB data connection
Any ideas why some days my computers "see" my Pixel C over USB, some days they don't?  Two different computers, two different cables, also an older USB cable with USB-C adapter.  All work well for charging.  But often I don't get the menu that lets me choose a data connection, the tablet isn't detected at all.  Thanks.

I'm guessing this is the computer's fault, not the phone.

Two different computers though.  Both of which recognize several similar devices - phones, other tablets - over USB just fine.

Hm. What file protocol is it set to when it connects? (MTP or PTP)

The point is - it DOESN'T connect!  We don't get as far as the pull-down menu to choose transfer protocol.


text:
device not showing in fastboot
I have a Samsung Galaxy Tab 3 (GT-P5210GNYXAR) currently with NO OS (I completely wiped the tablet in TWRP.)
However, I did root the device, so now it has the TWRP thing. I tried installing the superSU OS I used to root android OS, no luck. I have not tried reinstalling the factory OS because the download time takes 2 hours.
I'm trying to install Ubuntu onto this tablet with a windows computer (that's for a different question) but fastboot devices doesn't show the tablet. adb devices does, however it says it is "unauthorized" and I don't know how to authorize it without an OS.
Is there some TWRP-specific program or something?
UPDATE
I tried downloading the stock rom from a website however the download was too slow (because I'm not paying for premium) and the download failed. However, I will retry tomorrow and use Odin or Heimdall.

For the fastboot command to recognize a device, are you booted to the devices bootloader?

You can't access fastboot devices from TWRP. You need a key combination to get to download mode for that.

There's no fastboot mode in Samsung devices.

SuperSU is not an OS, it's a binary (and associated app). As RMarkwald indicates only adb can interact with Recovery (whether TWRP or otherwise), fastboot is for interacting with the fastboot mode.  You will need to boot into fastboot mode to flash a ROM via fastboot.

If its a Samsung, you might consider looking into Heimdall:

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices.

I've personally had success with it


text:
Full OS Restore of Non-Rooted Devices
I recently looked at this question and found some very useful information as to how to backup android without rooting your device. However, I can't seem to find out much information on how to restore your device without rooting once you've backed it up. The answers that do tell how to restore all assume that your device can successfully boot into Android, and not all of the answers refer to backing up Android OS itself, instead focusing on apps.
I want to find a way to restore my OS because I'm going to be rooting my phone, and installing a lot of custom roms, and I want to make sure I can restore my phone before risking breaking it. Also, stop trying to mark this question as a duplicate, as I am trying to delete my duplicate question.

Your earlier question was on the same lines: How to Backup and Restore Android OS without Rooting

Let me state a thing, before explaining what I deem to be the best practice: rooting is necessary, in order to fully back up your system. Without said permission, a backup app wouldn't be able to fully access other apps' files, therefore leading to incomplete backups.
I'm now going to explain the best, deepest kind of backup. It requires you to install a custom recovery (such as ClockworkMod or TWRP), and consists of a full backup of your phone's status. It's called "Nandroid Backup", and you could think about it as a photograph of your system and data. Please note that changing recovery, just as rooting your phone, will void your warranty.
For non-rooted phones, you may rely on third-party apps such as Titanium Backup, which can backup an app with all of its relevant data. While this is handy in the case you need to backup just a few apps, it can be tedious to manually save a whole system, not to mention that the app's features are limited in its free version, and in the case of the phone being non-rooted.


text:
Strange battery graph
A friend's Motorola Moto G (titan) on Android 5.0.2 (Stock) shows this really weird battery graph. Does anyone know what's going on here or how to fix it?

Further explain what his configuration was. What apps does he have installed? Does he charge/swap batteries often? Is he rooted?

Stock, unrooted, battery not swappable, normal charge/discharge cycle

No special apps, just Gapps, Motorola defaults and a few standard apps (WhatsApp, K-9 Mail, ...)

Since he is stock, unrooted, and non-swappable battery, he may have a faulty battery!
Every battery has a built-in circuit that reports its charge, temperature, and stability. That's why every smartphone battery has 3 or 4 prongs (contact points), rather than just the 2 for positive and negative. Best case scenario his percentage is just reporting incorrectly, worst case he may have an unstable cell that could combust. I would recommend looking up disassembly videos for the phone, and replacing the internal battery if it is accessible.


text:
Complicated Wi-Fi Question
So every time that I enable and re-enable the wifi connection on my tablet, the MAC address is randomized (like the last 3-4 digits).  I don't know what might be causing this, and the root account can't seem to disable the internet connection since it's constantly restarted by whatever daemon is running the wifi service.  However, when the daemon restarts the service, the MAC address is not randomized.  I have tested the following via the busybox program and it hasn't worked:
https://wiki.archlinux.org/index.php/MAC_address_spoofing
I need to do this since my campus wifi only allows through devices with consistent information since we have to pay to use the wifi here each semester.

easy route download an app for that there are apps that will do this for you
or
you  should be able to add static macaddress in the following directory  if rooted , use a root explorer of your choice , and goto
/efs/wifi
theres two files  .mac.cob  and .mac.info
if you edit both of them files , input the macaddress you need to have and save files , now
they should presist across reboots.
worst case senario add init.d support and make a script to run at
boot
example: file in /etc/init.d       file = 0Amacaddress.sh

#

#!/system/bin/sh
echo 00:00:00:00:00:00 > /efs/.mac.cob
echo 00:00:00:00:00:00 > /efs/.mac.info

#

00:00:00:00:00:00 is an example , use the macaddress you need to have
and your script if you go that route , will need proper permissions to execute at boot

I've tried some of the applications available in the play store, but they haven't worked.  Also, I don't have these files under "/".

im new to this type of edit my device has /efs  "efs" folder with the two file i mentioned , , if yours does not , my knowledge goes no further , sorry good luck


text:
Stopping downloads
I have an LG G4 phone that doesn't have Download Manager enabled.
It started downloading something on its own, even though Play Store is set for "do not auto-update apps". How can I stop this download?

Can you post a screenshot of the notification pulldown? Is it downloading new apps to the phone, or updating existing ones?


text:
What should I do after installing a new battery?
I'm going to take the plunge to take apart my One (M8) to replace it's battery tomorrow and I was wondering what I should do to increase its battery life right off the bat. Should I charge it to full capacity first then use it normally, charge it to full then drain it and recharge it, or does none of this matter?

The reason why batteries degrade over time is because blockages build up in the individual cells as the current passes through them, preventing them from fully charging. This is a chemical process and is unavoidable, but one thing that is sure to speed it up is extreme temperatures. Too hot and the reaction speeds up. Too cold and the phone eats up all of the power to warm the components.
So here is a few helpful tips for keeping your new battery happy:

Keep your phone off of any insulated surfaces when charging
Turn off background processes that can make your phone run hot
Turn off features that you aren't using or don't use frequently (Bluetooth, location, even turning off wifi can cool down your processor)
Keep your phone close to your body in cold weather

If you are concerned about the length of a charge, some of these tips can help there too. There are also free apps that allow you to manage the processes running on your phone, clean up junk files, and boost the efficiency of the apps you are currently using. There are also some cheap apps that allow you to modify several aspects of the OS without needing to root your phone.
As far as charge frequency, you should be fine regardless of what you do.

When the phone is marketed, manufacturers, typically charge the battery to around 40% as you may have noticed. This is good for battery longevity and ensures battery degradation does not occur on storage. See BU-702: How to Store Batteries for better understanding
There isn't a valid reason for charging the batteries for xx hours before first use or to charge till 100%. It is yet another charging myth , see misconception # 6

See BU-415: How to Charge and When to Charge? for a general understanding of charging "do's and don'ts)
Additional information on this site that would help you care for your batteries

Does constant charging harm my Android cellphone?
What can I do to increase battery life on my Android device?
When should I start charging my Lithium battery?


text:
Play store on AVD
Is it possible to install the play store and download apps on an AVD (Android Virtual Device, aka Emulator)? I can't seem to find an image or anything documents on it.

You can use Genymotion emulator, it allows you to install applications from Google Play.
Check this answer for more solutions.


text:
After what types of failures is it advisable to reboot an Android device?
With some desktop operating systems, I often recommend that users reboot their systems after a crash.  The logic is that memory could now be corrupted, and the system could be trending towards instability.
What about with Android?  When a process in Android fails, is it advisable to reboot?
I see 6 common cases:

When a third-party app crashes.
When a Google app, such as Google Play services crashes.
When a core software component (but not part of Android) crashes.  Such a component may have been installed by the device manufacturer.
When a component of Android crashes.
When the user Force Stops an app that is running.
When the user Force Stops a service that is running.

In which of these cases, if any, is it advisable to reboot the Android device?
If you don't know the answer for all the cases, but can contribute for just one or more of the cases, your answer is certainly welcome and will be appreciated.

Update (Optional Reading)
In Firelord's first two comments below (I'm guessing there will be more!), he/she brings up very good points and makes a smart suggestion.  Firelord asks me make it clear the type of answers that I will find to be most useful.
The best answer will be one that can answer the 6 cases with reasonable certainty based on a technical understanding of Android.  The next best answer (which will still be extremely helpful and useful) will be one that can answer some of the cases based on a technical understanding of Android.
One thing I've learned about Android, is that very few people actually have a good technical understanding of the OS.  And those who do have this knowledge are only sometimes interested in answering questions that can be turned into a FAQ or community resource, like this one.  (Which I understand, given that providing good answers is not easy and takes time.)
As such, I'm also open to answers that cover 1 or more of the 6 cases based on personal experience.  I'm also open to answers that are based on other resources and articles.
Firelord's comments inspired me to think a little more about why I am asking this question.  The reasons are twofold:
A. System stability is very important.  I have had multiple Android devices become corrupt, which resulted in a large expense of time to get everything working again.  (All of them were Samsung devices, which were flashy, but not reliable.)  I would like to avoid data loss and corrupt devices as much as possible.  (Although backups help avoid data loss, it is not always possible to have everything backed up all the time.)
B. Due to (A), I think I have become a chronic rebooter.  At the first sign of trouble, I tend to reboot the Android device.  Rebooting is a time-consuming process, so I don't want to reboot unless really necessary.  It takes several minutes for Android to truly settle down after a reboot.  Plus, rebooting drains the battery, as the CPU cores are generally all running at maximum speed during a reboot.

I think you should make it clear the type of answers you need here: answers that are technical in nature and drawing content from sources or processes that can be independently verified by users, or perhaps some mere hypothesis or a cocktail of opinion and incomplete knowledge of the concept. Maybe both.

I've asked this because at this moment I'm expecting answers on the lines of: I often don't do a reboot because force-stopping usually solves my issue. But sometimes I do reboot since  it clears the memory and leftovers of the app from memory which is good. It's like Windows. Reboot often works. Or, I've noticed that a reboot always solves my problem. Often my Android doesn't crash but apps does. Sometimes systems apps like Play Store/Services also crashes and reboot usually solves the issue. I think it doesn't hurt to reboot in any case if it can solve the issue.

@Firelord Your comments are very insightful and useful.  Instead of replying via comments (which I won't  be able to edit after 5 minutes), I'll update the question to respond to the issues you raise.


text:
storage space running out, wont let me download anything
My phone says that I am running out of storage. when I try to download an App to get rid of some of it, it just keeps telling me that I have insufficient storage

Possible duplicate of Storage space running out. Some system functions may not work

First, delete one of the extra apps to make some space. Then install Link2SD app. This app can move your apps installed in internal storage to memory card, which makes more free space.

Nobody asked for a crack and neither such request would be entertained here. So, are you affiliated to www.freedownloadok.com to which you linked the app in first revision?


text:
Is it possible to require "initial unlock" for smart lock
Is it possible to enforce initial unlock while using smart lock?
For example, I'm using smart unlock with "Trusted places" and I would prefer it didn't automatically unlock when I get in range of my trusted place. Theoretically that means someone could steal my phone, follow me home and gain access to it when he gets in range.
Can I somehow enforce "initial unlock" even when I come in range of the trusted place. After that initial unlock, the device should remain unlocked until you leave the trusted area.

I'm saddened by the lack of answers to this question. I just posted a different question, http://android.stackexchange.com/questions/164343/smart-lock-and-multi-factor-authentication, where clearly we have the same concerns in mind.


text:
How do I get my S2 to communicate with the bluetooth keyboard again
I purchased the Samsung keyboard case when I bought my 9.7 inch S2 at Best Buy. After a short while, the bluetooth connection was lost and I was unable to get it back, so back to the store. They could not get it to work either, and replaced the keyboard with a new one, which paired up and worked fine for awhile... then after a few days, it stopped working. Both devices are fully charged. I have tried rebooting several times. The keyboard shows up on the bluetooth screen, but when I select it, it briefly pops up a message saying something like "unable to communicate with S2 keyboard". I plan to take the tablet to Thailand in a couple of months and would like the keyboard to function as more than just extra weight. Maybe I got two lemons, but I don't have much faith in just trading it in again for another keyboard... and other than this issue, I love the tablet. I am a touch typer, so using the onscreen keyboard is a big leap backward.

did you ever get a solution to this? This same thing has happened to me and im stuck on vacation in Japan with no keyboard now. Any advice would help!

Turn on the keyboard and go into blue tooth settings.  Hold down on the selected device and it will pair.  Mine prompted me to enter a code on the keyboard then it was paired! It just came to me all of the sudden after searching for answers so i figured I'd post what worked.

switch the keyboard off. on the top right center you will see a key that has the blue Bluetooth logo on it. hold that key down and switch on the keyboard. keep holding until the light turns blue, yellow, red. now you can pair the bluetooth keyboard to the tablet

keyboard was paired but wouldnt connect. tried in a different rooom from where my wifi router was andd it connected right away


text:
WhatsApp data transfer from expired SIM card to new SIM card
My old SIM card number has expired and is no longer active on my mobile network. How do I recover my WhatsApp account chat history from this inactive SIM card number since it can no longer receive the call or message that sends the WhatsApp confirmation code to my cell phone in order to activate the WhatsApp account to my old mobile number?
I have tried to purchase a new SIM card in order to reactivate the expired mobile number but was told by my network providers that I can no longer use that number as it is no longer registered to the network. My best bet would be to try to recover my contacts from my Google account backups. But there's no guarantee that I can recover my chat history from that expired number.
I would like to migrate my WhatsApp chat history from this old SIM card number to a new SIM card number to which I have already installed WhatsApp.

WhatsApp stores a backup of every day into your internal memory. If you register in WhatsApp with the new SIM, it will still allow you to restore the messages of the previous chat. No matter what number you had.
Try re-registering with your new number and when it asks you for restoring back, allow it to.

The same thing happened to me. Are u sure that, if we register the new sim with watsapp then also we will get the option to restore. Is this 100%sure . Otherwise we can no longer use the old chat noo..

i tried this, none of the backups worked. My sim card expired and i had to change both my no and phone. I changed my whatsapp no on the old phone first then transferred to the new phone and the transfer encountered errors. I then tried backups but none of them from google or local worked. The backups are encrypted with the old phone no so unless you can get whatsapp to work with a different no without the sim you are out of luck.

Yes, you can. Of course, you must copy the old folder WhatsApp to the new phone so that WhatsApp sees that the folder containing the database is read by WhatsApp.


text:
My tablet is stuck on "no command" screen. What can i do?
I've a Lenovo Tab A8-50 which received yesterday an OTA update.
After the update it didn't restarted correctly.
It now only show the "no command" screen. When I click the power button it shows this additionnal information
Android system recovery <3e>
A5500F_A442_000_027_141207_ROW

followed by a list of recovery options

Apply update from ADB
Apply update from sdcard
Apply update from cache
wipe data/factory reset
wipe cache partition
backup user data
restore user data

The problem is I never tried to connect that tablet to my computer using any kind of debug mode, only using standard USB mass storage driver.
I have one microSD card I can use, but it seems this mode doesn't allow me to push firmware from the microSD card to the Android machine.
So ... the question is simple : how can I restore/reinstall a working version of Android on that tablet ?
One additionnaly point is that, as far as I understand, Lenovo doesn't provide any link to the full firmware for that tablet on their support site. So where can i get a working version of firmware, and how can i reinstall it ?

At first I would do backup user data, then select apply upate from sdcard to checkout what updates are available. If you can identify yesterday's update, try to run it one more time.

@ott-- How can i identify those updates on sdcard ?

I put my phone on the charger took my dogs for a walk, came back and my phone is stuck on this screen. I have an LG Logos and the Techs at US Cellular said I should by a new phone. (Now I wish I got warranty). I can't afford a new phone, I don't know what to do.

@MichaelSchwartz This is the problem I had. Your phone may be repaired by the constructor, but don't ask me how.

I spent hours working on this last night and fixed it from this article - https://www.quora.com/How-can-I-fix-No-Command-problem-in-Recovery-mode-of-my-Android

I had the same problem and I spent hours working on it.
Excerpt from this article which helped fix my problem.
When flashing TWRP, do not reboot (into system) since the default "recovery.sh" file replaces TWRP on every boot. So I guess you need to flash TWRP again
So next time you flash TWRP,
1) power off (preferably by pulling battery if nothing else works)
2) enter bootloader or fastboot mode by holding particular button combinations (Google your phone's model to find out)
3) boot into recovery (TWRP)
NOTE that the first time you boot into recovery twrp will ask you wether you want to make changes to the system... Choose "yes"... And then you will have proper recovery (TWRP) working.

After talking to the support of the e-commerce site where I bought that tablet, it was sent to european Lenovo support which unlocked it (I don't yet known how they did that).


text:
Disable notifications per app and time frame
I would like to know if there's any app or any Tasker plugin that would allow me to block notifications on the weekends.
I got two email accounts, one personal with the Gmail app and the other work-related with the Inbox app. I receive like eighty emails on the last one per day (even on weekends), I would like to automatically block the Inbox app notifications from Friday night to Monday morning. Right now I do this by hand every weekend (and sometimes I forget to enable them again on Monday).
I found plenty of answers on how to block notifications per app, but not per time frame.
(If it matters, the phone is a non-rooted Samsung Galaxy S6)

In Lollipop, you can't block notifications without root access, adb, or through Settings app. For rooted Android, Notifications Off would easily work. If not, appops command can be used.

In the Samsung s6 with lollipop sure you can. Just long press the notification, press info and then change block notifications to on.

As I said, you can't block notifications without root access, adb, or through Settings app. That long press opens the app's page through Settings app!

Anyway, please read the question, i don't need that, i need to block it by time frame.

I understand the question well. Time frame is just a trigger, a context here. It cannot do anything on its own. There is no point in arguing over a trigger since you can't achieve what you want without root access, adb, or through Settings app

Please, add your explanation as an answer and I'll mark it off there's no other valid answer in a couple of days.

In Settings open Notifications (under Device heading) ➡ Do not disturb ➡ Automatic rules ➡ + Add rule ➡ Type [Rule name], select [Time rule] or [Event rule], select OK ➡ select options for the new rule: Days, Filter notifications. Start time, End time, Do not disturb type.

The setting is found in different locations depending on the phone manufacturer and is sometimes not available depending on the model of phone.

My Filter notifications screen is loaded with notifications I've blocked in the past. It's a nonsensical, unordered list with specific notifications that have the full app name "com.organisation.whatsapp" etc. I think this is from a time when this screen functioned differently. Or maybe I used it incorrectly in the first place. Is there a way to clear all of them again and start over?

Hm, it seems I do not have the "Filter notifications" option for a rule on a FP2 running a nearly stock Android 6. Anyone know if this screen was introduced in a later Android version?

I can't see any 'filter notifications' running Android 8 (Android One version). Can anyone confirm that it still exists?

This can be done quite easily via Tasker but requires root.

Create a profile using the 'Day' and 'Time' triggers

Create a task which turns off notifications for XXX app via Secure Settings
(Create Task, go to Plugin, Secure Settings, Root actions, Package notifications, select app, toggle)

Set the profile to trigger the task.

I have rooted phone (Nexus 5X), did exacly what it says and I'm still getting notifications. Any idea why?

I prefer the method SoccerPhreak has posted, it does not require root and has enough options for me to be happy I will get notified of the things I need to know about and for the less important things I can safely ignore them.

This option seems to work fine for me. It might be interesting to note that this controls the normal Android "Block notifications" option (which can be reached through (on Android 6) Settings -> Sound & Notification -> App Notificiations, or by longpressing a notification and pressing the info icon). AFAICS this means that all notifications from that app are suppressed (not just the sound, which is what I was hoping for originally).

I have had the same problem for quite some time. I have just developed an app that allows you to cancel notifications from specific applications on the day and time you want. Also, you can set a notification title and/or content, so only notifications of selected app with that title or content will be cancelled.
For example, you could cancel WhatsApp/Telegram notifications from chat group called "Work", between 7pm and 10am during weekdays, and whole weekends.
Here is the app: Disconnect

I use IFTTT to put my phone in Do not Disturb (DnD) mode based on date and time. Then set exclusions from DnD on the apps I want to get notifications on during that time frame. It will suppress all notifications based on time but let through the excluded apps.

Which IFTTT applet do you use to control 'do not disturb'?

I use this app called Notification Blocker from the Play Store, it is perfect. The only thing is it will only allow you to block during a specified time frame and not by days of the week. You could always try and set up two rules though, one for the weekday and one for the weekends.


text:
How to get the latest security updates for CyanogenMod?
I have installed CyanogenMod in February 2016, and the device information showed Android version "5.1.1", and the security patch level was "November 2015".
This hasn't changed until today (2016-02-20): The device says that there are no updates.
Looking at http://www.cyanogenmod.org/blog the last entry with "Android Security Bulletin" in the title was back in October 2015.
Looking at https://source.android.com/security/bulletin/index.html there are security bulletins for each month.
So my question is: How can I get these Android security updates for CyanogenMod?
Any information about that delay (if it's really one) is appreciated as well.
It's OK if have to compile it myself.
In case it's device specific: I am using a Samsung Galaxy S4 mini.
Update
I have probably used the "Download latest release" link on the page pointed out by xangua in his answer, and it seems that this link in fact refers to a "snapshot". I am looking for security patches for the "latest release" (v12).

Sounds like you haven't updated in a long time as at today (2016-02-20) latest nighty for that device is cm13.0 2016-02-19.
If you refer however to a snapshot, as you can see the latest available one is from November.
https://download.cyanogenmod.org/?device=serranoltexx

I see. Do I have to switch to the current version (v13) to get security patches? In other words: are there security backports from v13 to v12 at all? I just want to have a working and secure smartphone - is v13 already stable?

Switch or not is up to you, also unless you specific what exactly you consider insecure the statesmen you want a"secure smartphone"is very unclear.

Regardless of switching from a snapshot to a nighty build, you'll have to make a clean install. Also it is the snapshot that is considered "stable" as the nighty build are.....built in a daily basis.

You can't install latest security patches on older android/cyanogen/lineage/etc versions.
You will have to upgrade to latest version for your device to get that.


text:
Android wireless debugging on multiple devices
By following Google ADB Documentation i am able to connect to device wireless . But i want to connect more than one device.
For adb wireless to work i have to restart adb in tcpip mode
Once i did that i can connect to a device but to connect to another device i will have to restart adb in usb mode again which will disconnect the first device.
Simple solution would be to connect both device with usb and then restart adb in tcpip. But i don't have any extra set of usb cable right now.
So is there any other way to connect more than one device except for the method i mentioned above.

adb tcpip <port> doesn't restart the adb daemon in your PC but in  Android and binds it to listen to that specific  port. You can always connect multiple devices in wireless mode.
Follow these steps:

Plug first device and restart adbd in tcpip mode using adb tcpip <port>.
Connect to first device using adb connect <host>:<port>.
Unplug first device, plug second device and restart adbd in tcpip mode using adb -s <serial> tcpip <port>.
Connect to second device using adb connect <host>:<port>.

You may now unplug the second device. If you execute adb devices you would see both the devices connected in wireless mode. Whenever you intend to do any operation on any of the device, supply identifier using -s.
Example:

Thanks for the 'adb tcpip  doesn't restart the adb daemon in your PC' statement. That's the key info that I was missing.

Thanks for the info. It's kind of annoying that I have to connect the device every time to set it in tcpip mode. This should be a setting in the developer options.

@SaifurRahmanMohsin Custom ROMs offer that functionality. Alternatively, root access also makes the restart convenient.

True. But given that this is a common issue, Google could have added it to their dev options in the AOSP.

what should I enter for <serial> in adb -s <serial> tcpip <port>?

@Newbie: when the device is connected via USB, run adb devices. You would get output akin to this. The alphanumeric string in the output is the device serial number that you need to input that you asked for. E.g.  ZX1G525D8Q is the serial number for my device. Remember, you can ask a new question always.


text:
Enable/Disable application-specific settings (updates, upload) for a specific WiFi
I would like to automate my android phone to do the following:
if connected_to_wifi(ssid=my_mobile_3g_router) then
    (1) disable automatic google play updates
    (2) turn off dropbox camera upload
    (3) enable VPN from no root firewall
else
    enable (1) (2), disable (3)

Can tasker or llama automate do it? I have tried automate but I haven't seen application specific settings. I could buy tasker if it could handle my case.
The reason should be clear: I travel a lot and being abroad I use 3g wifi mobile router to share Internet with my devices. Unfortunately, for my phone any wifi is seen as a resource without data limit which is not always true.
My question is a bit different but related to: Auto sync only when connected to a specific wifi network
In my question, I ask for application-specific settings. The related one is about system sync.

Which device and Android version are you using? Is it rooted? If rooted, first is definitely doable, I don't use dropbox so can't tell, and if the device is already rooted then AFWall+ firewall can be used (it offers support for multiple profiles which can be easily managed using Tasker).

I don't want to have it device-specific. I assume, that device is non-rooted, but if there is a solution for rooted devices, I am also happy to see it.
The question is about changing any setting of any application – I don't want to be forced to change some applications just because they are supported by tasker/any other automation tool.

"I don't want to have it device-specific" -- it won't make the question device-specific but it would help a poster to test and provide a satisfactory answer. For example, one may have to use dumpsys tool to query a service. Not every Android version from all manufacturers would provide same type of output from dumpsys. // Providing Android version and device lessens the scope.

You're using this firewall, correct?

I use Android 5.1.1 on Sony Xperia Z2.
Edit: yes, I use this firewall. Google Photos upload and Play updates are the most important bits to me

Tasker can indeed do what you are looking for!
Using the Wifi-Connected State profile inverted (profile on when not connected) you can trigger a task that does the following:
1) Disable Google Play updates via Synker
    In newly created task Add an Action ('+' at bottom, center of screen),  select 'Plugin' category, select Synker, select 'Autosync Settings', select Configuration, uncheck the Google /account name/ App Data)
    Source: Is there an App Update Scheduler app? Reply #6
2) Stop auto-upload of photos using Dropsync (replaces Dropbox built-in tool)
3) Use Secure Settings to connect to stored VPN (requires root)
    In newly created task Add an Action (new Action> Plugins> Secure Settings> Root Actions> VPN)
    Source: VPN Verbindung (keine Zusatzapp) per Tasker starten?

Can you please expand your answer? I'm looking for detailed instructions on "disable automatic google play updates" and "enable VPN from no root firewall"? Have you tested your solution?

I have tested Parts 1 & 2 at this time. I am unable to test the VPN since I do not have a VPN setup nor is my device (Samsung Galaxy Note 4, Android 5) rooted.

I think the best solution for that is to mark the concrete Wifi network as metered (treated as 3G). This answer is very complicated (you need to install even more apps!). It shows that tasker and similar tools have still a long way to go.

Except that marking as metered does not solved #3 in the question. Also, if that solution works, you might want to post it as an answer and accept it.


text:
How to remove a "Private Protection Password" on an ANDROID MT6592, please?
I guess one of my kids activated this kind of password that suddently appeared on my YHAPPY UP620.
The USB mode is not available, so that my PC does not see my phone, and I can not flash it...
How can I solve this problem, please?

Oh! Its very simple. Try to press volume- & power key at a time the will  display a factory reset settings and click on rest and your mobile will be unlocked.

I think you should mention and stress that this will delete user data as well including apps and their data. Some folks, well, fails to understand the grammatical meaning of factory reset unless they perform the reset and face the consequences.

Yes! But in this procedure the mobile data will lose. But you want mobile safely not possible by normal lock removers.


text:
SD card partitioning confusion
I don't get this statement:
Choose "File System: ext2" if you plan to use App2SD for app storage, or choose "File System: swap" if you plan to use a swap file to extend your Android's RAM using the card
What If I want to have both storage and swap... is which one should I choose?

From what I understand, if you want both storage and swap, you need only partition your SD card with both. After wiping your SD card, you would make a FAT partition (or FAT32 if the SD card is 4GB+). Then you create the ext2 partition. If you want to use a swap partition as well, just remember to leave some of the card for it. Then create a third "swap" partition.
ex. for a 32GB SD card, one might make an 8GB FAT32 partition, then a 16GB ext2 partition and finally an 8GB "swap" partition.
Check this link for more/better explanation.
http://forum.xda-developers.com/wiki/SD_card_partitioning


text:
galaxy s5 says battery temperature too high too low!
help me please. my galaxy s5 won't charge it says the battery temperature is too high or too low. i used to change my battery but when the new battery runs out of life and when i try to charge it, the same problem exist. what can I do? any helps or suggestion please. thank you.

I posted my answer over there too in case it's duplicate. There was hardly any useful info over there for how many views it has.

I have an S5 also, I haven't had this problem. I have extra batteries along with an external wall charger.
I use the wall charger to avoid charging my phone. It was $15 on ebay, and it may be a viable workaround and/or solution outside of replacing the motherboard.
These wall chargers will charge your battery no matter what, you can confirm this by looking at the pins on the image below. If the third pin not present, the charger does not check battery stats before charging.

(I consider this a solution, because we'll be taking advantage of the removable battery feature, and the chargers come in packs of three batteries so you'll never be stuck to an outlet again. I recommend labeling each battery with lines around the curved edges.)
Anyway, hope this helps.


text:
How to display contacts' pictures in a square instead of in a circle?
Starting with Android Lollipop, contacts' pictures in the Contacts are shown as circles and not squared. (Which IMHO makes no sense, breaks the UX and wastes screen estate, but it's not the point of the question so let's not spend time on it.)
There is clearly no way to change that in the system settings, but is there any 3rd-party contacts app that shows pictures as squared?

Which IMHO makes no sense, breaks the UX and wastes screen estate

You're the first I'm hearing that from, as in the circles wastes screen estate compared to the square ones.
Well, if you could get the apk for this contacts app on Techno C8, it might be able to give you something closer to your heart desire.

Do you have a link for this app on Google Play? Thanks in advance.

@dr01 Nope. Its an app that comes with the Techno C8


text:
Internal memory on my Android is full: even after factory reset (and no apps downloaded). What can I do?
I can download apps of up to 16 MB or so but that's about it. I can't free up enough space to download a single "big" app like Facebook. And it's weird because my phone was able to download this app (and many more) the first time I used it.
So I'm guessing there must be junk files on my internal memory, but I've done EVERYTHING in my hands to find them: deleted cache; logcat; even apps like "Clean Master".
Is there anything I can do to at least download Facebook and nothing else? I don't want to buy a new one just to use that app. My device isn't rooted by the way.
EDIT: Sorry for adding a reply down there. I asked the question as a guest and then realized I couldn't logged as said guest again to comment on my post.
If it helps, running the app "DiskUsage", I get this info:
Out of 186.4 MB of internal memory:
132.8 MB appear to be free; 32 MB are taken by the system data; and 21.6 by apps (they're all system apks that take up the space: Google Play 9.05 MB; Maps 3.01 MB; Gmail 2.26 MB; etc.)

What device? Upload a screenshot of your "Storage" tab in your settings.

You need at least twice the amount of the size of the app of free space in order to download and install an app. Facebook is about 35 MB large, that means you need 70 MB of free space only to install the app (ignoring the space that is needed later for data)

@GiantTree: It's just I have more than Facebook could need... around 120 MB seems enough if you ask me (around four times the size!). Though my phone used to display an "insufficient space" notification with 80 MB or so way before I did the factory reset, so maybe it's not those 120 MB are really available. Do you know how I could find out?

@AaronGillion: It's an old phone, a Samsung Galaxy GT-I5500L. Internal phone storage says 118 MB available (I think the whole memory is about 180 MB, very little).

Please see this new article 2017/02/10 10 most useless apps and games for Android. Most prominent, but specifically named in the list: Clean Master (along with quote-Booster apps, Anti-Virus apps, and Task Killers-unquote)