title: How to launch any activity?

text:
# Question
Title: How to launch any activity?
Activity Launcher from Google play doesn't see all activities. MyAndroidToos can see all, but can't launch it. I need easy way to launch any activity of any app.

# Answer
~~Some activities are not launch-able.~~ All activities are launch-able, but some of them may not have any effect when launched directly. They may be a window overlay, a notification, or even a simple broadcast listener.

Copying *beeshyams*'s quotation:

> An *activity* is the most familiar type of component: it's a window you can see: either full-screen or dialog-sized. An activity only runs while it's displayed on the screen. Once you leave the activity, Android will keep that app in memory ready to be started again, but the activity won't run, meaning it won't use battery or network. An app starts an activity using an intent. The intent can specify explicitly which activity to start, or it can specify an action to perform (such as opening a particular file). If more than one activity can "handle" the intent, you see the dialog asking you to choose one.

If you insist on attempting, you may want to explore `am start` command. It can start any activity supplied as arguments. Root is required in most cases.

```
# am start com.android.vending/com.google.android.finsky.billing.acquire.AcquireActivity
Starting: Intent { act=android.intent.action.MAIN cat=android.intent.category.LAUNCHER cmp=com.android.vending/com.google.android.finsky.billing.acquire.AcquireActivity }

```

Well, the above command gave no visual responses other than `am`'s output.

You can specify another action with option `-a` and another category with `-c`, to pretend you're another app rather than a command line. However I'm not a developer, so you should work things out further on yourself.
> 0 votes

---
Tags: applications
---


# Question
Title: Can anyone identify this app notification
I have been searching a lot, and, I am unable to identify this app on the notification bar as showed in the image. The icon with a blue circle and a rabbit on it. If anyone can recognize it, that will be very helpful.

# Answer
Its the Notification for the app named Turbo VPN - Unlimited Free VPN.

* VPN proxy
* unblock sites
* WiFi hotspot secure
* protect privacy.
> 1 votes

---
Tags: applications, samsung, notification-icons, samsung-galaxy-s-7-edge, app-icons
---


# Question
Title: Phone connected to PC but it only charges
I'm using windows 10. Connected my phone (Samsung Note 3) to my PC but it only charges. I've done USB Debugging and even installed the driver on my PC. I doubt windows 10 doesn't recognized my phone because I connected to my windows 7 PC but the same thing happened.

# Answer
Not all the USB cables offer data transfer. There are same-looking power-only cables, which obviously allow only charging, and don't have data wires at all.

Try with a different USB cable as a start.
> 2 votes

---
Tags: usb-debugging, usb-connection-mode
---


# Question
Title: How to determine which application is blocking microphone usage?
Is there a way to determine which currently running application is using the microphone? I suspect the arrow launcher but would like to try and confirm this. **I'm looking for a method which would provide logs / debug info to add to a bug report**.

Android version 7.1. Rooted Nexus 5x.

I am not looking for another app to provide this functionality. I am a developer (though not Java) and would like to understand the processes involved in gaining access to and blocking the microphone.

here's the dump from dumpsys audio as requested by first answer:

```
 adb shell dumpsys audio

MediaFocusControl dump time: 12:43:52 pm

Audio Focus stack entries (last is top of stack):

 Notify on duck: true

Stream volumes (device: index)
- STREAM_VOICE_CALL:
   Muted: false
   Min: 1
   Max: 7
   Current: 1 (earpiece): 5, 40000000 (default): 5
   Devices: speaker
- STREAM_SYSTEM:
   Muted: false
   Min: 0
   Max: 7
   Current: 1 (earpiece): 5, 2 (speaker): 4, 40000000 (default): 5
   Devices: speaker
- STREAM_RING:
   Muted: false
   Min: 0
   Max: 7
   Current: 1 (earpiece): 5, 2 (speaker): 4, 40000000 (default): 5
   Devices: speaker
- STREAM_MUSIC:
   Muted: false
   Min: 0
   Max: 15
   Current: 4 (headset): 5, 8 (headphone): 5, 40000000 (default): 11
   Devices: speaker
- STREAM_ALARM:
   Muted: false
   Min: 0
   Max: 7
   Current: 40000000 (default): 6
   Devices: speaker
- STREAM_NOTIFICATION:
   Muted: false
   Min: 0
   Max: 7
   Current: 1 (earpiece): 5, 2 (speaker): 4, 40000000 (default): 5
   Devices: speaker
- STREAM_BLUETOOTH_SCO:
   Muted: false
   Min: 0
   Max: 15
   Current: 40000000 (default): 7
   Devices: speaker
- STREAM_SYSTEM_ENFORCED:
   Muted: false
   Min: 0
   Max: 7
   Current: 1 (earpiece): 5, 2 (speaker): 4, 40000000 (default): 5
   Devices: speaker
- STREAM_DTMF:
   Muted: false
   Min: 0
   Max: 15
   Current: 1 (earpiece): 11, 2 (speaker): 9, 40000000 (default): 11
   Devices: speaker
- STREAM_TTS:
   Muted: false
   Min: 0
   Max: 15
   Current: 4 (headset): 5, 8 (headphone): 5, 40000000 (default): 11
   Devices: speaker

- mute affected streams = 0x2e

Ringer mode:
- mode (internal) = NORMAL
- mode (external) = NORMAL
- ringer mode affected streams = 0x1a6 (STREAM_SYSTEM,STREAM_RING,STREAM_NOTIFICATION,STREAM_SYSTEM_ENFORCED,STREAM_DTMF)
- ringer mode muted streams = 0x0
- delegate = ZenModeHelper

Audio routes:
  mMainType=0x0
  mBluetoothName=null

Other state:
  mVolumeController=VolumeController(android.os.BinderProxy@2e64f54,mVisible=false)
  mSafeMediaVolumeState=SAFE_MEDIA_VOLUME_INACTIVE
  mSafeMediaVolumeIndex=50
  mPendingVolumeCommand=null
  mMusicActiveMs=1500001
  mMcc=234
  mCameraSoundForced=false
  mHasVibrator=true
  mControllerService={mUid=0,mComponent=null}
  mVolumePolicy=VolumePolicy[volumeDownToEnterSilent=true,volumeUpToExitSilent=true,doNotDisturbWhenSilent=true,vibrateToSilentDebounce=400]

```

I have also tried:

```
adb shell dumpsys activity broadcasts | grep -i microphone

```

This gives no output.

# Answer
Using logcat extreme and monitoring per app set to WhatsApp , it shows

`mediaFocuscontrol: Audiofocus*request*Audiofocus() from Android.media.audiomanager` when microphone is activated

And

`mediaFocuscontrol: Audiofocus*abandon*Audiofocus() from Android.media.audiomanager` when microphone is de-activated
> 1 votes

# Answer
I'm unsure about Nougat but this works for Android 6.0.1. Run:

```
adb shell dumpsys audio

```

In the output look under *Audio Focus stack entries (last is top of stack)*. E.g., when I had an audio recorder app using microphone, the output was:

```
Audio Focus stack entries (last is top of stack):
  source:android.os.BinderProxy@a60844c -- pack: com.sonymobile.androidapp.audiorecorder -- client: android.media.AudioManager@a251d71com.sonymobile.androidapp.audiorecorder.shared.media.VolumeControl@72c2756 -- gain: GAIN -- flags:  -- loss: none -- uid: 10108 -- attr: AudioAttributes: usage=1 content=2 flags=0x0 tags=

```

Here the package using the microphone is *com.sonymobile.androidapp.audiorecorder*.
> 1 votes

---
Tags: microphone, 7.1-nougat, debug
---


# Question
Title: Missing profile pic after repair - Android 7.0
Anyone know how to get rid of the blue profile pic circle and replace with my Google one on Android 7?

The trick used to be to turn on contact sync on Google plus and clear contacts cache, but I can't see that setting in the latest version of plus!

On my Moto G4+ which I've just had reset (as it went in for a repair).

# Answer
I had the same issue on Nougat and changing the profile photo in contacts app worked for me

Open **Contacts App - Settings - My Info** and change your profile photo.

Works immediately, no restart needed.
> 1 votes

---
Tags: 7.0-nougat, stock-rom, profiles
---


# Question
Title: How to prevent Chrome from restoring last session?
Whenever I close and reopen Chrome it automatically restores the last session. How do I stop it, so that on reopen it should open homepage instead of last session?

I'm using Android Marshmallow and my Chrome version is the latest one (updated today).

# Answer
This was possible in earlier versions but from Chrome version 51 onwards, it is not possible as it *designed* to open in last session instead of home page

I couldn't find any workaround for rooted devices on net

**Source**
> 3 votes

# Answer
Instead of closing Chrome close all the pages that are open. It looks like a square with a number in it on my phone, next to the address bar, at the top of the screen.
> 2 votes

