text:
error copying files after rooting
I rooted my micromax a27 a few days back. It installed an app Kinguser to give root permission.
Earlier it was working fine.
I did a factory reset last night.
Now, when I try to copy file to root folders like /system/media/ directory. It gives error as Permission Denied.
Please help how to recover root access.
I am using ES explorer with root access enabled.

Have you re-mounted /system before trying to copy? That partition usually is mounted read-only – so of course write permission is denied.

how to re-mount /system ?

Multiple ways: adb remount, or (via adb shell or a terminal app after becoming root) mount -o remount,rw /system, or using root-filemanagers which have this capability built-in.

I think i have lost root on my phone. as after checking root status using root checker is says Not Rooted

I wonder why ES is not explaining about that then. But if root checker fails, there must be some issue with root. "How to root the A27" would be a separate question (it's not yet listed in our rooting index).

Yeah you lost root when you did the factory-reset, Kinguser doesn't hold root. Just re-install it again to acquire root once more.

But don't know how to re-install or uninstall Kinguser as it is installed in root folder which is now write-protected.

In es file manager, slide the menu out and tap on "root explorer" (not the switch) and choose mount rw. Then tap on the radio button in the rw column for all rows. Now you should be able to write to those partitions.


text:
How to control which apps has access to my connection?
I'm looking for how to control which application has access to network. In my country it costs bit higher for data connections. I don't have access to wifi networks always when I'm travelling. Sometimes when I try to check my mail by turning my data on I will have to wait till all the new check ins of swarm come in my phone to get loaded my emails. Or sometimes when I try to check in swarm I have to wait till all the mails loaded kind of. How can I limit which application only to use when I try to open my data connection. Assume I want to check my email, so when I try to open my data connection for that I should be able to turn off all the other applications using network except mail application.
I'm using unrooted sony xperia L with jelly bean OS and I cannot root my phone.
Thanks in advance.

Go to settings, data usage. Press the apps you want not to use data, and scroll down and select "Disable background data". Now the app won't connect to the Internet if connected on mobile network or mobile hotspot. Please note that if you open the app, it will be allowed to use your data connection, this is only for background data.

source: Stack Exchange

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

sort: votes


text:
How to use NFC with RFID tags/chips
When I bought my Samsung Galaxy SIII, there was a big buzz about the new phones
on the market supporting NFC (Near-Field Communications). However, given that
Blutooth exchange of files and even the somewhat more powerful Wi-Fi Direct
protocols were already available to allow files to be exchange, it seems
to me that yet another technology (NFC), when used to transfer files,
doesn't add much to what was already available.
Hence, the true value of NFC should be its ability to read RFID (Radio-Frequency
Identification) tags. However, I have not been able to find any of these devices
anywhere, and I'm not sure if it's because these are less used abroad where I am
living or not. So, where can I find these devices?

NFC tags are one type of RFID tags. NFC is a protocol for RFID, which can be understand by more and more devices.
You can buy NFC tags on amazon or other websites.
What can I do with that tags?
You can trigger something when you touch your phone to that tag. For example a NFC tag in your car which turns on Bluetooth, mutes your phone and turns off the lock screen. Then you can put the tag anywhere in your car and when you touch it your phone will be in your "car-mode"
However this requires some apps to work. For example 'Trigger' (https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher) or 'NFC Tasks' are great apps for this purpose.

OK. So I can buy whole sets of NFC tags from Amazon and other sellers. And I can then write information to and read information from these tags. However, my question persists: why would I want to do this? Even if I placed these stickers in various places, why would this be useful? Thanks.

There are very useful apps like Trigger (https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher). They can trigger different things if you attach a configured NFC Tag. (WiFi on/off, audio on/off, wake on lan for computers, and much more). I'am using "NFC Tasks" for a while and i am really happy with that.

I edited my answer

Thank you for elaborating your answer. However, I'm still a bit puzzled. For simply triggering actions related to turning various type of network connectivity on or off, wouldn't it be just as easy to tap an icon somewhere on the phone? For instance, the Samsung Galaxy SIII has some nice network connectivity icons easily accessible at the top of the notifications list. With NFC, to swipe the phone next to the NFC tag seems to me like it takes just as much effort. There sure must be some more compelling uses of NFC. Perhaps you can elaborate further. Thanks.

Simply, you can save a specified amount of bytes (max. 1KB on some NFC tags; usually around 150B) of data on a NFC tag. Then you can do what you want with that data. So it is possible to store WiFi credentials on a NFC tag and people in a hotel for example can simply touch their phone to that tag and get WiFi. Or, there are some ways to use a NFC tag to bypass your lockscreen in android, which is very useful cause you don't need a PIN or a password anymore. (But this requires a rooted phone and Xposed)

OK, perhaps this is somewhat more useful. The NFC tag can be used to store credentials, and transmit those credentials to nearby smartphones which would otherwise have to obtain and then input such information manually. But if only 150B are stored on NFC tags (this is almost as short as the 120B length of an SMS message!), how can there be enough information even to tell the phone what app to use to read the data? Seems like the data would have to be packed quite tightly.

The apps do register their own protocols in android. So if there is a trigger app, it could have the trigger:// prefix (like http:// for websites etc). Then, when a tag is attached to the phone, android decides which app to use for this data. For common things like coordinates or address book entries there are predefined formats how they have to be stored on the tag.

Thank you for your reply. I entered "trigger://" in Google but could not find any results with this kind of URL you mention. Could you please provide a pointer? Thanks.

This trigger:// was only an example for the possibilities to bind an app to a specified protocol.

Thank you for your clarification. Anyways, I can see that the higher-end NFC tags carrying 1KB of information should be able to carry enough information to do some pretty nifty stuff. Thank you for your answers.

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


text:
How to save battery on Moto G 2nd generation without installing third party apps?
How do I save battery life on my Moto G 2nd generation phone without installing third party apps ?

Same as on other devices. See our battery-life tag-wiki for hints, and especially follow up to What can I do to increase battery life on my Android device?

@Izzy I took a look at your provided link, that did not work for me

I didn't mark it duplicate :) Most items are general, here and on the other question as well. And what's general, answers this and the other question :)

@Izzy I just included the common points along with the points specific to this phone type.

Droidzer, I was not critisising – just providing related information. Up to now, I didn't realize you're the OP and answerer at the same time, or I had phrased it differently :) But apart from that: many points are named in both places. Your answer had fit over there as well, as it adds some minors (keypad tones, volume, pulse notification – they don't do much, but they contribute their part).

@Izzy Well the below points worked out for me well. So thought by posting this other people having this type of the phone would help.

To save battery without installing third party apps here are a few tips,

Disable vibration on your phone for notifications, calls, keypads.
Disable keypad tones.
Turn off Automatic screen rotation.
If you prefer to keep your phone silent during night, better switch it to Airplane mode, this will save a lot of battery.
Keep your phones brightness to a minimum.(Disable auto brightness option.)
Keep your phones volume low.
Turn off mobile data when not in use.
Disable background data on mobile networks for specific apps which consume unnecessary. To do this navigate to Settings - > Data Usage, there you will find the list of apps that consume the data, click on the app and then select "Restrict background Data".
Disable the pulse notification light. Go to Settings - > Display and uncheck the option Pulse notification light.


text:
How to use Screen Mirroring. What network protocol does Screen Mirroring use?
I have a Samsung Galaxy SIII (GT-I9300) which supports Screen Mirroring. I would like
to use this feature to share my screen with a Samsung Galaxy S Plus (GT-I9001) running
Android Gingerbread or with a Windows 7 or Vista computer or Sony Bravia TV. However,
when I try to activate the feature on the SIII by clicking Settings -> Connections -> Screen Mirroring I get a message that says "Available Devices   Scanning...   No devices found".
Does Screen Mirroring need to be available (and enabled) on both devices, or on just one
device? Do I need to have any special software for it to work?
How do I get this feature to work?
Thanks.

I have found a description of screen mirroring to PC devices on the following page. Apparently, since I am running Android 4.3, I need to install this patch to get Screen Mirroring to work on my Android device. When I press the Source button on my TV's remote control I see I can select various input sources including Digital, Analog, AV1, AV2, HDMI1, HDMI2, Component, PC, no Screen Mirroring input source, so no luck.

I've downloaded the patch but when I tried to launch the ScreenMirroring Patch application I got a message stating that the patch was not needed, so I guess my device applied the patch automatically.

The following page contains some more information.

A physical HDMI adapter device for TVs powered via a microUSB port called the Chromecast can be plugged into a TV to make it support the Screen Mirroring feature for streaming your Android devices' screen to the TV. However, this solution apparently also requires the Chromecast app to be installed on the Android device and this requires Android 4.4.2 or higher, hence this solution is not compatible with my device.

Another solution is to plug a Miracast USB-powered HDMI adapter into the TV or computer monitor to which the data is to be streamed, and stream from an Android 4.2.1 device (streaming from Windows 8.1 PCs and phones is also supported), but this solution again also requires you to purchase the physical adapter so this solution doesn't work out-of-the-box. Regards.


text:
swap internal sd card to external storage
I wanna make my external sd my internal one without having the need to use an app. So Instead of having 8GB of internal storage I want to have 64GB (taken from the micro sd card). It worked on my previous phone Gt-i8530 if I changed the vold file to this:
# internal sdcard
{
ums_sys_path = /sys/class/android_usb/f_mass_storage/lun0/file
secure_format = enable
discard = enable
}
dev_mount sdcard1 /storage/extSdCard 8 /devices/sdi2/mmc_host/mmc0/mmc0 encryptable_nonremovable

# external sdcard
{
ums_sys_path = /sys/class/android_usb/f_mass_storage/lun1/file
supported_exfat = disable
android_secure_containers = enable
}
dev_mount sdcard /storage/sdcard0 auto /devices/sdi0/mmc_host/mmc1/mmc1

So now I want to do that same thing on my new phone SM-G3858. But I only have in vold:
#storage_struct = series, "/mnt/sdcard/extStorages"
#storage_struct = parallel
{
supported_exfat = yes
}
dev_mount sdcard /storage/extSdCard auto /devices/platform/sdhci-pxav3.0/mmc_host/mmc1

Now what do I need to change or add here to swap it as on the previous phone? I´m a bit confused that a) it right away says extsdcard here and b) that there is only one command line instead of 2 . I guess the reason is the #storage structure?
And suggestions please?

Just for clarification on the pending edit: you want to swap the partitions (i.e. make them changing their roles, so it seems you've got 64GB internal storage and a 8GB sd card) – or to "virtuall merge" them (so they appear as a single storage, and there's no longer an external SD card)? I assume the former, but the editor seems to think the latter.

Please make it clear. Do you want to swap your memory card with the whole /data partition or just with the Internal Storage (/storage/sdcard0 or /storage/sdcard) ? I think doing the latter one is utterly meaningless.

