text:
What is /storage/emulated/0/?
Recently, I've figured out that if I delete files from /sdcard/Download it deletes files from /storage/emulated/0/Download. And if I add the files into /sdcard/Download it duplicates them in /storage/emulated/0/Download.
So what is /storage/emulated/0/? For what purposes do we have it in our android file system?

/storage/emulated/0/Download is the actual path to the files.
/sdcard/Download is a symlink to the actual path of /storage/emulated/0/Download
However, the actual files are located in the filesystem in /data/media, which is then mounted to /storage/emulated/0 (and often other mountpoints as well)
A Symlink In computing, a symbolic link is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution. Symbolic links were already present by 1978 in minicomputer operating systems from DEC and Data General's RDOS.

This answer would be better if it explained a little bit about why it's "emulated". I believe Android does some hack to fake a FAT fs that's actually backed by something better, but I don't know the details and clicked this question hoping to learn something new.

@R.. the "emulated" IMHO points to the fact that it's an "emulated SD card" (not a real one).

@R.. It uses SDCardFS. Here's an excellent article about it: https://www.xda-developers.com/diving-into-sdcardfs-how-googles-fuse-replacement-will-reduce-io-overhead/ (archive)

/storage/emulated/0/ is actually /data/media/0/ exposed through an emulated / virtual filesystem, not the actual one.
This is with reference to my previous answer here, but with more relevant details.
ANDROID STORAGE:
On Android 5:
/sdcard >S> /storage/emulated/legacy >S> /mnt/shell/emulated/0
/mnt/shell/emulated >E> /data/media

On Android 6+:
# for (Java) Android apps (running inside zygote virtual machine)
# "/storage to VIEW" bind mount is inside a separate mount namespace for every app
/sdcard >S> /storage/self/primary
/storage/self >B> /mnt/user/USER-ID
/mnt/user/USER-ID/primary >S> /storage/emulated/USER-ID
/storage/emulated >B> /mnt/runtime/VIEW/emulated
/mnt/runtime/VIEW/emulated >E> /data/media

# for services/daemons/processes in root/global namespace (VIEW = default)
/sdcard >S> /storage/self/primary
/storage >B> /mnt/runtime/default
/mnt/runtime/default/self/primary >S> /mnt/user/USER-ID/primary
/mnt/user/USER-ID/primary >S> /storage/emulated/USER-ID
/storage/emulated >B> /mnt/runtime/default/emulated
/mnt/runtime/default/emulated >E> /data/media

* >S> for symlink, >E> for emulated and >B> for bind mount
* USER-ID of current user in case of Multiple Users or Work Profile, normally 0 i.e. that of device owner
* VIEW is one of read (for apps with permission.READ_EXTERNAL_STORAGE) or write (permission.WRITE_EXTERNAL_STORAGE) or default (for processes running in root/global mount namespace i.e. outside zygote)
* There were minor differences on previous Android versions but the concept of emulation was same ever since implemented.
* For a little bit more details on Android's mount namespace implementation, see this answer.
In short, /sdcard and /storage/emulated/0 - which represent a FAT/vFAT/FAT32 filesystem - point towards /data/media/0 (or /mnt/expand/[UUID]/media/0 in case of Adoptable Storage) through FUSE or sdcardfs emulation.
Being not Android specific but generally Linux related, symlink and bind mount (see "Creating a bind mount") are out of the scope of this question, as the question is about emulation part mainly.
EMULATION:
Why the emulation is here? Emulated filesystem is an abstraction layer on actual filesystem (ext4 or f2fs) that serves basically two purposes:

Retain USB connectivity of Android devices to PCs (implemented through MTP now a days)
Restrict unauthorized access of apps/processes to user's private media and other apps' data on SD card.

Read Android's Storage Journey for details, the summary is:
Early Android devices were short on internal storage and relied on (physically) external SD cards that traditionally use FAT family of filesystem to ensure compatibility with most of the PCs (refer to Microsoft's dominance on PC world).
When the internal storage grew in size, same filesystem was shifted to internal (still called "external") SD card.
But the FAT/vFAT implementation had two major issues which were addressed by Google gradually:

Android devices were connected to PCs directly (USB Mass Storage) just as we connect a USB drive these days. UMS exposes the device at block level and disconnects the SD card from Android framework (un-mounts), thus making whole data unavailable to apps and possibly breaking many functionalities.
FAT (being Windows' favorite in development days) was never designed to enforce UNIX permissions (mode, uid, gid and likewise symlinks, and ioctls like FS_IOC_FIEMAP). So, all data on SD card was available to all apps (since every Android app is a UNIX/Linux user and has a uid) with no restrictions, hence raising serious privacy and security concerns.

Both of these issues were addressed through emulation:

Actual SD card storage was moved to /data partition (or independent /sdcard partition on some devices previously) which holds ext4 filesystem (gradually being replaced by f2fs), fully implementing UNIX permissions.
This design made using UMS impossible because whole /data partition could not be exposed to PC for 2 more reasons: (1) it contains a lot of settings and apps' data which is to be protected from other apps as well as human users. (2) Linux filesystems are not supported by Windows.
So UMS was replaced with Media Transfer Protocol which is a client-server type extension to PTP - an already established protocol. MTP doesn't expose block device but works through software stack. MTP host runs on Android as an app (android.process.media) fully sandboxed in Android framework, not capable of doing any escalated tasks.

Now the apps (and MTP, which is also an app) interact with emulated storage instead of /data/media, achieving both purposes at the same time i.e. enforcing permission checks underneath and looking like FAT filesystem on upper surface.
Google is now implementing emulation through sdcardfs to overcome shortcomings of FUSE; one major being the input/output overhead i.e. to improve read/write speeds.
EXTERNAL STORAGE PERMISSIONS:
Concept of Public and Private files on external storage can be demonstrated using an example:
Install Termux app.
Create directories /sdcard/Android/data/com.termux/test_dir and /sdcard/test_dir.
Create files /sdcard/Android/data/com.termux/test_file and /sdcard/test_file.
Execute following commands:

* You should have WhatsApp installed or select some other app's private folder.
Now Force Stop the Termux app and grant Storage permission. Execute the commands again:

See the difference in permissions of same files and directories. This seems not to be simply possible without emulation on a native Linux filesystem when there are hundreds of apps (users) to be dealt with simultaneously. This is the filesystem emulation that lets the same file to be exposed with three different sets of permissions at same time independent of it's original permissions on actual filesystem:
# touch /data/media/0/test_file

# stat -c '%a %u %g %n' /data/media/0/test_file
644 1023 1023 /data/media/0/test_file

# stat -c '%a %u %g %n' /mnt/runtime/*/emulated/0/test_file
660 0 1015 /mnt/runtime/default/emulated/0/test_file
640 0 9997 /mnt/runtime/read/emulated/0/test_file
660 0 9997 /mnt/runtime/write/emulated/0/test_file

Also see What is the “u#_everybody” UID?
Related:

Why is the 'storage/emulated/' directory inaccessible?
How can I make a symlink (or equivalent) inside /storage/emulated/0?

+1. I think I misunderstand the part about MTP. Does MTP require a FAT filesystem on the target device to work with? If not, couldn't Google use ext4 filesystem for FUSE implementation as that could also enforce permissions checks needed for an app to access only their data in shared storage?

@Firelord when discussing emulation, focus isn't on MTP implementation. Google already made changes to MTP protocol to meet certain Android needs and possibly they could implement it through some native Linux filesystem. But the point is we need a FAT-like permission-less filesystem that used to be in the early days of Android to ensure backward compatibility and that meets the design of Android's External Storage concept. I've made an edit to elaborate my point.

I didn't see in your sources where you get the symbolic link, emulated mount, and bind mount correspondences from. You should also add that the "emulated" mount is actually a special filesystem mount that behaves like a bind mount.

You should rephrase Actual SD card storage was moved to /data partition (or independent /sdcard partition on some devices previously). It implies that there was no /data directory before the move and implies that the external storage in devices got moved to internal storage, which is not possible.

The phrasing of internal (still called "external") SD card implies the existence of a non-removable SD card in devices.

You say it contains a lot of settings and apps' data which is to be protected from other apps as well as human users, but it is not true. With any file browser installed on my Android device, I can browse all files in the "emulated" SD card and I can do the same with MTP.

@Melab 1). SE is a QA site. Comments here are not for chat. Use appropriate forum for detailed technical discussion.  2). Give me a paid task and I'll provide you a line by line reference to symbolic link, emulated mount, and bind mount correspondences from Android source code and official documentation. 3). Emulated mount behaves more like a stacked filesystem than a bind mount. (continued)

(continued) 4). Yes this is possible. It happened. "Actual SD card storage was moved to /data partition...". /data/media/ is still the external storage, which used to be an actual physical SD card in earlier days. Read Android's Storage Journey at least twice. It also clarifies "Internal" vs. "External" confusion. 5). "... it contains a lot of settings and apps' data which is to be protected...". Here it is the /data partition, not external storage. Please reread. You cannot explorer /data/ without root access.

I understand the emulation being needed for an actual SD cards, but since internal storage has a native support for permissions I don't see why it can't be used directly; this looks like a legacy implementation which should be removed. There seems to be two problems with this: 1. There's no concept of internal storage in Android, so it's emulated as external; 2. User group can restrict direct access to either full or no access. However, considering that users can't deny individual permissions but only permission groups, separate READ_EXTERNAL_STORAGE permission is totally useless anyway...


text:
Is there a way to control/use Google Play Protect together with microG (open source Google Play service alternative)?
I'm facing a tricky scenario, sometime back I decided to discontinue using Google Play Services in favour of an open source alternative - microG due to constant problems and crashing of several Google applications on my device.
As Google launched Google Play Protect1 feature (on all Android devices running Google Play Services 11 or later), this seems to be missing or at least I'm not sure how to use it (i.e enable or disable it) with microG.
With a device running Google Play Services, one can easily control it by navigating to: Settings ➡ Google ➡ Security ➡ Google Play Protect
I wish to be able to control this feature on microG so I can control/disable constant false positive notifications about my installed applications being harmful, and also to have my applications regularly scanned.
Is there way to control "Play Protect" on a device running microG, or at least to integrate via another means, perhaps an Xposed module?

1

Google Play Protect is a feature that is, essentially, an evolution of
  the company’s “Verify Apps” service that was rolled out to Android
  many years ago. The feature, which will be enabled by default on all
  Android devices, is meant to be a real-time malware scanner that will
  scan every installed or about-to-be installed app and inform users in
  case there’s something amiss.

Thanks for your response @SiXandSeven8ths, I wanted to turn it on/off at will with microG

Google Play Protect can be disabled by editing these XML files:

