# Question
Title: How to open a file located in a non-sdcard directory in Tasker?
How can one open a file located in a subfolder of the rootfolder, using tasker, in LineageOS 14.1?

My attempts so far have been to:

1. Create a new task in tasker.
2. Check if tasker has root permission with variable named "root available": `%ROOT`. This returns `yes`. Therefore, I assume Tasker has root permission.
3. create the action: "open file"
4. This only allows the accessing the `/storage/` of either the internal or external drive.
5. Therefore, I manually entered the path to the file located in the rootfolder I am trying to access as: `/data/misc/wifi/wpa_supplicant.conf` and ran the task, but it returns the error: `file not found`.
6. So I tried `/data/misc/wifi/wpa_supplicant.conf` and ran the task, but it returns the same error.
7. I tried to open the file with fdroid's app: `editor`, without opening a file explorer to open the file. But I am unable to pass the file location as an argument to the app `editor` when I create a task to do it.

# Answer
> 4 votes
The inbuilt Open File action doesn't seem to work for non-`/storage` file paths because it is hardcoded (I presumed from its error logs) to only load a file located under `/storage/emulated/0`. Even if you mention the absolute location using `file://`, it would still append `/storage/emulated/0` to the file path and throw an error.

Because Open File action simply sends an intent, we can do that manually ourselves. The Send Intent action is pretty good for this, except it also fails with non-`/sdcard` file paths. Tasker implements FileProvider (a way to securely share files with other apps). The action could work but Tasker's manifest file provisions for not exporting the file provider, which means other apps cannot make use of it. Since Tasker converts even absolute file path (with file://) into a file provider URI, there is no way out for us to load a non-`/sdcard` file using that action too, except to ask Tasker's developer to fix this, or the user themselves tweaks the manifest file.

The solution, however, is available using command-line. Use the action:

Code → Run Shell:

* Command:

```
am start -a android.intent.action.VIEW -d "file://FILE_PATH" -t "text/plain" -f 0x13000000 -n android/com.android.internal.app.ResolverActivity

```

`file://` is intended as is. In your case, the file path should be `file:///data/misc/wifi/wpa_supplicant.conf`.

`text/plain` can be replaced with `text/*` too if you don't know your file's mime-type.

(You can know about `am` here.) I don't know what that flag (0x13000000) does in particular.
* tick Use Root

Running the task would now give you the bottom sheet with all the apps which can load a file with mime-type `text/plain`. However, when testing this, only QuickEdit app was able to load that file successfully, so I recommend using it unless you get this working with an another editor.

---
Tags: tasker
---


# Question
Title: Android 4.2 - how execute shell command on system boot?
How do I do that? I have root access and the it's a custom build of AOSP project.

# Answer
You need to make it a shell script file, one command per line, place it under /system/etc/init.d and fix the permissions for init.d folder and shell script should be named 99NAME ..

Init.d is used for applying network tweaks on boot... You can use it to run other shell script files also.
> 0 votes

---
Tags: boot, command-line, scripts
---


# Question
Title: How the device (that is off) decide how to publish itself for USB: "MediaTek PreLoader USB VCOM port" or "MediaTek USB Port" device?
How the mobile phone (that is off) informs the Windows PC (with installed drivers "MediaTek PreLoader USB VCOM port" and "MediaTek USB Port") how to identify itself: as device \- "MediaTek PreLoader USB VCOM port" or as \- "MediaTek USB Port"?

When I plug the phone to USB, Windows PC connect it sometime through "preloader USB", sometimes through "just USB" ports, sometimes both in sequence (I see it from WMI events). I don’t see any pattern related to "time after next attempt" or "volume buttons pressed".

P.S This is "the phone off" state when battery is inside. What are correct names for those states (battery "in" and "outside")? When battery is extracted - device is not recognized as USB device by PC.

# Answer
> 1 votes
I can't see the question here ?

Are you asking what the driver is for ?

Please have a look at this video to understand what the preloader is, MTK Backup & Restore

The Mediatek Preloader is used for flashing new image's to your device.

Their is two different boot loaders on Mediatek device's..

1. MTK DA USB - For flashing the Preloader
2. MTK Preloader - For flashing all other image's

How does it register as a device while it's off ?
This is so you can fix your device when it won't even turn on, it need's to be before the boot of your system.

I hope i somehow answered the question here.

---
Tags: rom-flashing, mediatek
---


# Question
Title: What are some location services that can be flashed with an Android Pie based ROM?
I want some alternative to Google Location service, and I want to use Google Play Store. Any leads are welcome

# Answer
> 1 votes
MicroG should do what you want. As quoted from the website, "A free-as-in-freedom re-implementation of Google’s proprietary Android user space apps and libraries," including a unified network location provider. Simple download and install APK.

---
Tags: location-services
---


# Question
Title: Change default clock app in Samsung Galaxy Note 9
My previous phone was Nexus 5 and I changed to a Samsung Galaxy Note 9. I'm trying to customize most of the things that I used to be the same as Note 5.

What I liked from Nexus 5 it was notifications for upcoming alarm clock which is missing in Note 9.

I tried to install Google Clock and it works as on a Nexus 5. What I am not able to solve is how to set Google Clock the default app in Note 9. I have noticed that I can't uninstall or even disable the Clock app which comes with Note 9.

I want do do this because I want that Google Assistant to use Google Clock to set alarms and not the default Clock.

# Answer
> 1 votes
Enable developer options and ADB on your phone, and get platform-tools for your OS. Then run:

```
adb shell
pm list packages | grep [whatever the app name is]
pm hide [name of package]

```

Alternatively `pm uninstall -k --user 0 [name of package]` to remove it completely.

More detailed explanation here: https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/

---
Tags: default-applications, clock, samsung-galaxy-note-9
---


# Question
Title: How to block any app from being installed?
My mom has an Android tablet and she doesn't even know what a site is, her e-mail, or even the password of her Facebook account. She's an average user. The internet is Facebook in her eyes. She has no need for apps or anything, it's just, only, precisely Facebook. All is Facebook.

How can I **completely disable** installing apps in Android so they can't be installed in any way or form, I mean, not by URL, not by clicking, not by the app store, not even by another program? Just disable the entire thing altogether.

Doesn't need to be safe, have locks, passwords, etc. I'm not trying to secure the device from intruders, attackers, or robbers, I'm trying to secure it from its very own user.

Please help. I just had to remove two anti-virus apps that were opening adware pages when she tried to open Facebook Lite, and that's obviously a no-go, apps which she "had not installed." Clearly, there's some voodoo going on here for them to just pop up, or maybe she just did it unknowingly, but none of that's relevant.

How can you just disable installs so this couldn't ever happen again?

# Answer
First, disable the primary source of installation. On most devices, it is the Google Play Store but your device might have been shipped with a non-Google market app as well. So go to **Settings → Apps** → (three-dots line → **Show System**) or (**All Apps**) → your market app → **Disable**.

Second, disable the *Package Installer* system app. This provides the GUI for sideloading. So if you disable it and attempt to install an APK (through a file manager, by drive-by download, or when pushed by a third-party app) you would definitely *fail*. At this point, it is irrelevant whether **Unknown Sources** is disabled or not, but you may keep the latter disabled from **Settings → Security**.

Third, an app can still be sideloaded through command-line, preferably through ADB. Keep **Developer options** disabled and hidden (default). This is untested but revoking executable permissions (requires root access) from `pm` binary for user 2000 or for every user might help. This however, may cause device instability so take backup from a custom recovery before you proceed with this step.

Your user would be fine with the first two steps. It's not like they would *deliberately* try to find a way to install an app if they are not tech-savvy already.

---

Alternatively, in your particular situation you can use an ad-blocker app. The best ones require root access though.

Or, why not use a kiosk-mode app? Limit your mother's activities to certain set of apps she should use. That's an another option on the table.

Choose wisely.
> 15 votes

# Answer
She installed it, no app can install itself without user interaction.

However, the best would be to deactivate Google Play Services from settings or even install ROM without any Google app on it (if there is a custom ROM for your device).

And you should disable "apps from unknown sources" in settings under security.

If she still manages to install x app, then you should teach her not to click on something that says "install me" or any other ad on the internet.