# Answer
On Chrome close all but one page, set the address as "about:blank" (without the quotes and then form the menu select "Add to home screen". You can then open that with no embarrasment! lol
> 1 votes

---
Tags: chrome-for-android
---


title: How should I disable wave animation

text:
# Question
Title: How should I disable wave animation
I have seen in my device running Lollipop that, when charges get below 15% the device get into **Battery Saver mode**, in which all the animation of the Android get disabled (like, Wave animation).
So, I just wanted to disable that animation manually, how can I do that, anyone know please share it.
**Note:** I have rooted phone

# Answer
> 0 votes
You could try setting the animation scale to 0% (in developer options)

If it is not enabled already, go to Settings \> About phone and then tap Build number seven times.

After that Settings \> Developer options will be available.

In the developer mode and set animation scale to .0% (or off)

Credits: Disable Animations on Lollipop

---
Tags: battery, 5.1-lollipop
---


title: Android phone extension numbers

text:
# Question
Title: Android phone extension numbers
ANdroid 5.0.2 - Several contacts with same company phone # but different extensions. But it only keeps one extension. All the rest ignore my edit in which I add the extension #, even though it says it's saving it. Also only shows that ONE contact every time I get a call from that company.

# Answer
Open the dialer app and enter the number that you want to call. Add a "pause" if you'll be entering the extension as soon as the line picks up. If the number you are calling allows you to enter the extension immediately after picking up, the "pause" function will automatically enter the extension after waiting a moment: Press and hold the * button to add a space, a comma (,) and a space then add the extension # to the end of the number. This symbol indicates a two-second pause before the extension will be dialed. If pressing and holding the * button does not work, tap the (⋮) button next to the number and select "Add pause." If that doesn't work either, tap the number field to open your on-screen keyboard, then type a comma. You can add multiple commas to wait longer. This may be useful for phone systems that have a delay before you can enter the extension. On Windows phones, you'll need to type the comma in another app, copy it, then paste it to the end of the number.

OR

Add a "wait" if the extension can only be dialed after the whole menu plays. Some extensions cannot be entered until the entire automated menu service plays, or until a certain option is selected. The "wait" function will display the extension on your screen and you'll indicate when it should be entered. Press and hold the # button to add a semicolon (;) to the end of the number. This symbol indicates a "wait," and the subsequent extension will not be dialed until you say so. If you're using a Windows phone, you'll need to add a "w" instead of a ";". This will need to be copied and pasted from another app that allows you to type.\[1\]
> 0 votes

---
Tags: 5.0-lollipop
---


# Question
Title: Why doesn't my android start daydreaming?
In `Settings > Display > Daydream` I have
\- selected one (any one, but right now it's just the standard **Clock**) \- when to daydream = either docked or charging
\- "start now" works fine.

I've connected my Nexus 4 by USB cable to a wall charger and "Clock" confirms *Charging (AC), 45%*

`Settings > Display > Sleep` is set to 15 seconds while I try to get daydreaming to work. If/when it works, I'll probably set it to 2 minutes.

Despite the above settings, and being on AC power, **the phone never daydreams. Why not?**

This is a Nexus 4 with stock 4.2.2, not rooted, not superuser'ed (yet).

# Answer
> 10 votes
As mentioned in comments, I also have a Nexus 4 (4.2.2) and it daydreams OK when charging (USB to wall charger) when set to sleep after 15 seconds.

"Daydreaming" is triggered when the device goes to sleep (or when sleep mode would normally be triggered). It would seem that if the "stay awake" option is checked in "Developer options" then sleep mode is never triggered and the device never daydreams. So, the solution is to **uncheck the "stay awake" option.**

"Daydream" is like a *conditional* stay-awake option. The screen does not switch off and for this reason a device can only be set to daydream when it is connected to a power source.

# Answer
> 5 votes
Daydream doesn't trigger if Phone is switched off by button.

# Answer
> 1 votes
I had the same problem and found solution in configuration of Daydream. There is an option 'More' and then by default it is selected to start clock by docking. I've just changed it to 'both' docking and charging and that's it.

Hope it helps.

# Answer
> 0 votes
Daydream only woks when you let the phone turn off by itself. After you set the screen timeout to any time, let it shut off dont press the power button. That is why daydream wont work with the "keep screen turned on" option.

---
Tags: daydream
---


# Question
Title: How to install recovery after rooting Xperia M (stock ROM 4.3) to install custom ROM?
I have a rooted Xperia M Dual (C2004) with stock ROM 15.5.A.1.5 (4.3 Jelly Bean). Bootloader unlocking is allowed and I also have the unlock code already.

Since Sony decided to stop giving updates I wanted to install a custom ROM. So went ahead and rooted it but now I'm stuck. I am still on stock ROM because I don't know how to proceed now.

Some threads say to unlock bootloader and flash the ROM, some say to flash the stock ROM first then recovery.

I found this app called TWRP Manager on my device's twrp page( https://twrp.me/devices/sonyxperiam.html ) which has an option to install TWRP. But since my bootloader is still locked I don't know if it's safe.

A guide on XDA has instructions but it says after unlocking bootloader flash the custom ROM which is a huge 700 megabytes download and I at the moment don't have the bandwidth.

So is it possible for me to install TWRP via that app and flash the custom ROM directly? Or what else should I do?

# Answer
> -1 votes
You have to unlock your bootloader to fiddle around with your phone. Without unlocking you really CANNOT do anything. Unlocking bootloader is straight. You won't mess up anything there. It's the installing of custom recovery which will bug you. Careful.

# Answer
> -1 votes
As your info:

* You have TWRP for your device (wrong TWRP will brick your phone)
    + You already / able to unlock your bootloader
    + You already have the Custom ROM for your device (wrong ROM will brick your phone)
        - Your phone already rooted

The steps are: 1. Install TWRP using ADB/Fastboot 2. Instal Custom ROM using TWRP

Guide:

* Install ADB/Fastboot on your PC `C:/adb`
* Copy TWRP image to `C:/adb`
* Set your phone to Fastboot Mode (Power and Vol+ button)
* Run command: `./fastboot devices` (check that your device connected)
* Flash TWRP: `./fastboot flash recovery yourtwrpfilehere.img`
* Enter TWRP Recovery Mode: `./fastboot reboot-recovery` or turn off phone then press Power and Vol-
* Erase Cache, Dalvik, factory reset
* Install Custom ROM
* Reboot

---
Tags: rooting, custom-roms, bootloader, twrp
---


# Question
Title: How to break Android OS security and root a phone, manually?
Not only that one click applications don't work on my phone, I want to DIY root my phone. Upon googling for quite some time, I couldn't find any updated guide. I am willing to write one myself, but please point me in the right direction. All I get when I google are either noob rooting guides or outdated information. What should I look for? How do I root the linux box?

If it matters, I have a Lenovo P780(Android Version : 4.4.2), and my PC runs both Ubuntu 14.014 and Arch Linux. I have adb and fastboot installed. I didnot manually install any phone drivers. Firstly I tried unlocking the bootloader by rebooting the phone into fastboot mode and trying a `sudo fastboot oem unlock`. The program doesn't do anything. No output.

Since my phone is MTK based (MT6589), I've tried Framaroot, but it fails with error #9. I remember that in the past when it had stock jellybean, the app worked, but after subsequent updates and upgrade to KitKat, not only did I loose root, but also the exploits might have got patched.

# Answer
> -2 votes
To root your phone you dont have to unlock it.

You could just download and flash a pre-rooted ROM for your phone.

Just google the correct zip file for your device (wrong device will brick your phone).

Then set phone to enter fastboot mode, and do:

```
fastboot devices
fastboot update theprerootrom.zip
fastboot reboot

```

Or set phone to debug mode, enter recovery, allow ADB, then do:

```
adb devices
adb sideload theprerootrom.zip
adb reboot

```

---
Tags: rooting, root-access, security
---


title: Weird ghost touch on Moto G4 Plus

text:
# Question
Title: Weird ghost touch on Moto G4 Plus
I bought my phone (Moto G4 Plus) about 10 months ago. At first, I only used to have ghost touches on it if I use it while charging. But that wasn't an issue for me because I usually don't use my phone while it's charging. But recently, I've been having ghost touches on the screen on two other occasions...

1) While playing Minecraft : Pocket Edition (Happens once in a while)

2) When I set the brightness to 100% (Been having this problem since the past two days)

What could be the reason for why this is happening all of a sudden?

# Answer
> 1 votes
First, if you have not already done so, clean the screen, depending on the type of touch even a piece of dirt could activate it.

Second, get a thin blade and lightly run it around the screen, where the touch meets the plastic/metal casing.

Third, if you can get to calibrate the screen do so otherwise perform a factory restore, if it is android, power off the tab, hold Vol + and power on, let go of power once it comes on and keep the volume button pressed, usually touch is disabled in restore mode so you have to use the machine buttons to navigate and enter. I had to do this to fix a Alcatel OneTouch phone so it is worth a try.

Forth, if all else has failed you may have to disassemble the tablet, it would appear there is a pressure point on the screen which is actually banding the screen causing it to make contact with the touch panel. Not knowing which tab it is I cannot direct you on disassembly but it is generally a simple enough process.

Before trying this part, run your finger around the edges of the screen, with slight pressure, if it has had a fall or a bang a clip for the screen could have popped out of place and just needs to be seated back in.

This is all the help I can give, try them and see if it helps.

# Answer
> 0 votes
Ghost touch is a well known and highly infamous issue with Moto G4 handsets. I have Moto G4 Plus and it too had this ghost touch issue. My screen would shake uncontrollably while charging. I tried many things but then get the screen replaced from service center. That is the only solution in this issue.

On a different note, I am extremely dissatisfied with this phone. Never going to buy motorola again.

---
Tags: motorola-moto-g
---