/data/system/users/0/settings_secure.xml

package_verifier_user_consent=-1

/data/system/users/0/settings_global.xml

package_verifier_enable=0
upload_apk_enable=0

Edit
On older Android, it is stored in a database located at: /data/data/com.android.providers.settings/databases/settings.db. You need to use some database editor to change that parameter

Thanks but the target device is running android 4.3, and that path does not exist on this android version, but +1 nevertheless for looking into this!

On older Android, it is stored in a database located at: /data/data/com.android.providers.settings/databases/settings.db. You need to use some database editor to change that parameter.

@TimJosten Please [edit] your answer to include that information. Comments are temporary and not searchable, so your useful addition is at risk of being lost!

@TimJosten, I have intergrated your last comment into your answer for the same reason suggested by DanHulme

source: Stack Exchange

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

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

sort: votes


text:
disconnect adb of device connected over TCP does not work
I run the following command to connect device over TCP ;
adb connect 192.168.56.102:5555

I am not able now to disconnect it  I even made two attempts :
 adb disconnect 192.168.56.102:5555

The second is , I reboot adb
  adb reboot

Unfortunately, when I run adb devices  , the connection is still there :
List of devices attached
192.168.56.102:5555 device

Brief, I am looking for the opposite of this answer

I just use "adb disconnect" and it worked fine for me. See the photo below:

To kill the server currently running you need to type: adb kill-server in command prompt. This should stop the instance of a running server.

Use adb -s deviceName disconnect.

deviceSerial I would say.

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


text:
How can there be two separate Android System under "Running services"?
My Verizon LG V20 (Android 8.0) appears to be running two Android Systems at the same time, but, I'm pretty sure that isn't possible.
Am I wrong on this or am I seeing things?  Also, the timing between the two appears off by about 4 seconds. Just seems pretty odd to me.

what is inside those processes? are they also the same or what?

It also instantly sent a bug report as soon as i took those screen shots.

android system app running means some background services run by any system app. Example: blue tooth, wifi etc. Here on screen shot, you can see that first one uses, telephone and  second used for system log purposes. Try to remove phone app from memory(RAM)/running services and check after that. The process  "Android System" running will get destroyed automatically.

Technically, there is only one Android System running in your device. The other one is deceptively named by Verizon.
If you check the process name, it starts with com.vzw.*. That package name convention can also be found in this app from Verizon.
I'm speculating this based on the process name that it gathers data (can't say what and why) and sends it to Verizon.
If you're concerned about that process or the corresponding package, you can disable it using adb.
adb shell pm disable-user com.vzw.qualitydatalog

Note that this may destabilize your system with factory reset left as the only fix, so proceed at your own risk and with backups already taken and stored outside the phone.

Would down voters care to explain why?

@beeshyams I was about to comment the same. I'm thinking my speculation might be the reason, but I clearly mentioned "speculating" instead of mixing it in my answer.

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


text:
How to know why is my Nook unable to boot into ClockWorkMod?
I have a Nook Simple Touch that is already rooted. I've used the Clockworkmod file that I downloaded from the XDA-developers website here.
These are the steps I followed:

I connected my device to my laptop with the micro-usb cable.
I had access to my SD card.
I opened the terminal window and entered this command.
sudo dd if=2gb_clockwork-rc2.img  of=/dev/sdc

I rebooted into bootloader mode and it did not recognize clockworkmod.
I used adb commands to try to boot into the SD card. I was able to connect to my device but I was not able to get clockwork to load.
I used these commands.

adb reboot-bootloader
adb reboot-recovery
adb reboot recovery
adb reboot bootloader|recovery

After more than five failed attempts I have preceded to this question.
Is this all because I was using the micro-usb cable to burn the .img file to the SD card instead of using a SD card writer?
If so how do I get it to boot into clockwork if the method of burning the image is the problem without getting an SD card reader.

Yeah, the DD command to the SD card was probably a mistake. For Android using DD method usually is like example only:

Place recovery.img in the root of your /sdcard folder and rename it to cwm.img.

Run the following commands via ADB Shell or a terminal emulator app:
 su dd if=/sdcard/cwm.img of=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery

However, according to this guide, it will brick your device if you do it this way because the recovery is on the /boot partition. So not a good thing to try.
This guide was poorly written lacking detailed explanation. As far as the adb reboots stuff it looks like the developer could not get a handle on reboots so it's a bug.
The 2GB image can be used for installing ROMs and making backups. A 2GB image can be flashed on any sized SD card.
This is what I think you are trying to do. Example of using 2GB image SD card method:

Extract the cwm.img (if you can't open the file, use 7zip) and burn to SD card using win32diskimager (free) or winimage (shareware).
For Linux, use Etcher. These apps will need to be "run as administrator". Some internal laptop/desktop readers will not work, so to do this, you may need an external USB reader if you run into problems.

Once the card is done, copy any ROMs, or ZIPs you want to flash over to the card (simple copy and paste job).

Turn your Nook off, insert the card and boot the nook. It should come up with CWM.

If you want to also replace the stock recovery with this developers CWM (personally I would not looks sketchy and cwm has been out of development for a very long time). It's a little unclear but from what I remember it goes like this. If an issue on this last part arise I will revise. I do not think one will though.

Copy this developers install_cwm_recovery_xx.zip from the downloads to the SD card (just a simple copy and paste job).
2.Now, boot into CWM by placing your newly made SD card in the device and turning it on.
Go to and select the option Use the install zip from sdcard to install it (it just replaces uRecRam and URecImg in the /boot partition. You can also do this manually if you want).

Now you should have CWM permanently on the device if you so choose.

Thank you for this answer. I was able to burn the image. I plan on installing CWM instead of using stock recovery on a rooted device is a bad idea from experience. It'll unroot it!! I need to re-install the su binaries!


text:
How to duplicate screen on a secondary monitor in Phoenix OS?
I usually use my laptop as a CPU. I put it aside and it is connected to a screen via a VGA cable. Recently, I installed Phoenix OS in my laptop,  but nothing was displayed on my secondary monitor. In windows 10, I only have to press "Windows + P" to see split screen option, but in this OS I couldn't find such settings.
How to get that setting?

Replace with this command on grub.cfg
(if dual boot with Windows 10, then search how to edit grub.cfg on Windows 10):
menuentry 'Phoenix OS--ext display' --class android-x86 {
    insmod part_gpt
    insmod fat
    search --file --set=root /EFI/PhoenixOS/kernel
    linux /EFI/PhoenixOS/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/PhoenixOS vga=788 video=1920x1080 video=eDP-1:d
    initrd /EFI/PhoenixOS/initrd.img
}

where 1920x1080 is my secondary display resolution, eDP is my laptop screen, and -1 disables it. In your case, it may be LVDS-1:d. Try to add both.

Just assign a drive letter to your boot drive using disk manager or any other free partition wizard software. and navigate with windows Explorer.and remove drive letter after all done (use explorer ++)


text:
What is this icon with a messaging icon enclosed by a SIM card's icon in status bar?
Can anyone tell me what the chat icon on the status bar is and how I can access it. This showed itself after a recent security update. I'm not sure if it's a message that I have not opened yet. I have checked all my messages and found none. Also, received messages are usually on the left side of the status bar.

The symbol looks like a SIM card and the icon inside like a message. Just guessing here, but there's a chance this refers to a network message (such as those used to configure your mobile carrier and so on ... in some networks you can also subscribe to additional messages, so this could be one of those).

It's a SIM icon.
To change it, go to Settings → Connections →SIM card manager → choose SIM1/SIM2 icon.

(Tap to enlarge)


text:
Why is Google Play unable to update only Google apps?
Everything was working fine on my Lenovo tablet until a couple of weeks ago when Play Store was no longer able to update the gmail app. It usually just was left hanging. Other apps seemed to update just not the google ones.
Anyway, I followed all the various suggestions provided in order to try and fix it but still have the problem. One of the things that was suggested was to uninstall updates to Play Store which I did and am now back with version 5.1.11 I think it is. Unfortunately it's stuck here and is making no attempt to update.
I then tried downloading the latest compatible Play Store from a reputable site but that won't install either... it just hangs and after about 10 mins says "App not installed". Attempting to update google via the Play Store hangs for some minutes and then eventually gives a 504 error.
I've tried powering my router off and back on again and also used my neighbour's wifi but still get the 504 every time.
Not sure where to go from here. I've tried a whole heap of so-called fixes off the internet but the problem remains.
Any help, other than suggestions of factory reset, would be appreciated.

Have you tried going to Settings > Applications > Google Play Store, once there try clearing cache and data. Then reopen Play Store. You can locate these options where you went to "uninstall" the updates.

Yep, I've tried clearing cache and data but it made no difference.

Check this link: https://android.stackexchange.com/questions/35062/error-504-when-downloading-apps-from-play-store


text:
Nexus 5X loses GSM connection permanently while roaming
Sometimes (perhaps once or twice per week), while driving car, using mobile network ("blitzer.de" app) and roaming between different network cells (only cells but same provider), my Nexus 5X (Android 7.1.2) loses GSM network connection permanently.   The network icon shows "emergency calls only" in this case.
I tried:

entering/leaving flight mode
scanning for networks

selecting my provider --> "SIM card does not support this network"
automatic registration --> either "registered" (but still "emergency calls only") or "SIM card does not support this network"

switching data mode to 2G, 3G and 4G

None of these actions helped; only a reboot of the device.
Problem appeared 1 month ago or so; phone worked flawless for one year before. My provider is german "1&1".
Does this indicate a problem with the hardware of the phone, android, the SIM card or with my provider?
UPDATE
When scanning networks I get:
Error case
05-15 11:55:29.276  6723  6723 D phone   : [NetworksList]   OperatorInfo Vodafone.de/Vodafone/26202/UNKNOWN
05-15 11:55:29.277  6723  6723 D phone   : [NetworksList]   OperatorInfo 1&1/1&1/26203/AVAILABLE
05-15 11:55:29.277  6723  6723 D phone   : [NetworksList]   OperatorInfo 1&1/1&1/26207/AVAILABLE
05-15 11:55:29.277  6723  6723 D phone   : [NetworksList]   OperatorInfo Telekom.de/TDG/26201/AVAILABLE

Success case (after reboot)
05-15 13:30:01.757  6844  6844 D phone   : [NetworksList]   OperatorInfo 1&1/1&1/26203/AVAILABLE
05-15 13:30:01.757  6844  6844 D phone   : [NetworksList]   OperatorInfo Vodafone.de/Vodafone/26202/FORBIDDEN
05-15 13:30:01.758  6844  6844 D phone   : [NetworksList]   OperatorInfo Telekom.de/TDG/26201/FORBIDDEN
05-15 13:30:01.758  6844  6844 D phone   : [NetworksList]   OperatorInfo 1&1/1&1/26207/CURRENT

Log while losing network
05-15 11:00:54.906  4829  4873 I VrManagerService: VR mode is disallowed
05-15 11:00:55.100  4829  4921 I PowerManagerService: Dozing...
05-15 11:00:55.101  4829  4916 I DreamController: Starting dream: name=ComponentInfo{com.android.systemui/com.android.systemui.doze.DozeService}, isTest=false, canDoze=true, userId=0
05-15 11:00:55.147  4829 23863 I ActivityManager: Setting hasTopUi=true for pid=6520
05-15 11:03:47.670  6723  6723 D MccTable: updateMccMncConfiguration mccmnc='null' fromServiceState=true
05-15 11:03:47.671  6723  6723 D MccTable: WIFI_COUNTRY_CODE set to
05-15 11:03:47.728  4829  4829 I Telecom : CallLogManager: Country ISO changed. Retrieving new ISO...: CLM.<CLM>@Am4
05-15 11:03:47.735  4829 23866 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))(lbl:  -> 1&1)(desc:  -> 1&1)]: TSI.<TSI>@Am8
05-15 11:03:47.738  4829 23866 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@Am8
05-15 11:03:47.768  4829 23606 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))]: TSI.<TSI>@AnI
05-15 11:03:47.771  4829 23606 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@AnI
05-15 11:04:36.616  6723  6723 D MccTable: updateMccMncConfiguration mccmnc='26203' fromServiceState=true
05-15 11:04:36.617  6723  6723 D MccTable: updateMccMncConfiguration defaultMccMnc=26203
05-15 11:04:36.617  6723  6723 D MccTable: updateMccMncConfiguration: mcc=262, mnc=3
05-15 11:04:36.617  6723  6723 D MccTable: WIFI_COUNTRY_CODE set to de
05-15 11:04:36.673  4829  4829 I Telecom : CallLogManager: Country ISO changed. Retrieving new ISO...: CLM.<CLM>@AnM
05-15 11:04:36.680  4829  6749 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))(lbl: 1&1 -> )(desc: 1&1 -> )]: TSI.<TSI>@AnQ
05-15 11:04:36.683  4829  6749 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@AnQ
05-15 11:04:36.716  4829 23593 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))]: TSI.<TSI>@Anc
05-15 11:04:36.719  4829 23593 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@Anc
05-15 11:04:36.752  4829 23606 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))]: TSI.<TSI>@Ano
05-15 11:04:36.755  4829 23606 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@Ano
05-15 11:05:05.767  4829  8884 I PowerManagerService: Waking up from dozing (uid 10029)...
05-15 11:05:05.821  4829  4918 E WindowManager: Timeout waiting for animation to startup
05-15 11:05:05.822  4829  4916 I DreamController: Stopping dream: name=ComponentInfo{com.android.systemui/com.android.systemui.doze.DozeService}, isTest=false, canDoze=true, userId=0
05-15 11:05:06.226  4829  8888 W InputMethodManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@f61930f attribute=android.view.inputmethod.EditorInfo@3f45f9c, token = android.os.BinderProxy@b7d73a8
05-15 11:05:06.245  4829  4921 I VrManagerService: VR mode is allowed
05-15 11:05:09.982  4829  4872 D ConnectivityService: requestNetwork for uid/pid:1000/4829 NetworkRequest [ REQUEST id=194, legacyType=3, [ Transports: CELLULAR Capabilities: SUPL&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]
05-15 11:05:11.078  4829 23599 D ConnectivityService: registerNetworkAgent NetworkAgentInfo{ ni{[type: MOBILE[EDGE], state: CONNECTED/CONNECTED, reason: connected, extra: internet.eplus.de, failover: false, available: true, roaming: false, metered: true]}  network{167}  nethandle{717275974366}  lp{{InterfaceName: rmnet_data0 LinkAddresses: [10.34.123.193/30,]  Routes: [0.0.0.0/0 -> 10.34.123.194 rmnet_data0,] DnsAddresses: [62.109.121.17,62.109.121.18,] Domains: null MTU: 1500 TcpBufferSizes: 4093,26280,35040,4096,16384,35040}}  nc{[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN LinkUpBandwidth>=59Kbps LinkDnBandwidth>=236Kbps Specifier: <1>]}  Score{10}  everValidated{false}  lastValidated{false}  created{false} lingering{false} explicitlySelected{false} acceptUnvalidated{false} everCaptivePortalDetected{false} lastCaptivePortalDetected{false} }
05-15 11:05:11.078  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 167] EVENT_NETWORK_INFO_CHANGED, going from null to CONNECTED
05-15 11:05:11.084  4829  6358 D ConnectivityService: Adding iface rmnet_data0 to network 167
05-15 11:05:11.123  4829  6358 D ConnectivityService: Setting DNS servers for network 167 to [/62.109.121.17, /62.109.121.18]
05-15 11:05:11.152  4829  6358 D ConnectivityService: Sending CONNECTED broadcast for type 3 NetworkAgentInfo [MOBILE (EDGE) - 167] isDefaultNetwork=false
05-15 11:05:11.172  4829  4872 D ConnectivityService: Adding legacy route 115.0.0.0/32 -> 10.34.123.194 rmnet_data0 for UID/PID 1000/4829
05-15 11:05:11.173  4829  4872 D ConnectivityService: requestRouteToHostAddress ok=true
05-15 11:05:12.035  4829  6358 D ConnectivityService: releasing NetworkRequest [ REQUEST id=194, legacyType=3, [ Transports: CELLULAR Capabilities: SUPL&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]
05-15 11:05:12.036  4829  6358 D ConnectivityService: no live requests for NetworkAgentInfo [MOBILE (EDGE) - 167]; disconnecting
05-15 11:05:12.036  4829  6358 D ConnectivityService: Sending DISCONNECTED broadcast for type 3 NetworkAgentInfo [MOBILE (EDGE) - 167] isDefaultNetwork=false
05-15 11:05:12.037  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 167] got DISCONNECTED, was satisfying 6
05-15 11:05:16.539  4829  4829 W WindowManager: Attempted to remove non-existing token: android.os.Binder@24c5f90
05-15 11:05:22.599  4829  4829 W WindowManager: Attempted to remove non-existing token: android.os.Binder@cb577e0
05-15 11:06:10.618  4829  6358 D ConnectivityService: NetworkAgentInfo [WIFI () - 166] EVENT_NETWORK_INFO_CHANGED, going from CONNECTED to DISCONNECTED
05-15 11:06:10.618  4829  6358 D ConnectivityService: NetworkAgentInfo [WIFI () - 166] got DISCONNECTED, was satisfying 10
05-15 11:06:10.654  4829  6358 D ConnectivityService: Sending DISCONNECTED broadcast for type 1 NetworkAgentInfo [WIFI () - 166] isDefaultNetwork=true
05-15 11:06:11.782  4829 23424 D ConnectivityService: registerNetworkAgent NetworkAgentInfo{ ni{[type: MOBILE[EDGE], state: CONNECTED/CONNECTED, reason: connected, extra: internet.eplus.de, failover: false, available: true, roaming: false, metered: true]}  network{168}  nethandle{721570941662}  lp{{InterfaceName: rmnet_data0 LinkAddresses: [10.41.216.1/30,]  Routes: [0.0.0.0/0 -> 10.41.216.2 rmnet_data0,] DnsAddresses: [62.109.121.17,62.109.121.18,] Domains: null MTU: 1500 TcpBufferSizes: 4093,26280,35040,4096,16384,35040}}  nc{[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN LinkUpBandwidth>=59Kbps LinkDnBandwidth>=236Kbps Specifier: <1>]}  Score{10}  everValidated{false}  lastValidated{false}  created{false} lingering{false} explicitlySelected{false} acceptUnvalidated{false} everCaptivePortalDetected{false} lastCaptivePortalDetected{false} }
05-15 11:06:11.782  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 168] EVENT_NETWORK_INFO_CHANGED, going from null to CONNECTED
05-15 11:06:11.785  4829  6358 D ConnectivityService: Adding iface rmnet_data0 to network 168
05-15 11:06:11.828  4829  6358 D ConnectivityService: Setting DNS servers for network 168 to [/62.109.121.17, /62.109.121.18]
05-15 11:06:11.868  4829  6358 D ConnectivityService: Switching to new default network: NetworkAgentInfo{ ni{[type: MOBILE[EDGE], state: CONNECTED/CONNECTED, reason: connected, extra: internet.eplus.de, failover: false, available: true, roaming: false, metered: true]}  network{168}  nethandle{721570941662}  lp{{InterfaceName: rmnet_data0 LinkAddresses: [10.41.216.1/30,]  Routes: [0.0.0.0/0 -> 10.41.216.2 rmnet_data0,] DnsAddresses: [62.109.121.17,62.109.121.18,] Domains: null MTU: 1500 TcpBufferSizes: 4093,26280,35040,4096,16384,35040}}  nc{[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND LinkUpBandwidth>=59Kbps LinkDnBandwidth>=236Kbps Specifier: <1>]}  Score{10}  everValidated{false}  lastValidated{false}  created{true} lingering{false} explicitlySelected{false} acceptUnvalidated{false} everCaptivePortalDetected{false} lastCaptivePortalDetected{false} }
05-15 11:06:11.880  4829  6358 D ConnectivityService: Sending CONNECTED broadcast for type 0 NetworkAgentInfo [MOBILE (EDGE) - 168] isDefaultNetwork=true
05-15 11:06:14.373  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 168] validation passed
05-15 11:06:15.025  6723  6723 D MccTable: updateMccMncConfiguration mccmnc='26207' fromServiceState=true
05-15 11:06:15.026  4829  4829 D ConditionProviders.SCP: onReceive android.intent.action.TIME_SET
05-15 11:06:15.028  6723  6723 D MccTable: updateMccMncConfiguration defaultMccMnc=26203
05-15 11:06:15.028  6723  6723 D MccTable: updateMccMncConfiguration: mcc=262, mnc=7
05-15 11:06:15.028  6723  6723 D MccTable: WIFI_COUNTRY_CODE set to de
05-15 11:06:15.107  4829 23865 D ConnectivityService: reportNetworkConnectivity(168, false) by 10013
05-15 11:06:15.126  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 168] validation failed
05-15 11:06:15.128  4829  6358 D ConnectivityService: handleNetworkUnvalidated NetworkAgentInfo [MOBILE (EDGE) - 168] cap=[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND LinkUpBandwidth>=59Kbps LinkDnBandwidth>=236Kbps Specifier: <1>]
05-15 11:06:15.208  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 168] EVENT_NETWORK_INFO_CHANGED, going from CONNECTED to DISCONNECTED
05-15 11:06:15.209  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (EDGE) - 168] got DISCONNECTED, was satisfying 9
05-15 11:06:15.232  4829  6358 D ConnectivityService: Sending DISCONNECTED broadcast for type 0 NetworkAgentInfo [MOBILE (EDGE) - 168] isDefaultNetwork=true
05-15 11:06:16.368  4829  6749 I ActivityManager: Start proc 7815:com.qualcomm.timeservice/1000 for broadcast com.qualcomm.timeservice/.TimeServiceBroadcastReceiver
05-15 11:06:16.400  4829 23424 D ConnectivityService: registerNetworkAgent NetworkAgentInfo{ ni{[type: MOBILE[LTE], state: CONNECTED/CONNECTED, reason: connected, extra: internet.eplus.de, failover: false, available: true, roaming: false, metered: true]}  network{169}  nethandle{725865908958}  lp{{InterfaceName: rmnet_data0 LinkAddresses: [10.34.9.20/29,]  Routes: [0.0.0.0/0 -> 10.34.9.21 rmnet_data0,] DnsAddresses: [62.109.121.17,62.109.121.18,] Domains: null MTU: 1500 TcpBufferSizes: 2097152,4194304,8388608,262144,524288,1048576}}  nc{[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN LinkUpBandwidth>=51200Kbps LinkDnBandwidth>=102400Kbps Specifier: <1>]}  Score{10}  everValidated{false}  lastValidated{false}  created{false} lingering{false} explicitlySelected{false} acceptUnvalidated{false} everCaptivePortalDetected{false} lastCaptivePortalDetected{false} }
05-15 11:06:16.401  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (LTE) - 169] EVENT_NETWORK_INFO_CHANGED, going from null to CONNECTED
05-15 11:06:16.402  4829  6358 D ConnectivityService: Adding iface rmnet_data0 to network 169
05-15 11:06:16.441  4829  6358 D ConnectivityService: Setting DNS servers for network 169 to [/62.109.121.17, /62.109.121.18]
05-15 11:06:16.463  4829  6358 D ConnectivityService: Switching to new default network: NetworkAgentInfo{ ni{[type: MOBILE[LTE], state: CONNECTED/CONNECTED, reason: connected, extra: internet.eplus.de, failover: false, available: true, roaming: false, metered: true]}  network{169}  nethandle{725865908958}  lp{{InterfaceName: rmnet_data0 LinkAddresses: [10.34.9.20/29,]  Routes: [0.0.0.0/0 -> 10.34.9.21 rmnet_data0,] DnsAddresses: [62.109.121.17,62.109.121.18,] Domains: null MTU: 1500 TcpBufferSizes: 2097152,4194304,8388608,262144,524288,1048576}}  nc{[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND LinkUpBandwidth>=51200Kbps LinkDnBandwidth>=102400Kbps Specifier: <1>]}  Score{10}  everValidated{false}  lastValidated{false}  created{true} lingering{false} explicitlySelected{false} acceptUnvalidated{false} everCaptivePortalDetected{false} lastCaptivePortalDetected{false} }
05-15 11:06:16.468  4829  6358 D ConnectivityService: Sending CONNECTED broadcast for type 0 NetworkAgentInfo [MOBILE (LTE) - 169] isDefaultNetwork=true
05-15 11:06:16.894  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (LTE) - 169] validation passed
05-15 11:10:09.933  4829  4872 D ConnectivityService: requestNetwork for uid/pid:1000/4829 NetworkRequest [ REQUEST id=199, legacyType=3, [ Transports: CELLULAR Capabilities: SUPL&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]
05-15 11:10:09.936  4829  6358 D ConnectivityService: Sending CONNECTED broadcast for type 3 NetworkAgentInfo [MOBILE (EDGE) - 169] isDefaultNetwork=true
05-15 11:10:09.956  4829  4872 D ConnectivityService: Adding legacy route 115.0.0.0/32 -> 10.34.9.21 rmnet_data0 for UID/PID 1000/4829
05-15 11:10:09.960  4829  4872 D ConnectivityService: requestRouteToHostAddress ok=true
05-15 11:10:10.756  4829  6358 D ConnectivityService: releasing NetworkRequest [ REQUEST id=199, legacyType=3, [ Transports: CELLULAR Capabilities: SUPL&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]
05-15 11:10:10.757  4829  6358 D ConnectivityService: Sending DISCONNECTED broadcast for type 3 NetworkAgentInfo [MOBILE (EDGE) - 169] isDefaultNetwork=false
05-15 11:14:28.041  6723  6723 D MccTable: updateMccMncConfiguration mccmnc='26203' fromServiceState=true
05-15 11:14:28.042  6723  6723 D MccTable: updateMccMncConfiguration defaultMccMnc=26203
05-15 11:14:28.042  6723  6723 D MccTable: updateMccMncConfiguration: mcc=262, mnc=3
05-15 11:14:28.042  6723  6723 D MccTable: WIFI_COUNTRY_CODE set to de
05-15 11:14:32.177  6723  6723 D MccTable: updateMccMncConfiguration mccmnc='null' fromServiceState=true
05-15 11:14:32.177  6723  6723 D MccTable: WIFI_COUNTRY_CODE set to
05-15 11:14:32.245  4829  4829 I Telecom : CallLogManager: Country ISO changed. Retrieving new ISO...: CLM.<CLM>@An8
05-15 11:14:32.264  4829  7006 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))(lbl:  -> 1&1)(desc:  -> 1&1)]: TSI.<TSI>@AoA
05-15 11:14:32.267  4829  7006 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@AoA
05-15 11:14:32.324  4829  7185 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))]: TSI.<TSI>@AoM
05-15 11:14:32.327  4829  7185 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@AoM
05-15 11:14:34.576  4829  7171 D ConnectivityService: reportNetworkConnectivity(169, false) by 10013
05-15 11:14:34.610  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (HSPA) - 169] validation failed
05-15 11:14:34.613  4829  6358 D ConnectivityService: handleNetworkUnvalidated NetworkAgentInfo [MOBILE (HSPA) - 169] cap=[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND LinkUpBandwidth>=5898Kbps LinkDnBandwidth>=14336Kbps Specifier: <1>]
05-15 11:14:34.690  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (HSPA) - 169] EVENT_NETWORK_INFO_CHANGED, going from CONNECTED to DISCONNECTED
05-15 11:14:34.690  4829  6358 D ConnectivityService: NetworkAgentInfo [MOBILE (HSPA) - 169] got DISCONNECTED, was satisfying 11
05-15 11:14:34.714  4829  6358 D ConnectivityService: Sending DISCONNECTED broadcast for type 0 NetworkAgentInfo [MOBILE (HSPA) - 169] isDefaultNetwork=true
05-15 11:14:34.856  4829  7185 I ActivityManager: Killing 6109:com.lge.lifetimer/u0a21 (adj 906): empty #17
05-15 11:14:34.927  4829 23595 D ActivityManager: cleanUpApplicationRecord -- 6109
05-15 11:14:36.210  4829 23863 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))]: TSI.<TSI>@AoQ
05-15 11:14:36.214  4829 23863 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@AoQ
05-15 11:14:36.250  4829  7458 I Telecom : PhoneAccountRegistrar: [ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [<redacted>], UserHandle{0}(icon: Icon(typ=BITMAP size=50x63) -> Icon(typ=BITMAP size=50x63))]: TSI.<TSI>@Aoc
05-15 11:14:36.255  4829  7458 I Telecom : : Sending phone-account registered intent as user: TSI.<TSI>@Aoc
05-15 11:14:37.975  4829  9126 W LocationBasedCountryDetector: Exception occurs when getting country from location

