# Question
Title: Work-around for process substitution in mksh
An extremely useful feature of Bash, known as process substitution, is missing in the Android shell, mksh. This is highly unfortunate as it prevent you from doing things like:

```
diff <(sort list1) <(sort list2)

```

The mksh site has marked this as a "future plan" here. So my questions is:

**Are there any work-arounds for this?** (And what are they?)

# Answer
> 4 votes
Apparently the only (?) way to do this, is by using a *named pipe* like this:

```
mkfifo myp1 || exit
mkfifo myp2 || exit
sort list1 >myp1 &
sort list2 >myp2 &
diff myp1 myp2
rm -f myp1 myp2

```

This need to be put into a *mksh* shell function in order to be of any real command line use. Another tricky part seem to be that AOS has implemented some kind of timeout that kills or messes up the pipe, if not used within a few seconds. (Reason unknown.)

# Answer
> 2 votes
We just figured out how to do this for the Desktop Unix case. On Android, you’ll need a directory to place temporary FIFOs at (any will do, such as `/sqlite_stmt_journal` in Android 2.x and `/data/data` (if you have the rights to write there) in newer ones). You’ll also need `mktemp` and `mkfifo`. (`cat` is an mksh builtin these days, but on old Android you’ll need to add that or a newer mksh version; they all work down to at least Android 1.5)

```
function die {
        print -ru2 -- "E: $*"
        exit 1
}

function psubin {
        local stdin=$(cat; echo .) pipe

        pipe=$(mktemp /tmp/psub.XXXXXXXXXX) || die mktemp

        # this is racy
        rm -f "$pipe"
        mkfifo "$pipe" || die mkfifo

        (
                # don’t block parent
                exec <&- >&- 2>&-
                # write content to FIFO
                print -nr -- "${stdin%.}" >"$pipe"
                # signal EOF to reader, ensure it’s not merged
                sleep 0.1
                :>"$pipe"
                # clean up
                (sleep 1; rm -f "$pipe") &
        ) &
        print -nr -- "$pipe"
}

diff -u $(sort list1 | psubin) $(sort list2 | psubin)

```

# Answer
> 0 votes
You need a shell such as ksh, zsh, or bash for process substitution. ~~I assume the diff command @user1147688 is refering to is from busybox. Process substitution doesn't work with busybox apps.~~ Busybox diff handles named pipes differently than diffutils diff. After a little more testing, I found I was only able to use process substution with busybox diff after creating the /tmp directory with this supersu command:

```
su -mm -d -c 'mount -t tmpfs -o rw,uid=0,gid=0,mode=1777 /tmp /tmp'

```

This creates a temporary for all users to use. For some reason, busybox doesn't use the TMPDIR variable. Alternatively with zsh, you can can use busybox diff like this:

```
busybox diff =(sort ./a) =(sort ./b)

```

This is like `diff <(...) <(...)` but it uses temporary files instead of named pipes. Zsh will use whatever read-writable temporary directory you assign to TMPDIR. Using `TMPDIR=/sdcard` won't work here though since you can't change ownership or permissions on /sdcard files.

Diffutils diff works without any issues using any kind of process substitution.

Here's a function that implements something like diff with process substitution. You can use this with busybox diff and any modern sh-compatible shell that supports arrays, such as ksh, bash, zsh, or mksh. It will work assuming HOME is set to a read-writable location, such as /sdcard on Android.

```
# usage: diff2 COMMANDS1 -- COMMANDS2
diff2() {
        local i=1 j k cmd1 cmd2 list1 list2
        cmd1=()
        cmd2=()
        while (( i < $# )); do
                eval j="\$$i"
                if [[ $j = -- ]]; then
                        k=$i
                        break
                else
                        cmd1+=("$j")
                fi
                let i++
        done
        shift $k
        cmd2=("$@")
        list1=$HOME/diff$RANDOM
        list2=$HOME/diff$RANDOM
        eval "${cmd1[@]}" > $list1 2>&1
        eval "${cmd2[@]}" > $list2 2>&1
        diff $list1 $list2
        rm $list1 $list2
}

```

You can add pipes, `|`, to your COMMAND1 or COMMAND2 as long as you quote them or backslash them.

The way this works is by splitting up the input into two arrays with `--` as the separator for the commands. Some `eval` abuse helps separate the input and is needed to evaluate commands that use pipes.

The function could be further modified to include options for diff, either utilizing a third array or parsing with getopts / GNU getopt. A third array with another `--` separator would probably work best to avoid having to use GNU getopt for long options.

---
Tags: shell, bash, mksh
---


# Question
Title: Allow "unknown sources" from Terminal without going to Settings App?
I have a corrupted Settings app in CyanogenMod and have a possible idea to restore a backup of it (App and Data) in Titanium Backup. But it's currently set to not allow "unknown sources" so Titanium cannot actually restore the old Settings over the current (corrupted) one.

I have a Terminal app installed on the phone. Is there a command in Terminal to essentially 'tick' that "unknown sources" setting, since I can't open the Settings app itself? (It gives this.)

# Answer
For newer android software use:

```
adb shell settings put secure install_non_market_apps 1

```
> 4 votes

# Answer
As mentioned in the comments by OP, SQLite Editor is fit for the job. Following solutions tested on Stock Android 4.2.1 and 4.4.2.

## Instructions for root users:

1. Install and launch **SQLite Editor** from Play Store.
2. Under **APPS**, tap **Settings Storage**`settings.db`**global**.
3. Tap `install_non_market_apps` → click pencil icon (at the top) to edit it and change the **Value** to `1`.
4. The changes took effect immediately in my device. Otherwise, restart and **Unknown Sources** would be found enabled.

(Source)

## Instructions for non-root users:

1. Install ADB in your PC, connect your device, and enter:

```
adb shell settings put global install_non_market_apps 1

```

**Unknown Sources** would now be enabled. (Source)
2. Change the last command's value to `0` to disable the **Unknown Sources**.
> 3 votes

# Answer
If you can somehow obtain a zip style backup of the settings app you can try to manually push it from a computer through ABD (Android Debug Bridge) from your bootloader/recovery (If it is unlocked)

More info here. http://teamw.in/ADBSideload
> 1 votes

# Answer
For rooted users: to enable unknown sources use Terminal Emulator with these commands:

```
su
settings put global install_non_market_apps 1

```
> 0 votes

---
Tags: settings, command-line, terminal, unknown-sources
---


title: Android USB port suddenly functional

text:
# Question
Title: Android USB port suddenly functional
I did system update on my android device and after some days, i discovered my phone which used to fully charge under two hours could only charge around 10% in an hour. I couldn't connect via the USB to the computer anymore. So today after i made up my mind i was going to take it to a repairer, everything suddenly returned to normal. I don't know how i can explain that. Should i still take it there or keep using it ?

# Answer
> 0 votes
I would continue using it.

1. Could of just been a setting that went unnoticed
2. Could of been a glitch in the actual wire (maybe the connectors on eac end or the wire itself)

There's a number of things it may of been but if it's working fine now, I'd recommend just using it. "If it ain't broke don't fix it".

---
Tags: usb, samsung-droid-charge, usb-storage
---


# Question
Title: Moto E , Tried 55 times on Pattern lock screen
I changed my pattern recently. Tried it 55 times and hasn't showed "Forgotten Password' option. HELPP Moto E

# Answer
**How can I fix it?**

You must factory reset the phone. There will be no pattern.

**What's a factory reset?**

It wipes all of your data (including your password)
> 0 votes

---
Tags: applications, lock-screens, password, pattern-lock
---


# Question
Title: I created a new Google account. How can I migrate my android device to use this new account?
I just made a new Google account, and I wish to migrate my android device to use this new account for Google Play et al. I've spent about an hour researching this so far, and the only answer I've found thus far is to factory reset my device.

This is not a viable solution, as I have thousands of apps, contacts, and other personal data that would take far too long to recover, and doing so would be inefficient. Surely the folks at Google have developed a smart way to go about this.

There must be some kind of way to simply "log out" and "log in".

How might I do this?

# Answer
> 2 votes
You can have **multiple Android devices** signed in to your Google account, as observed in Play Store's Device Manager:

You can also **easily remove your account** from your friends phone from `Settings -> Accounts & Sync`, where you can also instruct the phone not to synchronize your sensitive data with his phone (ex. sync Family Calendar but not App Data or Contacts!)

In this screenshot, the "Remove" button is on the top-right after you hit your menu key.

Hope this clears up your concerns!

---
Tags: google-account, google
---


title: WiFi won't stay on after factory reset

text:
# Question
Title: WiFi won't stay on after factory reset
I have PendoPad 7" tablet (PNDP5M7BLK) on Android 5.0.2. My wife reset it using factory reset, and the WiFi won't stay on so I can't connect to internet.

Any ideas?

# Answer
> 0 votes
Actually, I think I fixed it. I did another factory reset, and tried wi-fi, wouldn't work, tried reboot, didn't work. But I then turned off then turned on, and worked. Thanks for replying!

---
Tags: wi-fi, factory-reset
---


# Question
Title: How can I seamlessly make my phone a network drive?
Back when I had an LG G2, it had this awesome feature called Wireless Storage. If you're not familiar with it, it essentially allowed you to tap a button to instantly turn your internal storage into a drive on your local network. You could then go into Windows Explorer, type in the local IP and password Wireless Storage provided, and be able to browse your phone exactly as if it was connected over MTP/USB or Bluetooth (but in my experience, I found it to be far faster and more reliable).

Now that I have a Galaxy Note 5, is there any way to recreate that same wireless storage feature, or at least come close to how seamlessly it worked?

# Answer
There are several apps in the Play Store that can do this. One I've had some luck with is Samba Server. To see other options, search the store with keywords like file server. Some functionality will require a rooted device, so YMMV.

Each of these have their pros and cons. I recommend trying a few to see which fit your specific situation best. Hopefully one of the free ones will work best for you!
> 1 votes

# Answer
You use **WiFi File Transfer**. It has good reviews (50,000 of them), it's free, and works in hotspot mode!

Here's a full list of its features:

> • Upload or download multiple files at once
>
> • Upload entire folder structures (Google Chrome only)
>
> • Delete, rename, copy, zip or unzip files using the built-in file manager interface
>
> • Password authentication (optional)
>
> • Shortcuts to photo, video and music directories
>
> • Runs as a background service
>
> • View photos directly in your web browser (integrated thumbnail gallery)
>
> • Autostart service when connected to home network (optional)
>
> • Provides access to external SD cards and USB storage devices
>
> • Works while the device is in hotspot mode