# Question
Title: What are the /firmware and /efs partitions on Samsung devices
This is specifically the Galaxy s3. Out of curiosity what are these partitions exactly. Are they part of the android OS or something lower level than that? If I were to delete everything in these partitions will I brick the phone even after a complete factory restore from "Download mode"? If these are not in fact android partitions why do some ROMs flash them? What is the difference between `/firmware` and `/efs` and are these flashed with most ROMS?

I've been googling the partition structure of my device and these things are not clear. Please help me clear them up :)

# Answer
According to this linky here this is what it has to say

> What is EFS? It is a place that stores your Android smartphone important data like Wi-Fi, Bluetooth MAC address and IMEI (nv\_data.bin).

After reading the above linky, it would be prudent to make a backup of that partition otherwise well and truly hosed! :)

As for `/firmware` I am guessing that is where the original stock firmware goes into when updating via the official route a lá Kies.

If anyone has a better insight feel free to comment, and I will gladly amend this accordingly :)
> 3 votes

# Answer
# /firmware

Modem's firmware mount point .Store the firmware of the modem same as the `modem.bin` in the odin tar.md5 flasheable firmware. I see it in Fat16

# /efs

Stores the wifi and Bluetooth mac adress, some network data , IMEI data (In some samsung phones, not in all models).
> 1 votes

---
Tags: partitions
---


title: Help while installing stock rom.zip

text:
# Question
Title: Help while installing stock rom.zip
While installing the stock rom the steps include

* Open TWRP
* Clean Cache system data
* Install stock rom

When I clean the system data the stock rom zip that I have kept in the sd card also gets deleted. How am I supposed to install the rom ? I am using TWRP , on a moto G2(2014), an the stock rom is android nougat 7.1

# Answer
Place the ROM zip file in `/data/media` , that won't get wiped, when you wipe with TWRP

That's assuming you don't have an external SD.

See this for more -What's the difference between Data and Internal Storage?
> 1 votes

---
Tags: stock-rom
---


# Question
Title: Android Emulator: How to avoid boot loop after rooting?
I was searching for a way to root an Android emulator.

I was very thankful for finding an answer to how to root an Android Virtual Device here: Root Android virtual device with Android 7.1.1

The guide (see URL) works and successfully roots my emulator (API level 25 Google APIs on x86). However, it's stuck in a boot loop once the device gets restarted.

Is there any way to avoid this since performing the steps to root the device on every startup is quite inconvenient?

# Answer
Been busy working on the issue for a couple of hours now...

I have tried to reproduce the boot loop issue and I think when you update the su binaries somehow the `system.img` file is getting fried for no reason, so I tried to get the logs, but they don't have any useful information:

```
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
VCPU shutdown request
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000663
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300
CS =1000 00010000 0000ffff 00009b00
SS =0000 00000000 0000ffff 00009300
DS =0000 00000000 0000ffff 00009300
FS =0000 00000000 0000ffff 00009300
GS =0000 00000000 0000ffff 00009300
LDT=0000 00000000 0000ffff 00008200
TR =0000 00000000 0000ffff 00008b00
GDT=     00000000 0000ffff
IDT=     00000000 0000ffff
CR0=60000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000

```

So instead I opted against updating su binaries and as expected the emulator boots properly (no bootloop), **but root is not preserved**.

After a bit of digging, I came across this thread: Android AVD root access fail

> So the problem is in that line from documentation:
>
> ```
> emulator -avd aosx -qemu -nand -system,size=0x1f400000,file=<sdk_path>/system-images/android-16/default/armeabi-v7a/system.img&
>
> ```
>
> Writers of documentation expected that Android Emulator will not change, but Android SDK have been updated and this line doesn't work. System.img file doesn't change and all modification made to system dir haven't saved. So there are 2 solutions to that problem:
>
> First, if you want just root working, modify AVD with YAFFEY2 https://code.google.com/p/yaffey/ and add replace there file /system/bin/su with file from https://github.com/idanr1986/cuckoo-droid/tree/master/utils/android\_emulator\_creator/binaries with name su.
>
> Second, if you want also Xposed Framework working, that is necessary for work of Droidmon, u need start Android emulator. Just `emulator -avd aosx` (all other parameters aren't necessary). After that do : "adb remount". Then, copy replace `/system/bin/su` file, as I've said earlier. Then install Xposed Framework like it said in documentation.
>
> So, now the main part. If u will close emulator now, nothing will be saved. But all your changes already saved to temp file of system.img. This file located at `/tmp/emulator-/emulator-` on linux(on windows: `%profilename%\AppData\Local\Temp\AndroidEmulator`).
>
> Just copy this file somewhere and then replace your `system.img` in `/system-images/android-16/default/armeabi-v7a` (save your original file somewhere, maybe you will need it sometime) with it.
>
> You can also make the system partition persistent if you just copy the initial system.img file to your .avd directory as `system-qemu.img`, then set the proper file ownership, and you are ready to go.

**Somehow qemu, is failing to get required permissions, ideally we have to replace the `system.img` and rename it to `system_qemu.img` but use correct file permissions**

In the meantime, I just modified a script to automate rooting of virtual device upon booting so you don't have to do it manually, basically the system is mounted with write permissions and su binary is pushed and all the necessary steps performed such that when the virtual device is booted, you already have root.

```
%profilename%\AppData\Local\Android\android-sdk\tools
Just edit the necessary lines below.
cd %profilename%\AppData\Local\Android\android-sdk\
.\tools\emulator -avd {AVD_name} -partition-size 2047 -no-snapshot-load -verbose
echo wait for boot
pause
.\platform-tools\adb root
.\platform-tools\adb remount
.\platform-tools\adb push C:\%USERPROFILE%\Desktop\rootemu\x86\su.pie /system/bin/su
.\platform-tools\adb shell su root
.\platform-tools\adb shell cd /system/bin
.\platform-tools\adb shell chmod 06755 /system/bin/su
.\platform-tools\adb shell su --install
.\platform-tools\adb shell su --daemon&
.\platform-tools\adb shell setenforce 0

```

**Will continue to bring more updates....**

Acknowledgements
> 3 votes

---
Tags: rooting, boot-loop, android-emulator
---


# Question
Title: How to get spoken instructions from Google Maps while bicycling?
I run Google Maps 9.57.1 on Marshmallow.

When I use directions in the "bicycle mode" I don't get any spoken directions. I only get this "ding" sound, without any audible indication as to where I'm supposed to go. This is a major inconvenience, as it's often very difficult to stop in the middle of traffic (losing all my speed, etc.) to take out the phone and look at the display.

When Maps is in "car" mode, spoken instructions work just fine.

Is this by design? Why is Maps like this? How can I get spoken instructions while bicycling?

FWIW, my phone is set to English language. I have had this problem in several countries, but I'm mostly based in Norway.

I'm open to using root access and Xposed Framework to fix this, should that be required.

# Answer
> 1 votes
One of these solutions may help, assuming muting Volume is not the cause

> Sometimes voice directions aren’t downloaded or need to be updated on your phone or tablet. When this happens, you’ll hear a chime instead of voice directions.

* Solution for same problem from Maps help

1. Uninstall and reinstall Maps updates
    2. Ditto for play services
    3. Clear Cache of maps before navigation

---
Tags: google-maps, google-maps-navigation
---


# Question
Title: How to migrate app data when switching the app source
Say I have "FunnyApp" installed from Playstore, now it turns up at F-Droid – and I want to replace the Playstore version by the F-Droid one (same issue vice-versa). Trouble is, I cannot simply update the app from the new source as the signature doesn't match (F-Droid signs with their own key). FunnyApp doesn't offer any "export" functionality, but I don't want to lose its data.

**What would be possible approaches to perform a proper switch?**

Traps:

* Simply updating/installing from "the other source" does not work (signature mismatch)
* performing a data-only `adb backup` doesn't help, as the restore will fail for the same reason

I have some vague ideas on root-based solutions which I haven't tried yet (e.g. Titanium Backup might be able to restore data despite of the changed signature, and there's also some XPosed module (InstallerOpts?) offering to "suppress the signature warning"). But before "messing up big" I thought to ask here if someone might already have successfully tried some solution.

Non-root solutions preferred (so more people can profit from), root-based solutions acceptable, XPosed as requirement OK as well.

---

Some reasons why one might want to "switch sources" (aka "cross-update"): Getting rid of proprietary dependencies, app no longer updated at original source …

# Answer
### Rootless

Sorry but AFAIK it's not possible :( I've never seen any app/tool/utility successfully modifying other apps' data, not even reading!
Alternatively you could do that in a custom recovery, but who uses a custom recovery without rooting? So read below.

### Simple Root (Manual way)

Don't take it too hard. Just move its original data away, uninstall the original app and install the new one, then move the data back and `chown`. Sample shell commands are below.

```
# mv /data/data/com.example.foo /data/media
 * UNINSTALL_ORIGINAL_APP
 * INSTALL_NEW_APP
# ls -ld /data/data/com.example.foo
 * take note of the user (e.g. u0_a123)
# mv /data/media/com.example.foo /data/data
# chown -R 10123.10123 /data/data/com.example.foo

```

Explanations for each step:

1. Move original app data to an alternative place. Because Androis automatically delete irrelevant files in certain directories, we need a safe place as the Alt. AFAIK unknown files are ignored in `/data/media` so that is chosen.
2. Replace app. No explanation.
3. Obtain the UID of newly installed app. Wrong UID will make Package Installer delete app data.
4. Move data back and change UID.

A small note: The builtin `chown` command does not accept option `-R` (recursive) by default in Android L or lower. You need BusyBox in that case. In Android M and up it just works fine.

### Root Utilities

* **Titanium Backup**

With TiBu you can easily back up existing data, then safely remove the old app and install the new app. Then as long as both packages have the same package name, you can restore the data for the app with TiBu, intact!

However, this solution is essentially a data-backup, so it will not be maintained here. If you want to learn more about backing up & restoring data, check out our tag wiki for , under the **App-based backups** section.

### Xposed Modules (Easiest, Recommended by iBug)

XInstaller and its successor, InstallerOpt, can hook Package Installer to allow packages with mismatching signatures to be installed (by skipping sig check). Then all your data is preserved and you can easily switch to different versions. This is the method I am currently using and it has been working fine. Sad that Xposed isn't officially available for Android N (so far), so this solution is only for Android M and down.

Theoretically, they should not cause anything wrong because all they do is hooking the signature checking function and change its return value to a truthy value, bypassing the check. If the replacement package have any other defects than mismatching signature, the installation will still fail, so no faulty packages can be installed even if you skip signature check.

> **Important Notice**
> It is not recommended to leave that option (skip sig check) enabled all the time. Leaving it enabled will create a big security flaw as hacked apps (almost always use a different signature) can also be installed. I personally enable it only when needed and disable it as soon as I finished my package replacement.
> 2 votes

---
Tags: applications, updates, alternative-markets
---