Have you checked your Access Point Names (APN)?
Try to insert them manually (you may find them on your mobile operator's site).
If this solution doesn't work check the SIM slot.
Just a little question: did the problem arise after a system update?

Are APN settings really interesting for voice calls?  Because problem happens only once or twice per week, it is is difficultly to say whether it started after an Android update.


text:
Exchange and Coperate Account in android
What does Exchange and co-operate account means. I have being seeing it in my setings and do not really know how to use it. Also, how do  set up a working email like the microsoft outlook account in my android device. Thanks

Are you sure it says "co-operate"? Might it in fact say "corporate"?

What version of Outlook are you using?

Exchange refers to the Microsoft Exchange Server Email/Calendaring system also known as Exchange ActiveSync. Corporate usually is a generic term for business email and also usually referring to Exchange ActiveSync, but also can refer to IMAP or POP3 email access.
As far as setting up your work email on your Android phone, it depends on which way your work is using Outlook. Most likely you can open the "Mail" or "Email" (not Gmail) app and go through the steps of adding your work email. You will need to know either the Exchange server address or the POP3 or IMAP incoming server address and the SMTP outbound server address. In addition to server addresses you will need to know what ports the servers communicate on.
Once you have the server information, open the Email app and do the following:

At the first screen enter your username and password, then click "Next".

At the next screen select the appropriate type of email syncing for your account (Exchange, IMAP, or POP3).

Enter your Exchange server information or POP3 or IMAP server information and click "Next"
If you were setting up Exchange, select t he frequency you want your mail to sync. If you are setting up IMAP/POP3 enter your SMTP server information and click "Next".
Exchange setup should now be complete and IMAP/POP3 setup should now have syncing frequency options and then be complete.


text:
How to backup contacts when my touchscreen is cracked?
My touchscreen on my Samsung Galaxy screen is cracked. I am unable to use the screen. It has a pattern lock. When I use Kies 3 it says that my phone is locked. How do I unlock it with the pattern password enabled?

Hint for first readings: our tag-wikis contain first-aid help and good links on the topic. See for locked-out and broken-screen.

Hi You can't unlock that even you slide your fingers on the screen, unless you will repair that with new ones.

 And if you want your password to be removed, then follow these steps
Note: Your phone's buttons (volumes, home and power) must be functional.

Reboot into recovery
Turn off your phone, After it's completely off
Hold and press power and volume up button together, this will bring you to your recovery.

Note: Different phone have different key configuration to access recovery mode, for now we'll be using the most common key combination. If it doesn't work for you, you must search on google on how you can access your recovery mode, be sure to include your phone model in your searches.
Once you are in the recovery mode, you see some kind of options and the one that we will be using is.

Wipe data/factory reset - is a feature that erases all device settings, user data, third-party applications, and associated application data from an Android device's internal flash storage to return the device to the condition it was in when shipped from the factory.
Backup User Data (optional) - this method backups the following:

Google Calendar settings
Wi-Fi networks & passwords
Home screen wallpapers
Gmail settings
Apps installed through Google Play (backed up on the Play Store app)
Display settings (Brightness & Sleep)
Language & Input settings
Date & Time
Third-party app settings & data (varies by app)

Restore User Data (optional) - It will restore the data through the backed up data

Choose Backup User Data if you want to restore your data anytime
Note: This may restore your screen lock (password, pattern or PIN)
To remove your password, select Wipe data/Factory reset, this will also remove everything in your phone, and restore to it's original state just like the first time you used it after buying

If you have a Google account or a Samsung account, your contacts should be backed up already. Log into your accounts online to check.
If not, the simplest option, if you know your pattern password and more importantly, if you can see the screen enough to see the pattern, just can't touch it, is to use a OTG-USB adapter, and a USB mouse. The mouse can be used to unlock the pattern lock.


text:
Old Venue 8 tablet. Missing keypad
My daughter thought it would be cool to put a Russian keyboard on the Venue tablet. She didn't uninstall it correctly and now no keypad shows up. We cannot unlock it. I have tried going to the Play Store and uninstalling the keyboard, but I can't see how to. I have tried a hard reset but can't get the "dead android" to show up for the reboot menu. Can anyone advise?

Three options.

Use a USB-OTG adapter with a USB keyboard to unlock the device via password. Or a keyboard with a built-in OTG adapter.
Since you obviously have a Google Account, log into Android Device Manager, and wipe the device through there.
A Hard Reset via Recovery. Unlike some other Android devices, the Dell Venue 8 requires you press and hold Volume Down, press and hold power, then release power when you get the first logo. Do not release Volume Down until you see the Droidboot menu. Choose Recovery, and from there wipe data/cache and reboot. That's a Hard Reset, ALL your data will be erased.


text:
Can't start Android 8.0 Oreo on emulator: "Decryption unsuccessful"
I recently downloaded system images for API Level 26 (Android 8.0), on my SDK emulator but unfortunately I can't boot the virtual device all the way to home screen.
I'm stuck on the following screens:

One which request a description password;

(and  the other showing that description want successful (which is confusing me)
I have tried different things to no avail:

tried wiping user data whilst starting the AVD
tried deleting/swapping user data.img
tried starting the AVD from command line
swtching google_apis_playstore image with google_apis image(which never boots)

And all these instances still I can't start successfully the virtual device.
Is there something I'm missing or is there a workaround to bypass the screens?

Hi, please let us know if you were able to solve this issue. I am also facing same error.

@salah9   I am glad to inform you that I have found a working solution to run Oreo on standalone sdk :)

I managed to get the Android 8.1 images to run on the emulator. I figured out the main issue was to do with emulator itself which was rather outdated.
From the looks of things it seems the emulator (originally distributed as part of the Android SDK Tools) is no longer updated  since version 25.2.3
The solution was to manually update the emulator, to make it compatible to run API level ≥ 26. The emulator tools (for windows) can be found here: https://dl.google.com/android/repository/emulator-windows-4266726.zip or linux
Instructions

Download the latest emulator from the above link or here
When done, decompress the downloaded emulator.zip file and extract the emulator package to %USERPROFILE%\Android\android-sdk\tools or relevant path (yes you have to merge it into that folder, since the emulator doesn't have all libraries and files)
After this your emulator will be updated (to 26.1.4 in my case)
Now prepare your AVD (API level 26 or 27) as usual and should be up and running.

Although, the standalone SDK Manager and AVD Manager (GUIs) have been deprecated in favour of command line sdkmanager tool found in android_sdk/tools/bin/, you can still update the emulator using the method mentioned here: https://developer.android.com/studio/command-line/sdkmanager.


text:
Using ADB shell, How I can disable hotspot / tethering on lollipop Nexus 5
My screen got broken and I've been using my phone with a VNC Server installed on it, but this morning i'd the stupid idea of enable hotspot just to see if I can use my mobile data plan on my laptop, but when I did this, the wi-fi got disconnected from my router and now i only have access to my phone using adb shell.
I need to disable hotspot from ADB, already searched on google but didn't find anything, i also tried disable and enabling wi-fi, doesn't works.

A cleaner way to do it is by calling "service call" command.
For example on my phone I could call
# Start Wifi tethering
adb shell service call connectivity 24 i32 0
# Stop Wifi tethering
adb shell service call connectivity 25 i32 0

Service call will call the function number 24 in connectivity service (which happened to be the function that turn on tethering) and pass it 0 as argument (0 would be wi-fi tethering, 1 would be usb tethering and 2 would be bluetooth).
Sadly service functions code change from one android version to another. This stackoverflow reply explain how to get the right function code for your current android version.
https://stackoverflow.com/questions/20227326/where-to-find-info-on-androids-service-call-shell-command
Also this is the functions list for connectivity service for the android version I am using (Nougat)
https://android.googlesource.com/platform/frameworks/base/+/android-7.1.2_r1/core/java/android/net/IConnectivityManager.aidl

Looks like I'm missing some permissions, can see that in the parcel-log i get when executing the command

Yes, I forgot to say that you need to be rooted to be able to do this so you need to execute the "su"  command before running any of these.

Is it possible to set ap band through this method, please let me know how

I tried to do quick check but in modern android, the IConnectivityManager.aidl file is not there anymore to check. I don't know which file replaces it unfortunately
I'd suggest asking new question instead.


text:
How to prevent systemless Xposed Framework from crashing Play Store?
I'm using systemless Xposed Framework module (v90.2 beta 3) of Magisk Framework (v17.1) on a rooted OnePlus 6 running OxygenOS v5.1.8 (Android 8.1.0).
I'm having an issue with Xposed Framework and Play Store. Play Store crashes whenever I try to browse for an app, or install, or update an app. This problem has affected others users as well with no solution from rovo89 or topjohnwu as of yet.
I tried to identify the issue in logcat, just like the user here but miserably failed to understand what caused the crash.
The issue goes away so long as I keep disabled Xposed Framework from Xposed installer or from Magisk Manager.
How do I fix this problem?

The developer of GravityBox Xposed modules, C3C0, suggested to use official and original Xposed Framework (flashes system partition and breaks  Safety Net). They confirmed it working alongside Play Store, but on Android 8.0 though.
Alternatively, one can try Aurora  Store from F-Droid, as an alternative to Play Store and as an interim solution. It fetches apps' updates and new apps directly from Play Store. It also provides sufficient information regarding the app to be installed, such as What's new, permissions, and so on.

As long as you either have no apps using Play License Check or original Playstore does at least that without crashing, Yalp (or its fork Aurora) are fully sufficient (even better: cleaner, more straight-forward, no ads). Logged in with your G-account it can even update paid apps. I use it myself (as on my only device with GApps, Playstore refuses to update my apps saying "no network", but manages to update itself and PlayServices fine ¯_(ツ)_/¯).

@Izzy remember I was complaining about Aurora crashing occasionally, I updated and ever since then, I never encountered that problem again   ( ͡° ͜ʖ ͡°). BTW I love Aurora UI and theming, besides no annoying stuff to self update unlike GPlay.

I couldn't get Yalp to install despite multiple attempts /different mail IDs/no response from developer on bug report despite waiting for months. Finally, Aurora store, that can be downloaded from [Telegram link] (https://t.me/Aurora Support) worked


text:
How to make Termux obtain root access?
I am using a rooted Samsung S8+. But, Termux cannot gain root access. I tried su, sudo unsuccessfully.
When I  tried installing termux-sudo, I had the error cat: sudo: no such a file or directory.

(Tap to enlarge)

Are you Magisk or SuperSU?

There is no sudo on Android, only /sbin/su binary exists on rooted phones. How did you root your phone? What does 'ls /sbin' command show? Did you grant root access to Termux app through Magisk or SuperSU app? Do you have SELinux enforcing or permissive? You may edit your question to add further details. Termux-sudo package isn't necessarily needed to run as root, that just a bash wrapper around su binary.

Can you please show the output of which su?

Instead of sudo ..Try running tsu

I don't think tsu comes inbuilt with Termux. Requires installation. You should mention that.

Yes, you need to type "pkg install tsu", and then "tsu" is exactly the same than "sudo" on the PC.

First, install the needed packages.
pkg install proot proot-distro tsu fakeroot parted

Then, go to a new screen in the terminal and type
proot -0 login

Are you sure that's the correct order of those commands? I have a strong feeling that it should have been sudo cat instead of cat sudo.

You have installed incompatible software. In your output, the line "Exec: exec format error" is the program loader complaining about an incompatible binary format.
Your experiment failed because of wrong software type.

First, you probably need to use su rather than sudo. Where did you copy the sudo from? It looks like some incompatible executable, maybe copied from an x64 distro (guessing).
Second, Termux overrides $PATH. You will need to provide full path or to make su available on $PATH. You might want a symlink (ln -s) of su (which might be located in /sbin/, /system/xbin or so).

This is exactly right, although in my case the symlink was located in xsu. Also, after obtaining su, you need to re overwrite PATH so termux can access all of it's packages again.


text:
Remotely disable Factory Reset Protection (FRP) for a damaged phone
I have a brand new Samsung J6, worked without problems for a few days and suddenly got stuck on the Samsung logo when powering on. Managed to enter the recovery menu and delete the cache partition, after which the phone started, but the touchscreen wasn't working. I tried restarting in Safe Mode, but the problem persisted. After that, I went back to the recovery menu and did a factory reset. Touchscreen still not responding to any input.
I contacted my carrier to send the phone for service, but they require the phone to be unlinked from a Google account (basically, Factory Reset Protection). As far as I know, FRP won't trigger if you perform the factory reset from the settings app on the phone, but that's not an option due to the non functional touchscreen.
I've been looking at what the Google console offers, but there doesn't seem to be a way to decouple the phone from the account, it's mostly to deal with lost or stolen devices. I tried the remote wipe feature on another phone, but that still triggers FRP.
Linked account is part of G Suite, though I don't think there's any special phone management system in use.
Is there a page where I can tell Google to stop associating that particular phone to my account?
I've found nothing of the sort in the following pages:
https://myaccount.google.com/device-activity
https://myaccount.google.com/find-your-phone
https://www.google.com/android/find

old question, but simplest workaround is using external keyboard and mouse connected via usb-otg adapter

You can log in to Gmail from other system. Go to Manage my account. Under security option you will find devices Activity. You can select your mobile and choose forget devices. This will remove your mobile from Gmail.
If you can use other working screen. Start mobile and use find my device to remove account.

I don't think this suggestion would help, but it can be a step to achieve something else. See this answer: https://android.stackexchange.com/a/199824

You are supposed to remove your Google account from the phone before performing the reset. Now that you have reset the phone, your carrier service technician won't be able to get back into the phone without your Google login credentials. The only way I was able to overcome this was to reflash the stock ROM. Then when the phone boots up, it will be seen as a new device. That worked on my phone. Samsung may have defeated this method on the J6.

Reflashing stock ROM would not always disable FRP. In my case, overwriting FRP partition or  using a custom ROM worked.

Sadly, due to the non functional touchscreen, it wasn't possible to interact with the phone to remove the account.

I had assumed FRP works by checking the phone's IMEI against a Google database, but Firelord's comment implies it's done locally. In that case, not much chance to be able to unlink the phone from the account from the web, but it would allow someone to overwrite the FRP info if they have physical access to the phone (which, IMHO, defeats the purpose of theft protection).


text:
How to protect a system app's data from factory reset?
Is it possible to protect a system app's data from factory reset?
For example: my phone is rooted. I choose to move the Tasker app as a system app. I want all the Profiles, Tasks, Scenes and settings to remain on my phone even after factory data reset. Is that possible? Is it possible to preserve the data of the app?

You can back up system settings using Titanium backup and restore them

Though I haven't tried converting user app to system app and backing/ restoring

yeah, but the data doesnt remain, when doing factory reset. I mean, let say for example email app, is there anyway that even factory reset the registered email will remain? perhaps moving the data to somewhere untouchable during reset?

Not sure of that...never tried:)

Whole app is restored if you backup the app data from /data/data/ or /data/user/ID/ and /sdcard/Android/data/ after reinstalling app or after factory reset. But you need to set the new app UID as well on all files and directories related to that app.


text:
Are there commercially available devices that support more languages than those officially supported by Google?
According to Google, there are some 57 languages/dialects that are officially supported by stock Android.  Of course, since Android is open source, there is nothing to stop a device manufacturer, or cell service provider, or even end user from adding support for new languages/dialects.
Now, just because it is possible, that doesn't mean that it has been done, or at least that it has been done on a scale large enough to make an impact.  For example, I would likely not spend my time translating my app for a language that 5 people have manually added to their own devices, however if a manufacturer of devices has decided to add support for an additional language that is now in the hands of some thousands of users, that may be a useful translation to make even though it is not officially supported by the AOSP.
So, is there any way to find this out?  Or if not officially, is there any anecdotal evidence out there that this type of thing is going on?

I would say CyanogenMod would probably be the best answer for a ROM supporting multiple languages that users can contribute to. Look under "translators" on their changelog, there are 17 languages listed https://github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/CHANGELOG.mkdn
But in the scope of a developer, I would not bother with the smaller languages. I personally crowd source my languages, so the most popular will certainly get done first (but I have nothing against including other, lesser known languages).

@BryanDenny according to that page you linked, the supported languages for CyanogenMod are actually a subset of those supported by Google.  I'm looking for the possibility of languages that are NOT on Google's list.

@ScottW Yes, but, CM is a compilation of the Android source which means it would (or at least should be) possible to incorporate additional languages. I don't know the exact details because I haven't compiled Android source before, but I would assume it would be similar to developing an app and including a new xml file with all the strings defined in the new language.

@BryanDenny yes, it is definitely technically feasible.  What I am hoping to discover is whether it has actually been done on any kind of scale that would have an impact on the market.  We have been asked to support a specific list of languages, including some that are not on the AOSP list of supported languages.  So, I am trying to discover whether there is any real value in supporting languages beyond the AOSP list, or whether it is just a waste of everyone's time and money.

From prior experience in building AOSP before, the language strings for all aspects of the system, are stored in xml file, found in the AOSP source framework/base/core/res/res. Inside that directory in the source, there's values-XXX/strings.xml and values-XXX/do-not-translate.xml, where XXX is the ISO country code based on the standard guidelines. This gets built and generated into framework-res.apk found in the ROM's live system under /system/framework.
On an existing ROM, its possible to 'sort of' add translations into it by decompiling it but the effort would not be worth it as the XML data is compiled and "gets lost in translation". I say 'sort of' very loosely, as either the outcome would be it may work or it may not work, but the effort would be big and possibly break existing core Android functionality.
You can most certainly add a language add-on for the keyboards but that's about it.
From the aspect of developers, where localization is concerned, the principle is pretty much the same as in the AOSP source. So if the developer wants to add in French language support, he/she can simply create a values-fr/strings.xml and shove in there, the french translations and so on. Of course, there will be variants such as Canadian French, Swiss French, for example. So their files, would be values-fr-rCA/strings.xml, values-fr-rCH to cite the example.
This is where CM has the most languages support and are in a state-of-flux due to users spotting mis-translations etc.
Only Google provides the core languages - such as Italian, French, German, Spanish, English (both US/UK) to name but a few.

Well, it doesn't really answer my question, but upon further reflection, and without any good information available, we have decided to stick to only the officially supported locale list and to just be careful about how we translate for those locales.  For example, we will provide two sets of Spanish translations, ES and US, and will be careful to make the US translations appropriate for the wider Latin American Spanish-speaking audience, rather than being US-specific.


text:
Android USB Gadget Driver
I am trying to get Ethernet over USB working for my Nexus S.  I am running Ice Cream Sandwich v4.0.3 and have rebuilt the kernel with USB Gadget support turned on.  When I connect the phone to my Linux box and run ifconfig -a, usb0 shows up both on the phone and the Linux box.  I run ifconfig to set both sides up and everything looks correct but I cannot ping from either side:
PING 192.168.22.2 (192.168.22.2) 56(84) bytes of data.
From 192.168.22.1 icmp_seq=1 Destination Host Unreachable
From 192.168.22.1 icmp_seq=2 Destination Host Unreachable

I also have a N900 running Maemo Linux that does allow Ethernet over USB.  I compared output of ethtool, ifconfig, route, and arp between the N900 and the Nexus S and all are very similar except the arp output.  It shows (incomplete) for the HWaddress for the Android connection:
Address                  HWtype  HWaddress           Flags Mask            Iface
10.1.3.1                 ether   00:1B:17:05:30:13   C                     eth0
192.168.22.2                     (incomplete)                              usb0

The only other clue I have is that ifconfig shows on the Linux side:
usb0      Link encap:Ethernet  HWaddr 66:E4:64:10:D1:A9
      inet addr:192.168.22.1  Bcast:192.168.22.255  Mask:255.255.255.0
      inet6 addr: fe80::64e4:64ff:fe10:d1a9/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:0 (0.0 b)  TX bytes:9039 (8.8 KiB)

and on the Android side:
usb0      Link encap:Ethernet  HWaddr 7A:78:28:52:9C:A0
      inet addr:192.168.22.2 Bcast:192.168.22.255 Mask:255.255.255.0
      inet6 addr: fe80::7878:28ff:fe52:9ca0/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:202 errors:0 dropped:202 overruns:0 frame:0
      TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:47294 (46.1 KiB)  TX bytes:1728 (1.6 KiB)

Notice the dropped packets on the Android side.
It seems like I am almost there..  any suggestions?
EDIT:
I rebuilt the kernel with a gadget kernel module (I have tried both g_cdc and g_ether) instead of built in support.  I am not sure if the following is due to that or just being out of sync in my earlier post.  If I run ping on either side, the TX and RX numbers actually match on both sides, but the Android side is dropping them for some reason.
Host side ifconfig:
usb0      Link encap:Ethernet  HWaddr 12:23:34:45:56:67
      inet addr:192.168.22.1  Bcast:192.168.22.255  Mask:255.255.255.0
      inet6 addr: fe80::1023:34ff:fe45:5667/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:33 errors:0 dropped:0 overruns:0 frame:0
      TX packets:734 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:1140 (1.1 KiB)  TX bytes:37684 (36.8 KiB)

Android side ifconfig:
usb0      Link encap:Ethernet  HWaddr 5E:89:C6:D8:BC:08
      inet addr:192.168.22.2  Bcast:192.168.22.255  Mask:255.255.255.0
      inet6 addr: fe80::5c89:c6ff:fed8:bc08/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:734 errors:0 dropped:734 overruns:0 frame:0
      TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:27408 (26.7 KiB)  TX bytes:1602 (1.5 KiB)

ANOTHER EDIT!!
After using arp on the host side and ip on the android side to manually add entries, the Destination Host Unreachable errors went away but still no ping response.  I ran Wireshark on the host and the messages from the device are not correct.  The displayed mac addresses do not look right and the protocol is unknown so just displayed as 0x7aab.  After looking at the actual data in the message it appears that there are two zero bytes prepended to the message.  If those were removed it looks like everything would line up and work.  Has anyone ever seen this or know where in the code this can be fixed ?
YET ANOTHER EDIT!!!
After booting everything up this morning, I did not create the fake ARP entries and ran the pings again.  According to Wireshark there was an ARP message coming from the host and an unknown message coming from the Droid, but they were identical lengths.  After examining the contents of the messages, the Droid was sending what appeared to be a valid ARP message as well but it was shifted by 2 bytes - two extra bytes at the beginning and the last two chopped off.

What's the topology between devices? device-device? or are you going through a switch? if it's device to device, what kind of cable are you using?

I am using the standard micro-usb cable that came with the phone, so device-device.

It looks like there is an issue with the byte alignment.  I found this post:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg20797.html
and based on that made the following changes to drivers/usb/gadget/u_ether.c:
257,258c257
<
<   //skb_reserve(skb, NET_IP_ALIGN);
---
>   skb_reserve(skb, NET_IP_ALIGN);
513d511
<         int                     i=0;
599,606d596
<
< if ((int)skb->data & 0x2) {
<   skb_push(skb, 2);
<   for (i=0; i<length; i++) {
<     skb->data[i] = skb->data[i+2];
<   }
< }
<

I can now ping in both directions over the USB.  If anyone knows of a better way to address this, please let me know otherwise I will go with this.


text:
Is there a way to turn off translation in Google Play
I have HTC Desire with Norwegian language set up. In Google play, all program descriptions are translated to Norwegian. I find this quite annoying because most of the translations are bad, and looks quite silly in Norwegian. Sometimes I need to imagine what it would be in English to understand what it say!
Is it possible to force the Google Play app to display all texts in original language?
EDIT:
I have realized that the issue is different for different apps.
Examples:

AppLock by DoMobile Lab. This one is the description shown as badly translated to Norwegian in Google Play on my phone. When I go to Google Play in a browser on my PC, it shows description in English (My PC has English system language, and I have set up Google settings to use English).
MindFeud by MonkeyBin Studios. This is shown with English description in Google Play on my phone, but it has a button next to the description header you can click on to translate (which is a function in Google Play, probably using Google Translate). This is exactly how I want it to be.
TvGuiden by MeeTV AS. This is a Norwegian app, and of course has good Norwegian description in Google Play on my phone. This is also fine with me, since it is a proper translation. When I go to Google Play in a browser on my PC, it shows description in English, which is evidence that it provides description both in English and Norwegian. In this case it's most likely written in Norwegian and additionally translated to English.

In example 1, I suspect the app vendor have translated using automatic tool and reports to Google Play having a translation for that language.
In example 2, the app vendor does not claim to have a translation to Norwegian, so in this case, it is shown in Google Play in English, with a button that the user can choose to get it translated.
Example 3 has a truly proper Norwegian translation done by humans, so the app vendor reports correctly to have a translation for Norwegian. It would be interesting to get experience from others on this app if it will be shown in English for users that has phone language set to other than Norwegian (example Hungarian).
Is this the result of some app vendors (ref. example 1) misunderstand how the translation system in Google Play is supposed to work?

You could try to login to your Google Account Page with your web browser, and set the language there to e.g. "English". Not sure if that is persistent, or if the app respects this (which is why I didn't post it as answer) -- but it's worth a try. There's obviously no way to tell the playstore to use the "original language" -- rather it's a decision the developer makes (to have his description auto-translated).

This is a very irresponsible decision on Google's part. Bad translation on a grand scale like this is an insult to the language and the culture. It is appalling to see a drawing app called "draw!" being translated to "lottery!" in Chinese store (and I'm sure in other stores too). At least in the US bad Engrish signs are limited to small ethnic shops. This is as bad as walking into Walmart and finding every product's label being machine translated by the importer.

@ytk: I'm not sure it's Google that does this translation. I suspect it is the app vendor that use some translation tool to translate the text before publishing on Google. The reason I think this is that there are some apps that is shown in English text with a button in the Google Play you can press to translate. This means that Google Play does not translate automatically without you asking for it. See my 3 examples for different approaches that the app vendors have chosen.

When authors publish their apps to the store they have an option to auto translate their product details, hence there are so many badly translated app description causing eyesore. Understandably an app developer would enable the option hoping their app would reach a wider audience. Hence I said Google is irresponsible for allowing it to be over(mis)used.

With the latest Google Play update, now every app is being auto-translated to my language. This is just disgusting. Yes, Google Translate sucks monkey balls. Machine translation just doesn't work at all. It might work for English->Spanish, but other non-latin languages? No. The translation isn't even close to the original meaning.

Three methods available, depending from where are you accessing Google:

Google Play app usually uses the language defined on your device settings:

Tap your device "home";
Tap "settings";
Locate "Language & keyboard" and tap;
Under "Select language" you can define the language for your device that is also used by the Google Play App as to present you the information on your language.

Accessing from a browser: The Google Play Store sets the language by your IP address, you can update that definition by changing it at the footer (it will persist):

For all Google Products: From Gmail, you can access your account settings and set the language that you prefer for Google Products:

Login to your Gmail account;
On the top right corner, click "account";
On the left vertical menu, click "language".

I do not want to set the phone language to english, because I like that the phone interface is norwegian, but the other two options seems to have fixed it regarding the app content for the various apps in Play Store (the texts for the static parts in the Play Store app itself is still Norwegian, but that's how I like it anyway. That's translated properly...)

I'd answer this as a separate answer, but question is protected and apparently earning reputation on other sites doesn't count. Anyway, to avoid google translating play store in browser you can also change hl=pl (for polish) to hl=en

This also annoyed me. My language is Hungarian, a hard-to-translate language. For example Google translated the "loop-device" to Hungarian as "rotating-device", which is a different thing. I think it is a really bad idea. The app, which does not have the user's native language built-in and the user doesn't speak any language of that app, then that user will not be able to understand and use that app normally. Also 9 of 10 translations aren't understandable.
So after that beginning I solved my problem. I installed Xposed and that appinfo module. Than I changed the language setting in the appinfo for Google Play. Lastly I cleared the cache of Google Play. And voilà! All in English and I can understand everything!


text:
Can I get my car's head-unit to play audio, via USB, from my Galaxy S3?
I've just moved from iOS to Android, purchasing the new Galaxy S3. Lovely phone; I'm impressed thus far.
The only thing that I'm struggling with is playing audio, via USB, to my car's head-unit.
I've got a 2012 Nissan Juke (upgraded Nav head unit with USB port in the center console) which worked fairly seamlessly with my iPhone 4. I'd plug the USB cable in, and my music would start playing through the car's speakers - with names/album/length etc. displayed on the head-unit's display. This worked with music I'd loaded on to the phone and the Spotify app.
When I plug my S3 in, the phone detects the connection and asks what mode I want to use - Media mode, or Camera mode. Regardless of which mode I use, the head-unit is unable to play either stored or Spotify music.
I've read up a little, and I'm wondering if this is to do with the S3's inability to render itself in Mass Storage mode.
Does anyone have any suggestions for a workaround, or an app which might resolve the problem? I can play audio via Bluetooth, but its interface isn't as seamless and I will forget to turn Bluetooth on/off; don't want to drain the battery excessively.

Largely a guess, but I wouldn't think USB mass storage mode is the issue since the iPhone does not support that either. My thought would be that the USB connector in your car is designed specifically for the iPhone/iPod connector interface, just as many other peripherals are (speakers, docks, etc). My car has a similar connector (at least it sounds similar) labelled "iPod" that allows me to use the stereo to control an iPod, but only an iPod. For my phone I simply have to use an "Aux" 3.5mm input instead.

Well, I checked the head-unit's manual and it says nothing specific about an iPhone. The USB port on the head-unit just has a USB sign above it, not a label for "iPhone".

you can enable USB mass storage, if you don't mind rooting  http://www.android.gs/how-to-enable-usb-mass-storage-on-samsung-galaxy-s3-i9300/

Yes and no. The fact that your Galaxy S3 does not support mass storage mode means that you cannot play audio files stored on the S3 with the radio, like you could with a USB stick. (If your car's radio supports mass storage, that is.)
However, the other type of USB connection, allowing your iPhone to be controlled by your car's radio is an Apple Accessory connection. This is a protocol for communication between Apple devices such as the iPod and iPhone and accessories like your car's radio. Android currently does not support the Apple Accessory connection, but has it's own protocol for communication with USB accessories. It might be technically possible to create a solution for Android to allow it to speak with Apple Accessories, but currently (as far as I'm aware) no such solution exists.

Is it possible to find out which one of the 2 types of connection is supported by my car? The manual says that it supports ipods/PFDs/zunes/usb drives. The relevant part is in page 172-173 of this PDF : http://www.chevrolet.com/content/dam/Chevrolet/northamerica/usa/nscwebsite/en/Home/Ownership/Manuals%20and%20Videos/02_pdf/2k12cruze.pdf

Support for usb drives implies you could use mass storage to access music stored on your Android phone.

Thanks +paulredert . I wanted to know if my car supported the other mode (Apple Accessory Connection) . Is there a way I can find out?

As far as I know is iPod support the same as Apple Accessory Connection, so that should probably be supported.

As both eldarerathis and Paul Redert have mentioned, it seems that the USB port on your Juke is designed to support two types of USB connection: 1) mass storage mode, where it reads an attached USB peripheral as a logical drive and searches for compatible media files, and 2) iDevice Accessory mode, where it attempts to communicate with and Apple device over a proprietary protocol.
CNET has an article from 2010 describing the different ways Android phones can connect to a vehicle (as of 2010, of course). While most of it will tell you what you already know, I thought their compromise solution might be applicable:

...during our testing of the 2010 Acura TSX V-6, we were able to
  pair our Motorola Droid via Bluetooth for phone calls and Pandora
  Radio while using the USB port for charging. When we wanted to listen
  to locally stored audio, we simply mounted the USB connection and used
  the AcuraLink receiver to browse our folders. Likewise, a user could
  do the same thing with a vehicle that has an auxiliary input and a USB
  connection, but no Bluetooth.

It's sounding like mass storage mode might not be an option for your SGSIII, but using the Juke's USB connection for power to offset the use of Bluetooth for media might be a way to accomplish what you want. If you're worried about forgetting to turn off Bluetooth, you could look at ways to instruct the phone to remember for you. My personal favorite is Tasker, and setting up simple profiles for turning on and off Bluetooth under specific conditions could be as simple as two one-line tasks.

I had a HTC Desire HD and no problem connecting to my car radio (Sony XPlod) via the front USB port, provided the HTC was set up to connect via 'disk drive'. The problem I see with the S3 is that this (or similar) option does not exist. The radio sees the connection and tries to load but nothing happens. I could (untried yet) connect via the Aux jack, but then I'd need to cables instead of one. One step forward and 2 steps back.

Maybe your memory can't access by your music system -- so try like this:
When you plug in please check notification, may be your cell phone got in charging mode and mass storage is used by some other resource. So from notification disconnect logically your cell and then try to start play music with music play from mobile itself with connected music player system.
Hope it works.