---

Link: **https://play.google.com/store/apps/details?id=com.smarterdroid.wififiletransfer**

Affiliation: None
> 1 votes

---
Tags: wi-fi, samsung, internal-storage, lg-g2
---


title: App updates from different sources

text:
# Question
Title: App updates from different sources
I'd like to know why F-Droid shows updates before Google Play Store. Typically these are apps like Hacker's Keyboard and NetGuard Firewall, etc. Wouldn't the developers of such apps submit changes at the same time to both?

F-Droid also tells me that the signing key is different as well. Is it a common practice to create new signing keys upon updating an app?

(Yes, I'm concerned about 3rd-parties using dirty tricks to gain access to my devices.)

# Answer
> 4 votes
> I'd like to know why F-Droid shows updates before Google Play Store. Wouldn't the developers of such apps submit changes at the same time to both?

It's common for app developers to upload their updates to many markets at the same time; certainly they want as many users as possible to use their latest update. The only difference is how quick their updates are up on each store. Since F-Droid update workflow is considerably simpler than Play Store (automatic build from source, and no further server validation), big chance the apps will be up on there first.

While I have never used F-Droid, market apps in general can check updates for already-installed apps by getting and comparing their package names and versions, *even though if it's installed from different source*. (That's already possible by comparing 3rd-party apps manager: show app's package name and version from its manifest).

---

> F-Droid also tells me that the signing key is different as well. Is it a common practice to create new signing keys upon updating an app?

From this statement, I assume you installed the apps originally from Play Store, then F-Droid notified you about the update.

First, I think there's a little misunderstanding: it's **uncommon** to create new signing keys upon updating an app, **because it prevents users to update it**!

The more reasonable practice is, that the developers use different keys for each store, but still (and *must*) use the same key when updating their apps to particular store. This might be used to prevent cross-market to interfere the update (e.g. security issue, different flavor, etc).

The other reason (which is this case) is, F-Droid forces their apps to be signed by them:

> **Packages built by F-Droid are signed by F-Droid, so all apps in the official F-Droid repo are signed by F-Droid keys**. F-Droid will generate a new key for each app that is included. All of the different APKs built from different versions of an app will be signed by the same app key. **But do note: if an app is also distributed in an APK signed by the developer, like in the Google Play Store, then the F-Droid APK will have a different signature**.
>
> <sup>(Emphasis mine)</sup>

---
Tags: applications, google-play-store, updates, alternative-markets
---


title: Can I get Stagefright from a friend?

text:
# Question
Title: Can I get Stagefright from a friend?
So let's say my friend is infected with the Stagefright bug, if he sends me a video/sound will I get the virus too? Also, can voice messages on whatsapp be infected?

# Answer
No, Stagefright doesn't work like that. It's not like computer virus/worm which can spread to other device, but it's an **OS vulnerability**.

It depends only if your device has been patched or not (e.g. OS update/security update). If it has, then you can be pretty sure that such MMS won't affect your device (for particular Stagefright attack vector. AFAIK, there are multiple, not only one).

For further reading, see Stagefright security issue: what can a regular user do to mitigate the issue without a patch?
> 6 votes

---
Tags: stagefright
---


# Question
Title: Plug android USB to PC, get malicious file?
Hello :) so i have been googling about it but no info on my specific question.

About the safety of transfering files to/from PC. Where there's a possibility of android get malicious file unknowingly from PC. Where you cant fully sure if the PC is free from malicious file.

I read that some ways to prevent that is. Turn off usb debugging.

Is there still a way of the android to get affected? Also is there more way to be safer?

Thank you for whoever responded :)

# Answer
> 0 votes
Android Devices cannot be affected in any way when you connect it to a computer (atleast when connected in MTP mode)..

There might be a possibility that you'll get affected, that too only when USB Debugging (ADB mode) is ON, because there might be a chance that there's a virus in your computer that can install a payload virus application directly (without your knowledge) via the ADB mode to your device.
That app might be a type of virus that periodically displays advertisements, or can be installed as a payloaded (modded) update to an existing application (like a Browser or even Banking app) (with same package name) in your device that can track every info you provide to the app (even the user credentials you provide, like username and password). Or in the worst case, it can be a exploit app that can install itself or its other apps as system app, making it impossible to uninstall (unless you root your device).
So switch OFF ADB mode when not used or when you're not working in a trustable computer.

When your device is connected in USB Mass Storage Mode (which is removed since KitKat), there's a chance that a virus in your computer might place crafted virus files in the removable disk (popular viruses like autorun.inf, New Folder .exe, Shortcut virus, etc.), but that won't affect your Android device in any way. Only when you connect the device to another computer (in UMS mode), there's a chance that the computer might get affected.

Other than these, I don't think there's anything harmful when connected to computer, AFAIK.

---
Tags: android-pc
---


title: Manage lists of apps

text:
# Question
Title: Manage lists of apps
Is there such a functionality or app that enables you to manage lists of apps in Play Store?

I want to have lists of apps stored somewhere on the cloud and install an entire list at once. Such a functionality will be useful when you buy a new phone and install all your favorite apps without having to remember them or browse Play Store.

# Answer
> 0 votes
Just connect your Google-Account with the PlayStore and allows it to save all your installs. Now if your sign into your account on the new phone you get a lost of all apps you installed ehile you are logged in into this account. Sure you still had to install every app again, but you dont have to search again ;)

---
Tags: applications, google-play-store
---


title: Nova Launcher: Lost the App Drawer Icon

text:
# Question
Title: Nova Launcher: Lost the App Drawer Icon
I've installed Nova Launcher on an old phone (1st Gen MotoX). I'm trying to child-proof it by disabling most of the default apps and clearing the home screens with nothing that a child shouldn't be getting into. After updating some Nova Settings, going back to home screen rendered the App Drawer icon missing (the one in the middle of the dock at the bottom of the screen).

Interested in a fix and how to prevent this from happening in the future.