Unless it's important to you that the storage volumes are swapped, in Android Marshmallow the sd-card storage can be added to your internal storage with Adaptable storage.
Adaptable storage "enables a user to set up his SD card as internal storage, and store applications, their data, and media on an adopted SD card." –Source
Note: A high-speed card (UHS-1) is highly recommended, since you'll be experiencing lag and slow application speed with slower/older cards.
To use the feature:

Turn off your phone
Insert the SD-card
Turn on your phone
Choose "use sd-card as Internal Storage" (When provided with the option - it should appear as a notification)

Android will then set up the card for internal use.
This will make Android show your sd-card as part of the internal storage and be used as such. The proces also encrypts the card, so your data is safe.
Note: When the card is set up as internal storage, you won't be able to use the card as a normal sd-card, fx. plugging it out and into your computer to copy files won't work. To use the sd-card like this again at a later point, you'll have to reformat the card.

Is it possible to do it to an already used SD card? One that already has a lot of apps in it.

No, the card will be re-formatted so it only works with the device. Basically it won't function as a normal sd-card anymore (unless you re-format it again for that), but as part of the internal storage. However as part of the internal storage, apps will be installed to it by Android automatically when needed.

Most new devices dont have partition of sdcard that means instead of having internal memory and that called usb storage app only internal is present...they dont separate it and only create a system space. If you check your apps list in settings Downloaded apps and all apps list are all in internal and no option for moving to sd...This mostly happen on android kitkat devices...

It depends what phone you are using and what version of Android you are using. If you are using Android Marshmallow there is something called Adoptable storage which can be turned on in settings. Most phones have this option so looking online for this shouldn't be difficult.
If however you are using one of the few phones that does not allow adoptable storage like Samsung S7 family or LG G5 than you need to go through these alternative steps.
--THIS WILL FORMAT YOUR SD CARD, BACKUP YOUR DATA!!!
1) have adb installed. You can get a slim version from XDA http://forum.xda-developers.com/showthread.php?t=2317790
2) run:
$> adb shell
$> sm list-disks adoptable disk
this will give you a result like: 179,64
then run this command. the last number is the % of the storage you want as EXTERNAL, not adoptable. So, let's say you want 60% of the SD card as adoptable storage, you should run
$> sm partition disk:179,64 mixed 40
type the number you got before after disk: Also, if you get some permission errors, type su  and then try the command again
3) reboot your phone.
Done. Check the storage on your device and you should see a part of the sd card on the internal storage and the other on the external
If you end up getting a "corrupted" error on your SD card portion of device storage here is how you fix it.
After you have partitioned the disk and while your SD card is corruped enter In the terminal the following:
$> adb shell sm list-volumes all
Which will list your volumes, for example:
    private mounted null
    public:179,1 mounted B5B1-140C
    private:179,3 unmountable null
    emulated mounted null
Then enter the following replacing 179,3 with whichever disk numbers you are given:
$> adb shell sm format private:179,3
$> adb shell sm mount private:179,3
Now your SD card in device storage should be properly mounted and your portable storage will still be there.
This worked on my LG G5 and should work on the S7.


text:
Can I connect Gamepad for Nexus Player on smartphone?
With the new gamepad for the Nexus Player that came out earlier this year, can we connect this gamepad to a smartphone like the Nexus 5 to play games or it only connects to the Nexus Player? It uses Bluetooth 3.0, at first sight it should work but maybe it uses a different Bluetooth protocol just like the PS3 controller.
Gamepad for Nexus Player:
https://play.google.com/store/devices/details/Gamepad_for_Nexus_Player?id=nexus_player_gamepad&hl=en

Yes. You put the gamepad into pairing mode by holding down the home button + the back button for 5 seconds, until you see the blue lights flashing, and connecting to the gamepad in the Bluetooth settings in your smartphone.


text:
Does ART run apps code natively
Since the new ART runtime is compiling the apps AOT, I was wondering whether running an app still includes a virtual machine, or the code is executed directly on the system. I haven't been able to extract this information from articles around the web as some mention a virtual machine, where other talks about the apps being compiled to ELF files (to my knowledge, the binary format used by the Linux kernel suggesting that the apps are run natively).
Can anyone help me out on this?
BPou

Short story: yes, ART translates apps to code native to the actual phone's architecture and therefore apps execute natively without the need of a JIT compiler.
Long story: For reasons of compatibility, applications are still bundled in apks  carrying the java code compiled into dex files. But instead of just optimizing the .dex code and executing it inside Dalvik VM (DVM), the code is compiled down to native code. This is done on the device using a tool called dex2oat, where oat files are embedded within the regular ELF file format.
The following figure depicts the difference between the usage of DVM and ART:

(Wikipedia: Diagram of the Android Run Time architecture, recreated from information published at A Closer Look at Android RunTime (ART) in Android L.)
The performance improvement comes from the fact that the DVM used JIT compilation each and every time an app is executed, while AOT compilation only happens at install time.

But the compiled ELF file is not a standalone executable binary but a shared object. It's still loaded in memory along with other dependencies by the same app_process which starts zygote and forks VMs for system_server and all apps.

Indeed, Android employs a large set of optimizations to speed up the start and runtime performance of apps, such as loading the actual app code oat file into a pre-warmed process that already loaded libraries and even a pre-filled heap with often used objects.

Adding these lines to you answer would give a feel of more completeness :)


text:
Which packages of Gapps can't be downloaded through the Play Store/marketplace?
I've seen that there are quite many different modular packages of the Gapps http://forum.xda-developers.com/showthread.php?t=2397942 and I was wondering if I can install the nano and add the other Gapps one by one through the Play Store. Or if there by chance some Google apps that can't be retrieved with the Play Store?
I'd like to start with a very minimal set of apps if possible (and not to install Google Now).

The Open Gapps project has a comprehensive wiki on which packages have their corresponding Play Store entry, but AFAIK not all apps can be downloaded if they are not installed by Gapps in the first place (e.g. Google Camera). Might need to recheck some time later.

Yes, I'm pretty sure all of the other 'Google Apps' can be requested from the Play Store. I myself, also usually start the basis of a new ROM installation with the Nano-gapps package.
It removes a lot of the non-mandatory Google bloatware such as GoogleNow, PlayMusic (I use an alternative) and even Gmail (I have my Gmail emails come through the stock Email app to avoid duplication).

It seems like to be true based on my flashing experience here

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


text:
Merged contacts keep separating (Google and LinkedIn)
I’ve got a Nexus 5 with Android 5.0 and after installing some applications handling contacts (Google Contacts, WhatsApp, LinkedIn) I got this terrible mess in my contacts. Thus, I merged some manually, definitely not very systematically. Just to make things clear, the main source of my contacts is my Google account.
The problem is the following: It seems that e.g. the LinkedIn app when automatically syncing its contacts first deletes them all (or what) and then it creates them again. This breaks all the merges that I did before and it is all in vain.
Is there a way how to make this work so that my contacts remain merged/linked/joined?
Thanks for help.


text:
LowMemoryKiller is killing loads of system apps and forcing user space death, but "free" says there's plenty of memory
For some time I've had a problem, where crucial system processes were being force killed by LowmemoryKiller/OOM.
Following help, I added a 500 MB swap file working natively a couple of days ago to try and reduce memory pressure and lowmemkiller triggers (thread with details here). The output of free showed an extra 500 MB of space, which I figured was plenty to prevent whatever low memory problem was forcibly killing system processes.
But it hasn't helped. Out of the blue I suddenly again got a fairly vicious "everything got killed by LowMemKiller" just now, with about 6 core dump files created in just 100 seconds, followed by a user space crash, and the kernel (dmesg) log suggest that low memory issues were the only reported problem, even though this time a large amount of swap was available and recognised by the system (see free below).
Here's the relevant part of dmesg >dmesg.txt shortly after init restarted userspace. In the first part of the log, long periods of several seconds pass where nothing new happens; when userspace is killed off during the 100 seconds at 2105-2208 there is nothing beforehand and no hint of cause.
Phone turned on
<6>[001992.334927,0] : Report pwrkey press event
<6>[001992.386743,0] mdss_dsi_on+: ctrl=eaec8010 ndx=0
<6>[001992.424178,0] mdss_dsi_on-:
<6>[001992.424193,0] mdss_dsi_panel_on+: ctrl=eaec8010 ndx=0
<6>[001992.428789,0] : Report pwrkey release event
<6>[001993.730749,0] synaptics_dsx_sensor_state: state change SUSPEND -> ACTIVE
<6>[001993.731405,0] : mdss_dsi_panel_on-. Pwr_mode(0x0A) = 0x9c
<6>[001993.831117,0] qcom,leds-qpnp leds-qpnp-eb62f600: backlight on