It's really hard to understand what you are saying. I tried to improve it, so now it should at least be readable -- but unfortunately I still don't understand it (and before you ask: No, the downvote is not mine).


text:
Backup and Restore with Holo ( ADB ) from N4 to another N4 - some questions
I am soon receiving a replacement device for my Nexus 4, that got some problems charging now and then.
Some questions regarding Holo Backup:

It shall be no problem to restore a "Backup all without system apps" and sdcard from N4 to N4 both running the exact same firmware and stuff, right?
Does this option also backups alarms, ringtones set for certain things and sdcard0?
Anyway to save my widgets and stuff placed on default homescreen?

//EDIT
my replacement just arrived. Gonna answer these questions soon.

Restore via Holo Backup didnt worked at all. Nothing happened on my phone no matter what kind of backup i tried to restore.
Restore via adb from commandoline worked... well not the full backup!! it stucked at an app called "Tasks".
But backup only from app and system data worked fine! So i just let google restore all my apps.
Apps and Folders on the Homescreen were restored. eMail ringtone too (hangouts sms not).
alarms were also restored.
I just pulled and pushed my whole sdcard0 folder manually.


text:
Wifi goes off on screen lock?

Possible Duplicate:
How do I keep my wi-fi on in sleep mode

It seems to me that the wifi on my phone goes off when the screen gets locked. That way it's not syncing and I don't get notifications. Can this be changed so that it stays on all the time except when you manualy turn it off?
(htc hero, android2.2)
thank you