# Answer
> 14 votes
Easy to fix. Just hard-press on the desktop until the query for Wallpapers, Widgets, Settings shows up. Select Widgets, and select (what on my list is #1) - Nova Action. Once placed, it turns into a menu with "App drawer" as the first choice, along with about 30 others. Once you have it selected, move it to your desired spot, either on the desktop, or in the dock, or whereever.

---
Tags: nova-launcher
---


# Question
Title: How can I disable voicemail notifications?
I have a prepaid T-Mobile line that I use for development purposes only. I do not really use it for calls. However, some 800-number company has been calling me constantly (which I have already added to a "block" contact which directs all calls to voicemail via Contact app menu option). However, they leave voice mails which creates this notification on my phone:

Click the image for larger variance

But I cannot swipe away this notification. It is a constant and persistent notification.

Is there a way I can either:

1. Never show voicemail notifications (without having to call T-Mobile and disable my voicemail box)
2. Swipe to remove the notification or hide the notification (via an app or similar?)

I am rooted on a stock Nexus 5.

I would have just used Google Voice as my voice mail box but apparently T-Mobile prepaid lines cannot have call forwarding so I can not use that option.

# Answer
You can install and configure T-Mobile's own Visual Voicemail app. You will get notified about your voicemails through it instead of the system's Phone/Dialer app, with the ability to dismiss that notification. As a bonus, you can also listen to and delete your voicemails without having to dial in and waste prepaid minutes.

Be aware that this app needs to be able to send and receive one SMS message in order to enable its functionality. If you are using Voice+ feature of CyanogenMod custom ROM, you will need to temporarily disable it.
> 3 votes

# Answer
The only thing that worked for me is to **stop** the *Phone* Application. It restarts itself again, so you don't have to worry for missing calls or anything.

Steps:

1. Settings -\> Apps -\> ALL -\> Phone.
2. Click *Force stop*

Source: Clear Voice Mail Notification Icon
> 10 votes

# Answer
I am in the same boat as you. Since I found no way to actually disable voicemail notifications on my Nexus 5, I instead configured the longest possible voicemail greeting the T-Mobile system would allow, which consists of complete silence for 3 minutes. I have not gotten a single voicemail notification since.
> 8 votes

# Answer
I fixed this problem by simply removing my sim card and putting it back in.

Evidently dis- and re-connecting to the cell carrier was enough to do it.

I'm running Android 5.1 on a Moto E2.
> 1 votes

# Answer
I think aside from calling your carrier, there are only so many \[few\] things you can do.

I've been reading, and it seems like you can change your Voicemail number in settings so call forwarding would be an option.

http://forums.androidcentral.com/samsung-galaxy-s4/276901-there-way-turn-off-voicemail-notifications.html

And a very helpful YouTube video

http://www.youtube.com/watch?v=\_eXN-8wxtk8

From the video: force stopping the Phone application will clear all notifications from the Phone application, including the voicemail notification.
> 0 votes

# Answer
I had a similar issue, but it was with visual voicemail notifications.

Easy fix for this instead of calling T-Mobile is to:

1. Login to your `T-mobile account > plans > services`
2. Unselect the `free visual voice mail` service
3. Go into your phone and go into `apps > running apps` and disable all the T-Mobile services (apps labeled in pink)

Since then, I don't see notifications for visual voicemail.
> 0 votes

---
Tags: nexus-5, voicemail, t-mobile, notifications
---


# Question
Title: Disable autocorrect from specific application
I'm using my device to do code with Jside and I absolutely need to disable autocorrection. Is there a way to specify application that shall not use autocorrection ?

(Since I'm using swiftkey a lot I need it for texting etc..)

# Answer
There is no built-in way to do this, but you could probably do it with Tasker and root. You can create a trigger on application foreground/background to turn auto-correct on or off depending on which app it was. I am not sure of the specifics since I haven't used Tasker but hopefully you can figure it out. This Reddit comment is for a similar task (switching keyboards) and might be a good place to start.

AutomateIt might be able to do this as well.
> 1 votes

---
Tags: auto-correct
---


# Question
Title: How to get 2 android apps working simultaneously?
I'm using a Using Samsung Galaxy S7, Android 6.0.1. and I'm having trouble using apps in parallel. Here's what triggered this post:

I got myself and iRig2 to practice playing guitar silently, downloaded AmpliTube, plugged in the guitar and it worked, I could hear my guitar back and apply effects, change amps, etc..

On to the next step, to play over backing tracks. IK Multimedia advises to use apps like Riff Maestro with AmpliTube running in the background. And this is precisely my problem, **I can't get AmpliTube to keep running on the background!**

Here's what I tried so far:

Test 1:

* open AmpliTube (app), plug in the guitar and check it's working. If it is:
* press home button
* open Riff Maestro (app)
* as soon as I click the home button, AmpliTube stops sending guitar sound out

Test 2:

* open AmpliTube (app), plug in the guitar and check it's working. If it is:
* press the home button (AmpliTube stops sending sound out, as per Test 1)
* open Riff Maestro (app)
* press the "Recent applications" button
* swap to AmpliTube, it starts sending guitar sound again
* press the "Recent applications" button again to swap for Riff Maestro
* AmpliTube stops sending sound again

I tried splitting the screen but none of the apps supports split screen.

The question is, how can I get 2 apps (in this case AmpliTube and Riff Maestro) working simultaneously so I can hear my guitar on AmpliTube AND play a back track on Riff Maestro?

Many thanks in advance!

# Answer
> 1 votes
That's a really good question! Thank you for asking it though.

On Android Programming, There is something we call, **`Activities LifeCycle`** Imagine, when you pressed the home `Button`, The current `Activity` is going to `onPause()` method which it stops the `Activity` and it's not longer active because this is the Android `Activity`'s lifecycle.

So, for better underestanding, The developer or those Application's programmers have to use something like **`Services`** which it can perform ***long-running operations*** in **the background** and does not provide a user interface.

And after that, you should be able to use those features together.

# Answer
> 0 votes
# tl;dr

* Get a device with multi-window support. Recent Samsung devices have this feature. The upcoming Android 'N' will support this as well.
* Use apps that run in the background, or use apps that work with the above multi-window support (and if the two you want to use don't do either, you're SOL)

# Long explanation

Android traditionally only allows one foreground app to be displayed at a time.

But apps (if the developer of the app chooses) can run in the background, as long as a UI is not required. For example, a music app playing music but leaving only a notification as a UI.

There is a special permission to allow some apps to 'paint' on top of the current foreground with their UI, but those are rare, and again, require the developer to enable and use the feature. Most don't use that unless they are trying to make some always-on-top widget UI, like a 'most recent contacts' widget that Samsung uses for example.

Some devices customize the Android OS code and do allow for multiple apps to run side by side. For example, most Samsung devices running Android 5+ allow for multiple apps to run side-by-side, but it depends on a few things outside your control for them to really work together. Among them, for example, if they are audio apps, they both need to support *not* requesting exclusive audio access; otherwise one will mute (or at least 'duck') the other.

The upcoming Android 'N' version is going to support multiple app 'windows' a little better than the Samsung hack, but it is still in Preview (at this time) and therefore not on any production device for you to use. They will still probably have the same limitations that the two apps may or may not work together, depending on the apps.

All that to say, it is *possible* for multiple apps to work side-by-side together, but it is rare and there isn't much you, as a consumer, can do about it for now. The best you can do is try a recent Samsung device or wait for Android 'N', while hunting for apps by trial and error that happen to work together like this. But there are no guarantees since it is such a new feature in the Android ecosystem.

In this particular case, since you say you've tried the screen-splitting feature with the two apps, your only solution is to petition the app developers to support this behavior. It is up to those two developers to change their code to enable background audio and/or UI support, or to work with the new split window features better.

---
Tags: samsung-galaxy-s-7-edge
---


# Question
Title: Bypass “Verify your account” on Samsung Galaxy J2
I have Samsung Galaxy J2 and I am unable to bypass "Verify your account".

I have tried:

1. Installing and opening RootJunky APK from this answer which opened Settings, then I did a Factory reset -\> Back up and Reset -\> Factory data and reset
2. Rooting the device with Kingroot and installed a terminal app that has root access, though I don't know which commands to bypass this
3. Reflashing the phone with the stock firmware

Output of `mount`:

```
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=456756k,nr_inodes=114189,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=750,gid=1000 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=755,gid=1000 0 0
/dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/SYSTEM /system ext4 ro,seclabel,relatime,block_validity,norecovery 0 0
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/EFS /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/PERSDATA /persdata/absolute ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/data/knox/secure_fs/enc_media /mnt/shell/enc_media sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1000,gid=1000,derive=none,reserved=20MB 0 0
/data/knox/sdcard /mnt/shell/knox-emulated sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1000,gid=1000,derive=none 0 0
/data/media /mnt/shell/emulated sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
tmpfs /storage/emulated tmpfs rw,seclabel,nosuid,nodev,relatime,mode=751,gid=1028 0 0
/data/media /storage/emulated/0 sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
/data/media /storage/emulated/legacy sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0

```

output of `ls -l /dev/block/platform/13540000.dwmmc0/by-name/`:

```
lrwxrwxrwx root     root              2016-03-28 16:01 BOOT -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2016-03-28 16:01 BOTA0 -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2016-03-28 16:01 BOTA1 -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2016-03-28 16:01 CACHE -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              2016-03-28 16:01 CARRIER -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2016-03-28 16:01 CDMA-RADIO -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              2016-03-28 16:01 CPEFS -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2016-03-28 16:01 EFS -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2016-03-28 16:01 HIDDEN -> /dev/block/mmcblk0p22
lrwxrwxrwx root     root              2016-03-28 16:01 OTA -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              2016-03-28 16:01 PARAM -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2016-03-28 16:01 PERSDATA -> /dev/block/mmcblk0p18
lrwxrwxrwx root     root              2016-03-28 16:01 PERSISTENT -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2016-03-28 16:01 RADIO -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2016-03-28 16:01 RECOVERY -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2016-03-28 16:01 RESERVED2 -> /dev/block/mmcblk0p19
lrwxrwxrwx root     root              2016-03-28 16:01 SYSTEM -> /dev/block/mmcblk0p20
lrwxrwxrwx root     root              2016-03-28 16:01 TDATA -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              2016-03-28 16:01 TOMBSTONES -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2016-03-28 16:01 USERDATA -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              2016-03-28 16:01 m9kefs1 -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2016-03-28 16:01 m9kefs2 -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2016-03-28 16:01 m9kefs3 -> /dev/block/mmcblk0p7

```

512KB partition

# Answer
For some reason, I had to sign in to the original account through the help of RootJunky APK, went to Settings -\> Account, and added the original Google account and it verified it that way. It might be because it skips checking the connection.
> 0 votes

---
Tags: factory-reset, frp
---


# Question
Title: Marshmallow Heads-up Notifications Gone?
My Galaxy S6 edge recently updated to Android 6.0.1.

Before, when I would get a message from Whatsapp, it would show the message at the top of my screen (Lollipop called it Heads-up notification). Now, only the icon shows up at the top of the screen and I have to pull down the screen in order to see who its from.

It's really irritating! Please help me get that feature back or advise me how to return to Lollipop. Many thanks.

# Answer
> 4 votes
The update never removed Heads Up notifications. You just have to select which apps have the permission to display them.

Go into `Settings -> Sound & notification -> App notifications` to pull up a list of apps.

Once you select `Whatsapp` in your case, there will be an `"Allow Peeking"` checkbox, as so:

<sub>(source: staticworld.net)</sub>

Just tick that back on, and you'll get those notifications.

---

If WhatsApp doesn't respect those settings, there is an alternative:

---

Hope this helps!

---
Tags: notifications
---


# Question
Title: Asus Zenfone 5 stuck at obtaining IP address from office's Wi-Fi, but works well on other Wi-Fi
I have an Asus Zenfone 5 running Android 4.3. Most of the Wi-Fi I try to connect to gets connected to the device, but when I try to connect it to my office's Wi-Fi it get stuck at obtaining IP address.

How should I resolve this issue?

# Answer
> 1 votes
These steps fixed the obtaining ip adress error for me: Go to Wi-Fi settings and choose the network that's causing this error. Follow these steps

1. Choose “modify network”
2. Enable- Show advanced options
3. Change IP Settings (which is DHCP by default)to “Static”
4. Now you should see a bunch of advanced options
5. Assign a new IP address \>\> Tap "Save"

You can check out my detailed post about this error here: valuestuffz.blogspot.com/2015/05/how-to-fix-stuck-at-obtaining-ip-android-device.html

# Answer
> 0 votes
In my case, it can be happen if your office use static ip. You must obtain ip address from office network admin, and then apply that ip on your zenfone 5.

You can setup it on Wifi -\> Advanced options -\> IP Settings set to static and then input all the things like ip, gateway, and DNS.

I hope this answer help you.

---
Tags: wi-fi, 4.3-jelly-bean, connection-issues, asus-zenfone-5
---


# Question
Title: How to add a contact from a missed call?
Someone just gave me his number with a missed call. I'm trying to create a contact from this missed call but I see it's not possible! By tapping the missed call one second I can send a message, dial IP call, delete, etc, but not create a contact from it. Is there not any way than writing down the number and manually creating a contact and copying the number?

# Answer
I struggled with this. Long press the number, then chose Edit number before call. You then have the Add to Contacts option, click that and then choose Create new contact.
> 1 votes

---
Tags: contacts
---


title: Deleted pictures keep coming up

text:
# Question
Title: Deleted pictures keep coming up
I am trying to import my pictures from my Samsung Note 4 to my laptop. But I have a problem with the whatsapp images folder. The pictures showing on my mobile screen are not the same shown on my pc once connected. Some deleted pictures or repeated ones are taking the place of others by having the same name. And they are imported instead of the ones I didnt delete. I don t know if I made myself enough clear. But am gonna lose my pictures if I don t find a solution. Thank you.

# Answer
> 1 votes
Try using u file manager on your phone to sort the pictures into one folder, then copy that folder, if the issue remains the same.. Try compression (zip/rar/7zip/tar) and Extract on PC

---
Tags: google, samsung-galaxy-note-4
---


title: how do I turn OFF Smart lock.

text:
# Question
Title: how do I turn OFF Smart lock.
I was trying to secure me phone. I had turned on pattern. Then thought for extra security I would turn on Smart Lock. Note the pattern lock is gone. I want to feel that I can leave my phone on the coffee table and walk away.

# Answer
> 21 votes
> Go to Settings—Security.
>
> Under Advanced, tap Trusted agents as shown below.
>
> Tap Smart Lock (Google) to Enable\Disable it. You can also drag the switch to the Right\Left side to Enable\Disable it.

# Answer
> 2 votes
You can turn it on and off in Settings -\> Security -\> Trust agents

---
Tags: settings
---


# Question
Title: STRUCK AT BOOT ANIMATION AFTER CHANGING IT MANUALLY
Guys i need urjent help as i my device got stuck in the boot animation after i chenged it manually. my device (BSNL PENTA WS704DX) is rooted. Now even after wiping data or formatting data an hard resetting i again find the same boot animation and the stucked mobile.. guyus please help me out.... how can i remove that boot animation as i dont have any custom recovery installed in my device. :) waiting fr your answers.. :) :)