Also, does she use the Facebook app to access Facebook or an internet browser? If she uses a browser, then install Samsung browser or Mozilla and enable ad blocking. If she uses the Facebook app, then you should use some Adblock app to block ads globally (I don't know if some work without root).
> 2 votes

# Answer
I think two apps are responsible for installing apps: the Play Store and Package Installer.

Play Store can be disabled, but not the package installer. The latter is responsible for APK files and works when the unknown source is ticked. You can only freeze it with root privilege.
> 1 votes

# Answer
On Android 7.0 onwards i.e on Nougat and Oreo, apps can install themselves without the consent of the user. No remedies to date. They may be pushed to install from a native browser or any other app.

The rooting and uninstalling of the package installer and verified installation may prevent installation.

---

References:
> 0 votes

---
Tags: installation
---


# Question
Title: How to keep Bluetooth Tethering enabled on LineageOS / how to enable it with Tasker on Moto G 2 LTE?
I need to share wifi connection from my Moto to iPhone over Bluetooth with minimal or no manual interaction on Moto G.

How can I make Bluetooth Tethering always enabled (On) at a LineageOS 14.1 device?

Alternatively, how can I setup Tasker script to enable Bluetooth tethering on Moto G 2nd gen LTE (XT1079), running LineageOS 14.1 (build 20170922)?

# Answer
Automate can do so using its Bluetooth tethering set state block, no additional plug-ins required.
> 1 votes

# Answer
Additional requirements:

* Secure Settings

**Task**
* Go to the Task tab and select **"New Task + "**
* You can name this Task *AutoBluetoothTether* or anything.
* Click **"+"** to add new Action
* Plugin → Secure Settins → \[Configuration: Actions → BT Tether\] → On (Tick *Automatically Enable Bluettooth* option)

Be sure to pair your Android device with Iphone (via bluetooth) prior and also you can set your profile to react to wi-fi connection i.e State → Wi-fi Connected (set SSID)
> 0 votes

# Answer
> The Automate block doesn't work on my device (Android 8.0, MIUI 9). And the Tasker solution requires a non-free plugin Secure Setting.

Run this(root required) to enable bluetooth tethering:

`service call connectivity 24 i32 2 null i32 0`

It calls startTethering(), while `24` represents `startTethering` and `2` represents `TETHERING_BLUETOOTH`.

Tested on Android 8.0. You can check the interface definition(aidl) for your version if it didn't work on older devices.
> 0 votes

---
Tags: tasker, bluetooth-tethering
---


# Question
Title: Auto-reconnect Bluetooth (BT) or USB tethering
When on vacation I use my smartphone (Android 7.1.1 Nougat) as a modem for my laptop (Windows 10 Home) and tablet (Android 6.0 Marshmallow), tethering to the laptop with USB and the tablet with Bluetooth. This works fine and the speed is acceptable, but every time I disconnect/go out of BT range I have to re-establish the connection. With WiFi tethering this problem does not occur, but WiFi uses a lot more battery power.

Is there any way to make USB and/or BT re-connection automatic?

@Ce4's answer to this question (jun 2013) mentions an app for permanent BT tethering but the link is broken.

# Answer
There are several apps available which can do this (even without root), for example Hot Spot Starter or Hotspot Automatik.
> 1 votes

# Answer
This topic shows an answer using Automate app. Note that, according to that topic, it requires root access.
> 0 votes

---
Tags: usb, tethering, wifi-tethering, bluetooth-tethering
---


# Question
Title: How to login to Pokemon Go with different Gmail account than in Oreo phone?
I have a different Gmail account connected to my Pokemon Go than the gmail account in my phone. The game attempts to use phone's gmail account, and it does not allow to set login details manually.

How thinking how to troubleshoot? Niantic's support forum is down, and I cannot ask the question there.

Phone: OnePlus 3T
OS: correspondent to Oreo

# Answer
> 0 votes
You cannot. This is a "design bug" in the game system.

---
Tags: gmail, 8.1-oreo, pokemon-go
---


# Question
Title: How to see which countries the app is allowed?
I am trying to find where I can install Epokrates Plus app. In Finland, it is not allowed. Having my devices, I see in all:

> This app is incompatible with all of your devices.

I tried to send email to the developers but I could not, since Email page just kept loading, and did not let me pass through. Either they are geoblocking or having server downtime.

# Answer
That makes it 6 countries, including India (I see it on Play Store). You could write to them and check for a full list.

**Edit:** I mailed them using Play Store support mail, linking this question and they reverted very promptly. Non availability in some countries is because of GPDR issues. Details pasted in chat.
> 1 votes

---
Tags: google-play-store
---


# Question
Title: How can I automatically connect to my company's wifi?
My Samsung Galaxy S6 with Android 7.0 automatically connects to my home wifi when in range. However, in my company, it only shows me a notification that I can click on to connect to the company's wifi (which then makes me accept terms by clicking on a button every single time.)

Is there any way to make this at least partially automatic, i.e. opening the page with the button automatically instead of just showing a notification? Or even saving my answer to this wifi page and using it during the next connection attempts?

# Answer
> 3 votes
It can be completely automated.

First, you need to know how button click data is submitted to the server: GET (less likely) or POST

If data is submitted to server using GET, just record the URL after submission. If data is submitted using POST, intercept the HTTP header when you click the button (there are lots of softwares for that; for example this Chrome plugin can log everything).

Now, install Tasker in your Android device.

1. Set Trigger as `State` ~\> `Net` ~\> `Wi-Fi Connected` and enter SSID of company Wi-Fi.
2. Set Action as `Net` ~\> `HTTP GET` or `Browse URL` if button click data is submitted using GET. Otherwise, set Action as `Net` ~\> `HTTP POST` or `HTTP Head` and enter the intercepted HTTP head data.

# Answer
> 3 votes
You can give a try to the app WIFI Web Auth. It can simulate clicking a button or filling out input fields.

---
Tags: wi-fi, 7.0-nougat, samsung-galaxy-s-6
---


# Question
Title: How to connect a hard drive (with NTFS) to Android phone?
I have a Samsung device and I want to connect an external hard drive to it with OTG but the problem is the hard drive isn't readable om my phone. I searched the internet for a solution and I found a tutorial that says I have to convert the filesystem of the hard drive from NTFS to FAT but the problem is there is no tutorial for converting NTFS to FAT (not FAT32) because FAT32 isn't readable on my Android device either.
So can you please help me to make my external hard drive readable on my Android device?

# Answer
> 0 votes
Your device doesn’t recognize your hard drive because your hard drive need a electronic power to work not because of your hard drive format. The only way to use hard drive in your android device is using hard drive with less down 512GB capacity, or using hard drive with separate power wire and data wire.

# Answer
> 0 votes
**Android recently got support for NTFS**

Ok, for all my HDD partition work, i use a Windows PC and a free program called AOMI Partition Assistant Standard

Using Part'Assist' is very straight forward and has heaps more control over the ordinary formatting support of Windows.

You can convert, clone, format, move, repair & resize drives & partitions.

How to format using the software.

* Install & Open Part'Assist'
* Place your HDD into your PC usb port
* Select the HDD in Part'Assist'
* Select your desired action

Reformatting will be the quicker option, however it'll erase everything.

I personally use exFAT on my HDDs, however i believe it should support FAT or ( VFAT is what terminal emulator throws out )

Android will power your HDD if it is self powered, and doesn't take Two Usb Cables ( 5volt + 5volt = 10v ) .. Androids that support OTG ( On The Go ) provide 5v power to the micro usb port and this is enough to run a very large 5volt portable HDD ( 2 TB Etc... )

You may need an extra power supply if your device doesn't handle OTG properly ( some tablets and older devices ) and requires an adapter to supply the 5 volt power ( can be built by soldering the ground wire to the micro usb sleeve on the jack to provide 5v power on some models ).

Once formatted as vfat ( FAT ) you shoul be able to get it to work just fine.

I'd just like to mention that i think it's amazing how far this hack has come... In the beginning, Android never supported usb devices using the micro usb, some hacker decided to give it a go years back and found out that all it needed was power to run a usb memory stick, mouse or keyboard... or any device with a driver that could be built....

After the hack became a part of many custom ROMs like Cyanogen Mod ( CM ), Manufacturer's and someone at Android HQ noticed !! it soon became known as OTG ( On The Go ) - This hack now has hardware support to supply 5volt power because someone else looked at the micro usb cable diagrams and said hey, let's just ground the shell on the usb and we'll have a 5vlt supply from the battery ... Genius...

---
Tags: usb-on-the-go, ntfs
---


# Question
Title: Install Bash on Samsung Galaxy Grand Prime+
How to install Bash on Samsung Galaxy Grand Prime+? How to get root permission and install Bash? Thank in advance !

# Answer
If you understand the consequences of tripping Samsung's Knox security flag...

Then please following the rooting guide https://rootsamsung.com/root-samsung-galaxy-grand-prime-plus-sm-g532f

And then use the closest alternative... BusyBox - Android App

Alternatives are to run a Linux distribution on your Android and then run a BASH shell through that.
Linux Apps For Android

Webpage Image for quicker reference of guide @ https://rootsamsung.com/root-samsung-galaxy-grand-prime-plus-sm-g532f
> 0 votes

---
Tags: installation, bash, samsung-galaxy-grand
---


title: Android ADB drivers installation error

text:
# Question
Title: Android ADB drivers installation error
I am trying to install the usb adb drivers. I turned the `debugging mode` on in the settings of my phone, connected to the PC. I click update drivers and manually selected the folder where the drivers are placed. For some reason the drivers installation fails and Windows gives the following error. Kindly guide me what is going on and how can I solve this issue? I am on windows 7

**Drivers Installation error**

<sup>(click image to enlarge)</sup>

# Answer
> 1 votes
**It sounds like your drivers are fine**
Are you trying to use ADB with the Android SDK or are you using it for running commands etc...

If you are using ADB to run commands and ADB isn't installed as a recognized command ( universal installation )

then you'll need to run `adb` in it's directory.

Unzipping Easy ADB V1.zip will give you a few versions.

* Auto Authentication ADB - Used for automatically asking for authentication.
* Normal ADB - Old device's ... new device's will say Offline without the authentication.
* Fastboot
* OPEN ME.bat

Double click on Open Me.bat to start a command window using the desired option, this is a simple batch menu to start a command window in the desired directory, right click and edit it to customize the colors etc....

Make sure your device is recognized as Android Composite Device etc....

And run `adb devices` from the command window you opened.

> If you've chosen the Auto Authentication version, you'll need to accept the connection on your device.

Sometimes you will need to do this on the normal version as well. ( it's just an old version )

Hope this all helps simplify the process ...

**Using the SDK** You should only download the entire Software Development Kit if you actually plan on developing software...

It should automatically use the correct directory in Android Studio, without modifications.

I personally use the Easy ADB files - I just slapped the .BAT file together to make easier for beginners to navigate without using `cd`.

# Answer
> 0 votes
If it is showing the Android Composite ADB Interface, then the driver should already be installed.

What happens if you type the below in the window's command prompt? It should show your device and serial number (assuming the phone is hooked up with USB Debugging enabled, and you are either running adb from the directory it is located in, or it is located within window's preset PATH variable).

`adb devices`

# Answer
> 0 votes
Without having the Android SDK/Android Development tools(ADT) environment it would be useless to have the ADB USB driver as matter of the fact that the ADB USB drivers are used to connect to Android Devices only through the ADB interface for development/debugging/root purpose .

So as @bass has rightly said about the Android SDK you need to have it installed from this Android developer site.

After you download the SDK you need to install the USB packages from the SDK manager(if you are connecting nexus)/from the OEM site(clueless about which Make or device number you are trying to connect and different OEM have their own Debug driver's) for the Debug USB Drivers.

# Answer
> 0 votes
Try "Search Automatically for updated driver software" instead of browsing manually. This will check for your connected phone driver online!

# Answer
> 0 votes
Download ADB drivers from here. Extract somewhere. Now, go to Device Manager and select your ADB device. Update Driver Software \> Search your Computer \> Browse to the folder you extracted and let it install.

---
Tags: usb, adb
---


# Question
Title: Why do Android phones have more cores than computers?
Laptops have usually at most four cores, and dualcores are probably more common. I have recently switched from quadcore to dualcore and I can confirm there is a limited number of usecases for quadcore, even with CPU intensive tasks.

On the other hands, at mobile phones, quadcores, hexacores and octacores seem to be common. Why? What tasks can utilize them?

I understand that big.LITTLE can be a part of the answer. That is, the main benefit of so many cores is not the ability to use all of them simultaneously, but rather using a core with power consumption appropriate for the current workload. However, for example, the Snapdragon 625 has eight Cortex-A53 cores, which does not seem to be a case for big.LITTLE.

Maybe the ARM architecture has a lower point of optimal performance per watt. That is, having a single core tuned for optimal performance per watt results in a lower performance on ARM than on Intel. So, more cores are used in order to deliver the performance. This is just a hypothesis.

But even in this case, I don't see what workload can efficiently use, say, eight cores on a mobile phone. On laptops, I can imagine a few like full (non-incremental) compilation of a project. But on phones?

* Games can be performance-hungry, but they usually require GPU performance rather than CPU, don't they?
* Theoretically, multiple cores could speed up Android Lollipop/Marshmallow AOT compilation when installing or when upgrading (i.e., the phase “Optimizing apps 3/121”). I am, however, not sure if this can utilize multiple cores. As far as I remember the code, only one app is being compiled at a time, but maybe there is some parallelism within the compilation process itself.
* Also Android 7+ could utilize multiple cores when compiling. But since it reportedly compiles when idle and charging, the benefit seems to be rather minimal. At least when one charges the phone overnight – I really don't care if it takes 30minutes or two hours in such a scenario.

# Answer
> 63 votes
As you've already noted, **the big.LITTLE combination strategy** (technically, **HMP**, **Heterogeneous Multi-Processing** clusters) is the primary reason for so many (and sometimes overwhelmingly many) cores. A mobile device often runs into multiple scenarios, both heavy load and light load ones included.

An extreme consumer-class example is MediaTek's Helio X20, which has 2 performance-oriented A72 cores, 4 balanced A53 cores, plus 4 energy-efficient A35 cores. That's very flexible throughout different usage cases. However, I think ~~8 cores~~ 2 clusters is usually enough.

There's also another desktop-like example, Qualcomm's Snapdragon 800 series (S 800, S 801, and S 805). There are only 4 cores of the same microarchitecture in each SoC, with 2 clocked higher and 2 clocked lower. Qualcomm made these SoCs because they were very confident of their own microarchitecture (Krait 400 and Krait 450).

For games, even if they seemingly demand GPU performance rather than CPU, they still put a heavy load on the CPU. A GPU cannot work alone without something else supplying it with data to be processed, and that's one of the major jobs that the CPU is doing while you're gaming. In most gaming cases, the GPU only renders graphics, while all other jobs like loading data, resources and assets, and calculating in-game mechanics like the system, environment and physics are done by the CPU. You won't observe a higher frame rate if you upgrade your GPU while sticking to a low-end CPU.

A secondary reason is **how Android utilizes CPU resources**. Android pretty much makes their own application environment. It uses nothing but codes (and APIs) from Java, but it has its own virtual machine named Dalvik, which was later replaced by ART (API Level 21). APKs have their executable codes in a "neutral" format, much like `.class` files in Java. Before they're run, the codes get compiled once more into the machine's native instructions\[1\]. The compilation process is multi-threaded and can utilize multi-cores for a performance boost.
And when an app is running, there are several other processes and mechanics (like the Garbage Collector) that run alongside, or parallel to the app. More cores can let the supportive processes run more efficiently, as well as the main app.
1. If you use a file type identifier, you'll find that "optimized" dex files are in ELF format, while the "neutral" dex files are just in a format of their own.

Another lesser reason is that **ARM cores can't work as fast as an Intel x86 chip**. The Intel x86 microarchitecture can be dated back to 1976, when the Intel 8086 chip started to be designed, which means that the x86 has developed over a long time. A single modern high-end ARM Cortex-A73 core is only as powerful as an Intel Clarkdale core, taking Core i5-660 as an example (GeekBench, single-core). This is because x86 is a CISC microarchitecture while ARM is a RISC microarchitecture. You surely don't want a phone that becomes laggy with only two or so active apps. More cores will help relieve the pressure. That's why dual-core SoCs are relatively popular only on smart watches. Who needs performance on a smart watch?

Interestingly, **more cores will result in less power than a single core at the same load**. The relationship between CPU frequency and power consumption is more than linear, so twice the frequency will always result in demanding more than twice, or even 3x or 4x as much power, while delivering less than twice the performance (due to other resource limitations like cache). So 4 cores can easily beat a single core at the same load, providing better performance and simultaneously demanding less power.

Further Reading:

# Answer
> 15 votes
The reason is as simple as much as complicate.

The short answer is "because the mobile phone market has never been and is not driven by Intel".

The long answer is way too long to resume here, but the basic concept is that Intel has dominated the PC market for years with all means possible, to the point of paying and corrupting (and being fined for this) to have his CPUs be the first and only choice for PC manufacturers.

Having the total control of the market has allowed Intel to inflate the CPU prices while artificially deciding which features and how much processing power the users should have wanted, and if you analyse a bit Intel history you'll notice that its main strength is basically in the increase of CPUs frequency, so it mostly never tried to do something really smart or innovative; and it didn't need it, because it can just say to people "you don't need more cores, but I have this juicy new CPUs which runs 100 MHz faster". At the same time, it could sell multicore CPUs in the server market at absurdly high prices (because servers have always **needed** tons of parallel power, to the point that there is a current trend in trying to realize servers that use...guess what? Hundred of your cheap phone CPUs working in parallel)

This, in turn, has reflected into the developers community which has never caught up with the importance of parallel programming, so that many if not most of the them never bothered using more than one thread at time -or, to express it in a non technical way, having their software do more than one task at time. Which, by the way, makes sense when 99% of your customers base has two cores at max. Sadly, this is had led to the legend that parallel algorithms are really difficult to implement and applies only to a small subset of problems.

Instead, finally, the mobile market has never seen Intel success; quite the contrary, actually, as it happens most of the time that Intel tries to do something different from the usual X86 architecture. So, lacking is influence and control of the market, the other CPUs producer have gone in the direction that has been the normality for ages outside the PC market: parallel computing.

# Answer
> 9 votes
There are two factors going on, one very practical and the other historical.

The practical reason is the use of mixed architectures in phones. Power consumption is critical for phones and phones spend a lot of time in modes where they require very little performance. It makes sense to have some cores optimized for minimal power consumption when little performance is needed while having some cores optimized to provide maximum performance when it's needed.

The other reason is largely historical. Until 2005 or so, desktop CPUs were all single cores. Improving desktop CPU performance consisted almost exclusively in making a core that can execute as many instructions per second as possible. Even today, so much desktop software cannot take full advantage of multiple cores that many would prefer a CPU with 4 cores over an 8 core CPU with cores 20% slower.

Getting as much performance out of a single core as possible requires huge amounts of CPU real estate. This is real estate that could otherwise be used to provide more cores. This is why Intel's newest Kaby Lake CPUs max out at 4 cores and people buy them because each core is faster than their predecessor's cores. For many, they are an upgrade even from CPUs with a higher core count.

Over time, expect to see much more desktop software fully optimized to support more cores. As that happens, the engineering tradeoffs will start to favor more cores over faster cores on desktops. While cores will almost certainly still get faster, you'll start to see people preferring an 8 core CPU over a 4 core CPU even if each core is 20% slower. Chip designers will follow the market.

# Answer
> 5 votes
It's crucial for a phone to be able to provide computational power in short bursts (we need certain apps to be fast) but to also avoid overheating (heat dissipation is much more difficult for phones than for laptops or PCs). In order to accomplish this, architects design phones to use a single core when the workload is light and provide extra cores to boost performance when it is needed. If phones were to use fewer large cores, overheating would become a problem even when the workload is fairly light.

Source: A graduate-level computer architecture course.

# Answer
> 2 votes
First, Java virtual machine can historically benefit from multi-core more than typical desktop software. Even if you write a single-threaded app in Java, it will run faster on a multicore because most of the garbage collector code will run alongside with your app.

Second, a lot of things are going on in the background on your phone: automatic updates, ad downloads, antivirus software, management of GSM module, etc. On a laptop, all these tasks would barely keep one core busy, but ARM cores are much less powerful, so you may want to have at least a couple of those dedicated to background tasks if you want a responsive system.

Finally, there's marketing. Not many users are capable of assessing whether they would benefit from 8 cores, but an 8-core smartphone certainly sounds more expensive than 2 or 4 core one.

# Answer
> 1 votes
The answers so far explain some facets of the problem leading to this overwhelmingly many number of CPU cores on Android phones. Read that again; Android phones. The iPhone has managed to stuck to just a couple of cores for ages and still performs much smoother than any Android flagship.

The designers of Android made a huge gamble when deciding to chose the Java programming and as a consequence the JVM as the runtime of applications. Java, due to its design principles solves the problem of needing to compile and build code for each CPU architecture before it could be run on it by sacrificing performance. Java introduces a heavyweight and bulky virtual machine usually called the JVM. The JVM actually emulates a CPU at software level to avoid the need to compile code separately for each device. Think of the JVM as a virtual CPU which has the same properties regardless of the device running it so the code need only be compiled once for the JVM and could then be run on every device. This allows manufacturers to throw any hardware they want before needing to worry about application compatibility. This also allows devices them to fill the market with both crappy low-end devices and quality high-end ones and eventually dominate it.

The JVM itself is merely a specification and people are free to develop their own JVM as long as it adheres to this spec. The original android JVM was called Dalvik. Nowadays Google has replaced that with ART.

Now what is the problem with JVM? It is a heavy piece of software which consumes a whole lot of computing resources. Add to this some other properties of the Java language such as Garbage Collection and the JVM's resource consumption simply becomes too much for a device with modest hardware power. Each application and system service open on your device is itself an instance of the ART JVM and by now you could conclude that managing them all requires some really capable hardware. Thing will get even worse when there is the need to draw user interfaces.

Each application runs on a number of Threads. Each CPU core can run only one thread at a time. Each app has one main thread on which it does the stuff related to the user interface. There could be many more threads per application for doing file access, network, etc. There are generally more apps (and system services) open than there are CPU cores and as a result there are usually much more threads than there are CPU cores. So each core has to switch between processing different threads constantly, doing a little of each one and going to next. This switching takes a lot of time for the CPU and in case of the applications being essentially JVMs, this task becomes even more exhaustive. By increasing the number of cores you simple reduce the number of applications (and therefore threads) each core needs to worry about and that increases the general performance.

Based on this explanation one could deduce that android needs powerful hardware to run smoothly. The early generations of Android devices were famous for lagging, crashing and many other unfortunate things. But over the years these problems have been mostly solved by relying on powerful hardware.

On the other hand, iOS application are compiled to native machine code and hence don't need the virtualization. The language used and the operating system are also more efficient and hence allow these devices to remain smooth without the need for some overkill chipset.

# Answer
> 0 votes
Resuming all above, i can say that use cases of PC and phone are quite different. PC most times used in single or couple of apps (of course browser with bunch of tabs require many cpu cores, can lag even on top i-3), phones used to multitask. At least network connection, UI draw, system triggers, notifications. If you open task manager on PC there are many of processes too, but they use less than few % of cpu power even on old Core 2 duo. 4 cores is pretty cheap (MTK 65x2 was cost 1$ at start for OEM) It\`s also RISK vs CISC when last lack on performance per core. Energy efficient != powerful, as we can see here. Multi-core is perfect for mobile,because no serious heavy single tread load, and multi-task aimed experience (but we can see that iPhones need less cores and RAM due to good software like in this video or others )

# Answer
> -1 votes
I think one of the main driving factors beyond a 4 or 8 (for big:little configurations) is just marketing at the moment.

One huge problem of the high core count is when you consider the size of the memory. Normally in desktop apps when you want to improve the utilization of multiple cores you need to duplicate structures and use much more memory then in a single threaded application.

This does not happen because RAM is very expensive (especially in the 2017/2018 RAM crisis situation). Marketing wants high numbers but controlling want to cut on component prices. If you see a balance which is less than 1 Gigabyte of RAM per core then you see a failed compromise.

---
Tags: processor, arm-processors
---


# Question
Title: Are lower-end phones just as moddable as flagships?
After a long time in the waiting, I finally have an excuse to upgrade from an iPhone (5s) to an Android. As a tech enthusiast and general superuser, the freedom to do what I want as far as customisability and general tinkering with the software is almost entirely the reason I've gone off iPhones and am looking for an Android. I'm bored of playing in the garden and it's time to climb the wall.

However, I'm also on a low income, which means I'm still very much limited by budget (less than £200, let's say, although the lower the better), and as someone who knows very little about the Android mobile market, I'm wondering how realistic it will be for me to satisfy both desires in a single phone.

I'm not asking for product recommendations per se, just wondering in general terms, based on the state of the market, what the situation is. Are most phones of this range just as *malleable* software-wise as flagships, or are they not? If they are, which ones in particular should I avoid?

# Answer
You should avoid some Flagship device's... Samsung's use a security feature called Knox, that'll make thing's harder. Some newer androids 5.1+ will have extra security to stop system modifications...

In my opinion you are better off looking for a device that's running below Android 5.1 and uses an MTK Cpu, this is because most of the new security features to stop modifications hadn't been implemented yet.

Theirs practically no difference in the actual Android system when comparing manufacturers, if its using Android 4.4 it's the same on a more expensive device running 4.4, however their is differences when it comes to each device, some ( Samsung's use Knox ) to lock things down even more...

You should definitely be open to device suggestions because some devices are simply better for modifications.

---

**Main Price Difference Causes**

* OGS - (One Glass Solutions) Screen Thickness
* IPS - Viewing Angle Of Screen
* CPU Capabilities - Speed & Support for games
* RAM - Obvious price impact
* OTG - On The Go Support - Usb Device's
* Dual Camera - (Tri Camera) - Face, Back, (Focus Assist)
* Back & Front Camera MP - Size of photos
* Finger Print Support - Security
* GPS
* Gyroscope
* Mobile network radio band support
* Full HD - 4K Screen Definition ( Retina Display )
* Full screen width ( Edge to Edge )
* Other non essential enhancements....

If you don't mind about support or inclusion of any thing above and some other's, the price doesn't really matter.
> 1 votes

---
Tags: rooting, rom-flashing, custom-roms, rom, customization
---


# Question
Title: Is there a way to remove the Guest account?
Lollipop has put an emphasis on multiple users, which is just irksome on a personal phone. I don't need a guest account and I don't need a bright blue user icon reminding me I could be someone else.

I've disabled adding a guest from the lock screen (really a sensible default?!), and I've logged in as guest, pulled down and clicked "Remove Guest". But back in my normal account I still see the guest account icon when I pull down the top bar and click the blue user thing.

Is there a way to completely disable the guest feature?

# Answer
**Edit**: Firstly, please follow the answer here. It offers an easier approach and is tested with Android 7.1.1.

---

*Some users have reported that the following solution didn't work for Android Marshmallow and above. That may be so since I tested this with Android Lollipop and worked well on it.*

---

Yes and No! It depends upon how you want to use this answer.

> I still see the guest account icon when I pull down the top bar and click the blue user thing.

You don't need to go that far by completely disabling the guest user to avoid that guest account icon when you pull down the top bar and click your profile image. All you've to do is remove all other users from **Settings → Users** and change the value of a key.

The key is `guest_user_enabled` under the table `global` found at `/data/data/com.android.providers.settings/databases/settings.db`. This database belongs to Settings Storage app. Its current value would be `1`. Change it to `0` using with the command:

```
adb shell settings put global guest_user_enabled 0
```

Changes should take place immediately, otherwise, simply restart the phone.

Now, whenever you would tap your profile image in the top bar you would see the profile contact (if already created) or a toast saying "The contact doesn't exist". That icon wouldn't show itself as long as you don't create any more users.

**Note**: As noted above, it is important to remove all other users since the said method wouldn't work as long as any secondary user remains in the system.

---

The aforesaid technique simply deals with the nuisance that icon is to some users. It doesn't restrict the primary user (owner) to switch or create new user from **Settings → Users**.

What if I'm happy with having a single user (me) and don't want to see that **User** in the Settings?

**That would require root access.** There are devices under the banner Android One which are now running Android Lollipop yet do not have multi-user functionality. It turned out that the \[multi-user\] feature is disabled (the feature is disabled using framework as noted here) \[can be enabled\] using few entries in `build.prop`. Why not use that technique for our advantage?

# Hide Users from Settings

1. Install a file manager with root explorer feature or a build prop editor app.
2. The location of `build.prop` is `/system/build.prop`. Open the file, go to the end, create a new line and enter `fw.show_multiuserui=0`.
3. Reboot the device.

Go to **Settings** and you would notice that **Users** entry is missing. As a side-effect, the result in first section i.e. the removal of the guest icon is also covered by this solution.

The good part is that while guest/secondary user is nowhere to be found which you can switch to using GUI, you can still use that multi-user feature. `adb shell am switch-user USER_ID` can switch the user easily provided that you know the USER\_ID of the guest/secondary user which you can obtain from `/data/system/users/`.

On the other hand, `adb shell pm create-user USER_NAME` can create a new user too. All good here.

---

What if I don't feel the need to have my device being used by a secondary user at all? I don't want multi-user functionality in my device?

That can be done. Thanks to Android One technique.

# Remove multi-user feature

We're not removing the feature from the system but simply restricting the system to a single user. As mentioned in the last section, we need to edit `build.prop` which requires root access.

Add `fw.max_users=1` in `build.prop` and restart the device. This would restrict the system from creating any new user since the maximum user is set to one. It would also hide the entry **Users** from **Settings** as well as the guest user icon aka the nuisance.

**Note** that you can always switch to the guest/secondary accounts using `adb shell am switch-user USER_ID` even after restricting the maximum users to one since the restriction is set to curb further creation of the users. If you feel the need to remove those users but find it bit problematic that there is no option now to remove them from GUI, then simply do `adb shell pm remove-user USER_ID`.
> 45 votes

# Answer
To remove guest user from android device follow this link

This simply says that you have to enter into guest account then from settings -\> users -\> remove guest user you can remove guest user.
> 11 votes

# Answer
After much effort, I tried this simple method and it worked to solve the problem of being able to create a new user or logon as a guest with zero prompts for a password from the lock screen. Note that you actually have to log on using the guest account for this to work:

Log onto the guest account, and then from settings -\> users -\> remove guest user. After a reboot, the option to create a new user or logon as a guest is no longer available from the lock screen.
> 3 votes

# Answer
Without rooting the device and still be able to change build.prop, no need for adb or developer tools.

In short: I found the right twrp for my device, then used latest Odin to flash twrp on it. Then from twrp advanced file manager copied build.prop from system to an SD card, restart, modify the copied build.prop, restart into twrp, rename original file (basically make a backup), and copy back the modified file into system. then select it and use the chmod 755 button (or go into the terminal and run `chmod 744 build.prop`. Note that only root can have write permissions or your device won't boot).

Specific: (tested on a Samsung Tab A T550 9.7" with Android Marshmallow 6.0.1)

1. Google and download the latest Odin, unzip it.
2. Google twrp and your device, download it. I don't know if the latest version of twrp works for every device, but at worst it won't but it won't harm your device.
3. Search how to restart your device in download mode. Mine was pressing power+home+downvol for approximately 4 sec. (while the device is powered off, obviously).
4. When the download screen appears, connect to the PC and open Odin. The device detected under com should be blue.
5. Press the ap button and browse to select the twrp file you downloaded.
6. Verify that re-partition is not checked under the Options tab.
7. Press start.
8. The device reboots normally, you need to power it off and start in twrp mode. In my case it was done by pressing power+home+upvol for approximately 4 sec.
9. In twrp, don't start in read mode (the first time it asks). You won't root, but you will change a system file.
10. In my case while using twrp, the touch detection was a bit off to the left and I needed to press harder, so beware the annoying and damaging fat fingers.
11. Press the mount button, select system so it's checked, and uncheck read mode if it's selected.
12. Go back (press Home) and press the Advanced button, then File Manager.
13. Go to System, then select build.prop file.
14. Press copy file, select a destination folder where any user can read it. I used an SD card (you can use the terminal to chmod the file copied, but it is faster from Windows).
15. Go back and press Reboot, then System. It will reboot normally.
16. Connect the device to the PC and open the copied build.prop (Notepad won't work. Use Notepad++) and edit what you want. In my case I only added `fw.max_users=1` below the last line. Save it.
17. if you couldn't open it because of permissions, first copy the file into the desktop and then modify that file then copy it back and replace it.
18. Disconnect the device and restart into twrp.
19. Again go to mount and check system, then go to Advanced and then use the file manager to go to system and select build.prop.
20. Rename it (add .bak at the end or whatever) so it's backed up.
21. Browse to the modified build.prop, and copy or move it to the system directory.
22. Browse to the system directory and select the newly copied build.prop, then press the chmod 755 button and confirm, as I said, even if you don't modify the original file. Just changing permissions to grant write access to anyone besides root will make your device hang on boot. If that happens, restart by pressing power + downvol for some time. Then immediately after it powers off press either power+home+upvol (twrp to change back whatever you did) or power+home+downvol (download mode, if all fails you can still flash the official image from Odin, you just have to Google your device and the Android version then official image, make sure it's the right one).
23. Restart and it's done, no more guest or add user, and no rooting, although from download you can flash a root image (if there is one for your device) or from twrp you can install Supersu to become root. You can say this method is as difficult as rooting, but I prefer to avoid rooting. twrp will be there, but it won't get in the way of anything.
> 2 votes

# Answer
There is a now a *better* solution available named Single User Mod (tested on stock Android 7.1.1 but should work for earlier Android versions too).

**Pre-requisites**: Magisk (framework) and Magisk Manager (app) installed.

Open Magisk Manager app → go to *Downloads* → search for *Single User Mod**install* it → *reboot* the device.

That's it.

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

As you can see, that blue icon for user account at the top is no more visible. The Settings app also hides the Users settings option.

### How does the mod works?

There is a fantastic binary made available on-the-fly by Magisk framework named *resetprop* (under /sbin) which does the magic. It is instructed to change *fw.show\_multiuserui* and *fw.max\_users* in memory before SystemUI app is loaded.
> 2 votes

# Answer
The script solution worked for me:

```
adb shell settings put global guest_user_enabled 0

```

Make sure developer mode is enabled on the Droid: Settings -\> About Device and then tap the Build number 7 times (and hop on one foot while rubbing tummy !!)

HOWEVER worked for me ONLY after I installed the Samsung developer USB driver for Windows available here: https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows

Then the USB dialog box come up on the Droid. Then the script works.

Use this script as a test of the whole "system" adb devices It should find a device and output a MAC address or something. When you have that working then go for the script at the top.

You do not need to download the whole SDK environment. You can get the guts of ADB here: https://forum.xda-developers.com/showthread.php?t=2317790

Then simply unzip it into a directory (Get Winzip or similar). Run CMD (the DOS command window) and use the CD command to get into that directory where the adb.exe is (from the zip file). Then test with adb devices. Then go for it.

Dana Keen
> 0 votes

---
Tags: accounts, multi-user
---


# Question
Title: Please help! Bootloop. Can't get into recovery
My wife, unfamiliar with rooting, agreed to update my rooted Moto C Plus when it requested an update. Needless to say, that didn't turn out well. It started booting to TWRP.

I tried finding a solution online. That led me to Troubleshooting: TWRP Boot Loop after OTA update in MOTO G4 (XT1621 Athene) where it gives the following method as a solution:

**TWRP Method**:

```
1 Go into TWRP -> Go to Advanced -> Go to Terminal: Enter

2 Please make a backup first of these files in SD card: `cp
/dev/block/platform/soc.0/7824900.sdhci/by-name/mota /sdcard/mota2
cp /dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/misc
/sdcard/misc2`

3 Type this exactly: `dd if=/dev/zero
of=/dev/block/platform/soc.0/7824900.sdhci/by-name/mota HIT ENTER dd
if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/misc`
HIT ENTER

4 Restart the phone.

```

On my phone, there is no `soc.0` in the platform folder, instead there is `mtk-msdc.0`. I tried searching online for a similar solution with the folder `mtk-msdc.0`, but I couldn't find any,except for https://jagadgetaholic.blogspot.com/2017/06/vernee-thor-e-twrp.html.

Desperate (not knowing which file to go with), I tried `dd if=/dev/zero of=/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot`. That executed something. But later, when i restarted the phone, it stopped booting to TWRP. Instead, it is now just showing me this logo (Moto) screen (the one that shows first when you turn on the phone, before the TWRP) for about 30 secs or so, and then the phone restarts back to the same screen...restart... screen...and so on. Basically a bootloop, I believe it's called.

What do i do now? The fix i was looking for is one where i don't lose my files. Everything is on the internal memory. No SD card. I want to be able to get my phone to start working again without losing my files. If I could get it to start working again with everything just the way it was before this problem, i would be super grateful.

Please help!

Phone: Moto C Plus (xt1723) 2GB Ram 16 GB Internal memory

OS: Android 7

Flashing tool: MediaTek SP Flash tool v5.1644.00

# Answer
> 3 votes
You just erased your boot image,

> I think you should stick with the proper terminology. When reading from `/dev/zero` it simply yields an infinite amount of (ASCII) zero bytes (after all it's a *character device*). `/dev/null` when used to *write to* is much closer to what one could describe as a black hole. But those are two different devices with different semantics. ( 0xC0000022L - comment)

`dev/zero` is 'an infinite amount of zero bytes' in Android, DD is used for copying. Here's what you ran in English:

Copy ( IF ) Input File = Zero Bytes ( OF ) Output File = Boot File

You effectively flashed your boot with a series of zeros ( Erased ).

So now that's gone, you'll need to flash it back with Fastboot..

If your device has a locked bootloader, you'll need to flash it back via SP Flash Tool.

I am working on a solution using SP Flash Tool and the stock 7.0 boot image,

---

Ok before anything, do a complete backup of all regions using SP Flash Tool MTK Backup & Restore video guide

* Download a stock boot.img
* Download these repair files MT6737M Files
* Open SP Flash Tool version 5.16 or newer
* Extract the files to a folder (Folder1) on your PC
* Extract your boot.img from the firmware and place it in your folder (Folder1)
* Now you'll have four files

+ MT6737M\_Android\_scatter.txt
    + Preloader\_xx.bin
    + recovery.img ( twrp )
    + boot.img ( stock )
* Open the Scatter file in SP Flash Tool

+ It should automatically locate the files if no names have been changed
* Unselect Preloader

+ You are only flashing boot & recovery
* Select DOWNLOAD as the method of Flash

+ NEVER SELECT FIRMWARE UPGRADE ETC..
* Turn Off The Device

+ Make sure Quick Boot is not keeping your device switched on
* Place the USB end into your PC
* Hit start in SP Flash Tool
* Plug the other end of the USB into your device
* Wait for Flash OK

P.S Please follow the backup guide to make sure if anything gets overwritten by an incorrect scatter file, we can restore it.

Tips : Each connection is a called a Handshake with the preloader, you can only use one handshake per action in SP Flash Tool, so you'll need to disconnect the usb and reconnect it to make another preloader handshake for any following action.

Do not move your device while it's flashing, try to keep the usb cable as still as possible.

---
Tags: root-access, boot-loop, motorola
---


# Question
Title: How can I add a Shared partition that Anbox can access?
I know it's a relatively new and unstable application but I figured if anyone has suffered through the issue and solved it then they can help me too.

I've got Anbox running and Apps open up really quickly but these apps can't access storage making them unusable.

(Tap to Enlarge)

So is their a way I can make these apps access a certain folder or `.vdi` file or a partition? I'm trying to do this in Ubuntu 16.10 but it's still an Android Environment or Emulator,so posting it here.

# Answer
> -1 votes
I managed a limited workaround using ES File Explorer installed on Anbox and adding a shared folder via Network → LAN

---
Tags: linux, android-emulator
---


# Question
Title: Will I lose my phone number and phone plan with factory reset?
Will I lose my phone number or phone plan if I reset my Android to factory settings? I know I will lose my pictures, contacts, and stuff but those I can get back.

# Answer
No. **Factory reset** erases data stored on `/data` partition of your phone. It includes your preferences (what you set in Settings app), user apps and their settings/data, system apps' settings/data (including contacts and messages) and personal data stored on `/sdcard` including pictures, videos and some apps' data (like WhatsApp stores media and messages backup on /sdcard).

But **phone number** is just an `id` (MSISDN) mapped to International Mobile Subscriber Identity (IMSI) which is assigned by Mobile Network Operator (MNO) to your Universal Integrated Circuit Card (UICC; SIM/USIM) on GSM/UMTS/LTE networks or (CSIM/RUIM on) CDMA network, or to phone (identified by its ESN; Electronic Serial Number, compared to IMEI on GSM) on pre-3G CDMA network. This isn't something stored on your phone, it's your account's detail which is stored on your service provider's system.

eSIM is the UICC embedded inside phone (not considering iUICC or virtual/dummy SIM or pure software SIM) which is programmable so that you don't need to swap SIM cards. eSIM stores one or more profiles which hold essentially the same information as a physical SIM card - including ICCID, IMSI (MCC/MNC tuple + MSIN) etc. - which is linked to possibly multiple changeable MSISDNs (phone numbers we dial). And just like hardware SIM, eSIM is Secure Element, completely isolated from Android OS, even the processor. So it's not affected with any filesystem changes. If factory reset erases profiles intentionally, those can be re-programmed. All that's needed is the unique QR code which, if lost, can be obtained from MNO or even their apps can generate. So your phone number isn't affected.

Similarly your **call/message/data plans** are associated to your identity (phone number). You will be able to avail those services as long as you have a valid subscription and your SIM card is inserted in a compatible phone, identifiable and authentic-able by the MNO.
> 8 votes

# Answer
The quick answer is "No, it doesn't effect your plan or phone number".

Note: Factory reset is just a clean up process which includes permissions to clean and reset everything within device to it's factory made stage. Of course you have additional options to clean your SD card and sim contacts too, if you want.
> 5 votes

---
Tags: factory-reset
---


# Question
Title: Access media files on NTFS formatted USB OTG drive (preferably without rooting)
I have a physically small but digitally large (128GB) USB key on my keychain. Unfortunately since I intend to use it for Easy2Boot and to support large video files, it must not be FAT32. I know that with FAT32 everything would be easy.

Now, since I have \>4GB ISO files and video files on here which necessitates the use of NTFS, since Easy2Boot doesn't support exFAT, I was hoping that I could use Total Commander and the Paragon NTFS plugin for it to "stream" and watch my video files in VLC or some such. That way I can place any file I could otherwise watch on my PC or Mac onto the drive to take these files on a trip for instance.

However Total Commander does not provide an "Open With VLC" option, and VLC is not able to see the "mounted" NTFS partition because it does not have an NTFS plugin.

So I am completely stuck here. My Android-fu is lacking... I'm usually an iOS user but this USB OTG storage media leaves Android as my only choice ;)

What are my options? Will my problem be elegantly solved if I root my Nexus 7 (2013 model) and install some NTFS drivers? Are there any other solutions that I can pursue without rooting?

I would consider the approach of "downloading" the file to local disk to play the video as a non-solution because video files could exceed the total storage capacity of the device (e.g. 20GB mkv file).

# Answer
> 2 votes
You could use the workaround I mentioned in MIUI forum, to use a pendrive with a NTFS format, needing no root.

To do that you need a some custom OTG drives which are bundled in some File manager apps such as MiXplorer.

> The Custom USB OTG driver works well this these additional filesystems: `FAT32 (R/W)`, `exFat(R/W)`, **`NTFS (R)`**.
>
> Simply open the app, tap on the three dot menu → More settings → Enable Custom driver for USB OTG (tick the box to enable)
>
> Done, now insert you OTG cable and place the pendrive on the port.

# Answer
> 0 votes
E2B does support `exFAT` if you prepare it using RMPrepUSB, but some payloads such as XP, Vista, Win7RTM won't work if booting from ISO. You can make `FAT32` `.imgPTN` files of these though.

---
Tags: rooting, video-streaming, ntfs
---


# Question
Title: How to back up notes from Samsung Notes app?
I use Samsung Notes (in Samsung Galaxy Tab S3) daily for taking notes and audio from college lectures. But how can I get all of my files and store them on my external HDD?

I mean, there's no file inside the tablet's storage, nor inside my SD card. Moreover, I wouldn't like to synchronize any of my notes and audio with Samsung Cloud or something.

How can I retrieve my Samsung Notes files and audio?

# Answer
I've never been a user of Samsung so I'm not sure how the stock `Notes` app works and in what format it saves files. This question indicates that notes can be backed up to PC from a Samsung phone using Kies as `.ssm` files and subsequently be opened using some media player (like VLC / Real Player) or S Note app.
This question addresses different methods to backup `.memo` or `.smm` or `.spd` files created by Samsung Memo app (if it's the same what you mentioned as Notes app). Memos can be shared/exported one by one in readable text files or otherwise transfer the memo files to PC.

Now, app data is always saved in one of these 2 locations: `/data/data/package-name` or `/sdcard/Android/data/package-name`. Package name of Samsung Memo app is `com.samsung.android.app.memo` as mentioned here but you can check yours from App info. Accessing the former needs root access. Also an app with `permission.WRITE_EXTERNAL_STORAGE` can save files anywhere on /sdcard. Samsung Memo app version 1.0.4517634 app saves it's files to `/sdcard/BeamMemo`. For other versions, it can be different; `/sdcard/.ActionMemo` or `/sdcard/SNote Data`. You can search for these files using some File Explorer app or `find` command through commandline.

Once the backup is done, you can either:

* Restore these files back to phone later on. In this case you should backup the whole folders and not only the memo files. But still it's not guaranteed that the app will recover whole data if it is reinstalled unless a backup file(s) is created by the app for restore purpose. If you are restoring to `/data/data/`, app UID and SELinux context also need to be restored.
* Open these files on PC. `.memo` files are basically zip files which can be extracted to get media files and text contents as answered here.

Or you can use a free app like ColorNote (for text-only notes) or other one which is easy to backup and restore.
> 2 votes

---
Tags: backup, samsung-notes
---


title: How to restore screen to normal size?

text:
# Question
Title: How to restore screen to normal size?
A friend asked me to help fix her phone. She left it with her kid and they put it on safe mode.

I restarted it and it went into a smaller screen display like this.

(Tap to enlarge)

Without trying a factory reset anyone know how to resolve this?

# Answer
> 2 votes
My phone also has this feature. It is called one-handed operation. Go to Settings → Advanced Features. There you will find this option. Alternatively, you can search in settings.

# Answer
> 0 votes
I'm not sure if this will work for your specific device but an old LG G4 (VS986) I used to have had an option in "Developer Options" to set a custom resolution (DPI to be specific). I highly doubt your friend's kid was able to change this, especially if developer options was never unlocked.

---
Tags: applications, screen
---


# Question
Title: How to give apps access to existing Secure Storage
How can I grant the apps on an upgraded Android, to the existing Secure Storage data?

To prepare for upgrading from LineageOS 14.1 to LineageOS 15.1, I made sure to wipe only Cache, System, and Data partitions. Specifically, I did *not* select Internal Storage to wipe, because I want the apps to continue to have access to the existing data.

Then, I followed the instructions to install LineageOS 15.1, which succeeded.

Now when I re-install the apps, such as Password Store and DAVDroid, they do not seem to have the same data from internal storage (they act as though there is no data yet). How do I get these apps to use the data, specific to each app, in Internal Storage that was not wiped?

# Answer
> 2 votes
Given the consensus I found when searching for answers, it seems **there is no way to do this**.

---
Tags: security, backup, lineageos
---


title: Locking an individual WhatsApp message

text:
# Question
Title: Locking an individual WhatsApp message
On my SMS messaging app (Go SMS Pro)I can lock individual messages within a thread/conversation so that if I want to delete the majority of my messages from a sender I can still save important ones and prevent them from being deleted. With WhatsApp it seems I can only delete an entire message thread and there is no way of saving individual messages within a thread. Is this correct or have I missed something? Many thanks

# Answer
> 2 votes
Though there is no official way, there's still a work around.

1. Star the messages you want to keep.
2. Then go to chat\>Options\>Clear chat
3. It will prompt you with three options.
4. Go with "Clear except Starred"

And you're good to go.

# Answer
> 1 votes
# This is correct

There is **no way** currently to *lock* individual messages to prevent them from being deleted according to WhatsApp Support.

You can, however, select several messages to be exported:

> Click on Options \> Settings \> Chat History \> Send chat history.

You will then be able to send your chat history via email or through some other application.

# Answer
> 0 votes
As far as I understand there is no option to lock individual messages in WhatsApp. But I do it in a different way.

You can create a Whatsapp group by adding anybody, then remove that person. Now, the group includes one member only; that is you.

Any important messages you can forward to this GROUP so that they will remain there as long as you want. However, it can not be locked with a password. But you can clear other group chats if you want.

---
Tags: whatsapp-messenger
---


# Question
Title: Does GBWhatsapp's back up feature restore media/images INSIDE all the chats?
I know that GBWhatsapp's inbuilt backup feature restores all chats and media safely. However, what is important to me is to be able to see all the media of a chat from *within the chat itself* (the one you get when you open a chat header).

I have many groups and chats who's media images I need to access quickly from within the chat and I need to know if the images stay in the chat media. Can anyone who uses GBWA verify this?

As a side question, if the above isn't possible, is there any other way to backup my app in such a manner as described above?

# Answer
Tested it, it does. A normal backup backs up all media within a chat too.
> 1 votes

---
Tags: backup, whatsapp-messenger
---


# Question
Title: How can I fix internal storage growing for no reason?
Why does internal storage keep growing over the time for no reason? At some point it becomes simply impossible to update apps, due to lack of sufficient memory space. Not even cache cleanup can save it, and I have moved as many apps as I could to SD card with no help.

Apps need to be uninstalled then installed again on every update. Depending on the app this is problematic since they have lots of custom settings, and I have never seen that automatic Google servers backup and restore working whenever I needed it. Fortunately for stock preloaded apps your settings are not lost, since you can just remove updates since stock version, not remove it.

This indicates one of the main causes of this problem at least: app updates are somehow incremental, and performing the above workaround will somehow save some space, with same result of app updated to latest version. So innocent everyday app updates are *no reason* for causing internal storage to fill up.

What workarounds can I do in order to overcome this problem, besides the obvious ones like removing stuff or buying a new phone? I think I heard about re-partitioning phone memory to make internal storage point to external SD card, but I wonder if it will make things too much slower, for example. Please, point me to good solutions, even if they require rooting.

# Answer
Before you can fix the issue you have to identify the cause. We have a few answers that deal with tracking down storage usage. But usually they target the external storage/SD-card. Here we are dealing with the *internal storage*, which is usually protected from normal user access and hence it's good (if not required) to have root. But other then that, the tools mentioned in the question should give you a good idea of how your internal storage is used:
> 1 votes

# Answer
Summarizing the answers and comments on a more objective approach. Please edit this and add any *verified* procedure that *objectively* may help with this annoyance.

1. You could try **the obvious things like removing unused apps, cleaning up system cache**, etc.
2. **If your phone is rooted, Link2SD helps a lot by creating symlinks from original app locations to the SD card**. Android will think the apps are on internal storage, but in fact they are just linked there, real location is the SD card. Specific apps, the biggest ones, can be selected for the linking process.
3. You may try **removing updates from stock preloaded apps, for only then updating to the latest version directly**. These apps seem to take more and more storage while getting updated over time. That was my case with Facebook for example, one of the most problematic about storage usage. This workaround should not delete app settings, since app cannot and will not get uninstalled at all.
> 1 votes

# Answer
I have this problem just now, it keep popup "internal storage almost full". The storage doesn't match with total space, i.e. it shows I used more than 15GB over total 16GB, but all categories sum up only ~11GB. I tried delete a lot of apps and folder but only 0.5GB free.

Eventually I realized I don't shutdown phone for many days, so I simply shutdown and reboot, and then it able to shows the correct free space 4.41GB!
> 1 votes

# Answer
I had a similar issue, and the only thing I could do was format the device.

I believe this happens when apps take up storage, and then 'forget' they have taken it up, and restore the data.

A factory reset will erase all the data, and if you're rooted you can backup your apps and not lose much data.
> 0 votes

# Answer
Every time an app gets updated, an old copy of the app is retained somewhere. You can see that in `settings > apps > select an app`, and you can see `uninstall updated` option. So whenever I have an updated app, I simply delete the old app and install the new app.

I recommend not to use this method which saves data internally. Other apps like Facebook, Whatsapp can be done.
> 0 votes

---
Tags: internal-storage, insufficient-memory
---


title: How to root Honor 9 lite?

text:
# Question
Title: How to root Honor 9 lite?
I have bought a new Huawei honor 9 lite and I want to root it.

* Model No: LLD-L21
* Android version: 8.0.0
* Software build version: 8.0.0.123 (C185)

How can I do it?

# Answer
> 1 votes
To root your device you first need to unlock your bootloader, and Huawei no longer provides bootloader unlock codes. There are several possible options, but all of them are paid, ranging from €3 to $55 depending on your choice. I'm not affiliated with or responsible for any of the services mentioned below.

Read unlock code from phone: (Keep in mind that these methods are not guaranteed to work in Android 8.0.0 or newer, but if it doesn't work you can ask for a refund)

DC-Unlocker €3: You can buy 3 credits (one credit=one euro) from their website https://www.dc-unlocker.com, download the software for your PC and get the unlock code by connecting your phone to your PC. You can follow the tutorial in their website for a complete step-by-step. HCU-Client €3: This is associated with DC-Unlocker but supports some newer devices, so it is generally recommended over DC-Unlocker. The website is https://hcu-client.com and you can follow the same steps above.

Order unlock code by IMEI: (This method works for any version, but is more expensive)

Global Unlocking Solutions $20-$22: The website is https://global-unlocking-solutions.miiduu.com/bootloader-unlock-codes-choose-model-below .The website looks sketchy but plenty of XDA users have had success with them. The ordering process is straightforward. FunkyHuawei $55: The website is https://www.unlockhuawei.com .The advantages of FunkyHuawei are: If it doesn't work you can ask for a refund, and they just have a very reliable track record.

You can just Google how to install ADB and Fastboot. There are plenty of guides. Also install Hisuite (for drivers) too. After you order the code unlock the bootloader with fastboot oem unlock \******** (replace with the code, also that will WIPE ALL YOUR DATA)

Download TWRP from https://forum.xda-developers.com/9-lite/how-to/honor-9-lite-twrp-3-2-1-0-available-t3771358, rename it to twrp.img and to flash it use "fastboot flash recovery\_ramdisk twrp.img".

Google "magisk xda download" and download the Magisk ZIP from the XDA thread. Boot into TWRP (You can Google how to do that in Huawei devices) and go to Install, and choose the ZIP you downloaded, and confirm, and you have rooted your Honor 9 Lite.

So that is there to it. A lot of work and some money is needed, but there are no other choice for now.

---
Tags: rooting
---


# Question
Title: Swipe down to search in the Google launcher?
My phone runs a Pixel Experience ROM which has a stock Google Launcher that I like a lot. I do not wish to change launcher.

I used to have a Huawei device, and it had a feature that you could swipe down on the home screen and it would search the enitre phone for apps, contacts, etc. I believe iOS has a similar feature.

Is there any way I can get this same feature on the Pixel Experience ROM, without switching launcher?

I have root, Xposed, Magisk, etc. My Android version is 8.1

# Answer
You can't get that feature on Pixel Experience until the developers make for it. But you can still find apps on the Google Play Store which have similar search utilities as you said without changing the default launcher.
> 0 votes

---
Tags: launcher, search
---


# Question
Title: Can Android keyboards capture my passwords and send it across Internet?
I use SwiftKey on my phone. I also try out a lot of custom Android keyboards as and when they are released on Google Play.

I would like to know if custom keyboards available on Google Play can capture my passwords as I type and send it across Internet? Is there any mechanism built into Android that would stop them from doing that?

# Answer
> 6 votes
Of course a keyboard app can capture your passwords as you type them, along with everything else you type: naughty text messages, credit card numbers, web searches, everything. You couldn't have a mechanism to stop it, because in a sense, that's what it's *for*.

It can only send this or any other information across the internet if it has the appropriate permission, "full network access." Almost all apps use this permission, though, and a keyboard might want it in order to download new language files, or to show ads if it uses that revenue model. SwiftKey, for example, has a "cloud sync" service to let all your devices share the same training data. This can only work by transmitting words you've typed, and statistical data about text you type, across the internet to their servers.

Android warns you that this is the case every time you enable a third-party keyboard in the **Language & input** settings. Nexus devices show a dialog with the message:

> This input method may be able to collect all the text that you type, including personal data like passwords and credit card numbers. It comes from the app Highway. Use this input method?

but as I mention in another question, manufacturers can replace the message (perhaps with one that's not entirely true) or disable it completely.

# Answer
> 3 votes
Theoretically yes: it's the nature of a keyboard to know all your key-presses. So if the app has the Internet permission, it could also send this to "some place".

For closed-source apps, it's difficult to check whether they do so or not (the only way doing that would be monitoring their network activity over a long time, best done on the router). With open-source apps, that's easier, as the code is freely available, and thus could be investigated directly.

A few years ago I would have said: if it's a reputable developer, you're on the safe side. With todays spying reports, it's hard to say... So if you want to be absolutely sure, there's no other way then using an open-source keyboard, grab the code, and compile it for yourself (← paranoid mode ;)

# Answer
> 1 votes
Yes, ALL keyboards capture your input and there is no way guarantee that the data does not leave your device. If the keyboard is 'cloud-powered' then it is insecure by design since everything you type gets sent over the wire.

IMHO you should not trust GBoard (Google official) neither 3rd party keyboards unless their source is open and available for public auditing.

I would strongly recommend AnySoftKeyboard which is FOSS complaint offering "trust by transparency" as an alternative to belief. http://anysoftkeyboard.github.io/

# Answer
> -1 votes
Use a keyboard which doesn't ask permissions for full network access. In this case you don't have to be worried about someone stealing your passwords. You can see the full list of permissions in app list.

---
Tags: keyboard
---


title: Manually Rooting - What Else Is Needed?

text:
# Question
Title: Manually Rooting - What Else Is Needed?
I have copied the `su` binary and `superuser.apk` to my device via an adb root shell. The `su` binary is in both `/system/bin` and `/system/xbin`, and I am able to successfully use it in my adb shell (for example, I get the help menu when executing `adb shell "su -h"`). The `superuser.apk` as well as a good copy of `supersu.apk` (obtained from reading other similar posts here on stackexchange) are installed in `/system/app`.

`su` has been chown'ed and chmodded with the proper permissions. I've double checked that the `superuser.apk` and `supersu.apk` have been chowned by root.

Launching `SuperSu.apk` I get a message that says "Root undetected" `Superuser.apk` shows 2 entries in the logs as having granted root

I have tried removing each of the .apks and trying just one on the system. I've also tried different precompiled `su` binaries I've found through XDA forums and stackexchange.com

No rooted apps work properly: I never get a prompt from `Superuser.apk` to grant root permissions, and root checking apps find the `su` binary and `superuser.apk` but fail to execute as root.

**Can someone tell me what I'm missing?**

I did find some random github article for rooting a different device that mentions a `roothandler` https://github.com/Unkn0wn-0nes/RootMyValet/wiki/Manual-installation-Instructions

Please note one odd constraint: I am trying to manually root, I don't care if it's just a temporary root. Flashing via TWRP is not an option, I cannot alter/remove/backup user data from this particular device, so I don't want to risk wiping it.

# Answer
> 1 votes
You also need to copy the busybox binary to `/system/bin` and `/system/xbin`. This may be the only step you're missing. Also, you only need one of superuser or supersu.

*edit* I was wrong, although for anyone else following along, the busybox binary from busybox.net includes su, which I thought was pretty cool. Anyway, it seems that rooting a modern android phone takes a bit more work. I took a look at the supersu zip, and from what I can tell, it creates a whole new ext4 system image and mounts it at /su. It also installs a few system daemons and initialization routines.

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


# Question
Title: I am trying to change my device's Mac address from adb shell but
I tried to change the Mac address of my non-rooted Samsung Galaxy J5 2016 (running Android 7.1.1) from adb shell.

But the command `ip link set wlan0` \[...........\]

returns

permission denied.

Any idea out there on how to go around this issue?

# Answer
You are getting Permission denied error because you don't have sufficient privilege to execute that command. You need to elevate them and that can happen if only you root the device or use an exploit that grants you the required privilege.

Find out how to root that device, root it if you can, and then use that command.
> 0 votes

---
Tags: adb
---


# Question
Title: Copying url file from Windows 10 computer to Samsung Galaxy A5 fails, system sound sounds
I have created a .url file using Windows Explorer on a Windows 10 computer. When I try to copy the .url file to my Samsung Galaxy A5 phone the file cannot be copied to my phone. I just hear a strange sound, which is either SystemSound.Asterisk or SystemSound.Exclamation. I cannot tell the difference between these two sounds. What causes that I am not able to copy the .url file and why does the sound sound (as specified above) instead?

# Answer
> 0 votes
I use URL Opener to open the file in Firefox for Android. It works great. Copying via FTP or WEBDAV works, but not when Windows PC is connected to Android via USB.

---
Tags: windows, file-transfer, url
---


# Question
Title: How to fix TWRP bootloop caused by an OTA update attempt on rooted phone without losing any data (including apps')?
My wife, unfamiliar with rooting, agreed to update my rooted Moto C Plus when it requested an update. Needless to say, that didn't turn out well. As a result, now my phone is booting only to TWRP.

I would like to get it to boot normally again with all my data intact...meaning: everything the way it was (including my Google account) prior to this problem. Is it possible? How?

Phone: Moto C Plus (xt1723) 2GB Ram 16 GB Internal memory

OS: Android 7

Flashing tool: MediaTek SP Flash tool v5.1644.00

# Answer
1. Download a Stock Firmware
2. Backup Data in SP Flash Tool (SPFT)
3. Flash Stock Firmware in SPFT
4. Restore Data in SP Flash Tool

**A few things before you begin,**

* Never Use OTA Updates with Root Access or any customizations, Install the stock recovery first, and remove root access if you must have the latest update.
* This information is intended for advanced user's that are familiar with SP Flash Tool and Meditek CPU's
* You agree to take full responsibility for any damages and/or legal action that may arise from using and/or following the information in this guide.

**DATA Partition,**
* The DATA partition holds your Apps and Data, it's the partition that gets wiped with a factory reset... So provided that you mean all the data that gets wiped in a factory reset.. This is the partition you'll need to backup in SP Flash Tool

**Backup**
I have answered this question many times, so to stop myself double handling the question, i made these two video's, this cover's nearly all aspects of using SP Flash Tool from Image Firmware Extractions to complete device clones and backups ... You'll need to watch these video's to get a better understanding of SP Flash Tool and what it's capable of...

Please be aware that the original video i made was over an hour and a half, i know nobody is going to watch that so i shrunk it to around 25min each video..

Also, i taught myself all of this over 4 years of tinkering and bricking devices... it's not something that can be lightly skipped over.

MTK Backup & Restore

The Second Video is the main video I'd like you to watch, it focusses on individual image extraction. I don't have the link, but it's at the bottom of the page ( The Sequel - )

Ok so after you've done a DATA backup using your scatter file from a firmware online... You can go ahead and install the firmware...

* After installation, restore the Data.

Easy as that :)
> 0 votes

---
Tags: twrp, boot-loop, ota-update, motorola-moto-c-plus
---


# Question
Title: How to get out of non-responding screen swipe on locked Galaxy Edge 6?
I have a Samsung Galaxy 6 Edge phone and twice now, the phone has gotten into a locked state, but the screen swipe does not work, it does not respond to finger swipe to unlock the device. I can push power button to get screen on or off, but no screen finger action has any effect. I cannot get it to reboot. Pushing power off button for a while brings up screen with choice to reboot, but that requires touching screen to select reboot.

I pressed power and volume down keys for several seconds to force restart, and chose normal boot from the menu, but after rebooting the issue remains, no screen swipe response. Booting into safe-mode didn't help either. I did a factory reset and still no response to screen touch. Is this a hardware issue and I need a new phone? Should I use ADB and redownload the operating system onto it?

# Answer
> 1 votes
Verizon had to replace the phone due to hardware issues evidenced by these symptoms.

# Answer
> 0 votes
I've had the same problem and after many restarts it continued. I tried holding the power button and down volume and home button all together. It will take you to another screen in which you need to push the down volume to cancel and that worked. Hopefully it helps

# Answer
> 0 votes
If you have a case or screen protector on your device, try removing it. Clean the screen with a soft, slightly damp, lint-free cloth. Unplug your device. Restart your device. If you can't restart it, you can force restart your device.

# Answer
> 0 votes
Mine was stuck due to the home key/fingerprint sensor. I tapped it in multiple directions and the problem went away.

# Answer
> 0 votes
Had same problem with Galaxy 6 yesterday. Tried all of the above. No help. Tried volume up button for 10 sec. Got screen asking if i wanted to down load OS , but in middle was an option to restart phone . That worked, touch swipe function opened and works now.

# Answer
> -1 votes
Always try this last step before concluding. Any smartphone, computer or tab has something they call safe mode which bars installed apps and user system apps from at least running automatically to running at all. Get to google and search how to get to safe mode on your device try it and see if it works. If it doesn't, either take it to service centre, reflash the phone yourself or install a third party OS like Cyanogen of the Samsung Touchwiz is messing up. Many people have been complaining. This is a bug in Samsung ROM's

---
Tags: touchscreen, locked-out, samsung-galaxy-s-6
---


title: Google logs my activities wrong

text:
# Question
Title: Google logs my activities wrong
My Google activities log says I have been messaging people late at night and in the early morning, but I know for a fact I haven't. Plus I have a search on my Google maps I never did. These things are putting a strain on my marriage and I want answers to why this is happening to me. I rarely go anywhere due to me meaning a stay at home mom. I want answers and I want to be able to show my husband that I'm not lying to him about any of this. I'm also getting to were I don't want to do anything on my phone far as searches, texting or making calls.

# Answer
I've had similar mysterious activity showing up on my account in the past (albeit, several years ago). It's important to remember that your Google account, and thusly your usage history, can be shared across multiple devices, including a mixture of desktop, laptop, mobile, even TV and assistant enabled devices like Google Home.

I spent a moment going over security and reviewing my account - it sounds like you would benefit from the same.

First, visit https://myaccount.google.com/

Secondly, sign in to your Google account and you should see some options on the left side pane:

* Under **Data & personalization**, you can review your privacy settings and also see location history. Clicking on Location History reveals a page where you can review which devices are contributing to your accounts history. Be sure to have only the devices you actively use as checked.

* Under **Security**, I highly recommend turning on 2-step verification. Also, make sure you have no security issues including any unidentified sign-ins from devices you don't recognize. You can revoke access to your Google account on a device-basis from this screen.

* Under **People and Sharing** you can view who is sharing content with you, including location history. You can also control which content you see, of course, including location sharing.

In regards to your mobile devices, make sure you audit and remove any suspicious looking apps that you may not remember downloading.

Finally, **reset your Google password**. This is the single best security practice and often the most overlooked.
> 1 votes

# Answer
Your messaging activity is not normal... I'd suggest placing an SMS logger on the device to double check no application is sending messages without your permission, you can find them online ( try searching Parental Control )

I feel that you may be searching for an answer that doesn't exist, are you sure that your location is wrong... For example, You mention that the location is actually near you, this can be two things, The amount of satellites that are deciding the location.. ( On Android, the GPS is not super accurate, it's based on several methods of accumulating location based information to calculate your location - WiFi Device's your near ( connected or not ) - Radio tower your connected to, or multiple towers ( triangulation ) - NFC devices you've passed, that are identifiable by a location ) ... For example, if you passed a Free WiFi Hotspot, your location would be linked to the location of the hotspot owners address )

You will often have an incorrect location ( sometimes up to 100 klm out ) - ( It should say the accuracy of the location based on several algorithms )

So the GPS location might be the radio tower your Android is connecting too, It could also be a WiFi Hotspot that your device is recognizing or it could be your Device hasn't found enough satellites to calculate an accurate location yet ( it usually warms up and calculates the location within 1 meter accuracy at 3seconds - so pay attention if it's GPS based accuracy or Network Location based accuracy ).

As for text messages ... It honestly sounds like you're lying at this point, but it is possible... Some applications can take control of your phone completely through sms commands, the device gets a message and the application hides it from the user, the message tells the app to send back the (eg. call log ) and the app sends a silent message with the information requested by the command SMS ) ... These apps are called SpyWare or MalWare ( Spying & Malicious ) you should open Setting's, Apps, and look through your apps, searching online for each one your unsure about.

P.S Some apps send messages in the background for certain thing's like verifications via SMS etc....
> 0 votes

---
Tags: google-location-history
---


# Question
Title: Android Studio unable to see any connected targets, neither hardware nor virtual
In Android Studio, I can successfully do a clean build, but every time I try Run, I see the "Select Deployment Target" window say Initializing ADB, but then in Connected Devices I see .

I can create a Virtual Device, but after creating it I can't see it in the Connected Devices window. If I go to Android Virtual Device Manager I can see the new device and several others I have created.

I can open terminal and run adb connect 192.168.1.229 (my device's wifi IP) and get a connection. Then I can run adb devices and see it listed. But still the Connected Devices does not show it.

The idea.log repeats the following:

```
2018-10-29 18:36:00,808 [st Monitor]   WARN -            #com.android.ddmlib - Unable to open connection to: localhost/192.168.1.43:5037, due to: java.net.ConnectException: Operation timed out
2018-10-29 18:36:00,808 [st Monitor]   WARN -            #com.android.ddmlib - Connection attempts: 12
2018-10-29 18:36:00,825 [st Monitor]   INFO -            #com.android.ddmlib - adb restarted
2018-10-29 18:37:17,045 [st Monitor]   WARN -            #com.android.ddmlib - Unable to open connection to: localhost/192.168.1.43:5037, due to: java.net.ConnectException: Operation timed out

```

I have no idea why it is trying 192.168.1.43 and there does not seem to be a server running there. Is this a setting I have to change?

Attempted fixes:

* kill the adb server
* restart Android studio
* restart laptop
* upgrade Android Studio and reinstall with default settings rather than keeping my old ones

System Details:

* OSX 10.13.6
* Android Studio 3.2.1
* Android Debug Bridge version 1.0.40 Version 4986621

# Answer
For posterity the answer was that localhost had been reassigned. I discovered this by typing "ping localhost" at the terminal. The solution was to add a line in etc/hosts, as Chappie said. I have still not been able to figure out what caused it to be reassigned, nor how. Warning that reassigning your localhost could cause some programs to cease working correctly.
> 3 votes

# Answer
I think I have the same problem,I found the key is my localhost's IP has changed,so android studio can't connect to the right IP. Just edit /etc/hosts input this: 127.0.0.1 localhost and restart Android studio,the problem resoved.
> 2 votes

---
Tags: adb
---


# Question
Title: Take notes, and enter into a Google Docs spreadsheet using Google Assistant.
I have a pair of Google Assistant compatible headphones, and I want to use Google Assistant to help me keep track of my spending.

Essentially, I want to be able to say:

'spent $20 of groceries', or 'spent $10 on transport' etc,

and that map on to an spread sheet like:

```
datetime             type         amount
11/11/2018 5:10pm    groceries    20
12/11/2018 5:55pm    transport    10

```

I am happy to use an IFTTT integration to do this.

What would the best way to achieve this?

# Answer
> 2 votes
Ok,this is actually pretty simple on IFTTT - it's lucky that it's a simple task.

Here's an applet I created:

https://ifttt.com/applets/91022983d-if-you-say-spent-on-then-add-row-to-google-drive-spreadsheet

Essentially you can create a text and number trigger for google assistant, that maps nicely to creating rows on a spreadsheet.

---
Tags: google-assistant
---


# Question
Title: Android 8.1 Keyboard on Galaxy Tab A doesn't display word choices
My old Samsung Galaxy Tab running Android 4.2 would always show 3 word suggestions above the keyboard as I was typing. I thought it was very helpful. But my new tablet(Galaxy Tab A 8") running 8.1 doesn't have that. Can I get that back?

# Answer
Let it be set to default keyboard(Samsung Keyboard).

Follow steps to turn on word's suggestions:

**For Galaxy tab:**

Follow the steps:

1. Open Settings - Scroll down to System - Language and input-Choose Samsung keyboard.
2. Under Smart typing choose *Predictive text* and enable it.

**For Handsets:**

1. Open Settings-General Managment-Language and Input-On screen keyboard-Samsung Keyboard.
2. Now turn on 'Predictive text' option and again in this option turn of 'Auto replace'.

Note: *Auto Replace* will enable the keyboard to replace predicted words by itself and this could create problem while typing.
> 2 votes

# Answer
Downloaded the Google keyboard app. It solved the problem for me
> 0 votes

---
Tags: settings, keyboard, samsung-galaxy-tab, 8.1-oreo
---