Possible duplicate: http://android.stackexchange.com/questions/16/how-do-i-keep-my-wi-fi-on-in-sleep-mode

Yes.  Settings -> Wireless and network -> WiFi settings -> (menu button) Advanced -> Wifi sleep policy -> Never

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


text:
My phone keeps slowing down and burning battery. How can I debug performance and cpu consumption? (DHD 2.2)
I know there are already a lot of threads about suggestions on how to improve performance  and, strongly related, save battery life on your android. I also have tried most of the tools to diagnose problems (eg. WatchDog).
Problem is, my brand new HTC Desire HD will often be snappy and responsive, sometime get a few slow downs, and not-so-rarely start being completely unresponsive, as bad as my previous iPhone 3G which I gave away for exactly that reason.
Also, battery would last less than 24hours even with extremely little use of the display (a huge battery drainer indeed), with background-data and auto-sync on, without GPS and with half of the time WiFi connection and for the rest WiFi off.
WatchDog is usually not seeing anything weird. No process seems taking a huge hit on the CPU even when the phone is acting slowly; just today I got a first warning - HTC Sense Background 99.9%.
So I would like to go a bit deeper in my debug. I /could/ uninstall all applications I installed, but I'd rather understand what is really causing the problem.
So this is the real question: how can I better debug what's going on inside my Android?
Does anybody have some tutorial/tools/suggestions?
I guess going with adb from my PC might provide more information, any hint/feedback?
Some additional information after feedback from DarthNoodles...
NB. I'm not putting it here to 'debug' my own phone on this forum, just to provide comparison information!
standard Battery Consumption info
If i've been using the phone, i get 'Display' to take most of the battery usage - ~60% on average (is that too much?).
If not, it's 'Android OS' which takes on average about 60%, and 'Android System' usually about 10-15%
There usually is no installed application appearing there
hidden debug
hey that's great! I might not have yet learned about everything but i'll try to write down what I see...
Since it has a graphical, not numerical display I'll rate '100' the first, longest bar and make an estimation of the other ones.
CPU usage
(for all time of timing a get a similar distribution)