Nothing in log for 40 seconds. Then there are several bursts of low memory killing, separated by brief gaps of about 5-20 seconds
<6>[002033.125104,1] lowmemorykiller: Killing 'system:ui' (8151), adj 1000, to free 40656kB on behalf of 'kswapd0' (81) because cache 122600kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3200kB above reserved
<6>[002034.172404,2] lowmemorykiller: Killing 'changelogviewer' (7238), adj 1000, to free 32652kB on behalf of 'kswapd0' (81) because cache 121376kB is below limit 122880kB for oom_score_adj 1000. Free memory is 6776kB above reserved
<6>[002035.895963,0] : Report pwrkey press event
<6>[002035.307927,1] lowmemorykiller: Killing 'droid.deskclock' (28714), adj 1000, to free 31756kB on behalf of 'kswapd0' (81) because cache 120252kB is below limit 122880kB for oom_score_adj 1000. Free memory is 5532kB above reserved
<6>[002036.387002,0] : Report pwrkey release event
<6>[002036.478425,0] lowmemorykiller: Killing 'com.ebay.mobile' (26933), adj 1000, to free 29016kB on behalf of 'kswapd0' (81) because cache 120268kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3864kB above reserved
<6>[002037.923711,2] lowmemorykiller: Killing 'omm.timeservice' (6682), adj 1000, to free 24544kB on behalf of 'kswapd0' (81) because cache 112140kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3072kB above reserved
<6>[002037.070531,1] lowmemorykiller: Killing 'ndroid.settings' (5632), adj 1000, to free 24344kB on behalf of 'kswapd0' (81) because cache 108888kB is below limit 122880kB for oom_score_adj 1000. Free memory is 5484kB above reserved
<6>[002037.617332,1] lowmemorykiller: Killing 'd.process.media' (5610), adj 1000, to free 23552kB on behalf of 'kswapd0' (81) because cache 109164kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3964kB above reserved
<6>[002038.335908,0] lowmemorykiller: Killing 'enmod.lockclock' (28743), adj 1000, to free 21712kB on behalf of 'kswapd0' (81) because cache 107296kB is below limit 122880kB for oom_score_adj 1000. Free memory is 4616kB above reserved
<6>[002039.245833,1] lowmemorykiller: Killing 'ainfire.supersu' (8025), adj 764, to free 32380kB on behalf of 'kswapd0' (81) because cache 98160kB is below limit 98304kB for oom_score_adj 529. Free memory is 7484kB above reserved
<6>[002040.109486,0] lowmemorykiller: Killing 'd.process.acore' (8429), adj 647, to free 34448kB on behalf of 'kswapd0' (81) because cache 97952kB is below limit 98304kB for oom_score_adj 529. Free memory is 8732kB above reserved
<6>[002043.386164,2] lowmemorykiller: Killing 'putmethod.latin' (14570), adj 764, to free 20732kB on behalf of 'kswapd0' (81) because cache 97896kB is below limit 98304kB for oom_score_adj 529. Free memory is 3564kB above reserved
<6>[002047.012564,0] tapan_codec_chargepump_vdd_event: event = 1
<6>[002048.999115,2] lowmemorykiller: Killing 'd.process.media' (8782), adj 647, to free 33804kB on behalf of 'kswapd0' (81) because cache 95364kB is below limit 98304kB for oom_score_adj 529. Free memory is 4556kB above reserved
<6>[002049.385765,0] lowmemorykiller: Killing 'com.android.mms' (370), adj 529, to free 42768kB on behalf of 'kswapd0' (81) because cache 96588kB is below limit 98304kB for oom_score_adj 529. Free memory is 5264kB above reserved
<6>[002051.397263,0] init: waitpid returned pid 30519, status = 00000000
<6>[002052.710665,1] tapan_codec_chargepump_vdd_event: event = 8
<6>[002054.259864,2] lowmemorykiller: Killing 'd.process.media' (8882), adj 647, to free 33620kB on behalf of 'kswapd0' (81) because cache 93904kB is below limit 98304kB for oom_score_adj 529. Free memory is 7752kB above reserved
<6>[002055.100549,3] lowmemorykiller: Killing 'ndroid.settings' (8939), adj 764, to free 34900kB on behalf of 'kswapd0' (81) because cache 96324kB is below limit 98304kB for oom_score_adj 529. Free memory is 3920kB above reserved
<6>[002056.176783,2] lowmemorykiller: Killing 'd.process.acore' (8930), adj 764, to free 35656kB on behalf of 'kswapd0' (81) because cache 89744kB is below limit 98304kB for oom_score_adj 529. Free memory is 3688kB above reserved
<6>[002064.446038,2] lowmemorykiller: Killing 'd.process.media' (9044), adj 764, to free 33580kB on behalf of 'kswapd0' (81) because cache 90032kB is below limit 98304kB for oom_score_adj 529. Free memory is 14876kB above reserved
<6>[002083.199303,1] lowmemorykiller: Killing 'enmod.lockclock' (8974), adj 647, to free 31236kB on behalf of 'kswapd0' (81) because cache 98132kB is below limit 98304kB for oom_score_adj 529. Free memory is 3308kB above reserved
<6>[002084.892508,1] lowmemorykiller: Killing 'ndroid.settings' (9068), adj 529, to free 53876kB on behalf of 'kswapd0' (81) because cache 95092kB is below limit 98304kB for oom_score_adj 529. Free memory is 5380kB above reserved
<6>[002105.187792,0] lowmemorykiller: Killing 'enmod.trebuchet' (20303), adj 352, to free 33356kB on behalf of 'kswapd0' (81) because cache 80972kB is below limit 86016kB for oom_score_adj 176. Free memory is 3004kB above reserved
<6>[002106.510875,0] lowmemorykiller: Killing 'com.android.mms' (8906), adj 470, to free 39524kB on behalf of 'kswapd0' (81) because cache 80488kB is below limit 86016kB for oom_score_adj 176. Free memory is 16500kB above reserved
<6>[002111.395568,1] lowmemorykiller: Killing 'd.process.media' (9718), adj 529, to free 33576kB on behalf of 'kswapd0' (81) because cache 70448kB is below limit 73728kB for oom_score_adj 117. Free memory is 3484kB above reserved
<6>[002112.755785,1] lowmemorykiller: Killing 'ndroid.settings' (9766), adj 529, to free 34872kB on behalf of 'kswapd0' (81) because cache 69160kB is below limit 73728kB for oom_score_adj 117. Free memory is 3792kB above reserved
<6>[002112.892462,1] lowmemorykiller: Killing 'com.android.mms' (9736), adj 470, to free 35356kB on behalf of 'kswapd0' (81) because cache 68408kB is below limit 73728kB for oom_score_adj 117. Free memory is 7628kB above reserved
<6>[002112.906543,3] binder: release 9736:9755 transaction 7689487 out, still active
<6>[002112.386885,0] lowmemorykiller: Killing 'd.process.acore' (9757), adj 647, to free 34860kB on behalf of 'kswapd0' (81) because cache 69340kB is below limit 73728kB for oom_score_adj 117. Free memory is 4092kB above reserved
<6>[002113.952913,0] lowmemorykiller: Killing 'enmod.lockclock' (9808), adj 647, to free 31048kB on behalf of 'kswapd0' (81) because cache 73224kB is below limit 73728kB for oom_score_adj 117. Free memory is 3852kB above reserved
<6>[002114.465873,3] lowmemorykiller: Killing 'd.process.media' (9872), adj 529, to free 33528kB on behalf of 'kswapd0' (81) because cache 67308kB is below limit 73728kB for oom_score_adj 117. Free memory is 3540kB above reserved
<6>[002115.944547,3] lowmemorykiller: Killing 'd.process.acore' (9920), adj 647, to free 34788kB on behalf of 'kswapd0' (81) because cache 62112kB is below limit 73728kB for oom_score_adj 117. Free memory is 3876kB above reserved
<6>[002115.463421,3] lowmemorykiller: Killing 'ndroid.settings' (9912), adj 647, to free 34804kB on behalf of 'kswapd0' (81) because cache 61372kB is below limit 61440kB for oom_score_adj 58. Free memory is 3444kB above reserved
<6>[002116.625036,3] lowmemorykiller: Killing 'enmod.lockclock' (9947), adj 764, to free 31128kB on behalf of 'kswapd0' (81) because cache 60288kB is below limit 61440kB for oom_score_adj 58. Free memory is 3540kB above reserved
<6>[002116.660223,3] lowmemorykiller: Killing 'd.process.acore' (9960), adj 764, to free 34912kB on behalf of 'kswapd0' (81) because cache 59824kB is below limit 61440kB for oom_score_adj 58. Free memory is 3560kB above reserved
<6>[002131.486032,2] lowmemorykiller: Killing 'd.process.acore' (10031), adj 764, to free 35472kB on behalf of 'kswapd0' (81) because cache 67868kB is below limit 73728kB for oom_score_adj 117. Free memory is 21432kB above reserved
<6>[002132.304917,0] lowmemorykiller: Killing 'd.process.media' (10018), adj 1000, to free 33728kB on behalf of 'Compositor' (8575) because cache 100976kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3492kB above reserved
<6>[002132.374198,1] lowmemorykiller: Killing 'ndroid.settings' (10049), adj 764, to free 34792kB on behalf of 'kswapd0' (81) because cache 64912kB is below limit 73728kB for oom_score_adj 117. Free memory is 3280kB above reserved
<6>[002132.435346,1] lowmemorykiller: Killing 'enmod.lockclock' (10067), adj 647, to free 30996kB on behalf of 'Compositor' (8575) because cache 97520kB is below limit 98304kB for oom_score_adj 529. Free memory is 3364kB above reserved
<6>[002139.202616,3] lowmemorykiller: Killing 'com.android.mms' (9890), adj 470, to free 38940kB on behalf of 'kswapd0' (81) because cache 77428kB is below limit 86016kB for oom_score_adj 176. Free memory is 3352kB above reserved
<6>[002144.987619,0] lowmemorykiller: Killing 'd.process.media' (10354), adj 529, to free 33492kB on behalf of 'kswapd0' (81) because cache 70876kB is below limit 73728kB for oom_score_adj 117. Free memory is 3952kB above reserved
<6>[002145.868772,0] lowmemorykiller: Killing 'ndroid.settings' (10410), adj 647, to free 34748kB on behalf of 'kswapd0' (81) because cache 70496kB is below limit 73728kB for oom_score_adj 117. Free memory is 9208kB above reserved
<6>[002145.500683,0] lowmemorykiller: Killing 'enmod.lockclock' (10439), adj 647, to free 30964kB on behalf of 'kswapd0' (81) because cache 69148kB is below limit 73728kB for oom_score_adj 117. Free memory is 4848kB above reserved
<6>[002146.860274,2] lowmemorykiller: Killing 'd.process.acore' (10393), adj 764, to free 35316kB on behalf of 'kswapd0' (81) because cache 66996kB is below limit 73728kB for oom_score_adj 117. Free memory is 8484kB above reserved
<6>[002146.883536,0] binder: undelivered transaction 7710205
<6>[002147.021644,1] lowmemorykiller: Killing 'd.process.acore' (10507), adj 764, to free 35104kB on behalf of 'kswapd0' (81) because cache 66948kB is below limit 73728kB for oom_score_adj 117. Free memory is 8344kB above reserved
<6>[002147.496709,0] lowmemorykiller: Killing 'd.process.media' (10495), adj 764, to free 33760kB on behalf of 'kswapd0' (81) because cache 65184kB is below limit 73728kB for oom_score_adj 117. Free memory is 8972kB above reserved
<6>[002166.712750,0] lowmemorykiller: Killing 'ndroid.settings' (10529), adj 764, to free 34780kB on behalf of 'kswapd0' (81) because cache 74940kB is below limit 86016kB for oom_score_adj 176. Free memory is 4768kB above reserved
<6>[002166.041116,1] lowmemorykiller: Killing 'enmod.lockclock' (10545), adj 647, to free 30984kB on behalf of 'kswapd0' (81) because cache 76512kB is below limit 86016kB for oom_score_adj 176. Free memory is 4996kB above reserved
<6>[002183.893105,1] lowmemorykiller: Killing 'com.ebay.mobile' (10668), adj 529, to free 46620kB on behalf of 'kswapd0' (81) because cache 71236kB is below limit 73728kB for oom_score_adj 117. Free memory is 4588kB above reserved
<6>[002183.175603,1] lowmemorykiller: Killing 'com.android.mms' (10372), adj 294, to free 39168kB on behalf of 'kswapd0' (81) because cache 69516kB is below limit 73728kB for oom_score_adj 117. Free memory is 4568kB above reserved
<6>[002184.262462,1] lowmemorykiller: Killing 'putmethod.latin' (20205), adj 117, to free 31552kB on behalf of 'kswapd0' (81) because cache 64740kB is below limit 73728kB for oom_score_adj 117. Free memory is 4528kB above reserved
<6>[002185.901421,1] lowmemorykiller: Killing 'pal.androidterm' (20591), adj 117, to free 22780kB on behalf of 'kswapd0' (81) because cache 62628kB is below limit 73728kB for oom_score_adj 117. Free memory is 4548kB above reserved
<6>[002185.077441,0] init: waitpid returned pid 26289, status = 0000fc00
<6>[002185.611288,2] lowmemorykiller: Killing 'android.smspush' (20927), adj 58, to free 16176kB on behalf of 'kswapd0' (81) because cache 56236kB is below limit 61440kB for oom_score_adj 58. Free memory is 3392kB above reserved
<6>[002186.955956,0] init: waitpid returned pid 26285, status = 00000001
<6>[002186.006426,1] init: waitpid returned pid 26256, status = 00008100
<6>[002186.431086,0] lowmemorykiller: Killing 'mozilla.firefox' (6712), adj 0, to free 354160kB on behalf of 'kswapd0' (81) because cache 46540kB is below limit 49152kB for oom_score_adj 0. Free memory is 5192kB above reserved
<6>[002186.606429,1] init: waitpid returned pid 19765, status = 00000000
<6>[002191.881505,2] lowmemorykiller: Killing 'd.process.media' (10858), adj 1000, to free 33140kB on behalf of 'kswapd0' (81) because cache 87004kB is below limit 98304kB for oom_score_adj 529. Free memory is 3960kB above reserved
<6>[002191.291965,1] lowmemorykiller: Killing 'd.process.acore' (10918), adj 764, to free 35228kB on behalf of 'kswapd0' (81) because cache 81776kB is below limit 86016kB for oom_score_adj 176. Free memory is 3832kB above reserved
<6>[002191.591134,1] lowmemorykiller: Killing 'ndroid.settings' (10928), adj 647, to free 34460kB on behalf of 'kswapd0' (81) because cache 77724kB is below limit 86016kB for oom_score_adj 176. Free memory is 4280kB above reserved
<6>[002192.697565,2] lowmemorykiller: Killing 'enmod.lockclock' (10957), adj 529, to free 30720kB on behalf of 'kswapd0' (81) because cache 76880kB is below limit 86016kB for oom_score_adj 176. Free memory is 3604kB above reserved
<6>[002192.739096,2] lowmemorykiller: Killing 'com.android.mms' (10883), adj 470, to free 38292kB on behalf of 'kswapd0' (81) because cache 74704kB is below limit 86016kB for oom_score_adj 176. Free memory is 7352kB above reserved
<6>[002193.555477,2] lowmemorykiller: Killing 'enmod.trebuchet' (10844), adj 0, to free 58452kB on behalf of 'kswapd0' (81) because cache 48516kB is below limit 49152kB for oom_score_adj 0. Free memory is 3116kB above reserved
<6>[002194.171773,1] binder: undelivered transaction 7731151
<6>[002194.355847,0] lowmemorykiller: Killing 'd.process.acore' (11091), adj 529, to free 34780kB on behalf of 'kswapd0' (81) because cache 47368kB is below limit 49152kB for oom_score_adj 0. Free memory is 8656kB above reserved
<6>[002194.554944,0] lowmemorykiller: Killing 'd.process.media' (11118), adj 529, to free 33392kB on behalf of 'enmod.trebuchet' (11110) because cache 81508kB is below limit 86016kB for oom_score_adj 176. Free memory is 6088kB above reserved
<6>[002194.670126,0] lowmemorykiller: Killing 'com.android.mms' (11151), adj 294, to free 34528kB on behalf of 'kswapd0' (81) because cache 47332kB is below limit 49152kB for oom_score_adj 0. Free memory is 3564kB above reserved
<6>[002194.680946,2] binder: release 11151:11172 transaction 7731784 out, still active
<6>[002194.681060,2] binder: undelivered transaction 7731944
<6>[002195.770478,1] lowmemorykiller: Killing 're-initialized>' (11177), adj 529, to free 26236kB on behalf of 're-initialized>' (11186) because cache 80372kB is below limit 86016kB for oom_score_adj 176. Free memory is 3968kB above reserved
<6>[002195.828751,0] lowmemorykiller: Killing 'enmod.trebuchet' (11110), adj 0, to free 44916kB on behalf of 'kswapd0' (81) because cache 46796kB is below limit 49152kB for oom_score_adj 0. Free memory is 3280kB above reserved
<6>[002195.996821,2] lowmemorykiller: Killing 'd.process.acore' (11206), adj 529, to free 28148kB on behalf of 'kswapd0' (81) because cache 46216kB is below limit 49152kB for oom_score_adj 0. Free memory is 3744kB above reserved
<6>[002195.006525,3] binder: undelivered transaction 7732259
<6>[002195.111464,2] lowmemorykiller: Killing 'ndroid.settings' (11186), adj 529, to free 34436kB on behalf of 'd.process.acore' (11236) because cache 76684kB is below limit 86016kB for oom_score_adj 176. Free memory is 3412kB above reserved
<6>[002195.189925,1] lowmemorykiller: Killing 're-initialized>' (11236), adj 529, to free 27684kB on behalf of 're-initialized>' (11250) because cache 75264kB is below limit 86016kB for oom_score_adj 176. Free memory is 3748kB above reserved
<6>[002195.582460,1] lowmemorykiller: Killing 'enmod.lockclock' (11250), adj 647, to free 30716kB on behalf of 'kswapd0' (81) because cache 42068kB is below limit 49152kB for oom_score_adj 0. Free memory is 3936kB above reserved
<6>[002195.680729,3] lowmemorykiller: Killing 'd.process.acore' (11265), adj 529, to free 33160kB on behalf of 'kswapd0' (81) because cache 41232kB is below limit 49152kB for oom_score_adj 0. Free memory is 3568kB above reserved
<6>[002196.766706,0] lowmemorykiller: Killing 'enmod.trebuchet' (11217), adj 0, to free 43560kB on behalf of 'kswapd0' (81) because cache 40444kB is below limit 49152kB for oom_score_adj 0. Free memory is 3448kB above reserved
<6>[002201.374233,0] : Report pwrkey press event
<6>[002201.518183,0] : Report pwrkey release event
<6>[002202.657554,1] mdss_dsi_panel_off+: ctrl=eaec8010 ndx=0
<6>[002202.657986,0] synaptics_dsx_sensor_state: state change ACTIVE -> SUSPEND
<6>[002203.897141,0] mdss_dsi_panel_off-:
<6>[002203.897156,0] mdss_dsi_off+: ctrl=eaec8010 ndx=0
<6>[002203.936876,0] mdss_dsi_off-:

