text:
Unbelievable fast battery discharge on some games
I've submitted an issue about my phone crashing: Issue Link which nobody here was able to help understand and resolve.
Now I have better observations: after starting a game with almost full battery, and about 5 minutes of gaming, my device after connecting to charger shows 15% of battery. It means that 80% of battery was gone within 5 minutes of gaming!
Is it really possible that some heavy dynamic graphic game drains the battery to this extent, or is it  physical damage of the phone? Other than games applications on my phone seems to function normally, for example Endomondo will discharge phone to null after running about 5 hours in background.

Just a quick note: this isn't an issue tracker, so you haven't "submitted an issue". This is just a Q&A site where Android users try to help each other when we can. We're not associated with Google or any manufacturer. If you want to "submit an issue" so it can be fixed, try one of the resources listed in Where can I report a bug?

@DanHulme I know it's not issue tracker, I've just asked here my issue.

That's good. I just wanted to be clear because some people get confused and think this site is some kind of bug tracker where they should complain about Google or Android, or expect that mentioning a problem here will get it fixed.

Oh, now I see many people have problem with Samsung Galaxies :(

Your answer lies in your question itself, you have mentioned that other than games the phone runs normally! I think its the games that are causing this, anyway to make sure of that please read ahead.
Can you specify if it is one particular game or all games? If it is just the games mentioned in the other link you have provided, can you just try with the following games and let me know how it goes?

Temple Run 2
Subway Surfer

The games you have mentioned Paradise Island and Dragon City are really heavy games!
Also do you play with the charger connected or disconnected? This was unclear from your question.

when charger is connected games don't crash, but with disconnected crash quick, but anyway i can't believe it should be possible to fully discharge battery in 10 minutes, no matter how heavy the game would be

Any chance you tried the games mentioned above?

@FolksLord it really sounds like you have a weak battery, which does not make a lot of sence for such a newer phone. Unless it was cooked (li-ion prefers room temps) or a knock-off , or the connection is not so good.  You could reconnect the battery, check the  connection points.

@AadiDroid I've played a bit Temple Run 2, about 10 minutes, without crash. About 10% battery is away.

You mean you lost only 10% of battery charge ?

@AadiDroid update: Temple Run 2 crashed in about 5 minutes, when I've switched to Usain Bolt (charger disconnected). Maybe I'll have to play only by charger connected....

Good battery test! Battery was bugged, after changing it the following games helped me to test it and make sure, a new one is good!


text:
Lots of "Input/output error" after connecting Samsung Galaxy S2 via USB
I'm trying to connect my Samsung Galaxy S2 (GT-9100, Android 2.3.4, I9100XXKI1) with my Linux box (Ubuntu 11.10 oneiric).
I'm using the USB storage mode (Settings ➔ Wireless and network ➔ USB utilities).
The device is recognized and two device nodes in /dev are created.
In the syslog, I see this output:
sd 9:0:0:1: [sdh] 62325760 512-byte logical blocks: (31.9 GB/29.7 GiB)
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 c8 00 00 08 00
end_request: I/O error, dev sdh, sector 1224
quiet_error: 98 callbacks suppressed
Buffer I/O error on device sdh, logical block 153
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
Buffer I/O error on device sdh, logical block 146
Buffer I/O error on device sdh, logical block 147
Buffer I/O error on device sdh, logical block 148
Buffer I/O error on device sdh, logical block 149
Buffer I/O error on device sdh, logical block 150
Buffer I/O error on device sdh, logical block 151
Buffer I/O error on device sdh, logical block 152
Buffer I/O error on device sdh, logical block 153
Buffer I/O error on device sdh, logical block 154
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
sd 9:0:0:0: [sdg] 24133632 512-byte logical blocks: (12.3 GB/11.5 GiB)
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:0: [sdg] Media Changed
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Unit Attention [current]
sd 9:0:0:0: [sdg]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 00 20 00 00 10 00
end_request: I/O error, dev sdg, sector 32
 sdg:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:0: [sdg] Media Changed
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Unit Attention [current]
sd 9:0:0:0: [sdg]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 00 20 00 00 48 00
end_request: I/O error, dev sdg, sector 32
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
quiet_error: 56 callbacks suppressed
Buffer I/O error on device sdh, logical block 146
Buffer I/O error on device sdh, logical block 147
Buffer I/O error on device sdh, logical block 148
Buffer I/O error on device sdh, logical block 149
Buffer I/O error on device sdh, logical block 150
Buffer I/O error on device sdh, logical block 151
Buffer I/O error on device sdh, logical block 152
Buffer I/O error on device sdh, logical block 153
Buffer I/O error on device sdh, logical block 154
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 01 a8 00 00 08 00
end_request: I/O error, dev sdg, sector 424
Buffer I/O error on device sdg, logical block 53
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 02 00 00 00 08 00
end_request: I/O error, dev sdg, sector 512
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 00 20 00 00 08 00
end_request: I/O error, dev sdg, sector 32
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 10 00 00 00 08 00
end_request: I/O error, dev sdg, sector 4096
sdg: detected capacity change from 12356419584 to 0
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 08 00
end_request: I/O error, dev sdh, sector 1168
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 00 18 00 00 08 00
end_request: I/O error, dev sdh, sector 24
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 00 18 00 00 08 00
end_request: I/O error, dev sdh, sector 24

When I try to list the root folder, I get:
ls: cannot access /media/3CB1-07D3/Samsung: Input/output error
ls: cannot access /media/3CB1-07D3/LOST.DIR: Input/output error
ls: cannot access /media/3CB1-07D3/external_sd: Input/output error
ls: cannot access /media/3CB1-07D3/usbStorage: Input/output error
...

I tried to reset the USB connection mode using PhoneUtil but that didn't help. I tried to manually mount the phone with the same result.
Then I tried to enable USB debugging. In this case, syslog says:
usb 1-1.5: new high speed USB device number 11 using ehci_hcd
scsi10 : usb-storage 1-1.5:1.0
Jan 11 10:24:23 host mtp-probe: checking bus 1, device 11: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5"
Jan 11 10:24:23 host mtp-probe: bus: 1, device: 11 was not an MTP device
cdc_acm 1-1.5:1.1: This device cannot do calls on its own. It is not a modem.
cdc_acm 1-1.5:1.1: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Jan 11 10:24:24 host modem-manager[1288]: <info>  (ttyACM0) opening serial port...
scsi 10:0:0:0: Direct-Access     Android    UMS Composite    00 PQ: 0 ANSI: 2
scsi 10:0:0:1: Direct-Access     Android    UMS Composite    00 PQ: 0 ANSI: 2
sd 10:0:0:0: Attached scsi generic sg7 type 0
sd 10:0:0:1: Attached scsi generic sg8 type 0
sd 10:0:0:0: [sdg] Attached SCSI removable disk
sd 10:0:0:1: [sdh] Attached SCSI removable disk

When trying to mount /dev/sdg, I get mount: no medium found on /dev/sdh
I dimly remember that this once worked using the USB storage mode. In the meantime, I installed a firmware update. Any idea what I could try next?
Unrelated questions:

Unable to mount Galaxy S2 on Debian Squeeze laptop as storage device: In my case, the device is recognized

Your Ubuntu is very outofdate. 12.03 12.10. 13.04. 13.10 14.04 are all newer versions of Ubuntu.Use 14.04 or newer when possible
Since 13 issues with my S2 sdcard are almost nonexistent

I don't have the phone anymore but I remember that since 13.xx, the USB connection worked most of the time. Of course, now I have an S4 and new problems (MTP support ;-)

@AaronDigulla Enable ums (universal mass storage I think) in settings storage.Ive this enabled and it works perfectly (but I dont know why I get option connect usb storage on android) but when USB debugging turned on (I reverse tether) I get a mtp error and i have to find it buried under windows and close it to access the phone storage on pc

@AaronDigulla HAHHAAHA LOL i just saw this is 2yrs old!

I'd need to root my device for UMS. I'm not that desperate, yet :-)

@AaronDigulla its worth rooting it

I barely remember similar symptoms caused by a defect SD-card but that doesn't explain the problems with both virtual devices. Did you try a different cable and a different USB-port on the computer side? Just to make sure the problem is not caused by a bad cable connection ...

Uups, should have checked the questions date first ... :-D

Hope you are enabling USB transfer mode in the S2 USB options. Works fine for me that way.
More settings > USB utilities > mass storage.

NOT IF usb debugging because of an mtp error message blocking you fromclicking open phone directory

source: Stack Exchange

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

sort: votes