# Answer
> 2 votes
Use ADB (Android Debug Bridge)

search for and install universal adb driver or your devices adb driver !

Once installed,

Wait for the bootloop and run this command in adb via command terminal (cmd)

```
adb devices

```

Does your device show up on pc ? if it does show up, type

```
adb kill-server

adb root

adb shell

su

busybox rm /system/<you're location>

```

rm will remove the file specified, in this case it's the boot animation file ... Once removed, your device will boot with a stock android logo or a blank screen !

# Answer
> 1 votes
Look into restoring the stock ROM. This site appears to have it: http://firmwarefile.com/bsnl-penta-ws704dx they recommend using SP Flash Tool so it's Mediatek device, you may just be able to update the 'LOGO' Parition in order to fix it, but if that don't work then completely restore the stock rom.

---
Tags: boot-loop
---


title: error sending message to whatsapp

text:
# Question
Title: error sending message to whatsapp
I am member of a whatsapp group. My name is present in the group member's list. Nobody has removed me. But when I send any message I get the error not a member of this group cannot send any message. Friends also confirm that message has not arrived. Strangely though I can read new posts in the group but cannot see the group icon. I have no clue about how this can happen.

# Answer
> 1 votes
Inform the admin of the group to remove you and add again. This will works. And then you will able to send and receive messages.

---
Tags: whatsapp-messenger
---


# Question
Title: why does my whatsapp sometimes show me as having been online when I didnt log on at any stage
My whatsapp often shows me as having been online as seen by the "last seen" status, when I have not been on line. Could it possibly be related to my phone Samsung A3, showing me my whatsapp messages as a preview when i receive messages, with the option to close or open message?

# Answer
> 2 votes
No. It is not related to phone problem.

When your WhatsApp in foreground then it will shows as online to others. When it is in background (After removing from recent tabs), it will shows last seen to others.

Sometimes if your WhatsApp in recent tabs then it will shows online to others.

---
Tags: whatsapp-messenger
---


# Question
Title: Allowing SSH connection to Android Devices with Droidwall installed
I've installed SSHDroid and Droidwall on my Android device. I know that SSHDroid won't work if Droidwall is enabled. Is there's anyway to list SSH connection in Droidwall whitelist? So, I can connect to my Android device via SSH.

# Answer
> 0 votes
```
>> AFWall+
>> Filter for " (root) - Applications running as root
>> Enable LAN

```

This can work with default Port# 22

---
Tags: ssh, firewall, connectify
---


# Question
Title: Photos received from SHAREit are not displayed in gallery
Photos and videos received from SHAREit is not downloaded to gallery and I cannot view it in gallery.Why is this happening?

# Answer
<sub>(Click image to enlarge)</sub>

Just Cut(or Copy) the Files from Shareit Folder and Paste it to your SDcard/Phone Memory.
> 0 votes

# Answer
Shareit latest version have some changes are occurred , one of the change is it hides downloaded files, so we can't see downloaded files in internal , external storage or gallery etc.... , you can see downloaded files using shareit app only, it is one of the way user can use permanently app
> 0 votes

---
Tags: photos, shareit
---


# Question
Title: minimuize ring volume at certain times of day
I have an android phone, a kid, and some friends who call just after the kid goes to bed. My friends will call, at 7pm, my phone will ring, and the ring will wake up my kid. Is there an app that can minimize my ringer volume based on time of day? I want my phone to ring, but I don't want to have to remember to turn the volume down every day.

# Answer
> 0 votes
Sound & notification \> Do not disturb. You can set specific time intervals

---
Tags: applications, automation, ringtone, volume
---


title: How to remove gunpowder virus?

text:
# Question
Title: How to remove gunpowder virus?
I have recently been having problems on my device which includes random apps appearing on my phone and some chinese app that somehow was "pre-installed". As i scoured the internet for answers, i learnt that my phone had contacted a virus called gunpowder virus that attacks from Nintendo emulators. Can factory reset resolve my problem?

# Answer
As long as the infected app **wasn't** able to gain root and/or infect the `/system` partition, a factory reset **will** fix it.

However, if it was ... it would require re-flashing the ROM.
> 0 votes

# Answer
If your device doesn't have the virus and you still want to remove the pre-built chinese apps, You can use a program called MTK Droid Tools..

It was designed for mtk handsets but the Chinese software removal tool only uses adb and root access to remove chinese ime etc...
> 0 votes

---
Tags: security, 4.2-jelly-bean, malware
---


title: Galaxy Stylo encrpted forgot password

text:
# Question
Title: Galaxy Stylo encrpted forgot password
I encrypted my device then I changed the password. The encryption password changed too, but I can't remember to what, I thought I changed the password back to what it was. I tried default\_password twice and it didn't work. I have 15 guesses left.

I encrypted my Galaxy Stylo phone using Google's encryption option.

Later, I changed my password, then I turned my phone off. I can't remember the password. I'm at the encryption screen with 15 more tries before I'm locked out. I have no idea what to do I booted in safemode, but that still puts me at the decryption screen

# Answer
> 0 votes
Sorry the encryption is there for one reason and that is to not let access to the phone's settings and data without a decryption key or password. If it was just the lockscreen passcode, you could've simply factory reset your phone through recovery.

---
Tags: locked-out
---


# Question
Title: Does "ifconfig wlan0 dhcp status" work for Android?
I cannot get any response from an Android device (Android 4.2) to command "ifconfig wlan0 dhcp status"

Command "ifconfig wlan0" returns the following:

```
wlan0: ip 192.168.0.14 mask 255.255.254.0 flags [up broadcast running multicast]

```

Does Android support "dhcp status"? If not, how can I find out **through a command** whether DHCP is enabled?

# Answer
> \[How\] can I find out through a command whether DHCP is enabled?

Provided that is setup in PC, execute:

```
adb shell dumpsys wifi

```

In the output locate the string *Configured networks*. Following that would be the info on all the saved Wi-Fi networks in your device. For each network, *inter alia* you would see a line with the string *IP assignment*. Based on your configuration for that netowrk, it would either show STATIC or DHCP.

**Note** that you must have root access if you intend to run *dumpsys wifi* on a device through a command-line app since ordinary apps are usually not privileged to access a dump of WifiService.

Here's the relevant screenshot captured for Android 4.2.1:

The findings are valid for stock Android 6.0.1 as well.

Aforesaid information however doesn't query whether the router itself is capable of running a DHCP server.
> 3 votes

# Answer
The Android version of `ifconfig` is very limited compared to it's full-blown Linux version. And most commands I tried like dhcpstatus do not work.
> 2 votes

---
Tags: networking, shell
---


# Question
Title: LG G2 (VS980) stuck in boot loop after flashing cm-11
Following http://wiki.cyanogenmod.org/w/Install\_CM\_for\_VS980 to install cm on my Verizon VS980, I completed the steps and got a successful install but on reboot, my phone entered a boot loop, stopping at the LG logo. I can't seem to access TWRP recovery either, I tried multiple combinations including the instructions on the cyanogenmod wiki but still no luck.

# Answer
> 0 votes
Once it starts, hold the power and volume down keys. It'll go black and once you see the LG logo, release them, and hold them again. It will take you to LG's factory reset screen, hit the power button twice and your phone will get into TWRP.

# Answer
> 0 votes
most likely you didn't actually wipe data/factory reset. You can leave the internal storage /sdcard alone, it's the rest of the stuff. Every time I've flashed CM and had boot loops it was because I forgot to factory reset. They don't do this in the zip because many people hot-flash a newer build on top of old.

# Answer
> 0 votes
I've got the ls980, and while they have their distinct differences, I have had the opportunity to flash ROMs on the VS for my friends' as well, and I can't say I ran into the same issue. I did manage to brick it with an incompatible kernel though.

Download the lg flash tool (you can also find it at XDA with screenshots and instructions), and follow instructions listed EXACTLY to flash a *LG KDZ Rom* (stock ROM). It seems way worse than it is.

Also, while I refrain from endorsing products from anyone, I do have to say that on your particular phone I think you'd be WWWAAAAYYY happier flashing the Exodus ROM, as you are given the ability to "morph", without any additional flashing, between cyanogen, aosp, and my favorite, Exodus. To each their own though. Hope the tool helps. Happy Modding

---
Tags: cyanogenmod, 4.4-kitkat, boot-loop, lg-g2, twrp
---


title: MMS images showing up as videos

text:
# Question
Title: MMS images showing up as videos
For some reason when receiving pictures from people with iPhones, they sometimes show up as a video. The video is usually 20 seconds long with the first half blank (sometimes there is text depending on how the person sent the message) and the second half contains the picture (though it is really small). Any idea what is going on here? Googling didn't really turn up anything so I suspect this is only happening with the AT&T version of the Nexus One with MMS sent from AT&T iPhones or something. This has happened since 2.1-update1 when I first got the phone and still happens now (running 2.3.4 stock Google OS, unrooted).

OK, I did find some other people with similar issues:

http://www.google.com/support/forum/p/android/thread?tid=0e35a68a13fb466f&hl=en

http://www.google.com/support/forum/p/android/thread?tid=1b552b9e6595a79d&hl=en

Does anyone know of a way to workaround this? It's really quite annoying. Even a bug number in Google's issue tracking system would at least give me some hope that this would get fixed.

# Answer
> 5 votes
This might have something to do with a feature of MMS called Content adaptation. Your operator's MMSC (Multimedia Messaging Service Center) determines if the data sent is in a format supported by your handset, and if not, transcodes it into another format. This can cause some problems between different devices and operators. For example, my Android receives single images from other Android phones as 10 second videos where 1st half is the image and 2nd half is the message.

At least here in Finland, the behaviour I described is pretty standard and has happened since the days MMS was made available and people are used to it (as far as I know). Don't know about AT&T, but I'd suspect there won't be any changes in the near future.

# Answer
> 0 votes
I found on another site that if you save it and view it from your downloads folder, it displays as a normal photo.

---
Tags: nexus-one, mms, att
---