At this point anything that hasn't already failed, now fails. Userspace gets killed and restarted
<6>[002203.037750,0] : Core dump to |/system/bin/coredump Binder_4 19920 1417523206 pipe failed
<6>[002203.281135,0] binder: undelivered transaction 7733258
<6>[002203.281314,0] binder: undelivered transaction 7733265
<6>[002203.281444,0] binder: undelivered transaction 7733271
<6>[002203.281597,0] binder: undelivered transaction 7733366
<6>[002203.281681,0] binder: undelivered transaction 7733378
<6>[002203.282023,0] binder: undelivered transaction 7733372
<6>[002203.282108,0] binder: undelivered transaction 7733373
<6>[002203.282258,0] binder: undelivered transaction 7733374
<6>[002203.282340,0] binder: undelivered transaction 7733375
<6>[002203.282488,0] binder: undelivered transaction 7733376
<6>[002204.093925,0] : Report pwrkey press event
<6>[002204.306457,0] : Report pwrkey release event
<6>[002207.955756,0] : Core dump to |/system/bin/coredump system_server 1142 1417523210 pipe failed
<6>[002207.052286,0] mdss_dsi_on+: ctrl=eaec8010 ndx=0
<6>[002207.075781,1] alarm_release: clear alarm, pending 0
<6>[002207.075791,1] alarm_release: clear alarm, pending 0
<6>[002207.075799,1] alarm_release: clear alarm, pending 0
<6>[002207.089757,0] mdss_dsi_on-:
<6>[002207.089772,0] mdss_dsi_panel_on+: ctrl=eaec8010 ndx=0
<6>[002207.104989,1] init: computing context for service '/system/bin/bootanimation'
<5>[002207.106139,1] init: starting 'bootanim'
<6>[002207.136155,1] : Core dump to |/system/bin/coredump Binder_7 1387 1417523210 pipe failed
<6>[002207.147220,1] binder: undelivered death notification, 60d6b368
<6>[002207.147232,1] binder: undelivered death notification, 60d6b780
<6>[002207.147241,1] binder: undelivered death notification, 5cdca680
<6>[002207.147249,1] binder: undelivered death notification, 5bf36ec0
<6>[002207.147261,1] binder: undelivered death notification, 5cdcb4a0
<6>[002207.147272,1] binder: undelivered death notification, 5cdd1880
<6>[002207.147281,1] binder: undelivered death notification, 5cdcb460
<6>[002207.185322,1] init: waitpid returned pid 385, status = 00000009
<5>[002207.185340,1] init: process 'debuggerd', pid 385 exited
<5>[002207.185355,1] init: process 'debuggerd' killing any children in process group
<6>[002207.185940,1] init: computing context for service '/system/bin/debuggerd'
<6>[002207.185963,2] : Core dump to |/system/bin/coredump Binder_2 1400 1417523210 pipe failed
<5>[002207.186211,1] init: starting 'debuggerd'
<6>[002207.186764,2] : Core dump to |/system/bin/coredump Binder_4 1413 1417523210 pipe failed
<6>[002207.194796,2] binder: undelivered death notification, 5cdcf108
<6>[002207.194807,2] binder: undelivered death notification, 60b5faa8
<6>[002207.194816,2] binder: undelivered death notification, 60b5fec0
<6>[002207.194824,2] binder: undelivered death notification, 5cdca680
<6>[002207.194832,2] binder: undelivered death notification, 601f2830
<6>[002207.194840,2] binder: undelivered death notification, 60def500
<6>[002207.194849,2] binder: undelivered death notification, 5cdd1488
<6>[002207.194857,2] binder: undelivered death notification, 60def1f0
<6>[002207.200117,2] binder: undelivered death notification, 5cdce0d8
<6>[002207.200129,2] binder: undelivered death notification, 60c6b0c8
<6>[002207.200137,2] binder: undelivered death notification, 60c6b4e0
<6>[002207.200146,2] binder: undelivered death notification, 5cdca670
<6>[002207.200154,2] binder: undelivered death notification, 5cdd1940
<6>[002207.200163,2] binder: undelivered death notification, 5d84f710
<6>[002207.200171,2] binder: undelivered death notification, 5cdd1430
<6>[002207.200179,2] binder: undelivered death notification, 5cdd1f90
<6>[002207.276277,1] init: waitpid returned pid 388, status = 00000009
<5>[002207.276294,1] init: process 'zygote', pid 388 exited
<5>[002207.285604,0] init: process 'zygote' killing any children in process group
<5>[002207.285863,0] init: service 'media' is being killed
<5>[002207.287087,0] init: service 'netd' is being killed
<6>[002207.287441,0] init: computing context for service '/system/bin/app_process'
<5>[002207.287638,0] init: starting 'zygote'
<6>[002207.289856,0] init: waitpid returned pid 383, status = 00000009
<5>[002207.289874,0] init: process 'netd', pid 383 exited
<5>[002207.289888,0] init: process 'netd' killing any children in process group
<6>[002207.290323,0] init: computing context for service '/system/bin/netd'
<5>[002207.290529,0] init: starting 'netd'
<6>[002207.297300,0] init: waitpid returned pid 391, status = 00000009
<5>[002207.297316,0] init: process 'media', pid 391 exited
<5>[002207.297331,0] init: process 'media' killing any children in process group
<6>[002207.297373,2] init: Created socket '/dev/socket/mdns' with mode '660', user '0', group '1000'
<6>[002207.297610,0] init: computing context for service '/system/bin/mediaserver'
<6>[002207.297768,2] init: Created socket '/dev/socket/dnsproxyd' with mode '660', user '0', group '3003'
<5>[002207.297778,0] init: starting 'media'
<6>[002207.298187,2] init: Created socket '/dev/socket/netd' with mode '660', user '0', group '1000'
<6>[002207.298939,2] init: Created socket '/dev/socket/zygote' with mode '660', user '0', group '1000'
<6>[002207.315254,0] : Report pwrkey press event
<6>[002207.386012,0] synaptics_dsx_sensor_state: state change SUSPEND -> ACTIVE
<6>[002207.386197,0] : mdss_dsi_panel_on-. Pwr_mode(0x0A) = 0x9c
<6>[002207.446161,0] init: waitpid returned pid 1373, status = 00000009
<6>[002208.865272,0] : Report pwrkey release event
<7>[002210.508025,0] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
<6>[002213.793599,0] : Report pwrkey press event
<6>[002213.970096,0] : Report pwrkey release event
<6>[002213.447327,0] : Core dump to |/system/bin/coredump zygote 11352 1417523217 pipe failed
<6>[002213.508195,0] init: waitpid returned pid 11352, status = 0000000b
<5>[002213.508377,0] init: process 'zygote', pid 11352 exited
<5>[002213.508475,0] init: process 'zygote' killing any children in process group
<5>[002213.508759,0] init: service 'media' is being killed
<5>[002213.512948,0] init: service 'netd' is being killed
<6>[002213.513683,0] init: waitpid returned pid 11355, status = 00000009
<5>[002213.513805,0] init: process 'media', pid 11355 exited
<5>[002213.513981,0] init: process 'media' killing any children in process group
<6>[002213.514315,0] init: computing context for service '/system/bin/app_process'
<5>[002213.514729,0] init: starting 'zygote'
<6>[002213.515310,0] init: computing context for service '/system/bin/mediaserver'
<6>[002213.516306,1] init: Created socket '/dev/socket/zygote' with mode '660', user '0', group '1000'
<5>[002213.516644,0] init: starting 'media'
<6>[002213.520811,0] init: waitpid returned pid 11353, status = 00000009
<5>[002213.520998,0] init: process 'netd', pid 11353 exited
<5>[002213.521240,0] init: process 'netd' killing any children in process group
<6>[002213.521753,0] init: computing context for service '/system/bin/netd'
<5>[002213.522248,0] init: starting 'netd'
<6>[002213.526276,1] init: Created socket '/dev/socket/mdns' with mode '660', user '0', group '1000'
<6>[002213.526874,1] init: Created socket '/dev/socket/dnsproxyd' with mode '660', user '0', group '3003'
<6>[002213.527403,1] init: Created socket '/dev/socket/netd' with mode '660', user '0', group '1000'