text:
Does Adobe Reader on Android support search-by-whole-word?
I have an Acer Iconia Tab.
I would like to search some PDFs (RPG reference documents) for "whole words", as normal search doesn't properly find short words.
Is it possible with the Adobe Reader on Android? If so, how?
(Note: I just updated it a few days ago, and I can't seem to find any such option.)

Adobe Reader does not seem to have that feature.
Why not try ezPDF Reader? It supports whole word searches.

Thanks that was an excellent recommendation. ezPDF seems faster than Adobe Reader too.

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


text:
What file system for sdcard for KitKat
I have been searching the web and this website for information about the file systems supported by Android. I have not found anything though.
Since KitKat (Android 4.4), some changes have been applied regarding the access of the applications to the external SD cards. Many websites explain, pretty well, that this is due to Android offering read/write access control over the folders and FAT file system not offering this feature.
This is nice to know the cause but now I am interested in finding a solution. Not a workaround that involves an app or whatever, but I would like to know which file system I can format my sd card with and Android recognizes it. I vaguely read about EXT, but which version? Does Android work with EXT 3, 4?
By the way, I apologize if this has been asked, let me know the duplicate in that case.

Ext4 is supported in some versions (such as CM) but you want to use exFAT, since ext4 causes a permission hell.

This limitation is not due to the FAT filesystem : Since 4.4, Android only lets a special user group write on the card.
Your card could be in NTFS, or EXT or whatever more, you'll have the same problem.
The only way to bypass this limitation is to root your device, and install some 3rd party apps/patchs, or manuallay edit some files.

When you say "manually edit your files", does it involve that I can manually edit even a folder to give writing rights to some specific application? Do you have any idea how to do that (e.g. is a user group identified by a package name)?

No. What I want to mean is that to bypass the limitation you can (once you're rooted) :

apply some patch or 3rd party app which make some automatic modifications (https://play.google.com/store/apps/details?id=nextapp.sdfix here for example)
edit the system files manually (which will be the same result of the patch, but a little more tricky)

Android supports multiple file systems. Your problem is root access, as 4.4 has further restricted application access to SD memory. Root your phone and your problem is solved.


text:
APK won't install
I have a Moto X running Android 5.0.1 and can't install an APK that i've received on my e-mail from a developer on my company.
I already researched a bit about this and none of the similar problems nor solutions worked for me.
What happens in my case is that i downlaod the APK from the e-mail, then go to the Downlaod section and try to install it.

I can touch the "Install" button normally (no screen dimming app installed here) and the progress bar of the app being installed appears normally, as if the app was being installed.
The option that allows me to install APKs from unknowns sources is also activated (in fact i managed to install other apps on this same smartphone the same way before).

After the progress bar screen i get a message that says "The app wasn't installed" (the original message is in portuguese, this is the most literal translation) and that is it. There is no feedback, no error message, no nothing.
When i try to install the same app but from the Android Studio (running the project on the smartphone) it runs sucessfully, but when i compile it into an APK and send it to be downloaded and installed, it doesn't work.
Any thoughts?

Maybe some issues with your mail software/provider? If compiling and installing works locally (from Android Studio) then the app/apk is not the issue. I know from issues with Outlook (every attachment is a winmail.dat) as well as other mail providers.

This is similar to Google Play Store error code 505 regarding duplicate permission with different keystore on Lollipop, except you didn't get the error code since you installed the APK manually.

After further exploration I found out what the problem was. It has to do with the permissions declared inside the app.
I plugged my phone into PC for Android Studio and checked the logcat looking for the moment where the error appeared. Here it is:

02-05 15:38:50.828      929-970/? W/PackageManager﹕ Package motoboy.yellowlab.com.br.motoboy attempting to redeclare permission com.startPoint.gmap.MAPS_RECEIVE already owned by br.com.belaapp.profissional

It seems that since both apps want to use the same permission (com.startPoint.gmap.MAPS_RECEIVE) they can't be installed at the same time.
I just performed a test: I uninstalled the belapp.profissional app, then tried to install my APK from Downloads and it worked.
I also found this thread: Issue 1668:  Unknown error code during application install: 505. It seems to be an error with Android 5.0 where you can't have two apps which require the same permission, which is absurd.

Download from a website
If you downloaded the APK from a website and merely doesn't open in the File Manager, nor the browser see this issue,

Can not install apks from File Manager or browser?

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


text:
How to install Noto font on Android?
Google builds a beautiful font (Noto) for the world. How can I replace the system default font with the Noto font?

Does Android support new fonts?

As Per this site
Install gujarati fonts in Android

Google has finally added Gujarati fonts to Android 5.0 (Lollipop) in the Nexus line of phones. The fonts are called  Noto Sans Gujarati  and Noto Sans Gujarati UI and both come in regular and bold versions, though they are seemingly indistinguishable. Google still has to add Gujarati keyboard input though so we can type in Gujarati. Until then, SwiftKey Keyboard is currently offering a Gujarati input method. Images below show the Noto Sans Gujarati font displayed natively on my website. The third image shows the SwiftKey keyboar layout for Gujarati input.

 Note : you have to root your android device and it voids warranty from manufacturer


text:
What is bootloader?
So I have Samsung Galaxy SII Plus(Gt-I9105P)
It has Stock android 4.1.2.(rooted).
I wanted to flash Cynogen Mode 11 M12
To do that, they say that i need to flash boot loader 4.2.2.
link
What is it? I installed CWM when I rooted. Is that enough?
Should I install Android 4.2.2. before I install CM?

When you start your phone up you probably see a Samsung logo and an android logo...
Basically, The system that opens this up is called the boot loader and you need to unlock it to gain root access... This allows you to edit system files.
See http://www.all-things-android.com/content/understanding-android-file-hierarchy
It will help you understand what exactly root is. CM needs to unlock your bootloader because it needs to  modify android files at the core of your phone.
Hope this helps,
Rahul

Thx @rahul. Got the general idea. So, should i install 4.2.2 before i install 4.4.4? Does boot loader comes with os(android)? Should i install the boot loader alone?

No bootloader and OS are completely different things and should have no problem in skipping any version if you want and your device support it

@freedom, so what should I do to update to KK?

Flash their bootloader if that's necessary then flash the 4.4 system image for your device that you should have...if you don't know how to flash then go to xda you'll probably use odin for that

@freedom,got it... So i need to flah the bootloader(only boot loader) and then 4.4 .. Thx

If it helps, the order how Android usually starts is that (1) the power goes on, (2) the bootloader software is started, which (3) loads the kernel and the ramdisk (a mini bundle of files), which in turn (4) loads the rest of Android.  If the bootloader is locked, you can't replace the kernel/ramdisk or android itself because a locked bootloader checks to see if the kernel has been modified from the manufacturer's kernel, and if so, the bootloader usually stops the boot.  Unlocking the bootloader gives you the freedom to load your own kernel and your own Android.


text:
Is Samsung Push Service redundant?
I would assume the Android OS would handle Push Notifications for applications, since some phones are not Samsung phones. Can I safely disable this push service, and still get push notifications from non-Samsung related apps?

You can always try such conditions and states by using them on your phone. If another application would require the feature or service it would prompt you to activate it again.

Short answer
If there's no app using it, it should be safe. You can disable it and find out for yourself; but before really removing it (i.e. deleting the "service app"), you should be very sure. Though: if any app wants to use it, but you don't care about that app: as Samsung's push service isn't pre-installed on non-Samsung devices, the app should continue to work. You'd only no longer get those notifications then.
More detailed
To understand this, you will first need to know how push notifications work. I will outline this here in a simplified way:

the app that wishes to receive notifications registers with the local notification service on the device (and then can go to sleep)
that local service registers "in the name of the user" (verified by account) with the central service on the Internet (in your case, Samsung's servers)
long time ago, in another universe (kidding), the service sending out those notifications already had registered with the central server, and thus is known to it. So it sends its notifications there. The central service in turn notifies the (still listening) local service on your device, which in turn wakes the app and hands over the notification.

The idea behind it is not every app needs to be "awake and listening" all the time, but just a single "service" does. This saves battery, bandwidth, and other resources.
But now comes the culprit: apps have explicitly to support the given "notification service" – and there is more than one: Google's "GCM", Amazon's "ADM", Nokia, Samsung … No big deal if your apps support all of them and let you chose; but most times they only support one or maybe two of them.
So you need to be sure the apps you want those "cloud notifications" for support a service you have running. Usually you can tell that by taking a look at their permissions:

com.google.android.c2dm.permission.RECEIVE indicates the use of Google Cloud Messaging (GCM), dealt with by the Google Services Framework (GSF) – which is part of the Google-Apps-Package (GApps) usually pre-installed on most devices.
com.amazon.device.messaging.permission.RECEIVE points to Amazon's Device Messaging (ADM); not sure what is responsible here as "local service"
com.nokia.pushnotifications.permission.RECEIVE would be Nokia's corresponding service
(I currently don't know the permission for Samsung, but Samsung permissions usually start with com.sec.android)


text:
Space Issue on data directory Android using Galaxy Note
I am using Galaxy Note 1 and have 2GB of data directory in which i install and use thirdparty apps. But the data directory was almost always full, so I rooted my device to find out what was taking the space. i.e 500 MB is taken by apps and have 200 MB free but cant account for the Rest.
I have deleted stock apps from system/apps directory using no bloat but it dosent free space on data directory.
I know how to use adb shell but doing ls -l at every directory dosent sounds v good. How can i find out whats taking my space. And can we delete files in dalvik cache?

There is an app named Diskusage that I covered in this answer. It will help you to see App Data or any folder with apps/content sorted with file size. Alternatively, Titanium Backup or Storage Partitions can also help. Otherwise, answer by Jaskaranbir is already useful for understanding.

OMG Diskusage did it! I found out that my /data/log dir was 1 GB in size. Dont know why though but I have deleted all the TXT files there. Could you write a breif answer so I could accept it!

It seems that Diskusage did the job for the questioner  here. Diskusage can help you to analyze the usage of your storage in hierarchical format with intuitive and live diagram.
(Click any image to see its larger variant.)

Default screen would ask for the storage/directory you want to analyze:

You can select any directory under [Root required] for analysis if your device is rooted. For a normal user, the default analysis should be for App Storage, Storage Card and /storage/sdcardX. (Note that some options may differ for Android 4.4+ or 5.+.)
A live diagram for App Storage would look like:

Live diagram zoom in (select an entry and tap Show to open the Android Settings for the app) :

/system usage in my device:

Select an entry and tap Show to open it in default File manager into the the directory:

Diskusage app would do the trick, otherwise ES File Explorer, Titanium Backup and Storage Partitions can also show the diagram among other things, but they are not as easy and intuitive IMO as Diskusage is.

About Diskusage

DiskUsage provides a way to find files and directories on storage card which consume a lot of space. Displays diagram with directories/subdirectories proportional to their size.

If by "data" directory you mean internal storage, then it doesnt have anything to do much really with system apps. System apps use space from /system partition which you cannot use for storing normal data anyway. And whatever used/free space in this partition has nothing to do with your space in data partition (or space you can use, in other words).
Infact, /data/media/0 is whats used for storing personal files or as internal memory.
Now how to find out whats taking space. First, run the command adb shell df inside adb. This will list you the total space allotted to every partition. Out of this, you can use the space allotted to storage/emulated/0 or /data (names may change according to android version). Check there the amount of space allocated to data directory. Unless you repartition, you cannot gain any more space than this for storing personal files and downloading apps.

And can we delete files in dalvik cache?

Dont do it. Its useless. Dalvic cache has to be present for sure. Even if you delete it, it will be recreated with almost same size. So deleting this wont gain you much storage.
This leaves you with only two things that can use data, your apps and their cache, and your own data inside internal memory.
What can you try to free up space?

Most mainstream method, delete useless apps.
Try clearing cache (although it will be recreated, but sometimes there is cache of things that no longer exist or are needed, for instance deleted photos or play store cache or even themer apps cache).
Do not use any cleaner apps. They are hoax.
Remove useless files.
You can also try moving apps to external storage using apps like link2sd. But this may not work for Every app.

Hope this helps.

I know the df command what can i do to recursively get size of directories in my data partition? Because I have nearly 10 of the apps installed and they cant possibly be taking all 2GB.

All apps store data in /sdcard/Android/Data or /sdcard/Android/obb (for games) and /data/data (general app data). Either you can flsah a busybox zip and use "du" command in adb shell (there's no du in /system/xbin by default, but you can use busybox's du) or use the "ls -s /directoryName" command inside adb shell or twrp's built in terminal emulator on these directories to get a rough idea of memory usage by app. Ofcourse there could be better ways that exist, but this is what I know of.

Check insufficient-memory tag info, you may find some useful guides on how to free up your memory.
The most radical way, but also the most efficient (it fixes your storage in the long-term) is changing the partition table, by reducing the "internal SD card", and increasing /data partition. If you're wiling to take a risk, here's how to do it.

Good Idea, I think I should try to reduce usage of data dir first.


text:
Does Sony Bravia 2015 Android TV allow extending internal storage with a USB drive?
According to Android TV support, I can expand my internal storage by adding a USB storage device and formatting it using the TV's settings.

The USB drive can be configured as internal storage or removable storage:

Internal storage increases the storage capacity of the Android TV. If you choose to set the drive to Internal storage, you won't be able to move data to another Android TV or device.
Removable storage lets you move the content on the USB drive to another device. You can store and access digital content. Apps and games won't be installed on removable storage.

The first option is what I want for my new 55W809CBU that I bought recently.  The TV only has 8GB of built in storage, which I think will be decimated pretty quickly if I download some of the supported games.  However, when I insert the USB, I'm presented with an option of opening apps to make use of the storage, but I'm unable to format it accordingly when I visit Settings -> TV -> Storage & reset.
I've been unable to find out if this is a limitation of the 2015 Sony TV range or perhaps there's a problem with my USB stick?  I don't really have any other devices to hand to test the compatibility theory.

There is no problem with your USB. Use ES File Explorer or a PC to crosscheck. I have a Sony W950C model with latest android update installed. It doesn't show up USB drive in Storage & reset. May be we can expect this in future updates.You can still view Sony support page for KDL-55W809C to check if you have the latest version of Android.

Thanks, after scouring those support pages, I think lack of instructions on expanding the internal storage is sufficient evidence that the feature is not supported.  I've got a feeling that the instructions from Google are related to Android M's adaptable storage feature, so I think you might be right about waiting for a future update.

Contrary to Sony's advertising, extending internal memory using a USB stick DOES NOT WORK PROPERLY. Not since I upgraded to Android 7. A couple of firmware updates have passed since and this has not been addressed.

An answer like this which directly conflicts with the manufacturers information should have a verifiable source linked in the answer. Please update your answer with some kind of reliable verification.


text:
How to enable adb in bootloader mode?
Is it possible to enable adb in bootloader mode? I've already managed to enable it at boot following this, but couldn't figure out yet how to enable it in bootloader mode (if it is even possible?).
Does anyone have any idea?

Afraid that's not possible. Strictly speaking, Bootloader hasn't even anything to do with Android at all. You can have ADB with the "normal system" booted, and with Recovery (as both are running Android). But in Bootloader, there's no Android running (think of it as kind of boot-menu with update options, or "BIOS mode").

Does that count for download mode on Samsung devices too? I understand it's Samsung's version of bootloader mode; am I right? Is there any possibility to start a shell in bootloader/download mode similar to adb shell?

AFAIK yes, that's how Sammy calls it (they've got to do things different always, no idea why).

Do you know whether there is any way to start a shell in bootloader/download mode similar to adb shell?

As said, there is none in bootloader mode. As the name suggests, this is the mode prior to loading any OS. No OS, no shell.

That's not possible – as in Bootloader mode, there's no real OS loaded yet (see XDA Wiki and AddictiveTips). Quoting from AddictiveTips:

In literal terms, bootloader is code that is executed before any Operating System starts to run. The concept of bootloaders is universal to virtually all Operating systems that inculcates operating systems on your PC, laptop, smartphones, and other such devices. Bootloaders basically package the instructions to boot operating system kernel […]
Every Android phone has a bootloader that instructs the operating system kernel to boot normally.

(emphasis mine)
As there isn't any OS running yet in this mode (especially no Android), there's no ADB that can be run. That applies all the same to "Download mode" with Samsung devices, or HBoot with HTC (just different names for the same thing).


text:
WiFi drains battery even if it's off
On my Nexus 5, since Android updated to marshmallow, the Wi-Fi is draining the battery way too fast, even when disabled. See the screenshot:
(Click image to enlarge)

I've seen this question: Battery drain when wifi is off but since I've a very stable network, the answer doesn't fit my need.
I've disabled the Location, I doubt that the issue could come from here.
Where should I look next?
Edit:
The real question is in fact "How come that the WiFi usage bar is going from 100% until now even if Wi-Fi is Off?"

Okay, to address the points here:
Marshmallow doesn't have the option of Scanning Always Available as it was in Lollipop.
So, what to do?
Marshmallow still has these options, only now they are fragmented and redistributed. It is now under:

Settings → Google → Services → Location → 3-dot menu → Scanning → Wi-Fi scanning

Also, there are:

Settings → Wi-Fi → 3-dot menu → Advanced → Keep Wi-Fi on during sleep

and

Settings → Wi-Fi → 3-dot menu → Advanced → Network notification,

if you are paranoid about battery.

Location>3-dot menu->Scanning is not available when location is disabled, Keep Wi-Fi on during sleep is set to something like Only while charging (don't know the correct english menu) and Network notification is disabled on my device... Any other place to look for?

Enable location to access the option. You never know, it might be the same case with location as it is for WiFi

I've turned all if those off but it's staying on. Looks like a bug to me

This is most likely media related.
Devices on the network can be too chatty and try to constantly discover things and speak to each other non stop, keeping the wifi awake and active.
Two big culprits:

Spotify (uninstall or restrict all background activity?)
Google Home devices like the Mini (turn off "Let others control your cast media")

Also check out,
Settings -> Google -> Security -> Find my Device
this might also be a suspect
and,
Settings -> Google -> Device Connections -> Devices -> Show Notifications When devices are nearby
And then also,
Settings -> Passwords & security -> Privacy -> Location -> Google Location history
perhaps this is also scanning

Background:
I monitored the network traffic on the wifi network that the Redmi 6 running MiUi was connected to that has the drain issue.
It seems to be communicating constantly with a random laptop over the network.
It's keeping awake because of some Spotify traffic.
So I believe this is caused by media apps that try to do this whole shared network controls.
It can be related to other media devices on the network too.
There's a Google Home Mini on this network, which has this "allow other devices to control the media playback".
So turn off Spotify and Google Home devices and see if that helps.
The network broadcasting features must be draining and always keeping things awake.

Little notice for AOSP Marhsmallow (and Nougat?) users: the "more" vertical button will not appear whatsoever in the Location settings page.
It can still be accessed from toggled-off WiFi and Bluetooth settings ones, but once their scan is both off (and the "convenience tips" aren't shown anymore) there's no other code in the UI to access ScanningSettings.
The only existing method (and necessarily from a rooted phone, since SubSettings is not callable from unprivileged uids since Lollipop) is using adb shell "su -c 'am start -a android.intent.action.MAIN -n com.android.settings/com.android.settings.SubSettings -e :settings:show_fragment com.android.settings.location.ScanningSettings'"

This is what worked for me. I suspected the Wi-Fi was draining the battery way too fast because of an app called wireless update com.adups.fota. When I first got the phone it downloaded a large file and then restarted. If your phone is BLU, ZTE or Huawei but not limited to these brands, this is likely the problem. Apparently this is malware.
Here is what I did:

Factory reset.
Disable the above app (and rest of bloatware as well), but not through the settings as it will automatically be enabled again. You need adb shell. I followed these instructions: How to Uninstall Carrier/OEM Bloatware Without Root Access.


text:
How do I get dictionary suggestions while typing?

Possible Duplicate:
How to enable real text prediction for android / stock keyboard on LG optimus one?

I'm using android version 2.2.2 and the default keyboard (at least it appears as 'Android keyboard' in the configuration menu). I have suggestions enabled, but I only get autocomplete suggestions for my contacts, I don't get suggestions for common words. It doesn't really matter which language I choose for the input (portuguese or english).
The device is a LG Optimus One (P500h), and it came with another keyboard installed (called 'LG keyboard'). If I choose this keyboard as the input method, I get the suggestions. The problem is that this keyboard is really bad, and I like the default one.
Any suggestions will be greatly appreciated.

if you're willing to switch keyboards, you have several incredible options.

SwiftKey has (by far) the best word prediction so far, and tracks how much it improves your typing speed, which is around 30% for most people.
FlexT9 has some great features (including traceType, like Swype), and pretty good word prediction, but not quite up to par with SwiftKey.
TouchPal is supposed to be the next revolution in keyboards. It combines the first two strategies (word prediction and traceType) for incredibly fast input. As of now, it does not support traceType, only word prediction. But look for the update soon ;)

These are my favorites, the first two are paid and the last is free, but you might be able to find free or trial versions of the other two. Let us know if there's anything else we can clear up for you!


text:
Gingerbread on Samsung Galaxy Mini

Possible Duplicate:
When will my phone get the Android 2.3 update (Gingerbread)?

I recently bought Samsung Galaxy Mini with Froyo installed on it. Can any one tell me when can I get Gingerbread on it using Kies? I did not buy it from any operator. Also, I live in Pakistan (in case region matters for updates).
I do not have any experience of using Android before (though I have written a couple of apps for it :P ).

You could send a mail to Samsung Pakistan, and ask them.
The ROM for the Galaxy Mini (and every Samsung) has specific Samsung components (TouchWiz, Samsung Apps, etc). And comes with a language pack specific for each region. Eventually every provider can add his stuff.
So it is up to the combination Samsung and provider when (or if) a new version of Android is released.
I know of some friends that have been able to upgrade their provider branded phone to Gingerbread, while my non-branded phone does not have the update (yet).


text:
Is it possible to program on a Honeycomb tablet?

Possible Duplicate:
How can I do development on my Android device?

I was wondering if there are apps making it possible to program on an Android tablet?
I know it's not the best "work tool" out there, but I was wanting to get one, and was wondering if it's also possible to get some work done with it.

Is there some IDE app available for PHP or JavaScript?
Is it possible to program compiler based languages using some sort of IDE (like C++)?

This is essentially a subset of the dupe, which has more answers, so I think it's best to close this one.  Anyone who posted here should feel free to post their answers on the other question.

You asked for a compiler, or IDE, but I really don't think native code compilation is the way Android apps are intended to mostly work, so you're going against the grain asking for C/C++ compilers.  And since there is no JDK that is self-hosted, Java is probably out of the question too.
That being said you can still do programming, just not compiler based programming:
Part 1. This is kind of a flippant answer, but it's fun, anyways:
You can program in Commodore Basic using the Commodore 64 emulator (Frodo, I think it's called), available in the android market.  Of course you're limited to 38911 basic bytes free, and the syntax of "Commodore Basic 2.0".
It's not an IDE, in the modern sense, it's an interactive line-based BASIC interpreter.  It can be pretty fun though.  Command lines are actually really easy to use once you know what you're doing.
Part 2.  Android Scripting Environment. Much more serious and up to date capabilities including Lua, and perhaps Python.  Perhaps ASE might count as an IDE, depending on how you define IDE.  ASE appears to be pretty simple (a text entry widget, and menus to save and run scripts), but that's all you really need on a small mobile device.  ASE was thought of long before honeycomb tablets though, so the UI is optimized for smartphones, not tablets.

It should be noted that Google has substantially boosted Python support in ASE with their python-for-android project.

There's no fundamental reason why you cannot build a native C compiler for an android device, other than the limited performance and the hassles of adapting the compiler and all it depends on to work with an atypical C library or of bringing along the runtime of a standard C library not normally present on the device.

I didn't know about the scripting environment. Thanks!

Android (despite its Linux roots) is far from capable of running
  Eclipse IDE as is. Not only is the hardware inadequate for supporting
  such a large application, but Android lacks a full Java SE JVM (Dalvik
  is a subset) and SWT (Eclipse UI framework) implementation for native
  Android UI controls does not exist. On Linux, SWT implementations
  exist only for GTK and Motif.
You may be interested in project Orion, which is an effort at
  eclipse.org to create Eclipse-like experience in the browser. I
  understand that people have been able to use Orion from a mobile
  browser on devices such as the one on the iPad.
  Here's the link

This was an answer posted to a similar question on stackOverflow, being more directed at Eclipse, specifically.
It looks like, at this point, there are no IDEs available specifically for Android tablets.
On the other hand, it is possible to do a straight Linux install on most rooted tablets, which would allow you to run the Linux native application for an IDE like Eclipse. Be aware though that Linux is not designed for a tablet, so there are risks.

The best way (I think) is to run a vnc client from the tablet to a Linux/Windows box where you have your  development environnement already setup... I've seen some youtube clips about vnc and it's fast (on wifi at least)...


text:
Allow rotate into portrait mode but do not rotate external display
To avoid this question being flagged as a duplicate, I have included a list of similar questions at the end of this post with an explanation about why my question is different.  Please read these reasons before you flag this question as a duplicate!

I'm trying to work out how to get my Nexus 5, in portrait mode, to display on an external monitor, in portrait mode (connected via SlimPort/HDMI).
In landscape mode everything is fine:

However in portrait mode, the signal is still output as if it is meant to be displayed on a landscape screen, which doesn't work at all if the screen is in portrait mode:

You can see here that in both landscape and portrait mode the phone is outputting the same 1920x1080 signal, except in portrait mode the screen content is being rotated by the phone's GPU and displayed as a 607x1080 image in the middle of the 1920x1080 screen.  (It is not, as some people have suggested, outputting a 1080x1920 signal that the monitor is centering.  You can verify this because changing the phone between landscape and portrait shows a nice rotation animation and the monitor does not lose sync as it would if the resolution changed.)
Since the phone, when in portrait mode, is rotating the picture sent to the external display, I want to disable this, so it is just output as-is with no rotation.  This will of course appear wrong on a landscape monitor, but when you rotate that monitor into portrait mode it will be fine:

Is there any way to disable this rotation, so that an external display in portrait mode can display the phone's content when it too is in portrait mode?

Similar questions have been asked before, but none are after the same solution:

35402 - Show Fullscreen Portrait Layout with Miracast is very similar, except the question is about using Miracast wireless display whereas this question is about wired displays, in this case via SlimPort.
37887 - HDMI output mirroring in Portrait mode is asking how to prevent apps from being forced into landscape mode when an external display is connected - my question is about apps that do not get forced into landscape mode
67648 - How to change Android default-natural orientation? asks how to change the default rotation of an app, it has nothing to do with the image sent to an external monitor
100196 - Is there are way to change Android's default screen orientation? asks how to make apps default to landscape, as the external screen is landscape (in my question the external screen is in portrait)
101305 - Force portrait mode on device is about forcing a specific app into portrait mode, and is not about adjusting the picture sent to an external display

I cant get this to work. Does the accepted answer still work for you with Newer versions of android? If so, could you please exapand on the steps needed. Thank you

Yes I just tried it following the commands in the accepted answer with Android 6.0.1 and it works.  Unfortunately the signal that is output is only 1280x1024 so it still does not display properly on my 1920x1200 display (the screen is rotated correctly into portrait mode but there are black bars on the left and right of the portrait screen.)  As I mentioned in my comment on that answer, it only works if you are root, so I used the SSH Droid app to connect as root, then ran setprop persist... there so that I could see any error messages more clearly and be certain I was the root user.

Try these instructions, using a computer with adb installed and your phone connected:
Android Jelly Bean (4.2) locks HDMI rotation by default. You can unlock by the instruction of this commit.

Add special mirroring modes for demonstration purposes.

Assume rotation of HDMI display is portrait.
adb shell setprop persist.demo.hdmirotation portrait

Don't lock rotation while HDMI is plugged in.
adb shell setprop persist.demo.hdmirotationlock false

Hide secondary displays from apps but continue mirroring to them.
adb shell setprop persist.demo.singledisplay true

Source: https://community.freescale.com/docs/DOC-97740
 (note: link broken as of 2022 January)

It worked!  The change moved around a bit but it still exists in the latest Marshmallow code (see here) however you need to be root in order to add the persist.demo.hdmirotation property.  If you aren't the root user, you'll get an error when you try to set the property.  Only drawback is the output signal is 1280x1024 instead of 1920x1200, but at least it's rotated!  Next step is to figure out how to change resolution!

I cant get this to work. after sending the commands over adb android still assumes the monitor is in landscape orientation. Could you provide more step by step instructions please (also I didnt understand step 1). Or is this no longer working with android 6?

Try running the shell command getprop | grep demo to confirm that the values you have set have been stored correctly.

Not work for me on oneplus5 with Android 8.1.
I have check the code, all version(6.0~8.1) have persist.demo.hdmirotation Also try on LG G3, Nexus, all of these devices did not work.

I know this is an old post but I was just dealing with a similar issue but trying to cast the screen of a Pixel 2 device to a portrait screen and was running into a lot of issues. The main problem seems to be that Pixel 2 and 3 do not seem to support HDMI output so these properties do not solve the issue.
However, I was able to figure this out by following the link Malvineous posted in a comment above. Just below the code dealing with setting persist.demo.hdmirotation there is another setting called persist.demo.remoterotation as well as one called persist.demo.rotationlock. These were the key to getting a phone to cast in portrait mode to the screen. These settings seem to exist in both 8.0 and 9.0 versions of Android, though I downgraded my Pixel 2 to 8.0 in the process of trying to figure this out and have not tested on 9.0 yet.
To get to this point took several steps which are outlined below.

You need to unlock and root your phone (I used MagiskManager to help root and I found this guide very useful as it explains a little more in detail exactly what to do for those like me who had not done this before).
Using adb tool start the adb shell on your connected and rooted device adb shell
Activate superuser by entering su in shell (for me this had the additional step of going into MagiskManager and allowing SuperUser access to the shell).
Enter the following lines into the shell to create and set these properites:
setprop persist.demo.remoterotation portrait
setprop persist.demo.rotationlock false

Once that was set, I cast my Pixel 2's screen to a chromecast device and it was in the desired portrait orientation. I hope this helps anyone in the future trying to figure this out.

Should this work with a rooted samsung galaxy s20?  I set these properties successfully but the hdmi output still isn't displayed correctly on a portrait TV.

@chief7 I'm not sure it will work on a galaxy. I was specifically only working on the Pixel 2. It is an unofficially supported thing so it was a bit of a hack to get it to work. Perhaps combining the settings I have with the ones from the answer above? You might need to dig through the OS code and find any relevant settings that you could set.

@chonigman
Oneplus 7T with Android 11 type C dock to HDMI and these properties don't work sadly.
Dumpsys display (portrait - https://pastebin.com/fpx4Phyr)
Dumpsys display (landscape - https://pastebin.com/9QpQht05)
DisplayManager probably can help with remote rotation. Any clues?

@UtkarshNarainSrivastava Have you ever found a solution? I'm having the same issue with Android 11 on a Oneplus 7 Pro.


text:
MTP selected but PC doesn't show contents of external SD card
I have a Motorola G2. I'm unable to to access contents of external SD from PC. I chose  MTP option for USB configuration. I can access the internal storage but not the external storage. The latter is shown as blank, nothing to display in SD card – but it displays the size of SD card.
I already checked solutions available for SD card not showing files when connected to pc to no avail.
I also tried to clear the cache of media storage and external storage app from Settings › Apps.

Appears to be the same question: Unable to view SD card files on my computer

You still haven't said what your device is, or what type of storage (adopted or portable) ... It would be helpful

The simple way (for Lollipop and older versions): power down the Android device, remove the micro-SD, and connect it to the computer via a memory card reader.  Once you're done with whatever you're doing (copying music/photos, for instance), put the card back into the device and power back up.
As noted in comments, however, on Marshmallow, this only works if the storage is being used as "external"; if it's been "adopted" as internal storage, its contents can't be read except by the adopting device.

This will only work if it is setup as portable storage (external), if the card is setup as adopted storage (internal) it can't be read in a PC or other device, ever.

@acejavelin Thanks, that must be a new ability for Marshmallow; I don't see any way to do that with my Kit-Kat tablet or my Lollipop phone.

@ZeissIkon it is, Marshmallow can adopt external storage as internal storage,  but part of doing so encrypts it to that specific device

Good to know.  I'll edit my answer accordingly.

@ZeissIkon "The simple way (for Lollipop and older versions)" – doesn't match the question, as OP explicitly asked for "android 6.0" (also see the tag), which is neither Lollipop nor older ;) Apart from that it of course should still work on MM, as long as the card was not "adopted" as internal storage (see: adoptable-storage tag-wiki). Unfortunately, OP didn't leave information on how the card is used.

What about PTP ? Will the combined memories camera "merged" folder still accessible through a Windows or Linux file explorer ? (When the SD card is in adoptable storage mode)

@X.LINK Comments are not for extended or off-topic discussion, if you are having issues please research the topic and ask a new question if you have a specific question or issue.

@acejavelin my SD card is portable means external use only.


text:
Is there any browser that allows to view the source?

Possible Duplicate:
How do I view source in the Android browser?

I miss this feature. How to do that? Is it possible with the default browser?


text:
What are the security implications of using an app built "for debug"?
I've just come upon several .apk files hosted with Github projects which are "compiled for debug" (i.e. having application-debuggable set, which one can e.g. check using aapt dump badging /path/to/apk | grep debuggable. Not being an Android dev, I only have vague ideas what that is for (extended debugging via ADB) – but that's not the question here.
My question is from a pure end-user perspective: What are the (security) implications of installing/using such an app? What are the risks one must be aware of?
Of course I searched the web for hints on this, but again only got vague hints like "thou shalt not", and "for a release this should be switched off" – no reasons, no background. For that one could think "obviously no big deal" – but notes like Do spend some time thinking about the security implications for your users in this context (see this answer at SO) suggest differently.
Can anyone here provide some insights?

Related reading on Security.  Note that with web apps it can be more severe (potentially granting extra access and leaking many users' data at once), but overall it's similar to what I've said below -- there are definitely issues, but they are mostly potential side-effects rather than real holes.

Just a side-note, you can also check if an app is debuggable from Developer options - Select debug app (at least on Nexus stock ROM). Debuggable app's package is always shown on LogCat (compared to the empty package of release apps), making it easier to identify what it's doing (whether for developer, end-user, and attacker).

@AndrewT. Thanks for that explanation! I've often wondered how that configuration was to be interpreted. If that offers a possibility to "check the risk" (preferably without much dev knowledge), that would be good to know. Even better if one can switch the app's debug-flag off from there :)

@AndrewT. request for clarification: what do you mean by "always shown on LogCat"? Can you give a few more details on that? Does this only apply to "logcat via ADB", or does it get visible to other apps as well?

@MatthewRead Good pointer to check on Security, btw. Also see there: Disabling android application debug mode as a security practice – which makes it rather look an issue for the dev than for the user (though the latter might be affected as well afterwards, if a loop-hole was detected ;)

There aren't really any innate problems with running a debug app.  If someone grabs your unlocked phone, enables Developer Mode, and starts debugging they might be able to grab sensitive information from the app's memory slightly more easily — but that's not particularly realistic and easily countered with a lock screen.
Debug information will also make it harder to make use of security through obscurity, which we all know is not real security.  This obviously isn't even a factor when it comes to open-source apps, since they can simply inspect the source to find a flaw.
However, the specifics of what code paths you've added for debugging can definitely be security holes.  Maybe for testing and verification purposes, the debug version writes the user's password out to logcat when they sign in, for example.  There is a great deal of PII that could be exposed this way.
For an end user, all that you know is that it's probably more likely for an arbitrary app to leak information if it's a debug version.  Unless you are searching for it yourself, you're not likely to see it.  That's probably enough reason to avoid such apps — doubly so since a developer who doesn't know the difference between Release and Debug versions is probably not protecting your data very competently either.
Dan Hulme also made a good point in chat: A debug version probably won't be properly signed, meaning that it could be "upgraded" from a malicious source.  I would again presume this to be an unlikely occurrence, but it is another point against it.

Thanks, Matthew! So if asked by an average user: would you strongly discourage from using such an app, simply suggest to "be careful", or something in between?

@Izzy I would moderately advise against it.  Given the choice between debug vs. release, always choose release of course.  But if you've taken appropriate precautions like not using the same password elsewhere, and it's not something important like your e-mail/Twitter/banking/etc., then it's probably not going to end up being an issue.

"Given the choice between debug vs. release" I wouldn't need to ask :) Problem is, some projects there only offer a debug version, and have no presence in Playstore or on F-Droid. But the last sentence of your edit has a good point: the dev might have "left security holes in other places" too. So it's worth a "strong advice against" with this background – but not as strong as "willingly installing malware". Thanks again! I'll accept your answer then (still open for other insights, of course – like those from Andrew in his comment on my question itself :)

With Android 12, a ew aspect is added to this: adb backup no longer includes app data by default, unless the app was built "for debug". So actually, if your device is not rooted and you rely on adb backup for your backups (e.g. if you do not use Google's cloud backup, and your ROM has no support for Seedvault¹ built in), you might actually wish this to be set.
¹ Seedvault comes included e.g. with LineageOS since Android 10, and also with some other custom ROMs


text:
How to make Bluetooth tethering work?
I have a Samsung Galaxy S4 (Lollipop) and a Visual Elite Prestige 10Q tablet (Kit-Kat rooted with KingRoot), and I'd like to be able to use Bluetooth tethering to let the tablet share the phone's data connection.  Wifi tethering works fine, but it creates a heavy draw on the phone's battery to run both the cellular and wifi radio systems; as I understand it, Bluetooth uses much less battery than wifi (less power required to transmit, hence the shorter range).
Unfortunately, even though I went through the process in this answer the tablet was unable to see the internet connection via the phone.  The two devices are paired, and I've used the phone's Bluetooth for months to play music in my car.  How can I trouble shoot this and get the connection working?

As noted, the other question linked in the question above is very similar, but for older versions of Android.  I did finally manage to connect my phone and tablet after finding android weasel's answer to this question.  Apparently, the prompts and status messages are poorly designed, but once I understood what I was supposed to see, I got the connection working.  Now, I can tether my tablet to my phone in under a minute, and use the larger screen and keyboard online anywhere I have cell service.

As you mentioned you want to share Internet from Mobile to your tablet using your phone's Bluetooth tethering.
So first lets understand a little bit about Bluetooth services: A device which need to access internet via Bluetooth from other device should have Bluetooth PAN Service (BT Personal Area Networking) installed/enabled. While the device offering the internet should have the Bluetooth DUN Service (BT Dial-up-networking Service) installed/enabled.
How Connection is established:
Device with (with BT PAN) establish a wireless dialup connection by dialing a certain code (#99 for GSM devices & #777 for CDMA devices) required to make use of the modem of the internet providing device (equipped with BT DUN). If all goes well connection is established.
Your Case:
Since most of the mobile phones and tablets are only equipped with BT-DUN Service and not with BT-PAN Service.. Your tablet is not able to establish the internet connection using your phone's mobile data service. But they can however do other BT exchanges using BT FTP (file Transfer) BT Audio (for headphone/voice) etc.
Since most of the PC's and Laptop does have this BT PAN service enabled, they are able to use the BT tethering from devices offering it.
Solution for You:
The most hassle free and easiest solution for you is to use Mobile Phone's WiFi Hotspot for sharing internet to your tablet. this should work well, provided u arent using a illegally unlocked phone (as hotspot functionality gets disabled in some unlock cases like this)
Hope that answer your query. If you still require any help feel free to let us know, we are always here to help :)

As noted in the question, the phone has BT tethering installed, and the tablet is paired and recognizes the phone, allowing me to go through the process in the answer to the linked question.

Obviously I know your phone has BT Tethering Installed.. Thou it was too descriptive, you still didn't even tried to understand what was explained in my answer, about the various BT services & their dependencies. I've marked it clearly with technical facts, why its not possible using it on tablet. As you repeatedly mentioned that "devices are paired" So, dude, pairing is just an allowance from devices to device to be able to connect various offered BT services.
One should think twice before marking a technically appropriate answer as (-ive) that too just because they didn't understood it :(

"why it's not possible using it on tablet."  And you obviously didn't read my own answer above -- which said I got it working after I understood what the check boxes on the tablet side actually did.  There are multiple reasons to prefer BT tethering over wifi from a phone hotspot, and your only solution is to use wifi instead.


text:
How to fix a sudden increase in battery drain?
My Moto G phone (3rd gen; Android 6.0) used to charge rapidly and last over a day. I upgraded it from Lollipop to Marshmallow in mid-February and it still performed well. However, for the past 3 weeks or so, its battery life has suddenly pretty much halved. It also gets warm to the touch even when left alone!
I'm familiar with general tips for increasing battery life, such as those provided by Motorola or on this site. From looking in GSAM Battery Monitor and Settings → Battery the most likely culprits seem to be Google Play Services and/or Google Calendar. But battery drain is still high even after denying all but the Calendar permission to Google Calendar; and it's not obvious how to configure Google Play Services.
If anyone knows of a solution that doesn't involve rooting the device I'd be very grateful. Or do I just have to wait for Google to release a bug fix?

Android 6 auto backs up app+ app data or is supposed to. Try disabling that to see if it helps. I don't have that OS to tell you how exactly, but that linked article should help

Also, use the Battery monitor to check if any app is using 50%+ of the battery. Disable anything that is not system core, and that uses triple to quintuple times the charge everything else uses.

I've since discovered then when I boot the phone in Safe mode the battery consumption is much lower, suggesting that at least one third-party app is to blame. This is despite Settings > Battery saying Google Calendar is the worst offender. It looks like the third-party app is using Google Play Services. I'm gradually uninstalling blocks of apps and observing the effect on battery life. I'll post a full answer once I've isolated the culprit(s). I use App Detective to list my apps in the order I installed them.

Struggling to get to the bottom of this. Each time I think I've arrived at a set of apps with low battery consumption, rapid battery drain suddenly sets in some time later! I've reported Google Calendar's apparently high battery consumption to Google. (This happens even when I don't open the app!) I might have to cull most of my apps or even do a factory reset soon...

I tried lots of things but in the end only a factory data reset of the phone worked.
Before I did the reset the battery drain looked like this in Settings > Battery:

The shallow gradient was when I booted the phone in safe mode. This at least suggested the issue was likely to to with one or more apps rather than something inherently wrong with the phone.
GSam Battery Monitor wasn't much use. All it told me was that Google Services or Google Play Services was draining the battery but it didn't tell me which app(s) were causing that.
So I opted for a factory reset of the phone data and installed apps manually, just one or two at a time, watching the battery drain in Settings > Battery to make sure the newly installed app wasn't suddenly increasing battery drain. I'd wait at least 12 hours before installing another one or two apps. So this approach takes a lot of patience and isn't very practical if you use your phone for many things in the mean time. But now my battery life has increased from just half a day to 4 to 5 days...

I don't know whether this could've been fixed without a factory reset, or what app or setting caused the battery drain to increase suddenly in the first place. Ideally there would be some way of getting a breakdown of battery drain within Google (Play) Services due to different apps invoking it.

I have the exact same problem (Google Calendar seemingly draining a lot of battery), and I yet haven't found a solution. Does anyone else have another suggestion? I would like to avoid the factory reset.

Try disabling the Google Calendar app. That worked for me when battery drain increased suddenly again for me the other day. Obviously that means you won't be able to use the Calendar app but that's not a problem for me.

How do I disable it? And since I do use it, I guess I just can temporarily use another calendar app (and see if that one drains the battery too)

Settings > Apps > Calendar > Disable. That's on my Android 6.0 Moto G 3rd gen phone. Unfortunately you can't uninstall it because it's one of the pre-installed Google apps.

Sounds like similar problem that I had, battery drain started happening for my huawei p9 a few days ago all of a sudden, no apparent cause. Google Play Services top battery user but also a variety of other apps. In the end a suggestion to turn off automatic app updates solved the problem for me (after I had done general cleanup and os upgrade which had not solved problem).

Are you rooted or okay with rooting? Do you have Xposed Installer installed or okay with installing Xposed Installer?
If so, you can get Amplify from http://amplifyandroid.com/. The app basically lists all of the wakelocks and alarms (not alarms that humans use) that cause wakelocks and tells you how many times it woke the system and for how long. From there you can start delaying the alarms/wakelocks to increase battery life. Amplify dramatically increased my idle battery life.

Thanks for the tip; but I wanted a solution that didn't involve rooting the phone. Good to know Amplify is an option though...


text:
OPO stuck in "Erasing..." while unlocking bootloader
I've been following this guide about rooting my OnePlus One. All seemed fine - adb was good, fastboot as well - and I reached point 6.1. Typed in fastboot oem unlock and got this output:
...
OKAY [  0.023s]
finished. total time: 0.025s

Then my phone went into the "Erasing..." screen (where the android dangles his antennas) and has been stuck there for the past 50 minutes. I'm honestly unsure about what to do? Has anyone experienced something similar?

Boot into recovery mode and do factory reset if  data wipe didn't complete.

Just reboot the device; at this point there's no harm that can be done since the data was being wiped anyways.

Just wanted to say that after a while, that's what I did and the phone booted without any issue with data properly erased.

Few observations to this problem a) it could be caused by full disk encryption b) fastboot oem unlock is not supposed to automatically restart, it should wait for your fastboot restart c) both fastboot wipe and manual wipe may get stuck. I would recommend you to hard reset phone after waiting for 20 minutes and manually wipe from recovery. Repeat until you boot to clean system. Worked for me.

I entered fastboot restart, and get the message: < waiting for any device >. I held in the power button for 10 seconds, and a menu with 4 options appeared. I chose the first option, and my old Cyanogenmod rebooted.


text:
Is music bought from Google Play Music DRM-free?
It is clear to me that with a subscription to Google Play Music you can only play "your" music (either online or offline) with Google Play Music player (see Google music: offline listening after subscription expires?). De facto, music is not actually yours: you just own the right to listen to it.
What is not clear to me, and I have not been able to find an answer for, is: what if I actually buy a track on Google Play Store? Can I move the MP3 to any "dumb" MP3 player and listen at it there? In other words: is it DRM-free?

It is not DRM protected
source:

Is Music Bought on Google Music DRM-Protected? where the first post in reply talks of user deploying purchased app to Dropbox for unlimited use

and

Does It Matter Where I Buy My Music? shows music purchased from any app store can be played on any other platform or device, which is only possible if there is no DRM

The song is yours. Simply install Music Manager for Google Play Music on your computer to download your songs. I think it's also possible from the website just haven't tried that.

Note that they do put a secret tag on their files, which restricts adding it to other Google Play accounts. Say, for example, you change your email address, they don't give you the ability to move it or share it with users in your own household.
You need to get and install eyed3, which does take a little technical expertise, and run this command:
eyeD3.exe --remove-frame PRIV ./

I tried looking and deleting it using a UI, such as Foobar2000 with it's advanced tools, but it still didn't see that tag.


text:
Okay Google Everywhere options missing from Google Now
My question is exactly the same as the question in Wizek's post, which went unanswered, namely that I woke up this morning and all but one of my "Okay Google" options had disappeared. I contacted Google via Project Fi's customer service and they told me they would put an engineer on it and see if they could figure out what went wrong. Very helpful. However, I'm wondering if anyone in the community has managed to solve this problem (I have a nexus 5X)?
One thought I have is to do a nandroid backup and then completely reset the device using {fastboot format userdata}, but if anyone has any less nuclear ideas I would love to hear them!

Just flash Nexus GApps again. That should fix permissions or add possibly missing files which are causing trouble.

This WORKED. I used Open Gapps. I will let the Googler I opened a ticket with know! Thanks!

I knew that will work cause you cannot activate nuclear codes to destroy world by this method


text:
Platform Certificate
I am resigning apps on a system image in a manner similar to : Resigning System Image on a Device.
What I am trying to figure out is how Android verify these apks. In the standard android build the platform cert is selfsigned: platform.x509.pem.
I guess and hope this certificate is deployed as a file somewhere on the device.
For instance in my test system image framework-res.apk is signed with a selfsigned certificate with the serial number d20995a79c0daad6 but this certificate is no where to be found in /system/etc/security/cacerts.
My question is how is the platform certificate known to Android assuming it is not hardocded somewhere.
EDIT #1: I pasted the subject key id instead of the serial number.
EDIT #2: I searched the entire image for PEM encoded certificates, found some but still no platform cert. Searched for the DER encoding of the serial number too but without luck.

I was finally able to identify and ultimately change the platform certificate on an emulator and a test device by patching the following files:

/data/system/packages.xml

Contains a hexdump of the DER encoded platform certificate
Contains the PEM encoded public key of the platform certificate

/system/etc/security/mac_permission.xml

Contains a hexdump of the DER encoded platform certificate


text:
Wifi Error when turning on

Possible Duplicate:
How can I fix the WiFi button or prevent WiFi errors when turning it off and back on?

After I turn on my phone (a Samsung Galaxy I551) the wifi works great. After some times of turning it on and off it gets screwed and when I try to turn it on it displays "Error", without any further specifications. I found a lot in some forums but I couldn't really get any solution.
It is really annoying because I generally don't turn off my phone so now I have to reboot it frequently.
I can't relate this with the opening of some app or something like that :(
Thanks for any help!
Diego

Unfortunately the dupe doesn't have a good workaround, hopefully someone figures it out eventually.

It's not duplicated. For me once it showed Error message, I can't turn it on again until reboot, not even from Settings

I've had that happen before too.  I'll update my question.

I've finally found a workaround to this issue (which ALWAYS required me to do a restart). See here: http://android.stackexchange.com/a/56206/4336


text:
Screen overlay detected, what is the problem?
I wanted to open a picture sent by a friend in the Sketch app in order to highlight something and send it back. The app didn't have permission to access the file system. A popup appeared. I clicked "Allow", then, "Screen overlay detected" appeared and it just wouldn't let me through.
Now, I've read that I can disable screen overlay, add the permissions, and then re-enable it, but I don't feel like going through all my apps to see what permissions they need, neither I feel like disabling & enabling this every time I need to allow something.
Is there any reason why Google did this?   I guess there must be a serious security concern, since this is very user unfriendly, but I have no idea what that could be.
See the pictures in the following question for examples of the problem

Places to disable screen overlays: http://android.stackexchange.com/questions/154274/screen-overlay-detected-dialog-turned-off-everything-doesnt-work/157029#157029

This is to prevent 'Tapjacking'.

It works in a surprisingly simple way – you download an application and open it, which triggers the installation of a second, this time malicious, application. Then, when you press a button on the seemingly innocent application, you are actually clicking a button on the malicious application that is hidden within it. So, as its name suggests, the trap is in the tap.
So, imagine this scenario. You have downloaded an application and on the main screen there is a button that says “Start Game”. You click it to begin but, unbeknownst to you, this has triggered the downloading of the dangerous malware. On the next screen you continue clicking away, oblivious to the dangers, and without realizing you have accepted the terms and conditions of the dangerous malware that has hidden itself on your cellphone.

Source
So when Android detects an app is appearing as an overlay it prevents the user from granting permissions or clicking on install when sideloading an app (and possibly more scenarios).
An app developer can opt into this behaviour if the user is doing something that needs to be secure:

Sometimes it is essential that an application be able to verify that an action is being performed with the full knowledge and consent of the user, such as granting a permission request, making a purchase or clicking on an advertisement. Unfortunately, a malicious application could try to spoof the user into performing these actions, unaware, by concealing the intended purpose of the view. As a remedy, the framework offers a touch filtering mechanism that can be used to improve the security of views that provide access to sensitive functionality.

Source

I'm posting this for the handful of people I've seen experiencing the same issue I had, which seems to be a bug related to initial setup in M. Summary: try a restart.
In trying to give an app permissions, I hit the "screen overlay detected" warning. Switching all screen overlay permissions to off (including system ones) did nothing. To my knowledge I have no overlay that would be causing this issue either--e.g. no screen filter apps. I manually gave the relevant app the permission it wanted, which prevented it from asking for permissions, but even then it hung saying "loading". It seems the screen overlay problem was just a symptom of a deeper issue, in which case it makes sense the standard fixes didn't work.
Anyway, I had just installed the phone and hadn't yet restarted it. After a restart, the screen overlay message didn't show up, I was able to give the app permissions normally, and it started immediately.
[I'd post this on this thread which is obviously more appropriate, but it's protected and I don't have the rep.]

Restart did not help me with the warning.  Switching all screen overlay permissions to off did not either.

I turned on two debugging tools to show me where the user touches.  One or both of these are implemented via Screen Overlays, so I have to turn them off, and stop debugging, until the settings changes are complete...
On Android 6.0.1
Turn off Android Settings/System/Developer Options/Pointer location
And you might need to turn off "Show touches" as well, same location...


text:
Are there any background data limits on Android API < 21?
As I know Android has two ways to stop the background networking:

Restrict background data - user can turn off the background data on any application

Power Saver Mode - stops the background data on all processes
As I know Android API 21 introduced a Power Saving Mode and access to a  PowerManager from the code to check if it's on or off.

I have two questions:

Is there something else that can stop the background networking in
Android? Any feature that user can enable?
How does background
data work before the API 21 when there isn't any Power Saver? Does
it have any limits?

From my experience, Battery Saver works in a pretty simple fashion. Its for background data was to simply disable any application that uses background data when the battery falls below a certain level.
In such a scenario, applications such as email, social networking applications will not sync in the background unless they are brought into the foreground i.e. explicitly opened.

Is there something else that can stop the background networking in Android? Any feature that user can enable?

Before Android 6.0, Marshmallow, there was not a clear way for stock users looking to set per app profiles for data control.
The only way to enable the granular permissions were through enabling root for the device. And then with an app like App Ops, users can define permissions for individual applications - e.g. disabling background networking for Instagram.
Other apps such as Tasker, work on conditional logic - e.g. disabling background data for certain apps when the screen is off.

How does background data work before the API 21 when there isn't any Power Saver? Does it have any limits?

Android before Lollipop, before API 21, had no inherent mechanism to limit background data.
There is a thread on Reddit which query the very same question.
The main reasons I managed to gather were:
- Hardware Compliance.
Older models might not have the ability to introduce such a feature without a) impacting performance b) causing software issues.
- Android is built on Linux.
With Linux kernels, there is very little benefit to incorporate power saving features due to the method in which the kernel and system was designed. Linux, after all, was not a mainstream operating system. To many, Linux was only deployed in environments such as server configurations or mainframes where power was plentiful.
- OEM Inbuilt Power Saving.
With most Android devices being pushed out by
   other OEMs and not by Google, the OEM firmware often comes coupled
   with a power saving feature. Google might not have seen the need to
   come out with an inhouse solution then.


text:
SIM card undetected after adb reboot recovery
My SIM and SD cards are not detected by the phone (One Plus X) after I did this command : adb reboot recovery and then escape it with a hard reboot (pressing volume UP and lock button)
I tried to restore the phone to factory parameters, but it did not work.
Is there something I did wrong at this point ?
Now I've found a topic similar to mine : SIM Card not detected after failed recovery flash but it's seems solve by using an undocumented file.
I've tried to root my phone, but could this process solve my case ? How to unroot the One Plus X

My sim was the source of the problem. I changed it and my problem was solved.


text:
Where to get or create an Android Lollipop iso for x64 environment?
My question is simular to this question about iso for x86.
I am looking to dual-boot my Lenovo Yoga 3 pro with Android L and I need an x64 iso.
I can not use an x86 as it is not able to install to my hard disk partitioned with GPT.
Where can I find an Andorid L x64 iso?
I am willing to try to create an iso on my own. Does anyone know how to do this?

To get Android Lollipop or another flavor of Android on your x64 laptop I recommend to use an Android disto called RemixOS. They have 64-bit support. There is another Android project called Phoenix OS that is similar but only x86.


text:
developed apk installed in bluestacks lost lower part
I installed an app-invenetor2 developed app, then installed it to bluestacks.
I cannot see the lower part of the app. I've
tried to adjust the resolution of bluestacks using methods suggested by How do I increase the resolution of BlueStacks?, especially the height from 400 to 1800. But it's failed.
Although the height of bluestacks window is increased, the lower part of installed app didn't appear.
How to see that lower part of the app?

Can you provide a screenshot?

Lower part just disappear. Even I set the screen to be Portrait type.

I've tried it out. Just clicked "Change app size" on the left of BlueStacks to turn Tablet screen(Landscape) to Smartphone screen(Portrait), and it's done.


text:
Android Phone's Homescreen Shortcut to File on OneDrive
I would like to put a shortcut on my Android phone's homescreen to a Word document file on OneDrive. When I touch the shortcut, the Microsoft Word app should open and allow for editing the file. If I save in Word, then the document should be uploaded to OneDrive online storage.
The OneDrive app allows me to put a shortcut (widget) to a folder but not a file. ES File Explorer allows me to put a shortcut to a file stored locally on the phone but not on a file stored on OneDrive.
I figure I need to download an app. Which app will work?
This question is similar except it is for Google Drive.

I'm coming from Windows world. In WP8 we could do it. With Windows 10 mobile we can pin only OneDrive folders but better than nothing. And now I think it's time to move to Android but this is a huge regression. Bad user experience...

It is possible to add a shortcut to your desired document on the Android Home Screen. To do this however, you have to have the Microsoft Office Apps, like Word and Excell installed. Then open Word and locate your document either locally or in One Drive. Click the three dots next to the document and select add to Home Screen.

And what if it's not a Microsoft Office document?

Sure you can. Add a widget and select the folder you want, then Pin it.
Source: 10 Tricks to Make Yourself a OneDrive Master

If you have the Microsoft Edge browser then you get good integration with Office apps.

Get the url for the document by sharing it with some app or other.
Open the url in Edge.
Click the 'add to device' button.


text:
Does updating to 2.3 fix Galaxy S' lag issue?
As title. The lag issue I am talking about is the notorious "RFS lag" as explained here, and is also refered to here and here

Although they didn't change the file system, they did make improvements and I'm personally noticing significantly less lag on 2.3.3 coming from 2.2.

2.2.1 was the big lag fix release on the Galaxy S, that made a huge difference to the device's speed compared to the previous 2.1 and 2.2 releases.
To me, the Gingerbread 2.3.3 feels very much the same to me as 2.2.1 did.

From techie-buzz.com:

[O]ne major disappointment with this firmware is that it still uses the RFS file system. The RFS FS is the major culprit behind all the lags and stalling issues which majority of the Galaxy S owners face.

If you want to fix your lag I recommend an Ext4 lagfix.  If you flash a kernel such as Voodoo with Odin, you don't even need to root first (note that flashing it will void your warranty anyways though).  This guide describes the process for an Android 2.3.4 kernel for the SGS GT-i9000.
I use Voodoo on my SGS Vibrant and it's awesome.

Note that flashing Voodoo will automatically root your phone, not including installing the superuser apk from the market.

@Nathan Hmm, really? How? I'm trying to unpack the kernel zImage without much success but from what I understand it's supposed to write to a specific block of storage (so the flashing itself can't root) and I don't see why supercurio would add code in the kernel to root the phone.

This is in the guide you linked to: "François Simond a.k.a supercurio the founder of project-voodoo for Galaxy S devices has created a kernel based on ext4 with custom recovery menu and root(you need to install superuser app from market)." (emphasis by Nathan)

@Nathan My bad, I should have read that more carefully. I'll try testing later to confirm one way or the other.  Thanks!

Does this have other consequences? It looks like you are recommending installing a whole new OS. Will it remove features from Samsung, like Samsung Apps, Samsung-specific menus, etc?

@Louis No, I'm recommending installing a kernel. Supercurio provides stock kernels that are modified to support an ext4 filesystem, that is all. Thanks for bumping this though, I had forgotten to test; favorited the question for later.

@Nathan I just tested on stock KB5 on my Vibrant. I flashed the stock+Voodoo-Froyo-T959-UVKB5 kernel and it worked, yet my system is not rooted.  I do not have busybox, su, or the SuperUser app.

So I'll still have Samsung stock UI and apps? What does installing a kernel exactly do?

@Louis It's similar to installing a kernel on Linux.  The kernel provides system functions, it's the core of the OS.  The most noticeable change between kernels is normally battery life and speed, it definitely doesn't affect apps or your launcher.


text:
How to upgrade to Android 2.3 from 2.2?

Possible Duplicate:
How do I update the OS in my device?

I own a Sidekick 4g currently running Android 2.2 (Froyo) and I want to upgrade to 2.3 (Gingerbread) to use my front camera on video chat with family on Skype. How do I upgrade my Sidekick?

Have you heard of an official, or unofficial, update to 2.3? The sidekick uses another "custom" version of android by samsung, and they haven't even rolled out TouchWiz Gingerbread to their Galaxy S devices yet, officially.

If there is an official update to Android 2.3 (check the post on Gingerbread updates) then you'll get a notice on your phone (eventually). Just follow the instructions.
If there's not an official update and you don't want to wait for one, you'll need to root your phone and install a Custom ROM.


text:
My HTC Desire Keeps Overheating, what can I do to stop this?

Possible Duplicate:
How can I prevent my HTC Desire from overheating?

I've just purchase a HTC Desire and after about 10mins of using it, it will overheat and crash onto the opening green HTC logo which you get when you turn the phone on. What can I do to prevent the phone from overheating?

How do you know it's overheating?  (And since you just purchased it, can you return it?)

Because the lower back of my phone gets really hot then crashes.

I suppose your best bet is to return the phone, since you have just bought it!
It is normal for all phones to heat up when using hardware resources like Camera or GPS, it is not normal to crash recurrently after a simple 10 minutes usage.
You can check some information about battery conditions using the dial code ##4636##
One last thought: Does it happen all the time? I mean, sometimes it is hard to reproduce some kind of error or behaviour to the vendor because of its uncertainty and they might distrust you. But if you had just bought it, that should not be a problem.
Cheers

If the Desire is on T-Mobile, there was a very long support thread with folks reporting unusually high battery drain around the time this question was asked. The workaround seems to force usage 2G networks (EDGE or GPRS) as the problem seems to be with all phones on T-Mobile that talk 3G, not just Android phones.
(This doesn't affect me, as I'm on AT&T I can't do better than 2G anyway. My T-Mobile prepaid backup phone has no data plan, so isn't affected either.)


text:
How configure more than 5 multi-users
I have a Lenovo Tab3 10 running Android M. It allows to configure multiple users but no more than 5 (including guest user).
Is there a way how to enhance the limit to configure more users?
5 multiple users could be enough for me but the 5th one is reserved to guest user. I've tried to disable guest user feature with no effect. There is still guest user that allocates 1 of 5 multi-user slots.

The maximum number of users is defined in a resource overlay defined by device manufacturer. The resource is named config_multiuserMaximumUsers. Check in Device Administration doc: Multi User. This is manageable via APIs.

Does it mean I'm able to change it to for example to 6 without rooting the phone?

Nop ! Not immediatly at least. In order to change such config values, you need to be root, actually you should even need to rebuild the firmware because a resource overlay is a build object that will modify several underlying resources in the firmware (not sure how exactly for the multi-user feature). It should be possible to change it at runtime, I didn't yet had a look at it.

Edit your build.prop file using the build.prop app or root browser and add the following at the bottom:
fw.max_users=9001

Change 9001 to as many users you want to have support for.


text:
ADB Sideload Password Reset on Samsung Galaxy J3 2016 on Sprint?
My Problem
A few days ago, I forgot my 3 by 3 pattern password and backup pin for my Samsung Galaxy J3 2016 (using the default home and lock screen). I don’t want to factory reset or flash a custom recovery, because I still have my warranty and I don’t want to risk bricking. One post states that in  “Apply Update from ADB”, commands can be executed via a ‘updater-script’ in an update.zip file. Can I use that  to mount enough partitions and access enough commands to follow a password reset tutorial? (Like this one?) Is there a zip ready-made for that purpose?
Unavailable Options

The phone runs Marshmallow. No Google-Account unlock.
Android Device Manager will not replace the current password.
I do not have a Samsung Account. No using findmymobile.
I have not enabled ADB normally, when the phone is fully booted.
‘ADB devices’ does not show my phone when in recovery unless I use “Apply Update from ADB”.
I  cannot use ‘fastboot boot’ or any other fastboot command, as Samsung phones only have ODIN Mode.
I don’t want to use Odin or Heimdall, as they seem to be unstable and risky.
Kies3 can’t unlock my phone, but it will see it when locked and fully booted.

You can't expect that - even though ADB sideloading is possible, the zip still has to officially signed, which is of course not the case for anything we create.

@AndyYan I forgot about that, thanks. I would assume then that only custom recoveries allow me to  flash any zip I want? Know any other ways to reset a password without wipe?

None I know of - wait for others to answer.

I ended up just factory resetting it. Thanks for the information, @AndyYan.