# Question
Title: How to prevent notification showing up when an event in my calendar is occurring?
When I have an event (mostly meeting) happening, I only touch my phone when I need to do something that serves that event like taking a photo or a note. If someone messages me in Facebook or email, I want to temporarily turn off those notifications until my job is done. I don't want to block the apps or turn off wifi because sometime I need open those apps to get the information I need. I am aware of a lot of blocking notification apps, but all of them are based on a fixed schedule, not automatically and flexibly turning notifications off based on my calendar.

So, in short:

* Automatically turning notifications off when an event starts
* Automatically turning notifications on when an event ends
* Calendar is updated on a regular basis (I use Google Calendar)
* Only direct call is allowed

My phone is S4 Mini, with CyanogenMod 4.

# Answer
> 0 votes
Their is a notification program in android already if you are on Android 4.4+

4.4+ ... Hold on the notification and go to app info, Then deselect show notifications

5.0+... Hold on the notification and select hide notifications from this app or notifications like this !

Then manually turn the apps back on again !

The notification manager is in different sections of the settings for each device.. Some it is under display and others it's under privacy (sms reasons)

---
Tags: calendar, notification-bar, automation
---


# Question
Title: Factory reset is disabled by kill switch on LG L16C
I cannot do a factory reset on a LGL16c, it comes up with screen to confirm reset and agreeing to wipe data, I say yes to both. Then it comes up with a screen that says

> Factory reset is disabled by **Kill switch**

I reboots and nothing happens. I cannot reset through settings on phone, security, it says factory reset disabled by server policy.

I found out that all new smartphones have this new "Kill switch" installed by all manufacturers because a new law passed prevents a thief from accessing a phone if there is a password on it and trying to factory reset it.

Is there a way to bypass the kill switch if I have the phone and there is no password and I want to wipe data and reset phone?

# Answer
"Killswitch" wouldn't allow me to turn on my usb debugging yet, I was able to bypass "Killswitch" by using Android Device Manager and wipe my phone as if it was lost or stolen. Which in turn reset the phone "LG L16C".
> 1 votes

# Answer
While it's true that newer smartphones are neccesary to have anti-theft kill switch, this particular kill switch on LG devices were installed by McAfee. From Android Community

> LG Electronics announced that it has partnered with McAfee to bring an anti-theft feature to the new LG G3 phones. The mobile devices will now be pre-installed with the latest version of the **McAfee Mobile Security, which includes a Kill Switch function** so that you can erase data and disable the phones when it has fallen into the wrong hands.
>
> Not only will the software protect the LG G3 from these malware infections, **it also has a kill switch that will enable you to disable your phone’s functions, including unauthorised factory reset**, when it gets stolen. Even attempts to root the phone will be blocked and the lock screen will require password authentication, and the user can control the device from a web console.
>
> <sup>(Emphasis added)</sup>

From XDA Forum post by twisted\_twice,

it seems you have to either:

* Turn off **Lock Down Device** on McAfee: you can then initiate factory reset, but you may be asked for PIN after that, or
* Unregister your device on McAfee Mobile Security (not really recommended security-wise)
> 0 votes

# Answer
Well, I have had a lot of experience with android devices, and I might have found a solution:

If your device is rooted, and you haven't already gotten your phone locked, you can get a "bloatware" remover, find `com.android.systemUI.factory.KILLSWITCH.apk.ODEX` and remove it. I hope this works!
> -1 votes

---
Tags: factory-reset, lg
---


title: swapping of data between sim card

text:
# Question
Title: swapping of data between sim card
My Micromax A350 has problem of swapping data. I have data pack in SIM2 when I am using continuously data then it automatically swap to SIM1 and it will start browsing using SIM1 because of that problem many times my balance is deducted. I am suffering with this problem since I have formate my phone. Thank You

# Answer
> 0 votes
You will find WCDMA AND GSM in your sim settings. WCDMA (Wideband Code Division Multiplexing Access) and GSM are two technologies that are used in mobile telecommunications. The difference between these two is that GSM is a 2G technology and WCDMA is a part of the newer 3G group of technologies. switch sim 1 to GSM only and sim 2 to wcdma and gsm auto connect . If these don't then another suitable combination would definitely work. (You will have to give them a try)

If none of the above work, reset your phone again.

---
Tags: dual-sim
---


title: What is Dalvik cache?

text:
# Question
Title: What is Dalvik cache?
When installing custom ROMs most recommend clearing the Dalvik cache. What exactly is Dalvik cache?

# Answer
The Dalvik cache is the set of saved .dex files. A .dex file is basically a compiled bytecode version of an app that has been built for the Dalvik Virtual Machine on which Android's apps run. It's similar to the Java Virtual Machine and having saved .class files.
> 27 votes

# Answer
Found very insightful information on `dalvik-cache` at stackoverflow from reputed sources(Google's employees who worked on Dalvik virtual machine platform).

Below is the summary of it, more from Android User's perspective in (hopefully) simple words.

**Where is dalvik-cache located in my Android device ?**

In a typical Android device, there is a directory named `dalvik-cache`. Since Android is based on Linux, it uses a file-system structure of the linux kernel. Hence, this directory is located in `/data` folder. So the path to access this Dalvik cache in Android device is `/data/dalvik-cache`

**What is purpose of Dalvik cache?**

When a user installs new application on Android, Android performs some modifications and optimizations on that application's `dex` file (the file that contains all the dalvik bytecode for the application). It then caches the resulting `odex` (optimized dex) file in the `/data/dalvik-cache` directory, so that it doesn't have to perform the optimization process every time it loads an application.

**What if I clear Dalvik Cache?**

There is no effect, other than increasing the next load time of an app, as it is rebuilt. So an application will take more time to load as it needs to rebuild it's Dalvik Cache. Hence, its is OK to clear `dalvik-cache` when installing custom ROMs, as the system will anyway re-build it with a new partition.

On an additional note, Starting from **Android 4.4(KitKat)**, Google introduced new Android Runtime called **ART** which is going to ultimately replace the Dalvik Virtual machine. Source

The ART which uses the same bytecode and `.dex` files compiles the dex file into native code. That compiled code is what is now stored in `dalvik-cache`
> 6 votes

---
Tags: custom-roms, dalvik, cache
---


# Question
Title: Are OEM USB drivers needed for developing Android apps on Windows 10?
On Linux, to develop an Android app there are no USB drivers needed. Regardless of whether android device comes from most popular or totally unknown hardware make, it just works.

On Windows in turn, one has to install OEM USB drivers to run app on particular device which can be painful if the device is not one of the most popular hardware brand that provides its own USB drivers.

Just reading an official Android documentation on OEM drivers and can't see any instructions on how to install USB drivers for Windows 10.

So, are OEM USB drivers needed for developing apps on Windows 10? Or maybe, wishful thinking, Windows 10 does take similar approach as Linux does?

# Answer
> 2 votes
No, the ADB drivers included with the Android SDK are universal.

On Windows 7, I was able to use the Google driver to interface with

1) Three different models of the Kindle Fire
2) Nexus 5,7
3) ZTE Speed
4) LG Optimus F3
5) HP Touchpad
6) Galaxy S4
7) Asus Memo Pad 8
8) Galaxy S3
9) Generic unbranded tablet

---
Tags: usb, usb-debugging, usb-drivers
---


# Question
Title: Why doesn't ClockWorkMod wipe of /data delete /data/media folder?
I think this might be a simple question but this been bugging me for long,

Why is that when i do a ClockWorkMod wipe of `/data`, the `/data/media` folder stays intact. @beeshyams pointed out that it is to avoid wiping out any clockworkmod backups. If that is the case, only `/data/media/clockworkmod/` folder will stay untouched if backups exists or not. But rather the whole `/data/media/` folder is kept safe from harms way. A better explanation will be appreciated.

# Answer
Please note the following are *assumptions* based on my *Linux* knowledge. So I cannot 100% back them, especially cannot tell if any/all recoveries work this way.

First, some raw facts:

* as already pointed out, `/data/media` is a symlink to the SD card
* resulting of that, the data behind it *reside on a different partition*
* that other partition is usually *not* included with the wipe/, which normally covers only `/data` and `/cache`

So now to the wipe itself. "Emptying" the `/data` partition could be done in different ways:

* "formatting" the partition: wouldn't touch the data behind that symlink
* performing something like `rm -rf /data/*`: would remove the symlink, but leave the data behind it untouched
* walking the entire `/data/*` file by file, directory by directory, removing each entry (no idea why one would do that). In that case, unless the process *follows symlinks,* again only the symlink would be gone but the content behind it left untouched

So once more: As the data-in-question does not *physically* reside on the `/data` partition, it should even be *expected* to stay.
> 2 votes

# Answer
This thread why doesn't format of /data in recovery blow away all your personal images, music, documents, etc? offers an answer

Quoting Scary Alien, who is a **moderator** on reddit forum (emphasis mine)

> ... when the `/data` partition is requested to be wiped with "`wipe_data`", the `erase_volume` (recovery.c) function is invoked. `erase_volume` invokes `format_volume` (roots.c). If `format_volume` determines if the volume in question is `/data` and `/data/media` is present and **symlinked to `/sdcard`**, then the `format_unknown_device` (extendedcommands.c) function is invoked. `format_unknown_device` will then recursively delete all files in `/data` -- **except for those in the `/data/media` structure**

In other words, as clarified in a trailing post

> Doing a data wipe in ClockworkMod will **skip** the `/data/media` folder (subdirectory)--i.e., where your **"`SD` card" lives**...
> -2 votes

---
Tags: clockworkmod-recovery
---


# Question
Title: Shell .profile or /etc/profile for old android 2.3.3
Just rooted my old phone with Android 2.3.3 and I would like to define some aliases for each shell I start (with adb or terminal app). I found this question where one answer says that `/etc/profile` (=`/system/etc/profile` due to soft link `/etc`-\>`/system/etc`) is one of the files the shell sources on startup. But this post talks about `/system/bin/sh` being a link to `/system/bin/mksh`, which is not the case on my 2.3.3 system.

Despite the fact that `strings sh` produces `/etc/profile` as one output, the file is not sourced.

Does anyone happen to know the old Android version and whether I have a chance to get /etc/profile or some other file sourced on shell startup? I thought it might be a permission problem but even rwxrwxr-x does not help.

# Answer
As I wrote in the other question, `adb shell` does *not* start a login shell. Only login shells read `/etc/profile`.

As you can see in Android 2.3.3 sh source, `main.c` lines 175ﬀ. only if `argv[0]` starts with a hyphen-minus is the shell considered a login shell. However, a few lines below (lines 185ﬀ.) there is code to read the content of `$ENV`.