However swap was active and it's not clear what's happening. Output from free immediately after userspace is restored:
             total         used         free       shared      buffers
Mem:        903272       879320        23952            0         1844
-/+ buffers:             877476        25796
Swap:       687060        19024       668036

No idea what's going on. Exotic guesses FWIW: (1) Swap is available and enabled but for some reason wasn't used in the event, when memory got low; (2) some process suddenly decided it needed about 1GB of RAM and to run in foreground, causing failed attempts to swap crucial but lower prioritised system processes; (3) Unpredictable dramatic memory leak.
I don't know where to go from here.
The phone runs rooted CyanogenMod 11 M6 and has 1GB ram, and the apps are pretty standard - firefox, whatsapp, nothing unusual, no strange "tweaking", no strange modding apps.
How can I resolve this issue?
UPDATE I realised that I could find the relevant core dumps. /data/tombstones contains 6 core dumps that were all created during the 100 second period that lowmemorykiller bursts were occurring in dmesg. The core dump files mostly show segmentation faults (SIGSEGV) but the owning process is different in each dump:
2014-12-02 12:27:33 name: Thread-20  (lbesec.loader) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr b3baed71
2014-12-02 12:27:11 name: zygote  (zygote) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5dd8ce64
2014-12-02 12:27:05 name: zygote  (zygote) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5dd86e64
2014-12-02 12:26:57 name: zygote  (zygote) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5dc03e64
2014-12-02 12:26:47 name: system_server  (system_server) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadf00c
2014-12-02 12:26:46 name: Binder_4  (com.android.systemui) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr cfc08b9a

Past core dumps in the same folder were just as diverse - thread owners included "gallery" for example. Some showed SIGABRT instead of SIGSEGV. Beyond here probably needs developer competencies. What can I do to track down the cause?

+1 for a well formulated question. Excellent presentation. I'm having low memory? issues and FC's on my HTC. I'm not great with looking at logs, but your thoroughness has help me understand it a little bit better (and i didn't need to take a class or read a long book…lol). Thanks.

Is the phone running slowly? The job of LowMemoryKiller is to release memory when other apps need it, and it does so by releasing memory from apps that currently don't need it. Here is google's documentation on LowMemoryKiller.

I think it's possible CyanogenMod shutting down could have something to do with this. I've noticed some odd behavior from my system ever since they shut down their web server such as opening the advanced data settings page crashing the settings app. Again, that's a total guess.

Look at the date on the question..... Cm inc shut down in late 2016............

Android has a built-in ram management system thats pretty good at its job. Ram management applications are notorious for being little more than snake oil. At worst actually harmful to its running processes. I would postulate that this memory killer app is the root cause of your problems.
Solution.
Reflash your device delete the lowmemory app and see how it behaves

-1. You meant well, but your answer is mistaken. LowMemoryKiller is a built-in part of Android, not a third-party RAM-management application. Please see here in order to view the android-4.4 kernel's lowmemorykiller.c code.  (Note:  the android-4.4 kernel is completely unconnected with Android 4.4 "KitKat".  KitKat devices use a much older kernel.)

I don't quite understand if the problem happen out of a sudden or if it just happens with CM11 or not. My first recommendation would be factory reset and run with a skeleton selection of apps, less you install from play store better, and see if problem happens. If it does then CM is running some really aggressive values for LMK (maybe update to something newer or build the rom with modified values). If it doesn't means one of your apps is telling android it needs ram and android (maybe due to poorly set dalvik or hwui heaps, or kernel lmk values) freaks out and just starts the mass murder of processes.

If this app wasn't on your phone when you bought it, but got installed afterwards instead, it's possible that the app that is doing this might be malware. I would suggest going straight to Verizon and have them figure out what is going on. It may cost a lot, but if it can be fixed, it's most likely worth it.

See the reply comment by @unforgettableid . Lowmemorykiller is a built-in part of the Android system. Its not an app, much less malware.

Also if you flashed CyanogenMod on your Phone it is most unlikely that the Carrier will have anything to do with it. It is possible that the Manufacturer would repair the Phone, even out of Warranty, as might a 'Cellphone Repair Store'. Search Engines or CyanogenMod Forums may also be useful. If you can get the Phone to operate long enough you might be able to Flash a newer version or restore your Phone with the original that you backed up prior to flashing. A new 'zero dollar phone' from your Carrier is going to cost the least and you have the value of the lesson learned.


text:
Samsung Note shutting off
I just purchased a Samsung Galaxy Note last night so I do not know much about the phone.
When handling and not charging it shuts off on me. It has charged and there is battery life of 70 lets say. When I try to turn it on my battery has completely ran out. Wont even turn on unless it is on the charger. I ordered a new battery but now I am not so sure that is my problem.
As you can imagine I am not a happy customer at this point and will more than likely not be buying from other people any longer.  Any help would be just peachy.  Thank you!

Are you saying you bought a used phone from another person (not a store) like from ebay or craigslist?
If so, it could very likely be a worn out battery. If the phone was advertised as problem free and fully working, and especially if it was advertised as brand new when clearly not,  you can pursue a return through whatever site you bought it from.

Unfortuently I was in need of a phone asap and wasn't as cautious as I should have been. I have a feeling it is the battery. I am going to order one so we shall see. I appreciate your comment!!

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


text:
How do I cancel password request on my lock screen?
I have tried using the security features using Device Manager on my Hudl 2 to Sony Xperia E1 running 4.4.2 KitKat. When I tried the lock feature, it made my phone ask for the password, but is there now anyway to stop that as it is a pain every time my screen locks? I have tried settings - security - screen lock but the none option is greyed out. I have also tried the "clear credentials" option, but no change.

If you have lock screen options grayed out, that's usually enforced by some program that has been granted permission to act as a "device administrator". Most commonly, it's the stock Mail app if you are connecting to a corporate mail server, or some corporate security software you may have been asked to install if you're connecting to a company network.
Go to Settings→Security→Device Administrators and see if there are any applications listed with a check mark in the box on the right. If there are, you can try unchecking them one by one and going back to the Lock Screen settings each time to see which one is imposing the restriction.
Be aware, however: revoking an app's device administrator permission may result in loss of access to resources and/or the deletion of any data associated with that app. You should receive a warning/confirmation message if that is the case for a particular device administrator you're trying to deactivate. For example, if the Mail app became a device administrator as the result of configuring it to access a corporate Exchange account, you will lose access to the account and all data associated with that account will be deleted if you deactivate its device administrator status.

Exactly the direction I was thinking – specifically with David mentioning I have tried using the security features using Device Manager. Assuming he's speaking of Google's DM, that should be the most likely candidate (it requires being made device admin for remote lock, for example).

If your question has been answered, please mark the answer that you feel best addressed your question as accepted. Once you have at least 15 rep, you can also upvote the accepted answer and any other answers you found useful.


text:
"Low on storage space" But I have 1.7GB free space
I have a Alcatel OneTouch Star, Im running Android Jellybean the phone has 8 or 4GB storage Im not too sure but the low down is when i go into settings and look at how much free space i have it starts at 2MB then it changes to something like 250MB within a second then it changes to 1.7GB after 2-3 seconds. I have uninstalled all things I can, except for Facebook, Instagram and Snap chat. Its not the actual notification that Is bothering me, its the fact that I have 1.7GB of free space but the system doesn't let me download anything because it says that I don't have enough free space, so I think you can see why that would get on my wik, so can anybody help me? It would be much help