# Question
Title: Is it possible to use NOGAPPS and Maps API with Uber app (or apps similar to Uber)?
I have installed LineageOS 14.1 on a Wingtech 88047 (Redmi 2 Pro), without Gapps. I installed microG UnifiedNlp, and my phone finds its location correctly. I also tested some proprietary apps that I need (mostly bank apps), and they do work perfectly. However, I cannot use apps that need the Maps API. For example, neither the Uber app nor an app by on of their competitors in Brazil will work (the app opens, but gets stuck and doesn't show the map).

I do have NOGAPPS version of Maps API installed (version 0.5, which is the only release available from Github. But maybe there is an updated version? It seems that version 0.5 only covers MAPS API v.1, not v.2.

So -- is there any way to get apps like those (which need MAPS api) without installing Gapps?

# Answer
> 2 votes
You need FakeStore for microG to be detected correctly and a recent version of microG GmsCore (you need to use the drop-down menu).

Check that you have at least the version 0.2.4-103 of microG GmsCore.

---
Tags: lineageos
---


# Question
Title: Fix a system error after UnTar in /data/data partition
I made a backup of app data in a rooted device with

`tar -czvf example.app.back.tar.gz /data/data/com.example.app/`

And after decompress the tar in other rooted devices with

```
cd /
tar -xvf example.app.back.tar.gz /data/data/com.example.app/

```

The app get this data working after I did

```
chmod -R 777 /data/data/com.example.app/

```

and when I reboot its like a factory reset ,all the app data is gone and the apk that can be installed only in sd and when reboot again the app are deleted and the start wizard appears agains

I think that the tar command create a /data folder or mess in some way the mount points

Maybe I omit in the example some flags in the tar command that i originally typed

The destination device have Android 4.1.1

# Answer
Well, good job for running `chmod` after untar-ing. You, however, missed the most important thing: **file owner/group**.

If you look into `/data/system/uiderrors.txt`, you'll find a bunch of information like this:

```
1970/01/01 00:00: Package jackpal.androidterm uid has changed from 0 to 10001, old data erased.

```

I've already answered a question before about Android applications' UIDs. A factory reset would have made you lose more data than you have already lost now. As Izzy pointed out, you didn't take care about file ~~permission~~ owner/group, as *the app might have been assigned a different UID on the other device*, and all its data were erased by Package Installer.

You may want to take a look at my answer and restore file owner from `/data/system/packages.list` manually. As far as I can tell everything will be fine after that.
> 0 votes

---
Tags: partitions
---


# Question
Title: Can I turn my Android tv box into a NAS server?
I've got a MXQ Pro 4k TV Box and a 4TB hard drive that I rarely use and I was wondering if there was any software I can use to make it a server.

The MXQ box has 1GB RAM, a 2.0GHz quadcore chip and ethernet, usb and hdmi ports.

Do you think it would be easier for me to put linux on the box and run it from there? Also would there be a way for me to set up a segment of this drive as a time capsule?

Thanks :D

# Answer
It'll surely be easier if you set up a GNU/Linux system on the box.

There's a very popular NAS software on Linux named "samba", and is available everywhere from built-in repositories, i.e. you can install it with `sudo apt-get install samba` or `sudo yum install samba`. Bunches of tutorials about it are available on the Internet. However that good job does not have an Android port :)

For setting up Apple Time Capsule, I used to learn that it's possible but I don't know if it's still possible now. You should search online instead of asking here – it's blatantly off-topic on **Android** Stack Exchange. Maybe you want to ask on Ask Different?
> 1 votes

---
Tags: android-tv, web-server
---


title: How to share android screen WITH root?

text:
# Question
Title: How to share android screen WITH root?
There are so many ways to share screen with PC wirelessly without root.

I've heard that it's even easier with root.

I want to play games and I want the game to show up on my PC screen too.

How do I accomplish that?

My phone is rooted. So rooting is not an issue'

# Answer
> 0 votes
I am using BBQscreen client and it works fine

https://screen.bbqdroid.org/

# Answer
> 0 votes
Either Use MirroGo (through WiFi and USB) or TeamViewer (through the Internet).
If you have a phone of Honor, Huawei or Asus then you can use their Softwares too.
And One last thing if you use any of these softwares, Rooting will not going to matter.

---
Tags: screen-sharing
---


# Question
Title: Send files from Linux to Android via ssh
I want to send some specific files from my linux PC to my android device. I'd like to send it automatically using terminal commands, so there will be no drag and drop files.

I don't know what is the best communication way to send file via wifi. I understand how to send using ftp by downloading 'ftp server' app on my android, but that's not suitable to my work since it needs to open an internet browser on my PC and transfer like a file manager. So I tried using ssh:

```
scp /home/user/picture1.jpg u0_a167@192.168.1.117:/storage/emulated/0

```

but always ended up error:

```
ssh: connect to host 192.168.1.117 port 22: Connection refused
lost connection

```

How to solve this problem? or does anyone have any other recommendation which communication way should I use?

# Answer
You have different options here:

* **SCP:** As Dan already pointed out, Android soesn't ship with any SSH server by default. This means, to use SCP as described in your question, you will first have to install an SSH Server App on your device.
* **FTP:** Other than you're assuming in your question, FTP can be scripted. But that might not come as easy as a simple `scp` command. And like with SSH, you first will need to install an FTP Server App on your device as well.
**Important note:** Many FTP clients/connections default to ASCII transfer mode. If you want to copy binary (basically: non-text) files like images, audio/video, etc., make sure you're in binary mode (when using the command-line, that can be done by issuing the `bin` command). Otherwise you might get "broken files" on the receiving end.
* **ADB:** This is an option Android even ships with, but by default bound to an USB connection. You'd just need to enable *USB Debugging* in developer settings, connect your device via USB, and then can use commands like `adb push` or `adb pull` to put files on your device or retrieve them from there. As you prefer doing that via WiFi, there are several apps providing this as well.

There might be additional possiblities, but the three mentioned above are the most used.
> 2 votes

# Answer
You can use `scp` if you like, but you first have to install a SSH server on the phone. Android doesn't come with one enabled by default: that would be a security nightmare. There are many to choose from on Google Play.
> 0 votes

# Answer
If you are on the same wi-fi network as your mobile phone is and you have got the option to use ADB I would recommend using wireless adb. Setup wireless ADB on your phone and ADB on your PC. Then just hit

`adb connect <Local IP of your phone>`

And when the device is connected you can use

`adb push /path/local/file /path/remote/location/`
> 0 votes

# Answer
If you are using Wifi,

Through ESFileExplorer, you can create a FTP Server for your Mac or Unix File System and copy files on the fly.
> 0 votes

---
Tags: wi-fi, linux, ssh, terminal
---


title: Configure Android as proxy server

text:
# Question
Title: Configure Android as proxy server
Hi am trying to convert my mobile device as proxy server, I searched net but cant find proper solution.

What I am trying to do :

Setup proxy server on android and use that mobile IP/Proxy IP address in my PC browser as proxy.

In Pc we can use Squid Proxy for this purpose I am searching similar framework in Android/Mobile to convert my mobile into proxy server

# Answer
> 2 votes
You could try SandroProxy, a free app developed by XDA Developers member SandroBSupp.

> It can act as pass-through proxy, traffic is not stored, ssl tunnel remains the same to server.
>
> SandroProxy doesn’t require root. All you need to do is to hit the Play button and the app will serve as an SSL MITM proxy (Secure Socket Layer Man-In- the -Middle-proxy). Your HTTP/HTTPS requests will be redirected through a web server, making your sent and received data invisible and, thus, protected.

You can access transparent proxy, a network layer proxy which, in turn, redirects the traffic needed by your phone for proxy identification. The only traffic that this proxy modifies are those which are absolutely necessary for proxy identification and authorization.

*Uses proxy on localhost:8008*

Haven't used it but it looks promising for what you're trying to achieve.

---
Tags: networking, proxy
---


title: SD card encryption

text:
# Question
Title: SD card encryption
The way Android goes about encrypting data on SD cards is vague to me. I've read about ASEC files, OBB files, `/data/misc/systemkeys/AppsOnSD.sks`, and keystores. I know that keys used to encrypt SD card data are stored on a device's internal memory module and ASEC fies are dm-crypt volumes, but it is unclear how all of this is related.

Are ASEC files used to encrypt applications installed on SD cards or data stored by applications on SD cards? If the former, then what is the point of that? If it is DRM, then how are the DRM keys delivered to the device? How do users choose to encrypt their SD cards and what mechanism is used to accomplish that? Are OBB files similar to ASEC files?

# Answer
> -1 votes
The SD card is not encrypted in most phones. Some custom ROMs allow this and they'll have an encrypt SD card option

---
Tags: sd-card, encryption
---


# Question
Title: Android - Check whether an app was sideloaded or installed via play store
I recently installed a third party application and never looked at its name or icon it came up with in the screen. But, after installation, I saw a notification from an app, that says `Google Play Services had been updated`.

This made me nervous that, the third party app I use was actually got updated through google play services. I have checked in Settings -\> Apps -\> Google play services, and at the bottom it says where it was installed and it says google play store.

Does this bit of information only mean when it was originally installed or does it also account for updates. For example, if I originally installed an app from the play store but then side loaded an update would it say installed through the play store or via a third party.

I also use solid explorer and checked the SHA1 hash of the app which matched with the hash I found online for that specific version of google play services.

Am I safe? And if so, does Google play services usually update in the background due to being prompted to check when you are updating other apps or is it just a coincidence.

Thanks. Sorry for the wall of text but I want to be sure i'm safe.

# Answer
> 11 votes
> \[If\] I originally installed an app from the play store but then side loaded an update would it say installed through the play store or via a third party

It would say sideloaded. You can check the status through the command (requires ):

```
adb shell pm list packages -i PKG   # replace PKG with package name of the app

```

In output: in case of sideloading, the installer would show `null` value. If the app is updated/installed through Play Store, the value would be `com.android.vending`.

I tested this on Android 6.0.1 though.

> \[Does\] google play services usually update in the background due to being prompted to check when you are updating other apps or is it just a coincidence

Yes, it does so on its own. I have setup a toast to inform me which app is updated in the system, and I noticed that the Play Services *often* updates in the background when Play Store app is active on the screen.

No third-party app can automatically force any other app in Play Store to get updated or be sideloaded automatically. It could be just a coincidence that the both happened at the same time.

---
Tags: applications, google-play-store, 7.0-nougat, google-pixel
---


title: Casting from mobile hotspot phone

text:
# Question
Title: Casting from mobile hotspot phone
I'm on android 6.0.1. My main and only Internet is my phone. I don't have a router, Access Point, nor switch in my home. I use the mobile hotspot feature so other devices can connect to the Internet. My TV connects to the mobile hotspot as well. I am trying to cast from my phone to my TV but it doesn't seem to find it. Other devices have no problem. It's this at all possible to have mobile hotspot and be able to cast from the same device?

# Answer
> 5 votes
Its possible, it is much easier if you have **two devices** (e.g 2nd smartphone, tablet or PC)

* Create a mobile hotpot AP using the **secondary** device.
* Once setup, connect the **primary** device (where you are going to setup chromecast) to the mobile hotspot AP and the TV
* Setup the chromecast as normal with the primary device and since the setup is once off you don't necessarily need to use the secondary device after inital setup. The Chromecast stays configured to the hotspot's wifi until otherwise reconfigured.
* The trick is to setup the Chromecast **and use the same WiFi settings** when creating your hotspot. Chromecast doesn't look for a specific router as the source of the wifi signal. It just looks for hotspot name (SSID) and tries to connect using the stored encryption and password
* The consequence is that you just use the same WiFi settings when configuring mobile hotspot for the primary device.

Acknowledgements

# Answer
> 4 votes
It was hard to do but I did it, my Chromecast put out a wifi network labeled "Chromecast7002.b" I connected to it with my note 4 (the one I would later be using as a hotspot) and engaged the setup.

Once I got it to ask which wifi to connect to I chose other, and for simplicity sake labeled it "Hopefully this works" and had it unprotected. I then set up my hotspot to match (without completely closing out Google home) and turned it on.

Then I used a moto z force and connected that to my hotspot, at this point I could see both the Chromecast and the phone connected to hotspot, and had to wait for the Chromecast to give up trying to connect, so I could reengage setup from the moto z force, afterwards it worked brilliantly.

---
Tags: wifi-hotspot, chromecast, smart-tv
---


# Question
Title: Redirecting phone's audio to pc through usb
So I want to basically redirect my phone's audio to my computer's playback device through USB and not through Bluetooth which is what most posts are seemingly concerned with.

---

This guy Streaming audio from smartphone to PC without bluetooth asked a similar question about 2 years ago which hasn't really been answered so far so I thought I would bring it up again.

---

Devices and Os's :

Phone : Samsung Galaxy note 4 under Android 6.0.1 Pc : Windows 10 pro

# Answer
Download third party software **Wondershare MirroGo**. It works great (Not promoting).
**This works only for screen rendering and audio can only be heard in recordings. No direct audio routing.**
Some instructions to follow:-
\- You can download Mirror Go from Here
\- After downloading and installing, Enable your phone's USB debugging, see here - How to enable USB Debugging.
\- Simply connect your phone with USB and accept the adb authorization request pop-ups on screen and you're done.
Main advantages of this software is that:
\- You can render your phone's screen on Desktop/Laptop.
\- You can play games/movies/songs through MirrorGo.
\- You can control your phone via MirrorGo through Mouse/Keyboard. \- You can record your screen via MirrorGo during the live view of your phone in your laptop/desktop.
You can Also use MirroGo with MobileGO ( an advanced software to backup your whole phone with one click and tons of features and works for Iphone too).

**UPDATED:** \- (With audio/Video/Images support)
Here's a solution using all time favorite media player VLC.
It doesn't work with USB (sorry for this) but It works great with a local network.
you can either create hotspot of your phone and connnect your lap/desk with it or you can connect both the devices to a same network.
It's the best fluent method out there and It works for Audio/Video/Images. So here's the method:

* Download this apk in your phone and install it. I have decompiled it without ads for easy use.
* Connect your pc and phone with the same network or connect your pc to your phone's hotspot.
* Download this VLCdirect.bat file and Run it as Administrator.
* Write click VLC, select properties and in target paste this `--http-password=vlcdirect` after the location which is like this
`"C:\Program Files\VideoLAN\VLC\vlc.exe"` .
Note that there's a space between " and --.
* Open VLC and enable Web interface, see this image.
* Open the app and click done and skip everything as you would be done with all those steps if you're on this step.
Now you're all set. Play anything through the app and you'll see it in PC's VLC without buffering. It really works fast.
**Two points to note:**
* Usually .bat files contain the virus but it's secure. you can verify it by right-clicking the .bat file and click on edit and see yourself.
* You don't have to do all this everytime. Just click on Web interface in pc's VLC.
> 1 votes

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


title: What file system can I use on SD Cards?

text:
# Question
Title: What file system can I use on SD Cards?
I stupidly changed my new SD cards file system to NTFS for using with my laptops and my Android tablet. Now I realize my tablet doesn't want to see the card when I put it in. And now I bought 2 USB's and notice they have FAT32 file system on them.

Which file system will work for each storage and will be compatible with all my devices?

# Answer
> 0 votes
On Android I would use exFAT, it has fewer limits and is supported to read and write by most platforms including Linux, Android, Osx and obviously Windows. You might need a couple of lines of commands on linux, not a big deal.

For Linux users:

```
apt(or yum) install fuse exfat-utils

```

Some desktop environments might have exFAT support by default though.

# Answer
> -1 votes
Fat32 and Fat64 are used for microSDHC and MicroSDXC cards, which are normally the ones used in mobile devices such as phones or tablets. So either fat32 or fat64 will work for your tablet. Fat32 is fine for the usb as well

---
Tags: external-sd, file-system, tablet, usb-storage
---


# Question
Title: Delete one of my google account from marshmallow
I have 3 linked acccount on my phone for gmail,

I want to access one of the account from destkop only and don't want to link that account on my phone,

How do i completely remove that account from my phone? what are the steps?

When i click on remove account, it goes to browser login, will it completely remove my account or it will remove from phone only?

I dont want to completely remove it.

# Answer
* Once, you click on remove account, it will lead you to a browser page where you have to log in with your account password. It will warm you that the following information pertaining to that account will be deleted from your **device**. Follow the steps to delete

> The only way to sign out of the Gmail app is to remove your entire account from your phone or tablet.

* See "Remove your Google account from your device" section, which says

> Removing the account from your phone or tablet **won't delete the account itself**, so you'll still be able to use it on a computer or other devices.

(Emphasis supplied)
> 2 votes

# Answer
Please follow the below steps to delete extra account you added into your Gmail app on Andriod phone :

1. Go to setting
2. Search the tab named : "accounts" there look for "others accounts" and click on it
3. there look for "others accounts" and click on it
4. you will see the "other" tab
5. then search for "Google" click on it for more into setting of it
6. there you will see the "more" option click it
7. you will have 2 options "Sync now" and " Remove account"
8. Please do select the remove account which ever you want to remove.

Hope this will help.
> 1 votes

---
Tags: gmail
---


# Question
Title: Having trouble setting up Android SSH tunnel with port forwarding (x-post /r/ssh)
I'm trying to log into an SSH server in such a way that I can securely visit websites on my Android phone. I have done the following:

1. Set up port forwarding for SSH server xyz.org, port 8080 on VX Connectbot (I did this with "Edit port forwards"-\>"Add port forward")
2. Logged into xyz.org on VX Connectbot
3. In Firefox, set:
    * network.proxy.socks=127.0.0.1
    * network.proxy.socks\_port=8080
    * network.proxy.socks\_remote\_dns=true

But when I go to whatsmyip.org, the WHOIS lookup shows my cell phone provider, when it should be showing the SSH server. What am I doing wrong?

Is it possible that the SSH server is allowing me to log in, but refusing port forwarding requests? How would I test that?

Or have I incorrectly configured Firefox or VX Connectbot? Or maybe there's something else I have to do in my Connectbot session to start the port forwarding?

Reddit post here

# Answer
I ended up using a different SSH server, and setting Firefox config as follows:

* network.proxy.type=1
> 1 votes

---
Tags: ssh, firefox-for-android, proxy
---


# Question
Title: Update WebView system component on KitKat
does anyone know a way to update the WebView system component on KitKat. I'm running 4.4.4, I think people get updates in Google Play in Android 5.0 and above but I would like to update it on KitKat and keep using this OS as it runs smoother for me, I'm sure there is a way to do this, can anyone help? The Webview on KitKat has some horrible bugs..

Thanks!

# Answer
In Android 4.4 the webview component cannot be updated from the Play Store - it is fixed to version 30.0.0.0 (and 33.0.0.0 in 4.4.3). This was changed in Android 5.0:

https://developer.chrome.com/multidevice/webview/overview

> In Android 5.0 (Lollipop), the WebView has moved to an APK so it can be updated seperately to the Android platform. To see what version of Chrome is currently used on a Lollipop device, simply go to Settings \< Apps \< Android System WebView and look at the version.
> 1 votes

---
Tags: 4.4-kitkat, updates, webview
---


# Question
Title: Samsung Galaxy S3 WiFi authentication error with A&TT U-Verse router
My Samsung Galaxy S3 won't connect to my AT&T U-Verse router. I've gone through AT&T help and they say it's the phone. I've gone through Sprint (phone & service provider) and they say nothing is wrong with the phone. Samsung support also says nothing wrong with the phone.

It connects to unsecured networks no problem. If I turn security "off" on my U-Verse router, it connects no problem.

With security "on", I get an "authentication error occurred" error message on the phone, even though the status bar on the phone shows it sees my router at excellent strength. I have verified the password with correct upper and lower case.

I've connected to several unsecured WiFi without issue. The only secured network I have connected to is at work. I know they don't have U-Verse, but I have no idea what the WiFi brand is. It connects no problem with security on and my office password.

The phone is running Android 4.0.4.

I've changed router settings to use channel 11 and power level 400. I've rebooted the router and reset the phone.

I can also see the phone's MAC address on the router, so I know they are seeing each other.

# Answer
> 1 votes
Easy fix. Don't use your wi-fi password. Use the Wireless Key #. I have been trying over and over with my personal password and kept getting the same authentication errors everyone has been discussing with u-verse. I pulled the paperwork that the installation guy gave me and just taking a last resort shot at it, I tried the Wireless Key # written on the paperwork. It connected immediatley...

This reportedly also works with the Verizon branded Samsung Galaxy S III. Their 2nd level support only suggests factory resetting which won't help. Only the above mentioned technique does

# Answer
> 1 votes
Routers from Mikrotik with RouterOS has problems with 4.0.4 Androids as well. You have to upgrade to 5.22RC1. Contact Support@mikrotik.com to get this test version (In case if you are reading this the 5.22 isn't already released officialy =)

# Answer
> 1 votes
I have AT&T U-Verse at home. My S3 connected to the gateway with no issues. Did you try to remove the saved network from the phone, factory reset the gateway and then try adding it. If that fails, try to manually add the SSID and key after you remove the network from the phone settings. Worst case ask them to send you a new gateway. If you changed the SSID at any point or added static IPs you might need to factory reset, add the phone and then add the statics to the gateway again.

# Answer
> 1 votes
I went around in circles with this by trying open and WPA security but nothing worked. The phone was not even listed on the router's device list. The MAC address filter was the problem. I fixed the issue by adding the phones mac address to the routers "white list" and now everything works well. Check you router mac filters or turn them off.

# Answer
> 0 votes
I had the same issue, autentication error. By accident I tried the default router password listed under settings/lan/wifi - scroll down to the user network section and there will be a default wifi network password which is different from the password plastered on the side of the router with a sticker. Once I entered the 'default wifi password' the connection has been stable for as long as it took my fat fingers to type this message. This problem really had me going and I do this crap for a living. on the router page the default wifi password is in tiny little font but I'm still connected. This is on a uverse router on a dsl connection. I'm not sure why there are multiple passwords because all my other devices connect with the password on the label. You can google how to connect with a uverse router, highlight the ip address and chrome will open a new window so you can see the router settings. If you don't understand something, don't change it. Just try the new password. still connected and I'm signing off now.

---
Tags: wi-fi, samsung-galaxy-s-3, connection-issues, att
---


title: Install TWRP on Samsung Note 10.1

text:
# Question
Title: Install TWRP on Samsung Note 10.1
I am following this guide from Cyanogenmods to install TWRP on a Samsung Note 10.1 with Android 5.1.1 installed. I have activated *USB Debugging* in *Developer options* and connected the tablet to my computer, accepting the connection in the dialogue that pops up in the tablet. I then issue the `adb` command:

```
$ adb reboot bootloader

```

There is no error message, either on the computer or the tablet, and the tablet reboots.

I then issue the *flash* command:

```
$ fastboot flash twrp-3.0.2-0-lt03wifiue.img
< waiting for device >

```

And nothing else happens. The tablet remains silent and the command line in my computer is stuck. How do I move on from here?

**Update I**: This is the system and software in my computer:

```
$ uname -a
Linux ENG-PAVIL-PC2 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$ apt policy adb
adb:
  Installed: (none)
  Candidate: 1:6.0.1+r16-3
  Version table:
     1:6.0.1+r16-3 500
        500 http://ch.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

$ apt policy fastboot
fastboot:
  Installed: (none)
  Candidate: 1:6.0.1+r16-3
  Version table:
     1:6.0.1+r16-3 500
        500 http://ch.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

```

**Update II**: The bootloader version on this tablet is: P600XXUDQA1

**Update III**: `heimdall` was referenced below as an alternative to `fastboot`, but it is not able to communicate with the Samsung Note 10.1:

```
$ heimdall flash --no-reboot --RECOVERY twrp-3.0.2-0-lt03wifiue.img
Heimdall v1.4.1

Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
ERROR: Failed to detect compatible download-mode device.

$ adb devices
List of devices attached
4300ee259691c037    device

```

**Update IV**: Still trying it out with `heimdall`, which so far is the only tool providing any bit of hope. For some reason it sometimes fails to identify Download mode - that is the reason for the error messages in Update III. By plugging in/out the USB cable and using the `detect` option one can eventually make sure it acquired the device:

```
$ heimdall detect
Device detected

```

Then the `flash` command succeeds:

```
$ heimdall flash --no-reboot --RECOVERY twrp-3.0.2-0-lt03wifiue.img
Heimdall v1.4.1

Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Uploading RECOVERY
100%
RECOVERY upload successful

Ending session...
Releasing device interface...

```

Now things get tricky. If the tablet is rebooted normally after TWRP is flashed, the stock bootloader (I believe) will replace it automatically. In this case when the tablet is rebooted into recovery mode it will just run the stock Android recovery programme. It took me a while to figure this one out...

After flashing TWRP, the tablet must be rebooted directly into recovery mode. The problem is, it shows an error in the booting screen:

> Could not do normal boot. Invalid KERNEL LENGTH!

TWRP does not load and the tablet just shuts down. That is how far I am right now.

# Answer
Note 10.1 (2014) has its bootloader unlocked by default, just like most if not all devices annouced pre-Lollipop.

Under Windows, the actual installation is as simple as described in the TWRP device page:

> You will need to download and install Odin on your PC. Once you have Odin installed, download the proper .tar file for your device from the download link above. Power off your device. Turn on your device using the proper key combo to get into download mode and attach the device to your computer via a USB cable. Use the PDA tab or button to browse to and select the tar file that you downloaded and flash the device.

Under Linux, Heimdall is required instead, and steps are somewhat different: download the `.img` file, get into download mode, (optionally) verify connection with `heimdall detect`, then execute `heimdall flash --no-reboot --RECOVERY /path/to/recovery.img` to flash it to the device.

Do note that there are multiple, *very* different variants of this device. The WiFi version (P600) and LTE version (P605) are based on different SoCs and therefore use different recoveries and ROMs, while the Verizon variant (P605V) has a locked (and non-unlockable) bootloader which means you can't flash anything on it.
> 4 votes

---
Tags: adb, samsung, fastboot, twrp, samsung-galaxy-note-10.1
---


# Question
Title: How to back up android note 4 that won't boot up?
I have a note 4 official firmware, that won't boot up anymore. It goes into `mmc_read failed`. On the center it says `Downloading... do not turn off target!!` but nothing happens.

I tried booting into safe mode, and this happens. If I don't boot on safe mode, it get stuck on the main screen with the logo.

Is there a way I can still back up some of my data from the phone. Because I want to probably get it replaced.

Thanks

# Answer
> 0 votes
take the battery out, hold the power button on for 1 min to drain all residual power. Replace battery and power up normally. This has worked with mine but am not game to power it off anymore.

---
Tags: samsung-galaxy-note-4
---


# Question
Title: Can you change unlock pin after encrypting your phone?
I'm using Android M and would like to turn on encryption.

Am I going to be able to change my screen pin in the future after I enable encryption?

# Answer
Yes. You can. Changing the PIN in turn changes the encryption password

From Android Security Internals: An In-Depth Guide to Android's Security :

> Android doesn’t have a dedicated setting to manage the encryption pass- word after the device is encrypted, and changing the screen lock password or PIN will also silently change the device encryption password. This is most probably a usability-driven decision: most users would be confused by having to remember and enter two different passwords at different times and would probably quickly forget the less frequently used, and possibly more complex, disk encryption password. While this design is good for usability, it effectively forces users to use a simple disk encryption password, because they have to enter it each time they unlock the device, usually dozens of times a day. No one wants to enter a complex password that many times, and thus most users opt for a simple numeric PIN (unless a device policy requires otherwise)
> 3 votes

---
Tags: security, encryption
---


# Question
Title: Google restore after reflash to fix bootloop ends in bootloop
I have an S3 Duo+ (s3ve3g) running CM12.1. Phone suddenly went into a boot loop, could boot into safe mode ok but not main. Cleared the dalvik and let it rebuild with same result.

Booted into recovery, did a TWRP backup then cleared data, cache, system, dalvik and installed the CM ROM plus GAPPS. Booted ok, logged into google and let it download its recovery. And we're back in the bootloop.

Does this suggest that the bootloop is being caused by a recently updated program, or does Google restore settings and/or data that could cause this?

Any suggestions on how best to proceed would be really appreciated.

# Answer
> 0 votes
No answers, so this is what I did: selectively restored parts of the google restore to identify the rogue application, then did a google restore of every but that.

The first part took about a week, the final restore took 2 1/2 days.

---
Tags: boot-loop, restore
---


# Question
Title: Is the Google Home exactly the same as the Google Assistant?
So I'm considering getting a Google Home. I have a Nexus 6p which has the google assistant. I'm just wondering, is the Google Home basically just a device with only the Google Assistant installed?

Does Google Home offer any features or benefit over just a phone with Google Assistant?

# Answer
> Does Google Home offer any features or benefit over just a phone with Google Assistant?

Sure does.

1. Hands-free.
2. Multiple users.
3. Control your smart home.
4. Control music (and it has a hi-fi speaker built-in)
5. Just to name a few things.

https://madeby.google.com/home/
> 3 votes

---
Tags: google-assistant
---


# Question
Title: Android v7: Import close to 8000 complex contacts in one shot
I have close to 8000 vcf files in a directory on the usb stick. I attach the stick to my phone and all files are perfectly visible. In the contacts app I choose import, select the stick, and it shows me all the contacts, so I choose "import all".

Unfortunately only first few dozens get imported.

Apparently Android v4 had the same problem as the following question explains: Transfer and import .VCF Contacts

It seems to me unlikely that so obvious contact app error remains unfixed for years.

How to make the contact app import all of them?

Please note that some of the contacts (actually quite few of them) are fairly complex with a lot of data - such as for example multiple, long "note" fields, multiple phone numbers with different attributes, sometimes custom-defined, very long company name fields, multiple addresses (private / business / branch office list, etc.) and so on.

# Answer
> 0 votes
Unfortunately most of the apps I tried expected one large VCF file and/or rejected VCF files with a lot of additional information, such as multiple "note" fields for one contact, too long "company" field, multiple phones with various attributes (primary/private mobile/business mobile/etc.) and so on.

After some searching and trying a few apps I found the following solution:

1. I have imported the VCF files to old Nokia Symbian based phone - Symbian has excellent VCF importer.
2. I used this app: https://play.google.com/store/apps/details?id=com.madajevi.android.phonebook.transfer to transfer the contacts directly via bluetooth.

App advantages:

* imports all contacts, even the most complex ones without skipping user defined attributes nor multiple repeated fields

App disadvantages:

* very slow (it took the whole night to transfer nearly 8000 contacts)
* asks for strange, unnecessary permissions (I kept refusing, forgot exactly which ones)
* synchronizes **NOT** with the local address book but with **Google Contacts** which means that your contacts actually are seen on the Internet - **important security breach, do NOT use the app for confidential data**
* full-screen user interface with no exit button - after finish you need to kill the app via task manager

---
Tags: contacts, bluetooth, 7.0-nougat, file-transfer, import
---


# Question
Title: Which file contains autocomplete suggestions for email address in Gmail, and can I clear it?
When I compose a new message in Gmail on my Android phone I'm offered several suggestions for the recipient (i.e. for the email's To: field) via an autocomplete function. These are often very old/unknown contacts which I'd like to no longer see as autocomplete suggestions, but I can't yet work out how to clear this list.

The contacts suggested appear to have come from an old list of "Other" contacts, i.e. people that I've contacted infrequently and who were not actual contacts that I ever added to my contact list. These only show up when I compose a new message in Gmail on my phone, and the autocomplete works as expected when on a non-Android device (laptop). My list of "Other" contacts have been wiped clean in my Google account, but after a sync I still get these autocomplete suggestions in Gmail on the phone. I get no such misbehavior when I compose an email in Gmail through Chrome on my laptop.

I've tried all manner of account syncs, remove and restore my account, clear data and cache of the Contacts and Gmail apps, reinstall factory versions of those apps, etc., all to no avail. I know enough Linux that I'm not too scared of getting into the filesystem and monkeying about, but not so much that I don't feel the need to ask for help from experts who might help keep me from bricking my phone.

My hunch/assumption is that the Android Gmail autocomplete function is reading these outdated contacts from a list stored somewhere in a file on my phone which is impervious to the contact sync process or somehow not being cleared as expected otherwise.

My idea is to somehow search Android's filesystem for a file that contains the unwanted contacts and if found then wipe that file clean. Is this reasonable, and if so can anyone suggest guidance that'll make this less of a wild goose chase?

My phone details:

```
Model: Nexus 5X
Android version: 7.1.2
Baseband version: M8994F-2.6.37.2.21
Kernel version: 3.10.73-ge570678
Build version: N2G47F

```

# Answer
> 0 votes
I had very similar problem. In addition to that sometimes the e-mail address of the recipient was "beautified" like that:

Pawel Debski president bla bla something \<e-mail address\>

What I found was that Google on his own created Google Contacts profile for me (https://contacts.google.com/) and than my e-mail clients on few devices started creating contacts there, often duplicated with different labels. Some of the labels corresponded to the circles in Google Plus profile, but some were created by various e-mail clients more or less randomly.

When I cleaned-up all the contacts there the problem was solved.

---
Tags: gmail
---


# Question
Title: WhatsApp media is not showing up from WhatsApp account when migrated from old phone
I bought a new phone, so I took a backup from the old phone's WhatsApp account and installed in the new phone. Now at the time of installation I chose the "Restore" option from the backup so it can restore the messages and media.

Now I was using an SD card as the storage device in my old phone for WhatsApp. So all the images are on the SD card, and I can view them in *Gallery*. But when I am trying to go to any contact's "Media" option I am not able to see any images/videos which I was able to view from old phone.

So how do I see the media from a contact's home in WhatsApp which are in gallery?

# Answer
I took help from this Quora post, and I figured out that WhatsApp is installed in internal memory. That's why it isn't able pick up the pictures/media from the SD card. Here is what I did.

1. I renamed the WhatsApp folder in the internal memory. From `Whatsapp` to `Whatsapp_backup`.
2. Rebooted the phone.
3. Downloaded an image from a chat. This forced to create another `Whatsapp` folder to be created in internal memory.
4. Then moved all the content from `SD Card/Whatsapp/Media` to Internal `Whatsapp/Media` folder.
5. Then I closed WhatsApp and started again. This made WhatsApp to refresh the memory index and pick the media file according to chats.
> 0 votes

---
Tags: sync, whatsapp-messenger, gallery, media-files
---


# Question
Title: Create a home screen shortcut that opens a link as "web app" rather than in the browser
What I would like to achieve is described, in this article, i.e. to create a shortcut to a web page on my home screen, that opens in a separate window rather than as a tab in Chrome:

> The icon will appear on your home screen like any other app shortcut or widget, so you can drag it around and put it wherever you like. Chrome for Android loads the website as a “web app” when you tap the icon, so it will get its own entry in the app switcher and won’t have any browser interface getting in the way.

I specifically want to do this on my tablet, a Google Pixel C running Nougat (Android 7.1.1).

Whenever I tap on "Add to Home screen" in Chrome, it will create a shortcut that opens a new tab in Chrome, which is what I don't want.

How can I get the desired behavior? It appears to have worked in 2014 when the mentioned article was written. Why would Google remove this useful feature?

# Answer
> 1 votes
What you're looking for is a progressive web app (PWA). After creating a shortcut for PWA's they open in an app shell giving it an app-like feel while it's still a web app. You can try that with Twitter Lite or Flipboard.

Here are some links that might help -

Goolge CodeLabs - Your First PWAPP

Auth 0 - Introduction to Progressive Web Apps (Offline First) - Part 1

---
Tags: chrome-for-android, home-screen-shortcuts
---


# Question
Title: How to force mobile Chrome to open URLs instead of searching
I use Chrome for Android.

When I type for example `http://192.168.1.1:8000/` in the address bar, it opens Google with that address as a search query. I need to open the page and am unable to do so.

I tried different variations with and without manually typing `http://` at the beginning and `/` at the end.

I sent a bug report, but since the fix is probably not coming very soon, I need a workaround. Is there any?

# Answer
The workaround is to create a bookmark with the needed URL. Selecting the bookmark will cause Chrome to properly open the page.
> 1 votes

---
Tags: chrome-for-android
---


# Question
Title: How to avoid the screen turning on for each notification?
### Problem

I have a Nokia 3 with stock Android installed, not rooted. Whenever the phone receives a notification, the screen turns on. I wish to change this, mostly because it drains the battery and causes me to activate the camera in my pocket.

In fact, I would appreciate if the screen **only** turns on when I press the power button.

**Edit** As was said in the comments, the Nokia comes with Android 7 (Nougat) installed.

### What I have tried so far

* Just for the record, I did browse through the settings of the phone looking for an obvious choice, and could not find any way to turn it off.
* I have tried every possible setting for lockscreen notifications to no avail.
* There is no Ambient display option in the Display section of my settings.
* There is a screensaver option there, but whether it is on or off makes no difference.
* After reading this, I tried using another text message application than the default. That also did not help.

# Answer
I Googled around and am afraid this is the default setting for Android 7. People from all over the Internet are complaining about this. You can't simply turn it off.

However I found this trick working by entering Do Not Disturb mode. In Settings -\> (Modes) -\> DND there's a switch named **Block visual disturbances**. Turning it on and putting your phone into DND mode should work. As a side-effect, some other things are also changed in DND mode.
> 2 votes

---
Tags: notifications, settings, screen, nokia-3
---


# Question
Title: How to run Android in Virtualbox on Linux?
For days I try to get **Android 5 or higher** running inside **Virtualbox on Linux** (here: Mint 18.1), without success. At best, I get past the boot menu (Grub), the system switches to graphics mode, and I see the pulsating "Android": After a few seconds, disk access ceases, and the VM hangs with 100% CPU load.

I've searched the web up and down, and tried all the tricks I could find: increasing RAM to 2G, video memory to 128M, CPU count to 2. Switching the VM from "Linux (other)" to "BSD", trying 64bit and 32bit images (the 64bit images even get stuck at a black screen before the pulsating "Android" letters), the latter in 64bit and 32bit VMs, from the Android-x86 project via RemixOS to Phoenix, Android 5.1 to 7 – nothing gives.

**Where's the trick?**

Please don't point me to those numerous guides based on Virtualbox running on Windows. I've followed a bunch of them without luck. Nor do I want to use QEMU for that (draws in too many dependencies I don't want to install), or Genymotion etc (where I'd have to register). I'm interested in help from those who've got it running fine in Virtualbox on Linux.

I've also seen similar questions here and followed the advice from their answers:

* Android x86 Marshmallow not booting on Virtualbox and VMware Workstation
adding `vga=834 nomodeset xforcevesa` to the kernel options just caused the hang happen even earlier. The other advices I already had followed. The `.vdi` taken from OSBoxes had the same issues.
* other questions are either not for Virtualbox, or concerning pre-Lolliop. As the linked question above shows, the problem seems also to be present with VMWare.

How did you get it to run?

---

Note in between: I might soon be able to self-answer, but first need to verify and, if possible, improve: I meanwhile managed to fully boot an ISO with RemixOS, using "FreeBSD 64bit" for that 32bit image. The boot just took AGES to complete (about 15min before the pulsing "RemixOS" text got replaced by the welcome screen). It *might* be that's the first boot only, and after installing it to "disk" and having that running once, the next boot is faster. As soon as I find time, I'll dig deeper – and then will remove this paragraph and post an answer instead.

# Answer
> 3 votes
I was able to install Android-x86 on my Debian 9 box with no real problem. Following are my system details, the articles I followed, commands I used and lastly the settings info of the VM itself.

System:

* Chassis: desktop
* Desktop Environment: Gnome 3.22.2
* Operating System: Debian GNU/Linux 9.1 (stretch)
* Kernel: Linux 4.9.0-3-amd64
* Architecture: x86-64
* Processor: Intel Core i5-4570S CPU @ 2.90GHz × 4
* Processor supports HW virtualization: yes
* Processor supports PAE: yes
* Processor supports long mode: yes
* Processor supports nested paging: yes
* Memory: 15.4 GiB Graphics: Intel® Haswell Desktop
* Disk: 1.1 TB

First I installed VirtualBox 5.1:

```
$ cd /etc/apt/sources.list.d
$ sudo touch virtualbox.list
$ sudo nano virtualbox.list

```

In nano I typed:

```
deb http://download.virtualbox.org/virtualbox/debian stretch contrib
```

Then to save and exit nano editor:

```
ctrl+o
ctrl+x
```

Then to get keys, update repos and install VB.

```
$ cd ~/Keys
$ curl -O https://www.virtualbox.org/download/oracle_vbox_2016.asc
$ sudo apt-key add oracle_vbox_2016.asc
$ sudo apt-get update
$ sudo apt-get install virtualbox-5.1

```

Then I set about installing Android-x86:

First I downloaded Android-x86 6.0-r3 (the third stable release of marshmallow-x86) from here. Then I followed this article: "How to Install Android in VirtualBox" by Cameron Summerson, dated June 29th, 2017. The only snag I ran into was for mouse support.

The suggestion here didn't work for me but it might work for someone else.

So then I tried the discussion here which instructed to turn off VM which in my case is "Android" and try the command:

```
$ VBoxManage modifyvm Android --mouse ps2
```

After turning Android VM back on, I had mouse support.

These are the VM's settings info as retrieved by CLI command:

```
$ VBoxManage showvminfo Android --details
```

```
Name:            Android
Groups:          /
Guest OS:        Linux 2.6 / 3.x / 4.x (64-bit)
UUID:            a8a28a18-2d9a-4aff-872c-890d72ec9e8f
Config file:     /home/shine/VirtualBox VMs/Android/Android.vbox
Snapshot folder: /home/shine/VirtualBox VMs/Android/Snapshots
Log folder:      /home/shine/VirtualBox VMs/Android/Logs
Hardware UUID:   a8a28a18-2d9a-4aff-872c-890d72ec9e8f
Memory size:     6020MB
Page Fusion:     off
VRAM size:       48MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  4
PAE:             off
Long Mode:       on
Triple Fault Reset: off
APIC:            on
X2APIC:          on
CPUID Portability Level: 0
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
BIOS APIC mode:  APIC
Time offset:     0ms
RTC:             UTC
Hardw. virt.ext: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
VT-x unr. exec.: on
Paravirt. Provider: Default
Effective Paravirt. Provider: KVM
State:           running (since 2017-08-04T02:01:58.782000000)
Monitor count:   1
3D Acceleration: on
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address:
Teleporter Password:
Tracing Enabled: off
Allow Tracing to Access VM: off
Tracing Configuration:
Autostart Enabled: off
Autostart Delay: 0
Default Frontend:
Storage Controller Name (0):            IDE
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      1
Storage Controller Bootable (1):        on
IDE (1, 0): Empty
SATA (0, 0): /home/shine/VirtualBox VMs/Android/Android.vdi (UUID: a111cb34-b24f-4b38-ac32-bc33428f8b55)
NIC 1:           MAC: 080027D5FAC2, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: PS/2 Mouse
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
UART 3:          disabled
UART 4:          disabled
LPT 1:           disabled
LPT 2:           disabled
Audio:           enabled (Driver: PulseAudio, Controller: AC97, Codec: AD1980)
Clipboard Mode:  disabled
Drag and drop Mode: disabled
Session name:    GUI/Qt
Video mode:      1024x768x32 at 0,0 enabled
VRDE:            disabled
USB:             enabled
EHCI:            disabled
XHCI:            disabled
USB Device Filters:

Available remote USB devices:

Currently Attached USB Devices:

Bandwidth groups:
Shared folders:
Name: 'shine', Host path: '/home/shine' (machine mapping), writable
VRDE Connection:    not active
Clients so far:     0
Video capturing:    not active
Capture screens:    0
Capture file:       /home/shine/VirtualBox VMs/Android/Android.webm
Capture dimensions: 1024x768
Capture rate:       512 kbps
Capture FPS:        25
Guest:
Configured memory balloon size:      0 MB
OS type:                             Linux26_64
Additions run level:                 0
Guest Facilities:
No active facilities.

```

---
Tags: installation, linux, android-x86
---