'init'  has a HUGE blue+red bar; Android System comes 2nd with a tiny 1px blue bar

Partial wake usage
Total Time

'HTC Sense' 100 blue bar
'Android System' 30 blue bar
less for the rest

Since last unplugged

'Android System' 100 blue bar
'HTC Sense' 30 blue bar
'Mail' 5 blue bar
...
'UID 10013' 'partial Wakelock' ~2 blue bar!

Other Usage
Total all time

Running      35.8%
Screen on    11.1%
Phone on      0.8%
Wifi On      41.6%
Wifi Running 41.6%
BlueTooth On  6.6%

Since last unplugged

Running      37.5%
Screen on     3.8%
Phone on      1.8%
Wifi On      45.8%
Wifi Running 45.8%

I am under the impression that it's HTC Sense or some other android process that is taking my resources... but I don't really understand why yet...
WatchDog
Getting some warnings for 'com.htc.bgp' taking too much cpu (~55%)
Thanks!

com.htc.bgp is a utility from HTC that seems to be responsible for syncing various accounts.  I'm pretty sure it's used for "Exchange ActiveSync" and "Facebook for HTC Sense" sync.  Try setting some of those accounts to not sync for a while, or sync less often or sync fewer things (I don't sync my news feed for instance) and see if it's any better.

Thanks DarthNoodles again. Indeed! So from your hint I searched a bit more and actually what fixed it was to clear cache of most of those synced apps. Quite annoying though; my experience is that as much as I am enjoying my android phone I don't think I would suggest it to a not-techy user such as my girlfriend...

FINAL SOLUTION : at the end I 'upgraded' my rom to a custom 2.3.3 (and will definitely keep up updating this way) which both fixed performance issues and got rid of crapware from my mobile operator (SFR). Way to go! I just wish it was an easier (less hacky) thing to flash your own rom...

I had an HTC Desire HD. If I didn't plug it in at night it would drain to 0% and shut off by morning.

The adb likely won't be of much help.  The apps need to have debugging enabled to be able to see their thread and relative performance I believe.
I assume you've looked at the battery usage menu in your phone.  What is it telling you?
You could the hidden debug menu in your HD.  It may provide more info.  Open your phone dialer and dial *#*#4636#*#*.  Give that a try.

edited my question to answer you... to bad about adb.. lot of things in the hidden debug menu!!!

is there any such hidden debug menu for Samsung Galaxy S?

You could make note of the time that the phone was lagging.
Then either a) go to Android market and download a logging app such aLogCat or b) download the Android SDK and use DDMS.exe in the Tools folder.
Using the logging application, you can see if something was being written to the log at the time the phone was lagging.  You might be able to determine what service or application is causing the lag.

thanks Bryan; unluckily the 'lagging' is totally random, can happen any moment, last a few seconds or a few minutes... This will make using the logs a bit more difficult, but I'll give give thisa try nevertheless later on.

Maybe it will help someone, total random lagging in case of my phone was caused by badly written VoIP phone app (an old app, with bad reviews in the app store, produced by my broadband operator). It was more-less obvious that the lagging is not caused by CPU which is powerful enough in that phone, but by some system I/O (input/output) low-level stuff which is written incorrectly. Removal of the app helped immediately.

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


text:
Why does my YouTube app have performance problems and outright failures?
I have a stock Captivate on AT&T.  I've tried to watch videos at least a dozen times, and maybe twice it's worked as I would like it to.
Problems include:

"This video cannot be played".  I saw the question about "allow mobile playback" flag, but I get it on user-created stuff too (not just commercial stuff).  Is there a way to check if the flag is set, say from the desktop web interface?
20+ second load time before playback starts, even for short videos, if it works at all
Sometimes I wait over a minute and the "spinner" ("Loading video") never goes away
Once it starts playback, if the buffer runs out, I can't get it to start again.  The buffer indicator might start growing again (pale red line appears again and gets bigger) but nothing I do can make it start actually playing.  I hit play/pause, scan forward/backward, tap the time bar, etc; nothing happens.

Some notes:

I have tried HQ and not-HQ; both have issues though HQ is worse (not surprising)
I have tried it on WiFi and 3G; 3G actually seems a little better
I can watch YouTube just fine on my laptop, etc, over the same wifi connection
I have used the wifi analyzer app (forgot the name) to inspect spectrum; there are no conflicting / overlapping networks in my area
I can download podcasts on Listen at ~10+ MB/min (estimated by my watch) so it's not something wonky with my wifi connection
I've rooted the phone but only so I could fix a corrupt wifi settings file  (known issue, but I'm having trouble finding a ref link right now).  I'm pretty sure the issue is not related, and I'm not running any other superuser stuff.

I'm at a loss.  I have no idea how to track this down -- there's no particular error to look up, just general crappiness.  Is it just me?  Does everybody have this terrible of an experience?  Would the "lag fix" do anything for me?  Is there a better 3rd-party player? (someone mentioned sideloading VLC)
I don't view a lot of YouTube videos generally, but when I do get a chance to look at them it'd be nice to be able to do so on my "super" phone...

What version of the YouTube app are you running?  Is your OS 2.1 or 2.2?  And no, a lag fix should not affect this.  I have most of these problems, though very infrequently, and it's been the same whether I've had various lagfixes or not.

Could you rephrase "Why does my YouTube app suck" to me more like a question that would contain answers that could solve your problem? The body of the question has some good points.

Voted to close, with no further info it sounds like a "why doesn't this work as well as i want it to".

Maybe it's not the whole answer but two things seem to have made a big difference:
One, my Captivate was recently upgraded to  Froyo officially. The new Youtube app seems to perform remarkably better.
Two, and this is the really interesting bit, I switched from WPA on 802.11g to WPA2 on 802.11n, and my wifi speeds went from ~200-300k to 4-5M. Not sure exactly why but it's definitely something to consider if you see performance problems in an app that relies on the network...

Some videos just can't be played on your phone because the bitrate (or needed processing power) is too high for your device. This might even happen in the middle of a perfectly working video, because it's using a variable bitrate (which just rose above what's possible). That's why Youtube can get slow as well for a short time. It only gives up when the processor is at near 100% and it starts missing a lot of frames. That's actually good design. Apart from that, I think there might be some bugs in YouTube yet (but alas it is not an open sourced app).


text:
What is the meaning of "flashing a custom ROM"?

Possible Duplicate:
What is the difference between: Rooting, Jailbreak, ROM, Mod, etc.?

What is a custom ROM, and what does "flashing a custom ROM" mean?

Here's a good question about the rooting part of your question: http://android.stackexchange.com/questions/1184/how-do-i-root-my-phone  (the top answer includes the whats and whys of rooting as well as the how)

Note: the CyanogenMod and Fresh 3.5 links below are links to EVO Roms as an example - you need to find the correct ROM for your device
"Flashing a custom ROM" basically means to load a different version of the Android OS.  This site actually explains it very well.  A custom ROM is the full Android OS customized by the ROM builder usually to make it faster, provide better battery-life or add new features.
AOSP ROMs like CyanogenMod offer stock Android which will remove things like HTC's Sense or Sprint's Apps.  CyanogenMod's ROM is one of the more popular ROM.
Other Roms like Fresh 3.5 offer a ROM very similar to the default experience (with added speed and battery-life) by leaving Sense (or whatever skin your device has) and incorporating over the air updates into an updated version of the ROM.
In order to flash a custom ROM you must first root your device. For information about rooting see Matt's comment on the OP or my original answer below:
When I had the same question this is where I found it:
http://www.talkandroid.com/7686-what-is-rooting-and-why-should-i-do-it-the-pros-cons-of-android-rooting/
Depending on what device you have the rooting method will be different though.  Personally I suggest reading up on your device at XDA.

"In order to flash a custom ROM you must first root your device." Why is this the case? I believe this is a common misconception about flashing?

@jiggunjer You're right, it's not the case.  Generally you just need to unlock your bootloader and/or install a custom recovery.  The latter can be easier if you are rooted, however.


text:
How to restore an encrypted SD card backup after factory reset?
I did a factory reset and then realized that I didn't decrypt my SD Card. I know that the data is probably lost, but I did make a complete copy of the Internal Storage.
Is there a way to copy back to the phone, the encryption key? I also know the password I used to generate the encryption. Where is the encryption key file located?
Edit: I made a copy of Internal Storage folder connecting the Samsung J5 mobile to a PC, but I can't find /data/misc/vold. What am I doing wrong?

Internal Storage is /data/media/0 (therefore /data/* not included)

The encryption key should be located in /data/misc/vold. If you backed up that directory, you should see a .key file with a long name inside. Open that file with a hex editor, and copy the 16-bit key. You can decrypt your storage using this command in a Linux distribution:
dmsetup create crypt1 --table "0 `blockdev --getsize <your device ID, ex:/dev/sdb>` crypt \aes-cbc-essiv:<key you copied> 0 <your device ID again> 0"

Source of the command