Can you give the exact error message? I have a guess here: "Insufficient storage" or similar? Maybe a look into our insufficient-memory tag-wiki gets you started?

It says "Low on space" then underneath it says "some system functions may not be wotking"

OK, let me be a little more precise: You write "I have 1.7GB of free space". Question is: Where? Android devices have multiple storages. Most "low on space" messages refer to the device-internal storage (see the mentioned tag-wiki). So it doesn't matter/help in those cases whether you've got some Mega-SD-card with 1 TB free space – it's the internal one you need to check. So please, see the linked tag-wiki which already explains it all, so we don't need to repeat the basics over and over again :) Thanks!

I believe that most phones seem to like a certain amount of space free, to keep things  running smoothly. If you try to downloaded something that would leave too little space free, it won't let you. Kind of like how Apple IOS system updates can required 4GB of free space though it may need less than 1GB in reality.
In any case,  your phone is capable of using a removable microSD card, and with the piddly 4GB of internal storage- of which only 2.5GB are available to the end user, that is exactly what the phone makers are encouraging you to do. You should invest in a microSD they are available in large sizes- 32gb is the largest without needed to format the card.

Thanks for the comment, I have a 8GB MicroSD card in the phone already, it is basically empty, it has maybe 2GB of music/photos on it

I think there's a way to make it so that apps download to the SD card automatically rather than internal memory.

Ohh really? I will go see if i can do that, thanks

That APP2SD feature was introduced with Froyo (Android 2.2) alright – but many manufacturers dropped support for it starting with ICS (4.0). So you need to check first whether the device supports this. If so, this would really help (as it "frees" some space on internal storage). Apart from that: See my comment on the question, the error message in most cases refers to device-internal storage (/data) only, not to the internal or external SDCard.


text:
Disable ringtone for incoming SMS from bank
I have a Sony Z1 Compact with Android 4.4. I have a subscription to get text messages whenever my credit card is charged. Some of these payments are handled at night, probably because the payment is handled overseas. I disable 4G at night, but keep the phone connection on at night, so I hear incoming SMS messages.
I know I can create groups, add contacts to those groups, and then disable ringtones for this group. This service has no number, and cannot be added to the contacts, and thus not added to a group.
How can I disable the ringtone for just this service?


text:
Remove H/H+ from signal bars?
I know what they mean, but I'm a minimalist and in my defense, it takes up a lot more space than I've seen the other H/H+ icons. So how could I remove it? Majority of the time, I'm not on the web with my phone that much except my breaks at work, so I really don't worry about having this.

What model phone is this on? Is it a custom ROM of some kind? I'm fairly certain this is not what it looks like in stock AOSP.

@keepcalm Yeah, stock ASOP 4.4.4 running on a Moto G 2014 edition.

Running some kind of Xposed module or something?

@keepcalm Yeah, as of now. But this has been happening before I even unlocked my boot loader.

authors: العلم و المعرفة


text:
How to turn-off WiFi when there's no Internet available on the connection?
I have a wifi hotspot that is always on but sometimes internet isn't available within the connection; in such a situations, the phone is connected as expected to the wifi hotspot but because there's no internet, apps can't check for updates(messages) so I wont be notified of incoming messages from IM apps unless I manually turn off wifi and use mobile data for internet connectivity(2g or 3g for example)
Is there any way to automatically check for internet availability (by pinging a website maybe) and if there's no internet available within the connected wifi network, turn the wifi off? (so that the phone can use mobile data for internet connectivity)

tasker should be capable of that. It can execute HTTP_GET commands, and it can also deal with data connections; but for the latter, depending on the Android version you're running on your device, you might need root access to toggle data connection.
Tasker uses (combinations of) "conditions" (also called "context") to trigger "tasks" – which both together is called a "profile". So you would need a profile for that. Let's go step-by-step:
Your condition will be a time-based one, as you want to check connectivity periodically. Chose wisely here: checking too often might become a battery-drain – checking to rarely makes the whole thing useless. Play starting with 1 minute, and maybe go down to 30s if that's not enough.
The task then is a conditional one, which could be described as "switch off WiFi if I cannot reach the internet". So let's put that together:

Condition:

Time.
In the fields, define the time frame this should be active in, and the "repeat" interval.
WiFi connected.
I recommend adding that to safe some juice: If you're already on mobile data with WiFi turned off, there's no need to turn WiFi off – right? Alternatively, you could also use %WIFI ~ on – but that could give you a headache when you just switch it on and, failing to retrieve the URL, Tasker switches it off before it connects ;)

Task:

HTTP Get
WiFi (off) IF %HTTPR ~ -1

%HTTPR is a Tasker variable where the response code is stored into. According to the Tasker UserGuide, A response code of -1 indicates a problem making the request. This problem should be a timeout or "network unreachable" error (as a "not found" should be a "404" code), but you might need to play with this.
The above doesn't cover an "automatic return", so you had to enable WiFi manually (though that could be automated by a second "profile", periodically checking if things changed).

Anytime! I was tempted to add the second profile as well – but then guessed it would be too much, and once you've got the idea you could create that yourself :)


text:
Lock screen shortcuts Android Lollipop
I used to swipe to text and so on, without any external apps. Now, with this new "update" I can only access phone (swipe to the right) or camera (swipe to the left). Can one change these?
BTW I'm on a Nexus 4 google LG phone.

I don't remember you can have custom shortcut on lockscreen on Nexus 4 on previous Android versions either... or, did you mean the lockscreen widget?

Yes lock screen widget.

I used the SMS shortcut all the time but now there's a phone there instead (who casks people anyway? )

I'm afraid I have to say that Google has done away with the lockscreen widgets. As of current, I haven't found and done further research the alternative.

Yep it seems like that. Oh well.


text:
Auto-hide notification bar while apps are opened
With a custom launcher, you can auto-hide the notification bar on the home screen and swipe down to make it re-appear. However, when you open an app, the notification bar re-appears.
Is there any way to hide the notification bar on a non-rooted device?

For the ADB approach, it's mentioned on this answer.

This feature is known as "immersive mode" and was first introduced in Android 4.4 KitKat. It allows the app to hide the notification/status bar and even the navigation bar.
For the official method, the developers of the app need to implement this feature on their app. Though, some ROMs may also provide this feature built-in, sometimes also known as "expanded desktop mode", e.g. CyanogenMod/LineageOS, OnePlus.
Otherwise, some 3rd-party apps may help to force immersive mode in all apps:

Search for "Immersive mode" keyword on Play Store.
(For rooted devices) Xposed Framework with Immerse Me module. Follow the instruction on phoneArena.com for step-by-step installation.

Note that by using these apps, the keyboard may not work properly.
From BGR,

Due to some security features in Android, users will not have access to the keyboard in many apps while in immersive mode.

From WonderHowTo

Beware that your keyboard may not work in Immersive Mode, which is why having the toggle in the notification shade is so handy.


text:
Error Sideloading Android L
I am trying to update my Nexus 7 (2013) WiFi to Android 5.0 with adb sideload. I get this error:
Finding update package...
Opening update package...
Verifying update package...
E:footer is wrong
E:signature verification failed
Installation aborted.

I have the file (razor). It is a .tgz file, so I entered into the command prompt (I opened inside SDK platorm-tools) and ran adb sideload beaverlog.tgz and it gave me that error (beaverlog is what I named the file). The instructions also said to do it as a .zip file but I couldn't find a .zip file.

Since you have a .tgz file, I would assume you downloaded the factory image for your device. You cannot use adb sideload with those archives. They are not packaged for that. You note in your comment:

The instructions also said to do it as a .zip

...and the instructions are correct. If you find that your environment is deviating from the stated instructions, then it is quite often an indication that you are not following the process the way it is intended. In this situation, luckily, the recovery system bails out without damaging your device, but in the future it would be a good idea to take some care when attempting to install images to your device.
The top of the factory images page you got the update from has different instructions for flashing the contents of the archive. You need to either follow those steps or obtain a copy of the update in a .zip format that is compatible with recovery-based installation.
If you intend to use the factory image, the proper steps are:

Caution: Flashing a new system image deletes all user data. Be certain to first backup any personal data such as photos.

Download the appropriate system image for your device below, then unzip it to a safe directory.
Connect your device to your computer over USB.
Start the device in fastboot mode with one of the following methods:

Using the adb tool: With the device powered on, execute:
adb reboot bootloader

Using a key combo: Turn the device off, then turn it on and immediately hold down the relevant key combination for your device.
  For example, to put a Nexus 5 ("hammerhead") into fastboot mode, press
  and hold Volume Up + Volume Down + Power as the device begins booting
  up.

If necessary, unlock the device's bootloader by running:
fastboot oem unlock

The target device will show you a confirmation screen. (This erases all data on the target device.)
Open a terminal and navigate to the unzipped system image directory.
Execute the flash-all script. This script installs the necessary bootloader, baseband firmware(s), and operating system.

If you are using Windows, you will need third-party software to extract the .tgz archive, because Windows does not support it natively. 7zip is a free (and popular) option.

I had similar issue, my device is hanged in booting, it was displaying "Google" logo and it didn't start.
When I tried to update with "adb sideload", I got following error:
Finding update package...
Opening update package...
Verifying update package...
E:footer is wrong
E:signature verification failed
Installation aborted.

Then, I tried using Nexus tool kit.
I believe, it works in unlocked and rooted mobiles only
Please try your luck by following below steps.