So you could trick it and enter the following code after entering `adb shell` mode:

```
ENV=/etc/profile sh

```

You can probably use `exec` to replace the current shell, but this is the shortest to type I can come up with, as you *will* have to type it every time.

---

Alternatively, you can compile `mksh` for Android 2.3 (it works down to at least 1.5, if not older) manually (the Android.mk file is version-specific, unfortunately, so you’ll have to call Build.sh directly) and add the binary, then replace the default `sh` with it (I tested that first with Android 1.6; the newer the mksh version used the better, as early versions had bugs, e.g. preventing `adb install` from working).

Disclaimer: I’m the mksh developer.
> 4 votes

---
Tags: shell, mksh
---


# Question
Title: How to upgrade / swap SD card without losing data and installed apps?
I have 2GB Micro SD card in my Android and want to upgrade to 4GB.

How can I achieve it without losing anything from my 2GB card? I mostly use this card to store images/music and most of the apps.

# Answer
First, turn off your phone's radio by entering Airplane Mode - usually this'll be by long-pressing the power button and selecting Airplane Mode.

Next on your homescreen, press MENU and click SETTINGS (or navigate in your preferred way). In SETTINGS, choose SD CARD & PHONE STORAGE. Press UNMOUNT to dismount your SD Card.

Now remove your SD card from the phone and insert it into your card reader on your PC.

Copy ALL the files to a folder of choice.

Insert your new 4 GB card into your cell phone and choose to FORMAT it from within the device. This is the safest course of action. Remove the new SD Card and use your PC to move/overwrite all data from the copy of the old card to the new one.

Re-insert your new card into the phone and reboot so that the scanning of the card takes place.
> 43 votes

# Answer
When I followed the instructions of the accepted answer with my Samsung Galaxy S5, the phone would always tell me that the new SD card needed checking.

There seems to be a bug when you're trying to replace an encrypted SD card. Here is what I did to work around it:

1. Decrypt your old card (before you remove it from your phone).
2. Switch off the phone
3. Remove the old card
4. Insert the new card
5. Switch on your phone
6. Phone will detect the card and then complain about problems.
7. **Decrypt the new card.** This sounds like a mistake but it solves the problem. Apparently, the phone remembers that the card is supposed to be encrypted and tries to access it with the old key. Since the card isn't encrypted at all, this will fail.
8. The card should work now.
9. Encrypt the new card. If you skip this last step, you need to decrypt the card every time you switch on your phone.
> 7 votes

---
Tags: external-sd
---


# Question
Title: Using HTC Duo cameras to calculate distance
Since my One M8s has two cameras, it should be possible to calculate how far away any object in view is. I can't see any way to do this within HTC's built-in apps, but I know they released an API for using the Duo camera capture and processing. So has someone already made an app that uses this? I don't want an app that calculates based on the person holding it and pointing towards the ground, because I want to measure to objects above me.

# Answer
have you tried any of the measuring apps on play, They might have a dual camera support..

Most of them calculate your height and the distance it takes to reach the ground using the gyroscope

but i haven't heard of one for dual cameras.. It means you would have to manually configure the distance between cameras on every individual device .. It would be a nice app to see in development but it'd be a very small customer base to make an application around, considering the device compatibility wouldn't be very extensive !
> 0 votes

---
Tags: camera, htc-one-m8
---


# Question
Title: Nexus 5 failed recovery due to /data partition
I got a nexus 5 off of eBay, the seller said he had tried to root it and failed so I thought I would have a crack at it. I thought it would be an easy restore but I ran into a few problems:

Phone originally came with 6.0.1 installed. On android 5+ I could not access the standard recovery screen, and when I pressed power+volUp it just said formatting /data and would not move from that.

Rolled back to 4.4 and I got into the ususal recovery screen. Tried to do a factory reset, but it again stuck at formatting /data. I left it the entire night while I slept and it was still saying formatting /data. in the morning, nothing had changed. Trying to boot the phone normally just left it on the 4 circles startup screen.

I've tried doing a full flash of stock android with each seperate part manually. Also /data is unable to be mounted in any custom recovery, like it is corrupted or locked somehow. With the stock recovery, it cannot be detected by adb, but in cwm it can. However, it still doesn't allow access to /data.

Checking the /data folder in adb shell shows it's completely empty, and the same with system even after flashing and flashing again.

Can anyone advise me as to what might be the problem here?

# Answer
I used this link to repair my /data directory:

http://forum.xda-developers.com/google-nexus-5/general/howto-repairing-corrupted-data-partition-t2577447

Fortunately I was able to boot into fastboot mode the usual way ( Volume down and power at the same time ) unfortunately TWRP kept looping after erring on the corrupted /data folder. I ended up replacing TWRP with "Philz Recovery Nexus 5" because it booted up normally. I then formatted the /data, /system, /cache directories. That fixed the /data directory error and corruption problem. I was able to load CM13 successfully after that. I had to use a OTG external USB drive to load Philz Recovery Nexus 5, CM13 and GApps. I hope this helps. I'm sticking with Philz Recovery Nexus 5. It fixed the problem!
> 1 votes

---
Tags: recovery-mode, factory-reset, clockworkmod-recovery, twrp
---


# Question
Title: Powering on Mikona Android tablet with a broken power button
I have a Mikona Android tablet and the power button has broken quite literally snapped inwards and it has turned fully off. I have opened it up and looked at the circuit and the area around the power button.

How do I turn it on?

# Answer
> 0 votes
Try plugging in the device with no battery and then put the battery back in while it is running.

Also, try plugging in the charger to load the battery bar and then hold all buttons aside from power, it might cause a forced reset and restart into the system like a normal restart.

If none of the above works, try ADB. Use ADB and run the command

```
adb reboot

```

If you can't pick up a device with

```
adb devices

```

Then you'll need to hope they included a V-COM boot before `boot.img`.

To access V-COM You'll need the driver for your device and a flashing program like SP Flash Tool.

* To check for V-COM compatibility, you'll need to open Device Manager as the Administrator on your PC,
* Pull out the battery if removable (if not removable, read below) and plug in the device
* Look carefully for unknown device or V-COM device
* If you hear the computer go beep at all, it's registered a V-COM device

If you don't have a removable battery:

If you don't have a removable battery, then V-COM will only connect for a few seconds and then disconnect when the screen comes on.

---
Tags: buttons, power-on
---


title: Downloading PDF file from browser

text:
# Question
Title: Downloading PDF file from browser
I have been trying to download a PDF file from my Samsung Galaxy 10.1, 32G, Wi-Fi Tab. When I click on the download icon to check on it,it shows "Download in progress". A one page file, for instance, will take FOREVER then I get "Download failed".This happens again and again.

Very frustrating! I would then like to transfer the file to e-book to read at a later date. Can anyone help me please?

# Answer
Try with another browser, like the Android stock browser or Firefox for Android.
> 2 votes

# Answer
If you're using the Dolphin browser (which you should be using anyways), there is an add-on called MyPDF (available in Google Play). Check it out.
> 1 votes

# Answer
I've been having similar trouble. I went into the Settings for Google Drive (which I guess is my default reader even though I have Adobe Reader downloaded?). Under Data Usage, I de-selected "Transfer files only over wifi." Don't know for sure if this will help others, but seems to have worked for me.
> 0 votes

---
Tags: samsung-galaxy-tab, downloading, pdf
---


# Question
Title: Android M: Application does not require any special access?
I have a question with Runtime Permission Model on Android M. My app requires Location and External Storage permission. The above permissions are supposed to be requested from the user as required i.e. just before the code which required these permissions.

Now, when the app is installed, I get a screen that says "\[App\] does not require any special access".

Is it the correct behavior?

# Answer
http://developer.android.com/training/permissions/index.html

Your app is asking for permission which may hurt/affect the user, but also it does not mean that your user will not be able to execute your app if he/she does not allow permission and also if you code it properly. And it is also the reason why it is not listed while installing the app, you will need explicitly handle that stuff.
> 1 votes

---
Tags: 6.0-marshmallow, installation, permissions
---


# Question
Title: Tasker - Play video using MX Player while another is currently playing
I have an Android mini-pc connected to a television through a HDMI cable. I use Tasker to automatically start playing an mp4 video using MX Player when the device boots. MX Player then continues to play all the videos from the same folder in a random order and on a loop.

(the task contains one action - **Open File** \- under **File** I have the path to the mp4 file )

The problem is I then have Tasker set to play another mp4 video (from another directory) using MX Player one hour after the device has booted but MX Player ignores this and continues to play the current video.

(the second task is the same as the first- it contains one action - **Open File** \- under **File** I have the path to the mp4 file )

The reason why I need to use MX Player (instead of BS Player, VLC etc.) is because it has more options than the other players like the option to play all the videos in the same folder in shuffle and on a loop, resize the video so it fills the screen, play each video from the beginning and hide the video controls from the screen.

I have also tried using the Tasker action **Send Intent**

* *Action: android.intent.action.VIEW*
* *Data: path to mp4 file*
* *Package: com.mxtech.videoplayer.ad*
* *Target: Activity*

But this produced the same results - As MX Player was playing a video this task would run telling it to play a video and MX Player would ignore it and continue to play its current video.

Is there any way of getting Tasker to play a video using MX Player while MX Player is currently playing another video?

# Answer
> 1 votes
I cannot give my assurance for the mini-PC you've got, but the following works well on my Nexus 6 running stock Android 6.0.1 with MX Player v1.8.3.

Alright, so discard whatever actions you've setup and follow this simple one:

Code → Run Shell →

* Command:

```
am start -n com.mxtech.videoplayer.ad/.ActivityScreen -d "file://FILE" --user ID --activity-clear-task

```

where,

+ FILE refers to the location of your media file in Android. E.g. /sdcard/Movies/lolcat.mkv, /storage/emulated/0/Prime\_time/after\_dark.mkv and so on.
    + ID refers to the ID of the user account currently active. For primary user, it is always 0.
    + --activity-clear-task is a flag which makes sure no multiple instances of the same activity are spawned.

Example command:

```
am start -n com.mxtech.videoplayer.ad/.ActivityScreen -d "file:///sdcard/Movies/The egg of the King.mp4" --user 0 --activity-clear-task

```

If MX Player is the default video player in your Android, for fun, you can replace `-n com.mxtech.videoplayer.ad/.ActivityScreen` with `-a android.intent.action.VIEW` in the said command.
* tick Continue Task After Error

You can now setup a wait timer or anything that you intend to do after the execution of that action. In order to fire a new video, just copy everything from aforesaid action except of FILE which needs to be replaced with new file location.

In case Tasker doesn't work out, try with Automate. It has a neat block named App Start which is specifically meant to launch an activity of an app.

<sub>(Click image to enlarge it)</sub>

---
Tags: video, tasker, kiosk-mode, television, mx-player
---


title: Hangouts Icons Meanings

text:
# Question
Title: Hangouts Icons Meanings
I know when someone reads your message, their picture in mini appears after the last message. Here's where I'm confused:

1. If it's shaded, that means they're not currently looking at your particular conversation?
2. There's a mini cell phone icon that appears beside the mini picture. It seems to appear randomly. Does it simply mean that they answered your hangout via cell phone? Or does it mean that they are currently using hangouts with another conversation (if the mini picture remains shaded)?

# Answer
> 3 votes
If there is a computer next to their icon, it means they are on a PC (or Chromebook).

If there is a phone, they are on their phone. The position of their icon shows the last message they read.

If the icon is dim, it means they are not looking at your message. Doesn't mean that hangouts is open, or closed.

---
Tags: google-hangouts, notification-icons
---


title: Unable to pass through setup wizard

text:
# Question
Title: Unable to pass through setup wizard
I had deleted the Google keyboard app and was using a third party keyboard app on my Motorola Nexus 6. Just now, I hard reset my phone and come to know that there is no default keyboard installed; making me unable to pass through the setup wizard. I am running Android 5.1.1 and because of factory reset protection, it's a must to pass through setup wizard, can't skip anything. Please help me fix this, thanks in advance.

# Answer
Because you are currently in an unknown state, the "best" option here is to reflash the factory images manually. Google provides factory images and instruction on their Factory Images for Nexus Devices page, and you could also upgrade to 6.0.1 if you wanted to.

Going through this procedure will return your Nexus device to it's factory condition, except with the version of software you chose to install.
> 1 votes

---
Tags: 5.1-lollipop, nexus-6, hard-reset, setup-wizard
---


# Question
Title: Is it dangerous to change or remove company-brand boot logo?
There are two types of boot animation:

1. Company-brand logo
2. ROM-based

I was able to change ROM-based animation by rooting the phone and using a custom ROM.

However, I'm a bit confused about how to change or remove the brand logo animation. Is it safe to do that? Will it increase the speed of the booting process?

# Answer
> 9 votes
I have a very different take on this matter than @sbrm1. Note a few things first and then decide whether doing this is worth it:

* The *boot logo* is a actually a raw binary image, constrained by size, not format.
* The format of the bootloader splash screen, as it is known, varies for even models of the same device (case in point, Exynos and Qualcomm Samsung Galaxy models).
* On Qualcomm devices, the bootloader splash logo is typically stored on a partition called `splash` or `logo`, to change which you need to flash as similarly named `.mbn` or `.bin` file (not `.img`)
* If you don't choose a logo with a format and size specific to your device, it may result in unforeseen circumstances (read, what will appear to be a **Hard Brick**, the device not booting up at all). Why? The bootloader is dumb and will try to load whatever is on the splash partition as long as it fits in there (i.e., has a specific size). It might not even be a picture at all. The bootloader may choose to 'panic', i.e., show some error message and reboot, keep trying to reload the splash, or continue booting the OS. You can hope for the last, but you never know unless someone has documented the specific behaviour for your device or you learn it the hard way. You may or may not lose your charging screen, however.
* Do you still want to do this? I don't know of a guide specific to your device, let that put you off a bit. If there is indeed an acceptable splash file for your device, just `fastboot flash` the image file (note, *image* as in *disk image*, not *photograph*) to whichever of the above 2 mentioned splash partitions which exists on your device. This can be done on some HTC, LG and Nexus devices with Qualcomm or Tegra chipsets.
* A last FYI, the manufacturer may choose to integrate the logo into the bootloader (`aboot`). I know Xiaomi does this for some devices (Redmi 1s and Redmi 2 - personal experience), it's probably true in your case too. Then you will need a **custom bootloader**, with the splash screen packed into the bootloader flashable image file (*image* as above).

Still there? I can't help you beyond discouraging you, so...

# Answer
> 8 votes
Yes it is possible to change the company logo. If you have ever flashed a custom ROM which changes it and still have the `update.zip` file lying around, sometimes (after extraction) you will find a logo.bin (its a *raw* Binary file) file in the root directory. This file contains the Brand Logo as well as the charging animation and the image to be displayed in fastboot mode. However on your phone (and most other phones) there is no logo.bin file but just a partition named `LOGO` where a complete dump of the logo.bin file is saved.

There are `update.zips` just for changing your phone branding, however only files for the correct resolution and chipset will display correctly. (Yes, you can indeed use such files made for other phones with the same SoC with the same resolution)

---
Tags: boot-animation
---


# Question
Title: Ransome Virus - Device Administrator deactivation impossible
I am inside of the device administrator settings of my andorid phone while being in safe mode. While I was able to delete one part of the ransome virus which was called "adult video", the second "adult video" stuck on my phone. Can't delete it.

I figured out that I need to deactivate the administrator rights from the device administration settings.

**Whenever I try to deactive the app within the device administration settings in safe mode, the app pops up and prevents me wiht a full screen thing**

The phone is not rooted. What can I do? Several anti virus programs failed also

# Answer
> 2 votes
Clear the data of that app. And try to remove that app from device administrator.

If it fail's then backup all important data and restore the device. This will uninstall that app.

---
Tags: android-device-manager
---


# Question
Title: Why do I keep getting "not enough storage space"
I have an LG Stylo with a 32gb SD card, which is supported on my phone, and I have 29gb free. I try to move an app of any size and I am told there is not enough space. One or two apps move, but the majority won't. What is the point of walking someone through the steps and not allow it? My system has been updated to 6.0 Marshmallow, but I was having the same issue before. The Stylo has been great but I am starting to run low on space, which could be fixed using the SD card.

# Answer
Your phone has 8GB internal memory this is low if you have many apps installed, including updated apps.

1. If you turn on automatic update in google play, turn it off.
2. If it was already updated some Microsoft apps, uninstall them. This will return some space.
3. Facebook app is the big app. You can use Facebook lite or browsers instead.
4. Clear cache. Setting -\> Storage/Usage -\> click on cache and clear cache.
5. If you have Line or other chat apps, delete chat history one by one.

Hope this help.
> 0 votes

---
Tags: applications, sd-card, storage, 6.0-marshmallow
---


# Question
Title: Enable a keyboard other than Google Keyboard via ADB
I have got 2 keyboards on my phone: Google Keyboard and AnySoftKeyboard. Google Keyboard is my primary keyboard. I want to enable AnySoftKeyboard as my primary keyboard via ADB (I use ADB because the 'Language and Input' subsetting crashes my Settings app for some reason). But the problem is that, although I enable it and it works while my phone is on, after a reboot it doesn't work and my primary keyboard becomes Google Keyboard again.

If I try to disable Google Keyboard so that AnySoftKeyboard has a hope of working, my System UI and Launcher crash at startup, making my phone go nuts (I can only unlock my phone and reboot it or shut it down).