Install Nexus Root Toolkit ( I used v2.0.5)
Connect your device to PC using USB cable. Make sure your drivers are successfully recognized or just click on 'Full driver installation guide - Automatic + Manual)- don't worry about step 2.
Choose your device model and Android version ( I had Android 5.1.0 LMY470)
Reboot your device to Bootloader menu, Choose Recovery mode (I had Clockwork recovery mode) > Install zip > Choose sideload.
Now, click on Flash Stock + Unroot > ok > in 'Factory images', choose your required image ( I would recommend don't browse image from PC). In choice section, use "Automatically". In settings section, un-check all. And then click ok. It will download.
Once it completes, Nexus toolkit will try to boot to Bootloader menu. Now, you should do it manually by choosing go back back > advanced > reboot bootloader.

That's it, it will install new system.
Please note, first bootup will take much time.


text:
Name of the app which shows colorful Android and sweets in grid
Can someone help me what is the name of this app? I can't find the name of it. Is it a spyware?

It's not malicious - it's part of an "easter egg" hidden in Android 4.4. You can access it by going into Settings → About and tapping on the "Android Version" quickly 4-5 times. Here is a demonstration on YouTube.
There are also some third-party apps on the Play Store that attempt to extract these easter eggs into portable apps, or use them for boot animations or daydream animations. Whether or not those are malicious is difficult to determine definitively, but you could probably hazard something of a guess based on the permissions the app requests.
The easter eggs have been of varying levels of complexity and interactivity. Lollipop's is basically an Android-themed Flappy Bird clone.


text:
How to uninstall a device administrator app that wont deactivate?
My cousin decided to download an app on my phone as a joke. I tried to uninstall it but it just won't uninstall. It's an administrator app, I tried to deactivate it but it won't deactivate. Whenever I try to deactivate it, it shuts down my phone. What should I do?  I tried to root my phone and delete it that didn't work either.
How can I uninstall this app?

No cousin is worth this kind of effort. Place in his left hand; retrieve cash from his right. Its his problem then.

You can manually uninstall the app with steps below:
ROOT IS REQUIRED
I am not responsible if you damage your phone, just follow steps below and nothing will happen.

Download a root file explorer like Root Browser from the play store.
Open the app.
Go to /data/app/.
Delete the apk of the app.
Check if also a directory of the app exists in /data/data/. If so, delete that directory. (The directory is the package name.)
Reboot your phone.
The app now should now be uninstalled.


text:
How do I enable "Factory Reset Protection" in Lollipop
I keep reading that Android 5.0 has "Factory Reset Protection", the so-called "Kill Switch" soon to be mandated in California, but that it's opt-in.  How do I opt in?  I've looked thru settings, including using the Settings search, but haven't found anything that sounds like this.  I'm on a Nexus 5.

I'm honestly a little skeptical that this feature even exists, either because it never did or it got cut before release. I have yet to find an official source that indicates that it does, just a lot of news/blog sites reporting it. It certainly is very widely reported to exist, though.

This might be 5.1 only, but it definitely exists.

In speaking with Motorola Support through some reliable channels, here's what they said: "Since all comments regarding Factory Reset Kill is not approved yet by Motorola, we cannot give you the answer". In other words, it's not released, you won't find the option available yet and they can't tell you why. As of 1/20/2015.


text:
How to 'force' update apps?
I am currently using Huawei's smart phone. The has KitKat installed and it is rooted.
Huawei's app center shows that updates are available for a number of apps (not system) but the same apps updates are not available via Google Play Store.
I don't want to update my apps via App Center of Huawei.
Is it possible to force Google Play to check for update and then update the apps? Any app available for that?

Some apps use the "staged rollout" feature of Google Play, which means that not all users get the update at the same time (I'm not entirely sure on exactly how it distributes the updates, but it does). So no, if the update is not shown in Google Play, the only way to get it is to wait.
However, APKMirror provides (some) APKs which you can manually install by downloading them onto your device and installing them
Note that "Unknown sources" should not need to be enabled, as the majority of these APKs seem to be the original, signed APKs - that is, the APK's cryptographic signature guarantees that it is unmodified from the company.
How does this work? I'm going to skim over the details, but essentially, the company that produces the app (for example, Google) has a secret "key" which they use to cryptographically sign the APK. Android checks that the new version of the APK is signed using the same key as the one that's installed (and that all the files within it match checksums provided by the APK), and if it doesn't (meaning that the APK has potentially been modified by some third party), it will refuse to install it.

Interesting, I just knew about "Unknown sources" is not needed for original, signed APK. I though it's needed for all APKs downloaded manually. Haven't experimented about this though, so I don't know.


text:
Is it possible to use hundreds of Android devices with the same google account?
We have developed a App that uses GCM push, that seems that needs Google Play Services (Google account).
Customer has 100-200 devices, it it possible to use the same google account in all devices? Gmail will be inactivated, and buy apps to Market will be disallowed.
Aditional info: We have proposed Google for Work, but Customer is not interested at this moment

Did a quick google search, seems like there is no limit placed devices connected to your Google account. The only apparent restriction is four devices for Google Music.
Aside from a bug, there no documented device restrictions.


text:
Play Store Android apps are not updating in Android Lollipop (Error code: 495)
I have installed the latest factory image for Android Lollipop version from Google site to my Nexus 5 device.
When I am updating apps from Play Store, "Update all" option is not working. Some of individual apps like Maps, Calendar also shows indefinite spinner. Google Fit, Google Keep, Maps and Play Music apps are not updating. Getting error:

Could not be downloaded due to an error (495)

Did you turned off the auto-update function in the Play Store?

NO. it is enabled. I have tried with disabling it but same issue

Also, try clearing the cache and the data stored by the Google PlayStore app by heading over to the application manager and see if that works for you ?

Done. Still same issue. I an see playstore app is udated shall I remove all the updates?

Well, I don't think that it will make any difference anyway can try doing that too !

Google fit google keep, Maps and play music apps are not updating. Getting error: could not be downloaded due to an error (495)

Try the following...
<<1>>

Go to Settings > Apps > slide to "All" apps.
From the list of apps find Google Play Store > Clear Data and Clear Cache.
From the list of apps find Google Services Framework > Clear Cache.
Now, try to install or update app from Google Play Store.
If it still didn’t work try uninstalling Google Play Store updates.

If the above steps couldn't solve your issue,
<<2>>

Go to Settings > Accounts > Google > Remove your Gmail account.
Again go to Settings > Apps > slide to "All" apps.
Force Stop, Clear Data and Cache for Google Play Store,Google Services Framework and Download Manager.
Now again go to settings > Accounts > Google > Add your Gmail account.
Restart your android and re-run Google Play Store and update/install your apps.


text:
How remote control/remote desktop on Android works? (e.g. TeamViewer)
I am wondering how TeamViewer for Android and simple applications work. For instance, TeamViewer claims on its webpage that they can remotely control Android devices from Samsung, Lenovo, Sony, HTC, and many others.
I know that Samsung SAFE Devices have some API for this, but what about others? How is it possible to remotely control non-rooted Android device?

I haven't done much research specific to TeamViewer, but as an app developer, I'd say it's very possible with certain limitation. The key is, you also need to install certain app on Android device as the interface between PC<->Android.
The Android SDK provides many things: given correct permissions, it can place a call, read/send messages, open app, read device's sensors, etc. If the app has Super User permission, then it will have greater capability.
If you look into the permission of TeamViewer app, you can more-or-less guess what features the remote app can do:

Version 10.0.2555 can access:

Device & app history

read sensitive log data

Identity

find accounts on the device

Photos/Media/Files

modify or delete the contents of your USB storage
test access to protected storage

Wi-Fi connection information

view Wi-Fi connections

Device ID & call information

read phone status and identity

Other

access SurfaceFlinger
read frame buffer
press keys and control buttons
full network access
prevent device from sleeping
view network connections
connect and disconnect from Wi-Fi
pair with Bluetooth devices
control vibration
measure app storage space
close other apps
draw over other apps

Then, you have TeamViewer app installed on the PC. This works as a monitor/main control. Now, given 2 apps (PC and Android), both apps can communicate to each other (just like chat/messenger app). You can send a message from PC, then the Android app will receive the message, interpret it, and do something on the device. You can also request data from PC, then the Android app will again receive the message, interpret it, and send the data back to PC.

Hi, the teamviewer for instance says: TeamViewer mobile device support for Android enables you to remote control mobile devices, allowing you to see exactly what your mobile device user is seeing.
I presumed, that this is not possible on non-rooted devices. So I am wondering, how they are able to do this.

Nono, as I mentioned before, Android SDK provides these functions without the needing to root. Just as how 3rd-party messaging apps can read your SMS, or 3rd-party calendar apps can read all events, it's the same as TeamViewer Android app. The difference is, it also sends the info to TeamViewer on PC (probably through their server, or direct WiFi)

Yes, but in Android SDK, you can read SMS, calendar etc. but you cannot see screen of the phone remotely. E.g. Helpdesk cannot see the screen of your android device if it is non-rooted, can it?

Ah, it's about the screen mirroring. Well, last time I could do that without rooting, but I don't know the explanation for that.


text:
Is there an easy way to update my HTC Evo 4g to ICS?
I just got a Sprint HTC Evo 4G, and discovered it is running Android v2.3.5 (Gingerbread). I  manually checked for updates, which downloaded the latest security patch for 2.3.5 Gingerbread, but did not update it to a newer major OS version.
I did some searching about updating it to a newer Android version, but most of the articles I found either have dead links or require climbing up a steep learning curve to root and then flash(?) the device.
Are there any methods for easily updating to (ideally) Ice Cream Sandwich, without needing to learn the software innards of my device?

Is this the same as HTC Evo Design 4G?

@AndrewT. No, they're different phones. See http://geekaphone.com/compare/HTC-EVO-Design-4G-vs-HTC-EVO-4G

I see... then I'm afraid there is no easy way since it only supports up to Android 2.3.5 officially. You have to manually flash custom ROM by rooting it first. This post might help...


text:
How to install/swap Recovery on Redmi 1S, running on CM11
I had install TWRP on Redmi 1S (while running on stock MIUI ROM) and I installed CM11 ROM. It is running fine.
My question is
1) How do I upgrade the TWRP with latest version?
2) How to I change the TWRP to CWM (or vice-versa)?
3) Does CyanogenMod has its own Recovery? If yes, how to get that on my device?

1 & 2: Just flash what you want to have on your device, the old recovery will be overwritten. I recommend the app "Flashify" from Google play store for flashing recovery without computer.
3: About phone > tap build number seven times > press back > developer options > check "update CM recovery"

To update TWRP you can install TWRP manager from the play store. From there you can update the recovery.
To update ClockworkMod you use ClockworkMod ROM Manager from the play store.
Another option, you can install them manually by downloading the recovery image and flash them using adb, or flashify, or some other tool.

Latest TWRP (for your device)
I do not see an officially supported version of CWM for your device.

Cyanogen does have a recovery, which I believe is based off ClockworkMod. I think only officially supported devices have a recovery. As @saloalv said, you should be able to update in the developer options if they have a supported recovery.


text:
shortest way to texting in Lollipop
For me, it used to be a lock screen widget where I swiped right and could start texting my contacts. I thinks this is now gone for some reason. So what's the fastest way to get to texting from lock screen in this new stupid lollipop version?

Using absolutely stock, as-installed-by-default stuff, the fastest way would be:

Swipe to unlock
Tap home button
Tap Messenger or Hangouts (which you have put as an icon on your home screen)
Tap new message.

Possible ways to reduce the number of steps:

Third-party SMS apps which provide homescreen widgets that take you straight into composing
Third-party lock screen replacements
Alternative ROMs with different lock screen arrangements (e.g. some Cyanogenmod versions let you define different apps to be launched depending on the direction of your unlock swipe)

So no news of google reintroducing right-swipe from lockscreen to get to texting? :(

authors: Миша Вдовичев


text:
How to choose which contacts to download from google
I am using a really old version of Android (2.2.2). I have had it for about five years. It's an HTC Desire (the first ever). My contacts list in my phone keeps getting bigger and bigger (currently at 27mb) and I want to reduce it. I have my contacts synced with my google account so they are always backed up. But how can I choose which contacts it downloads to my phone? Everytime I send an email from my gmail a new contact is added and that contact is automatically downloaded to my phone. How can I stop this and only download the ones I tell it to download?
EDIT Forgot to mention, I want the ones that are created from my email activities to continue existing but only on my email account and on my phone contacts

Try heading over to the Google.com/contacts and remove all the unnecessary contacts which you don't want, all done now only the contacts available over your gmail account will appear !

Forgot to mention I need those to stay there for my gmail :P I will edit my question

I don't remember if you have that option in froyo.  What I know is the following:
1) In gmail / settings / general, you can configure if you want new emails to be added to your contact list. These new contacts will be added as "other contacts", but won't have the label "my contacts", which is the main label that all your good contacts should have.
2) In lollipop, the contacts app, settings, you can configure which contacts to show:  gmail contacts, whatsapp, ....  Inside gmail, you can choose which contacts to show, and therefore, you can select "my contacts".
3) However, I doubt that this avoids downloading all the contacts. Probably is just a filter to show the ones you want.
4) I suggest adding as contacts those you need. It's fast of you hover the mouse over the email and go to "Add as a contact". The label "my contacts"  will be added to it.
PS: 27 MB in contacts?  That's a hell of a list!


text:
File "has unexpected contents" error when sideloading Android 5.0 OTA zip file
I have a Nexus 7 (2013) (wifi) and am trying to update the software to Android 5.0. When I try to sideload, I get this error:
Installing update...
mount: failed to mount /dev/block/platform/msm.sdcc.1/by-name/system at /system: Invalid argument
Verifying current system...
"/system/app/Drive.apk" has unexpected contents.
E: Error in /tmp/update.zip
(Status 7)
Installation aborted.

How I did it:
I placed the OTA file in sdk/platform-tools folder. Then I opened up a command prompt and typed in adb sideload 5a0f7a47588c268c239e58cf568823c6637c5af1.signed-razor-LRX21P-from-KTU84P.5a0f7a47.zip and I got that error.
What did I do wrong?

It seems to think you've modified your original ROM. Are you rooted? Did you uninstall or disable the Google Drive app?

What do you mean by disable the Google Drive app? @eldarerathis

Based on the filename, looks like it's the official stock OTA.

This means that recovery doesn't recognize the Google Drive APK inside the update package. Most ROMs don't come with Google Drive pre-installed, so I assume you're trying to use a factory image, which needs to be decompressed and flashed via fastboot. Factory images cannot be installed via recovery.
First, you'll need the Android SDK. Here is a link to get that: http://developer.android.com/sdk/index.html
Next, you'll need to unlock the bootloader. Power down your Nexus 7 and then hold power + volume down until it boots into fastboot mode. Now connect your Nexus 7 to your computer via USB, open a command terminal and type fastboot devices, and hit enter. If your computer recognizes the device, the terminal will output the serial number and fastboot.
The next step will wipe all data off of the device. If that's ok, continue.
Now, type in fastboot oem unlock and hit enter. The device will prompt you to confirm the bootloader unlock. Follow the instructions on the Nexus 7 to unlock the bootloader. When finished, the terminal will display a success message. After this is complete, type fastboot reboot-bootloader and hit enter to refresh the bootloader.
Now, move the image zip to the platform-tools folder of the Android SDK and unpack the factory image on your computer using whatever zip tool you have available. There is a second zip file inside the package, be sure to unzip that also. then, in the terminal, navigate to the unzipped factory image folder and type ./flash-all.sh (OSX/Linux) or flash-all.bat (Windows) depending on your computer's operating system.
Let it do its thing and the device should boot into the OS when it's done.

The app's file has been modified in some way, changed or removed. Look up your build number in settings and search for it on Google. Hopefully you'll find a zip with .img files in it. If you've got the correct img files, reflash system.img and you're able to flash the ota.


text:
HTC One M8 Factory Reset not working
My One M8 has started acting very strangely, as if it is unable to write to its local storage any more. Every time I restart it, it's like it gets reset to a previous point in time - files that were on the local storage have gone, Apps that I uninstalled have come back and so on.
I've tried to do a factory reset via the bootloader, which appears to complete successfully, but then when the phone restarts, it's back to the same state it was in before I ran the factory reset!
Any ideas? The phone is stock, locked and unrooted.

The issue appeared to be the built in /sdcard filesystem had become suspect and was being mounted read-only. Rooting the phone could probably have resolved it but it was still under warranty - so I just had it replaced.


text:
How to use GPS without using Google Location Services
Because I do not want to consent to the Google Location Services privacy agreement I have this switched off. By doing so I know some location functionality like cell-based and wifi-based location will not be functional.
However I would expect simple GPS functionality to work in a normal way. Functioning in a normal way to me would be to use GPS data if available, else use the last known location. (Historically this is how GPS receivers work)
The current (I am running Android 5, Lollipop) implementation from Google however seems to not give any location at all when there is no clear fix, throwing me lots of warnings and placing me all over the world instead of in my home location.
My question:
Does anyone know a third party location provider / spoofer which simply caches my last known location if there is no GPS fix? (just giving me back normal functionality)
Additional functionality which would be very welcome is caching Wifi/Cell data so if I have been somewhere it will remember without a GPS fix.
Any suggestions would greatly be appreciated!

Would an alternative provider for network based location (replacing Google's location, which requires root) also be an acceptable solution?

@Izzy - would the alternative have last known location stored? So as to have other apps use that info to start running, instead of waiting for a satellite fix.

The solution I have in mind uses cell-tower locations, which are stored locally on the device (you define which area(s) you need). As long as your phone is not in airplane mode, and you're in an area covered by your data, it hence always knows where it is without requiring a data connection.

@Izzy I thought this was one of the ways GPS aids worked but it does not reconfirms a fix. It does cache my position (and increasing speed of fix), so the solution with GPS aids answers my question. However I am also interested in a solution which you indicate, this could be an alternative answer with some advantages above the caching solution.

Done – see my answer below. It's just an outline, but should give you the idea – and points to further resources for details. Enjoy!

You could try this app: GPS Aids.
It tries to provide a quicker and more stable fix by providing a couple of GPS aids (GPS Aiding Data like LTO Long Term Orbits, gpsOneXTRA and AGPS), and it caches your last known GPS data.
It will run without root, but some options require root access.

It seems to be doing what I wanted, gonna testdrive it a bit more but looks good so far.

The program works ok for me, could you maybe increase the description within your answer a bit for future reference? We now know it works on Lollipop, maybe explain in short how en why the program is the answer.

Unfortunately the app is no longer available.

Not exactly matching your description (using the "last known" position if not GPS available), but still a good alternative:
On two of my devices, I completely got rid of all proprietary Google services, replacing them by alternatives. In detail, I've described this in Android without Google 5: Free your Droid!¹ (update¹). In short, this is what I've done:

Flash a custom ROM that comes without GApps (here: CyanogenMod)
Installing microG (successor of NOGAPPS)
Generating the lacells.db as described at XDA, and pushed it to the device

As a result, I've got a totally offline working location service using cell tower IDs and the lacells.db, Playstore access via BlankStore¹ or YalpStore, and a working Maps API using OpenStreetMap. So with "no GPS active", I still get my location as long as there are cell towers in reach. I can, however, not say whether it's using the "last known position" if there's no GPS and no cell towers.
¹ Disclosure: link go to one of my sites

Sweet! I do like this option a lot, thought not the most user friendly solution. In practise I think there will not be many places where you're not able to "see" any cell-towers, even if connecting to it will not be possible due to a low SNR.
Does this solution switch to GPS if a fix is available or are the GPS drivers part of GApps?

GPS is separate from this. I've never tried any "fail-over", so I'm not sure how it behaves with GPS enabled but no fix. My guess is it would simply chose the "most accurate set", and thus (without GPS fix) use the cell tower location – but I'm not sure.

@Requist as for "user friendly": it got easier again. There now is LineageOS for microG, available for all devices having official LOS support. That comes with microG and F-Droid pre-installed, ready-to-go. For location, they've pre-installed the Mozilla backend (fetching data online, so you might consider this being tracked by Mozilla) – but you can easily replace that backend by the LocalGSMBackend I've described in my answer. Works like a breeze, just equipped my new BQ device with that :)

Using Fairphone 2 and Fairphone Open OS and following this guide to living without Google, I set up location services using location middleware provider µg UnifiedNlp (no GAPPS)
It is easy to do this using the F-Droid repository

Install µg UnifiedNlp (no GAPPS)
Install geolocation backends such as LocalGsmNlpBackend
Install geocoding backend NominatimeNlp
Reboot your phone
Start the µg UnifiedNlp app and set up the backends. In LocalGsmNlpBackend select 'create database' and let it generate a database from OpenCellID or Mozilla Location Services (this takes ages and downloads huge amounts of data so make sure you are on WiFi)
Enable Location options in Settings

Result: both GPS and network-based location services work with little or no privacy impact.

Accessing location in Google Location service and accessing location in Android are independent from each other.
Apps can use either Android Location Manager (which does not depend on Google Location service) or Google Location service.
Thus, you can still use apps who access location through Android Location Manager. According to my research of the top 5000 apps, most apps still use Android Location Manager. So, you should be good without Google Location Services.

Yes, location support in Android has much improved. I still do not use Google location service but now Android location Manager does cache your last status and location so there is no need for third party tools for normal use anymore (except maybe for Wifi/Celluar location data).


text:
Where are the links of the saved pages of Opera Mini are stored in Android?
I have an Android 2.3 Gingerbread and have installed Opera Mini. I used it to save many useful pages for offline viewing and I want to save the links of the pages in a text file. So I need to find the place where the links of the saved pages are stored.

Have you tried looking in your Downloads folder (usually /sdcard/Downloads)?

You need to view the list of saved pages? Or the location of the saved pages in the sdcard?

OP seems to confuse Saved Pages feature with Bookmarks. Address of a saved page (or any page viewed in Opera Mini) is copy / pastable (to anywhere) from the top of your screen. Whole point of Saved Pages is they contain the actual page contents as well (OP seems strangely unconcerned about losing this !).
Path to Saved Page data given above may well be correct; or possibly... / mnt / asec / com.opera / lib (or possibly folder "lost+found ?).  Problem is, as stated, the location is inaccessible without fraught rooting procedure (ES File Explorer declares the directories to be empty for example).
My advice to anyone wanting to backup Saved Pages is to copy the addresses into UC Browser & re-save them in .mht format (earlier UC Browsers also saved as .html .txt or .pdf using addons). Pages are then accessible / transferable / viewable on PC etc. Slow & stupid but a guaranteed solution. It also punishes Opera Mini's developers (who are generally admirable) for consistently building in this infuriating anti-functionality.

Saved pages are stored in Opera Mini's private file directory, which is /data/data/com.opera.mini.android/files/. They are saved in Opera Binary Markup Language (OBML), and you will need root privileges in order to access them.
As far as I understand, the links are simply embedded in the .obml file rather than being stored separately anywhere.