*However*, because of past experience with this, even if Google Keyboard were uninstalled, a user keyboard app (unlike a system keyboard app) does *not* launch at startup (even when enabled via ADB), even if I go to an app like Messenger and try to type something (note: my system doesn't behave weirdly if I uninstall Google Keyboard).

So far I have used:

```
adb shell settings put secure default_input_method "mID of AnySoftKeyboard"
adb shell ime enable "mID of AnySoftKeyboard"

```

(just in case the first one doesn't work for some reason), then:

```
adb shell ime disable "mID of Google Keyboard"

```

This is when my phone had the problem with System UI and Launcher, in which case I re-enabled Google Keyboard (because it was a system app) with commands shown on this answer. Also, used

```
adb uninstall "AnySoftKeyboardPackageName"

```

to uninstall AnySoftKeyboard in case it was creating a problem.

I've also tried 'Languages and Input' sub-setting crashes Settings, need to enable it to install keyboard and it doesn't work. It executes the commands perfectly, the keyboard I want to enable works, but after a reboot, everything goes back to what was before I did any of this.

So, my question is, how do I make sure that, after a reboot, AnySoftKeyboard will *both* be a functioning and primary keyboard app? And why do my system UI and Launcher crash when I try to do a modification to Google Keyboard other than uninstalling it?

Phone: Acer V370 Android version: 4.2.2

# Answer
To make AnySoftKeyboard my main keyboard, I had to:

1. Turn it into a system app (with Link2SD)
2. Reboot as instructed
3. Put the following commands via ADB:

```
adb shell settings put secure default_input_method com.menny.android.anysoftkeyboard/.SoftKeyboard
adb shell ime enable com.menny.android.anysoftkeyboard/.SoftKeyboard

```

(I put both just to be sure, but I think putting only the first command will work fine)
4. Uninstall Google Keyboard (with Titanium Backup)
5. Reboot just in case anything had yet to be sorted out

And done.

The most important part was **making it a system app** because as a user app, it would either:

1. not be the primary keyboard after a reboot
2. flat-out refuse to function (even if it was the only keyboard on the device).
> 4 votes

---
Tags: adb, keyboard, crashes, gboard
---


# Question
Title: Where is the iTunes equivalent for Android?
I have searched this forum with no success for a few days, I apologize if this question has already been answered. I am a new Android user, switching from an iPhone to a Galaxy Note 3 with Ice Cream. I have tried using Samsung Kies 3 to replace the features I had with iTunes with no success. It reports complete syncs, but the information is not complete. It does not allow the user to manipulate the screens and organize apps the way iTunes allows. I am looking for software that has all the features of iTunes. I have found a few that are loaded with ads and very few features. So far, I have not found any app that allows me to manage apps in terms of updates. Google could have an app that can handle the basic needs of an Android user. I have not been able to find this. Your help is appreciated.

# Answer
> 7 votes
You won't find a good "iTunes for Android" for your desktop computer, because Android was designed from the start to eliminate that dependency on a desktop computer. An iPhone uses a protocol that only iTunes understands, so iTunes is the only way to get music and photos onto it (Originally, you had to install apps through iTunes too: there was no App Store on the iPhone itself.)

In contrast, Android phones use MTP to act like any media player device, so they show up as a drive on your desktop computer. (Originally they used the USB mass storage protocol, but that approach had shortcomings.) You can just drag and drop files onto the phone, or you can use a more specific piece of software.

For example, if you want to put music on your phone, and you don't want to drag and drop files, there's a choice of music software that support syncing to non-iPhone music players, including Android phones. Rhythmbox and Clementine are two examples.

Similarly, if you want to put some photos on there, you can just drag-and-drop them if your folders are neatly organised on your desktop computer, or you can use a photo manager like Shotwell or Geeqie.

In your question, you say:

> Google could have an app that can handle the basic needs of an Android user. I have not been able to find this.

and the answer to that is that you've been looking in the wrong place! If you want to organise your home screens and install, update, and remove apps, don't run to your desktop computer: the place to look is on your phone. All that functionality has been on Android phones right from the start, so there's no need for a huge "manage my phone" program on your desktop.

# Answer
> 0 votes
iTunes can never be found nor used in Android phones. It is "only" meant for Apple users. Unlike Apple gadgets, Android only can manage the content of their phone via their phone only, there's no trick or there's no app available to do it just like what iTunes does. That makes Apple and Android very different. I used both Apple and Android and the truth is, I love managing Android more than Apple, it's less complicated and I don't have to worry about syncing most of the time.

Samsung Kies only is used for you to sync your phone to a computer, it won't do you anything else. You have a nice phone, Galaxy Note 3, why not try to explore it and maybe you'll realize it's much easier to use than your phone before? :-)

# Answer
> 0 votes
Samsung Phone has its default management tool such as Samsung Kies, HTC has Sync manager, but if you find Samsung Kies crashed from time to time, you can find its alternatives. The free web app AirMore is the iTunes equivalent for Android. Simply use your browser to connect your device and PC.

# Answer
> 0 votes
I would say the your best option would be Wondershare Tunesgo. It costs a little bit of $$$ but it's worth it. I believe they have a free trial version to see if it's a fit for you.

---
Tags: samsung, itunes
---


# Question
Title: How to comprehensively back up user-significant data from Android device
I'm interested in making a thorough backup of all my customizations to my android phone. Perhaps not so far as to "image" the phone, because the phone itself is locked to a carrier and I would like to be able to restore the backed up customizations to a phone that has different service and a different phone number (but maybe the method that folks propose would restrict restoration to devices of the same make and model, which would be fine with me - it seems hard to conceive of a method that would allow a backup of a motorola to be restored to a Samsung). In other words, I would like to have my apps, the data saved by my apps, my system configuration preferences, and the files I've manually littered around the filesystem such as in the "Alarm" and "Ringtone" directories. Again, I'd like to be as thorough and low-level as possible without getting into the realm of carrier locks, carrier bloat, or phone number and carrier service account.

Any ideas? I'm a knowledgeable technology user new to the world of Android. The device in question is an ATT Moto E, and in the upcoming future, I might try to restore it to a Sprint or FreedomPop or Republic Wireless Moto E, that latter two of which make modifications to firmware. Further, ATT is GSM while all three of the other mentioned networks are CDMA, so I definitely wouldn't want to backup the "baseband," if that is the correct term, for my particular imagined use case, but maybe this is best framed as two questions that may be combinable into one to some degree. How would one go about doing this in my particular usecase, and how would one go about it in case it was the exact same (sub-)model? Maybe the answer is the same, which would be great.

Thanks

# Answer
If you have a good enough backup program, why not just backup the entire file system on the device? Under Ubuntu 15.10, my Android-based phone gets mounted at `/run/user/1000/gvfs/`. I back all those files up with borg-backup.

A lot of the customization might also get backed up to your Google profile (I haven't switched Android phones yet). My approach is very low-level and there might even be slicker ways to do it.

```
#!/bin/bash

# exit immediately on errors
set -e
# error out if uninitialized variable is used
set -u

REPOPATH=ssh://backups.example.com/backup/device/borg
ARCHIVENAME=tgh-usbdevice
if [ $# -ge 1 ]; then
  ARCHIVENAME+="-"${1}
fi
ARCHIVENAME+="-"$(date +'%Y%m%d-%H%M')

echo "Creating: ${REPOPATH}::${ARCHIVENAME}"
borg create --progress --stats ${REPOPATH}::${ARCHIVENAME} \
  /run/user/1000/gvfs/

borg check --archives-only --last 10 ${REPOPATH}

```
> 1 votes

---
Tags: backup
---


# Question
Title: How to fix a consistently freezing app download?
On my new Motorola X, I am downloading an app (Amazon's Kindle app) from the Google Play store and it is consistently getting to 91% downloading and then freezing there.

I can cancel the download and try it again, but it always stops at 91%.

Is there a way to reset the download so it truly starts from scratch? Or is there something else I should try?

# Answer
Ok this happens to me all the time I just go to app settings and then go to google play and them force stop and there it works
> 1 votes

# Answer
You don't state whether it freezes up while downloading of other apps. I'm assuming it does. What I had to do when the PlayStore froze(halted) on every download was as follows:

1) force close PlayStore, Play Services, and Services Framework

2) clear data PlayStore and Play Services

3) reboot into recovery

4) wipe dalvik-cache and cache

5) reboot

6) check the PlayStore again for working download

I've had that happen a couple of times when flashing the wrong GApps package or by not doing a simple wipe before and after flashing.

If the problem persists you will need to access your Google Account through the browser, not on your Android, but on your PC and clear your data. I don't remember the exact steps that way, but I did find info in the help files there.

The only other solution from there is to do a factory reset, just make sure you do a backup of your device before resetting. Only do the factory reset as a last resort.

Edit: one more thing you can do is run a logcat, basically a running list of what is happening at specific times during application operation. I'm not qualified to give you the right means of accomplishing that, just too much info, but I have found a wonderful write up from the XDA forums on this. http://forum.xda-developers.com/showthread.php?t=1726238 This should show at what point the app is freezing and what is going wrong.

Good luck
> 1 votes

# Answer
If you use an adblocker like adaway, it could be the cause. stopping/removing mine solved the problem.

If you still want adblocking, some browsers come with an internal ad blockers, and that doesn't seem to interfere with the store.
> 0 votes

---
Tags: google-play-store, downloading
---


# Question
Title: How to connect to Internet from Windows 7 laptop tethered over blue tooth to Samsung S4
Android Samsung S4: Tethering and Mobile Hotspots \> Bluetooth (enabled) Windows 7 laptop: Bluetooth enabled, paired with Samsung S4.

Windows Bluetooth Device Control window opens. By default, the Samsung S4 has (Disconnected) below it, even though they were just paired & my laptop has no Internet connection.

My S4 has a working Internet connection.

If I try to click Connect, under Windows Bluetooth Device Control \> Personal Network and Communication, a green tick appears over the Bluetooh icon located between the diagram of the laptop and the S4 at the top of the Bluetooth Device Control window. However, it reverts back to the default bluetooth icon, and the the S4 continues to display (Disconnected) below it.

I have download the Samsung Android USB Drivers for Windows, and the S4 displays as a device with no driver problems in Windows Device Manager.

**How do I have my Windows 7 laptop use my Samsung S4's mobile Internet connection while tethered over bluetooth?**

# Answer
The steps which I follow:

1.Goto `Settings` then tap on `more settings` under wireless & network.

(Click the images to enlarge)

2.Tap on `Tethering & portable hotspot` under Network

3.Next tap on `Bluetooth tethering` to enable Bluetooth tethering

Now Pair your Device to your Computer, to do this...

1.Hit the `Bluetooth Icon in the system tray`

2.Click “Add a Device”

3.Wait for it to search for your Bluetooth Internet Access Point, then click to select it and press “Next”

4.Click “Yes” then click “Next”

5.Wait till your Computer to install the drivers.

(Click image to enlarge)

6.Now the Bluetooth access point has been setup.

7.Click the system tray, then right click on the Bluetooth icon and then hit **`Join a Personal Area Network`**

Else,

7. Goto Control Panel\All Control Panel Items\Devices and Printers
8. Right Click your device and connect using Access Point

> Note : Again your device have not connected means try these

***Setting up the modem***

On the PC, Click Control Panel

Right-click on the Bluetooth icon in System tray, click Add

An Add Bluetooth Device Wizard will appear

Select My device is set up and ready to be found

Click Next

Select the handset from the list and click Next

Select Let me choose my own passkey

Type 4 to 16 digit passkey (example: 1234) in the available field

Click Pair Now

On the handset, enter the same Passcode (Passkey) entered on the PC Press OK

An Accept connection request prompt will appear, press Yes

Ensure that Dial-up networking (DUN) is checked

Click Next

On the PC, click Finish

Then Click Control Panel

Double-click Phone and Modem Options

Click Modems tab

Select Bluetooth Modem

Click Properties button

On the General tab, click Change settings button

If a User Account Control prompt appears, click Continue

Click Advanced tab

In the Extra initialization commands field, type `at+cgdcont=1,"IP","internet"`

Click OK and OK again.

***Setting up the connection***

On the PC, return to the Control Panel

Double-click Network and Sharing Center icon

Click Set up a connection or network

Select Setup a dial up Connection

Click Next

If prompted, Select No, Create a new connection

Click Next

Click Dial-up

If prompted, click Bluetooth Modem

In the Dial-up phone number, field, type `*99***1#` or `*99#`

Leave the User name and Password fields blank

In the Connection Name field, type the corresponding `APN` *(Ex: XXXX.com or YYYY.internet)*

To Know APN :

On the Mobile, Goto Settings\More settings\Mobile Networks\Access Point Names and then Tap the required network to view it

(Click the image to enlarge)

Select from the available options

***Setting up the connection***

On the PC, click Connect

On the handset, an Accept connection request prompt will appear, press Yes

If a Set Network Location prompt appears, click Cancel
> 1 votes

---
Tags: samsung-galaxy-s-4, bluetooth, windows, internet
---


# Question
Title: How is CyanogenMod's built-in root access different?
I don't know a lot about Cyanogen but realizing Snapchat fails to detect the root in it catches my attention. Does it have a different binary than `su` for root access? What mechanisms are different which grants an app root access?

# Answer
Cyanogen has a different root method since version 11 upwards... It is now integrated with the stock privacy manager inside privacy guard !

I believe it doesn't recognize root for the reason that it can be disabled inside development options.

You need to manually configure it via development options, This means that snap chat wont be able to run a su or adb su / sudo command
> 1 votes

---
Tags: cyanogenmod, root-access
---