# Question
Title: What Android phones are ANT+ hardware enabled?
I'm trying to gather information regarding ANT+ hardware support in Android phones. Basically, **what Android phones have ANT wireless hardware?**

ANT and ANT+ (http://thisisant.com/) as wireless protocols are quite promising, especially with potential open-source support for ANT+ ready-made fitness devices (see http://www.thisisant.com/news/stories/ant-enabled-live-google-data-feed).

For now, only Sony Ericsson has officially stated they have it in X10 mini pro, X10 mini, X8, and upcoming Xperia Arc (and AFAIK "plain" X10 is not included) - http://blogs.sonyericsson.com/developerworld/2011/01/06/use-your-sony-ericsson-phone-with-ant-enabled-health-and-fitness-products/. Also, it is known that Texas Instruments WiLink 6 and WiLink 7 module support ANT as well (some sources state Motorola Droid and Motorola Droid X have it, and therefore interesting too).

Sony Ericsson support seems to make its way to users, here the list of phones regarding Android ANT+ API (http://www.thisisant.com/pages/developer-zone/android-api). Still waiting for any official or unofficial support for non-Sony Ericson phones.

List of supported phones from the directory of mobile phones and devices - http://www.thisisant.com/directory/

ANT+ enabled phones: Any device with a USB Host feature and a connected ANT USB stick.

Any other? Please, share if you find others!

# Answer
This list gives the most correct answer, as it gives "what Android phones have ANT wireless hardware" regardless of if the software piece has been turned on: http://forum.xda-developers.com/hardware-hacking/hardware/ref-devices-ant-hardware-t2879990

For which devices have the hardware and the software to support apps, the best place is the ANT+ Product Directory: http://www.thisisant.com/directory/filter/~/60/~/ However, this does not include devices which have not gone through certification to prove they work correctly, such as the Xiaomi Mi3 or OnePlus One.
> 5 votes

# Answer
For the Tour de France Google created some custom firmware to run on HTC Legends so that they could track the riders in real-time. It seems those phones also have the ANT+ capabilities. I believe that those chips are fairly common in many phones. The protocol is apparently similar to Bluetooth so it's not much additional work for the chip manufacturers, like TI, to put it into their chips.

I think the biggest obstacle is the drivers for the ANT+ protocol don't come with the phone. That was the custom part of the firmware that Google provided.

Check out this article here for more about the Tour de France.

Have a look at this link as well.
> 4 votes

# Answer
As well as the phones with embeded ANT support it is now possible to use ANT via a USB ANT stick. The phone needs to have working USB Host mode support but that is true for most modern phones. I posted some details when the anouncement came out a few months back as a developer of some ANT related apps.
> 4 votes

# Answer
In order to enable ANT+ in Android devices there are mainly two options.

One is to have a smartphone with ANT+ built-in, another is to add an ANT USB stick and connect it to the smartphone using a USB OTG (OnTheGo) cable.

However, also the Android applications have to be written to support the external ANT USB stick. At the moment, only applications that use the official ANT Alliance APIs are able to communicate with the external accessory. This situation will probably change in the near future, but this is the state of the art, concerning ANT+ and Android.

For more info, check this how to: http://www.selfloops.com/resources/tech-guides.html
> 3 votes

# Answer
You can also go to the official ANT+ website at www.thisisant.com and then under the 'directory' tab (www.thisisant.com/directory) select in the filter options the following checkbox: CATEGORIES \> Mobile Phones/Devices
> 2 votes

# Answer
I can see this is an old thread, but there have been a few new phones announced recently with ANT+ support.

This list is updated regularly: http://www.thisisant.com/directory/filter/~/60/~/ and now includes the Sony Z1 and Z Ultra (two new flagship phones) and the Samsung Galaxy Note 3.
> 2 votes

# Answer
To add to the list, supposedly Samsung is going to release a firmware to enable ant+ on their s4 and others

http://www.dcrainmaker.com/2013/10/samsung-mobile-devices.html
> 2 votes

# Answer
Add Nexus 5, Nexus 10, HTC One and LG G2. root is required though.

https://play.google.com/store/apps/details?id=com.z2software.antplus
> 2 votes

# Answer
ANT+ is enabled by sw upgarde only in phones that contains TI 1271/1281 connectivty devices
> 0 votes

# Answer
Currently supported mobile phones and devices:

* Nokia 7.2 (HMD)
* Monterra (Garmin)
* HTC Rhyme (HTC)
* GALAXY Note 3 Lite (Samsung Electronics)
* GALAXY Note 4 (Samsung Electronics)
* GALAXY TabPRO 12.2 (Samsung Electronics)
* GALAXY Note 3 Neo (Samsung Electronics)
* GALAXY TabPRO 8.4 (Samsung Electronics)
* GALAXY TabPRO 10.1 (Samsung Electronics)
* GALAXY NotePRO 12.2 (Samsung Electronics)
* GALAXY S5 (Samsung Electronics)
* GALAXY Grand 2 (LTE) (Samsung Electronics)
* GALAXY J (Samsung Electronics)
* GALAXY Note 10.1 (2014 Edition) (Samsung Electronics)
* GALAXY S4 (Android 4.3 and up) (Samsung Electronics)
* GALAXY Note 3 (Samsung Electronics)
* Xperia T2 Ultra (Sony Mobile)
* Xperia Z2 Tablet (Sony Mobile)
* Xperia M2 (Sony Mobile)
* Xperia Z2 (Sony Mobile)
* Xperia Z1 S (Sony Mobile)
* Xperia Z1 Compact (Sony Mobile)
* Xperia Z1 (Sony Mobile)
* Xperia Z Ultra (Sony Mobile)
* Xperia SL (Sony Mobile)
* Xperia acro S (Sony Mobile)
* Xperia X8 (Sony Mobile)
* Xperia x10 mini pro (Sony Mobile)
* Xperia S (Sony Mobile)
* Xperia x10 mini (Sony Mobile)
* Xperia ray (Sony Mobile)
* Xperia pro (Sony Mobile)
* Xperia neo V (Sony Mobile)
* Xperia neo (Sony Mobile)
* Xperia mini pro (Sony Mobile)
* Xperia mini (Sony Mobile)
* Xperia ion LTE (Sony Mobile)
* Xperia ion HSPA (Sony Mobile)
* Xperia arc S (Sony Mobile)
* Xperia arc (Sony Mobile)
* Live with Walkman (Sony Mobile)
* Xperia active (Sony Mobile)
> 0 votes

---
Tags: wi-fi, bluetooth, hardware
---


# Question
Title: Nintendo Switch Controller delayed response on Android TV 9
I'm owning a *Xiaomi Mi TV 4A* that runs Android TV 9. I would like to play games on it with the SNES -aka Super Famicom- Nintendo Switch Bluetooth controller.

Connecting the controller works but there is a big delay after pressing a button and there are random other issues like multiple steps instead of one after pressing the D-Pad in a direction.

Is this an issue with the controller or are there settings I'm missing?

I updated the OS, tried reconnecting the Gamepad and rebooting the TV without success.

# Answer
**Sadly this is an issue with Nintendo Switch Controllers**

While Nintendo Switch Controllers use Bluetooth HID, they aren't completely conforming to the specification which means that you'll need a modified driver (and that is hard on Android).

Bluetooth HID (Human Interface Device) is the spec that allows for bluetooth keyboards, mice, and gamepads to communicate with supporting devices.

So I found this project trying to document the interface to the Nintendo Switch. As can be seen at the end of Issue #7 HID protocol for Bluetooth/USB there has been some success on Linux, but Issue #92 for Android has remained unanswered.

Changing the bluetooth driver is a Custom ROM level change. A compatible Android bluetooth driver would have to be made and support your bluetooth chipset and your platform hardware. As you are running TV hardware, I have doubts that any Custom ROMs exist, and then writing a driver supporting the Bluetooth chipset would be a further obstacle.

Based on:

Nintendo Switch Reverse Engineering HID Notes

Issue #7 - HID Protocol for Bluetooth / USB

Issue #92 - How to communicate with joycon in Android platform?
> 1 votes

---
Tags: bluetooth, android-tv, game-controllers
---


title: Stop 'in app' ads from loading?

text:
# Question
Title: Stop 'in app' ads from loading?
I noticed that ads inside apps are not loaded when Google Play Services' data connection is disabled and kind of formed the idea that it is responsible for loading these ads within the apps.

Is there any particular package (com.google.\*) that I can disable to prevent ads from loading, that is, is any particular package solely responsible for this task (loading ads)?

Is there a way to stop these ads by disabling some such package or system app that would still let me use gmail, play store and other such services?

I am not looking for external ad blocking apps.

# Answer
> 1 votes
Apps are self-contained. Even for ads delivered by Google AdMob, there is no ad-system component involved at all. Apps are loading ads and other data directly from the Internet.

Therefore, what you want is not possible. You can disable every app package by Google on your phone, but as long as the internet still works, the apps will show you ads.

The only system package that might be used is the WebView - a component that allows apps to display web pages - and ads are typically web content.

The problem is that many apps also use WebViews for displaying non-ad content, some apps even mainly consist of a WebView and the whole app consists of web pages.

The used WebView can be configured in Android developer options. On some devices, there is a separate WebView component installed, on others, the default web browser or an installed Chrome app is used as a WebView provider.

It is possible to develop an app that provides a WebView with an integrated ad-filter, but I have not heard of such an app.

# Ad-blocking WebView

It seems like there are already such apps available. Based on the information I found, Adblock Browser should provide a WebView implementation with integrated ad-blocking (not yet tested). You have to install this app and make it the default WebView provider as shown in this answer.

However, using that app has one major disadvantage: it is based on Chromium, the open-source part of Google Chrome. Therefore, all vulnerabilities found in Chrome also apply to this web browser. So if you want to stay secure, every time a security update for Chrome is published (which happens some times multiple times a week) the developers of Adblock Browser need to update their project, incorporate all necessary changes, and also publish an update. Otherwise, apps that use WebView for regular (non-ad related) purposes may otherwise be vulnerable to an attack.

In the end, this is an advantage of ad-filtering external apps like Blokada or on the network level in your Wifi network, you can install a gateway like Pi-hole. Both filter apps and Pi-Hole work very similarly. You don't need to update them so often as security vulnerabilities are not so often found in such apps/systems.

# Answer
> 0 votes
I use NetGuard to block Google Ads service requests and it works so well that I don't see a single ad in apps. But you need a NetGuard premium for blocking those domains.

I also restricted my Play Service from internet connections and permissions. This helps a lot in my device. And I don't think you can disable any system app. They still can do anything; at least Google apps can ignore these.

# Answer
> 0 votes
You can use AdAway, it works without root, the only ad it still works is from YouTube. Now I don't see any ads in apps, I see no apps in Chrome too.

Well, of course i still see the Ad Frame, but it get an error showing the ad, so technically you're not seeing an ad.

---
Tags: adb, google-play-services, android-10, ads
---


# Question
Title: What happens if I modify ro.product.abilist64?
I'm on a 32 bit SO (64 bit hardware). I built a 64 bit app, and somehow when it is built, it just turned to 32 bit (the app). So if I just add the `arm64-v8a` abi it should install?

I'm not asking if it will gonna work, of course will not work im just curious about it. I didn't found nothing about change it. Also I think my system will bootloop. I already saved the file, I just need restart the phone.

**Edit:** I just can't bootloop my device now, because my phone number just got blocked so if I reset my phone I will lose my Signal/WhatsApp.

# Answer
Yeah, it got stuck in bootoop. But it was different from these bootloops, the phone didn't reset, it just kept playing the animation forever and forever (3 minutes)...

hopefully, i have `vim` on my android so i could edit without my pc and then back to normal. I hope someone read it before do it.
> 0 votes

---
Tags: applications, root-access
---


# Question
Title: Why is there no Java compiler on Android?
I'm not an Android developer but I do other stuff.

I just rooted my phone so I was playing around with a shell and I was trying to compile some C packages and realized there is no C compiler, OK.

Surely there must be Java right? Tried it and I can't get a `java` or `javac` command to work either.

How is that possible when Android apps are written in Java?

# Answer
If you have Android 5.0 (lollipop) or later, use `termux`. (Terminal IDE is great but only works up to android 4.\*). It's on the google play store, and the source is on github.

It has an `apt` repository with several compilers, including `ecj`, the `Eclipse Compiler for Java`, and is *much* faster than `javac`.

There's also `golang`, `clang`, `gcc`, `node`, `python` and a whole bunch of other stuff (`tmux`, `vim`, `ctags`, `cscope`, `emacs`, `latex`etc etc etc).

NB: this doesn't actually answer your "why" question, but might be helpful...
> 1 votes

# Answer
Yes you can install a Java compiler but don't expect to be able to create your own applications for Android on Android.

I asked a similar question here.
> 0 votes

# Answer
ECJ (Eclipse Compiler for Java) can be ported very easily on Android. I've done it - but no support for Java 8 though.

Also, it is possible to build Android apps on Android, there are apps that already exist for that, JavaIDEdroid is one.
> 0 votes

---
Tags: java
---


# Question
Title: How can I turn off an Android phone in the same Ethernet remotely using a Windows computer?
As in title: How can I turn off an Android phone in the same Ethernet remotely using a Windows computer?

They are in the same Local Area Network and connected to the same router, the Android phone is connected to the router via WiFi and the Windows computer is connected to the router via a cable.

I have tried numerous times to get a solution using Google search with different keywords, and objectively Google isn't very competent in understanding complex sentences and I can't get what I am looking for, see for yourself what the results Google gave: Google: How can I turn off an Android phone in the same Ethernet remotely using a Windows computer?, most of the results are exactly the opposite of what I intended to achieve.

I want to connect to the phone wirelessly and send commands through WiFi.

I figure I need to use either Telnet or SSH to do this, log into the Android device remotely and use Android terminal commands to shutdown the phone.

Unfortunately I have tried telnet and here is the result:

```
C:\Windows\System32>telnet 192.168.1.3
Connecting To 192.168.1.3...Could not open connection to the host, on port 23: Connect failed

```

I know what this means, this is because telnet port is not open and the telnet server isn't online on the Android phone by default.

So naturally I need to install some application on the Android phone that runs the telnet/SSH server and opens the telnet/SSH port, and setup a login and password, so I can connect to the phone remotely and it has to somehow execute the commands.

The phone isn't rooted, but I have Android Studio and the phone does have USB Debugging, what tweaks do I need to make in order to enable remote logging?

And I don't know how to use Android terminal, is there even a command line interface shell on Android? I don't have any experience with this, however from what I have learned Android is based on Linux and I have some experience in Ubuntu 20.04 LTS WSL, I know I can use these commands:

```
sudo power off
shutdown -h now

```

Android must use something similar.

How can I achieve this?

---

The suggested duplicate: How can I shutdown my Android phone using an adb command? doesn't answer my question because it shuts down the phone through USB while I have explicitly stated in my question that I want to shutdown the phone wirelessly through WiFi connection.

# Answer
> 0 votes
# Shutdown as a command requires root

The simple answer is you can't perform a shell command from within an app for shutdown an Android system unless your device is rooted.

For performing the shutdown command on Android special permissions are required. When triggering a shutdown via UI the command is internally forwarded to a component that has the permissions to shutdown the system.

But regular apps (and therefore this applies also to all processes like telnet or ssh started in the context of an app) don't have this permission and thus can't shutdown the system.

# Workaround: shutdown via adb over IP

Executing the command `shutdown -p` via adb should power off your phone.The problem is that adb by by default only available via USB connection (if you have enabled developer options and adb). The only workaround would be to connect your phone after booting to a PC and enable adb access via IP. This would be then allow a sort of telnet (via "adb connect IP" instead of telnet).

Warning: ADB over IP is really equivalent to telnet which means that it's data is transmitted totally unprotected in plain text on network level. Therefore you should use adb over IP only in safe networks.

See also this question: How can I shutdown my Android phone using an adb command?

---
Tags: remote-control, ssh
---


# Question
Title: BlueStacks 4 Hyper-V does not finish booting while Hyper-V is enabled
I am using Windows 10 20H2, 64-bit, with CPU virtualization enabled.

I have enabled Virtual Machine Platform because I use Windows Subsystem for Linux. But I had not enabled Hyper-V when I installed BlueStacks.

I installed BlueStacks 4.0 via this executable: BlueStacksInstaller\_4.260.0.1032\_native\_4176a437bc759281d8303dbcf40bdb72.exe,it automatically detects the settings of my computer and downloads the appropriate edition of BlueStacks.

After installation I started BlueStacks, and it starts fairly fast.

But I found the edition of BlueStacks I have installed is BlueStacks (Hyper-V), however I had not enabled it.

So I enabled Hyper-V in OptionalFeatures.exe, and restarted, and then I found out that it just won't finish starting up, it just stuck at displaying Starting BlueStacks Hyper-V, please wait.

The progress bar is very close to finish point, but it just refuses to go any further, like this:

Finally it said: Could not start the Engine.

I restarted the Engine multiple times and always succeeded in recreating the problem.

I then disabled Hyper-V and rebooted my computer, and I can use BlueStacks again.

However I also want to use Oracle VirtualBox, which requires Hyper-V.

So I uninstalled BlueStacks and downloaded the non-Hyper-V edition, tried to install it while Hyper-V is disabled, and it failed with error:

But Hyper-V is disabled:

```
PS C:\Windows\System32> Get-WindowsOptionalFeature -Online | where {$_.FeatureName -match "Hyper-V"}

FeatureName : Microsoft-Hyper-V-All
State       : Disabled

FeatureName : Microsoft-Hyper-V
State       : Disabled

FeatureName : Microsoft-Hyper-V-Tools-All
State       : Disabled

FeatureName : Microsoft-Hyper-V-Management-PowerShell
State       : Disabled

FeatureName : Microsoft-Hyper-V-Hypervisor
State       : Disabled

FeatureName : Microsoft-Hyper-V-Services
State       : Disabled

FeatureName : Microsoft-Hyper-V-Management-Clients
State       : Disabled

```

I have disabled Windows Defender and I am not using any anti-virus software, my computer has 12 GiB RAM and its CPU is Intel Core i5 4430 @ 3.00GHz;

How can I use BlueStacks with Hyper-V enabled?

# Answer
Yes, this is because I have enabled Virtual Machine Platform and it implicitly enables Hyper-V, because Hyper-V is a native hypervisor, as long as it is enabled Windows boots as a virtual machine and can only access the emulated CPU and can't access the physical CPU, the emulated CPU doesn't support VT-x, so as long as Hyper-V is enabled performance of hosted hypervisors will decrease.

And I found out that Windows Defender Device Guard is also enabled and it also implicitly enables Hyper-V.

So I used these commands in elevated cmd to truly disable Hyper-V:

```
bcdedit.exe /set hypervisorlaunchtype off
dism /online /disable-feature /featurename:VirtualMachinePlatform
reg add HKLM:\System\CurrentControlSet\Control\DeviceGuard /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 0
shutdown /r /t 0

```

After that I can't open BlueStacks (Hyper-V), so I uninstalled it and installed the version without Hyper-V, which is faster because of VT-x.
> 1 votes

---
Tags: bluestacks
---


# Question
Title: How to turn off Hindi Language prediction in Google Chrome mobile?
When I search something in google, I get a suggestion from google about its meaning and details in Hindi Language. I don't know whether it is based on some geo location or something. I neither know Hindi nor wanted to learn it.

Is there some ways in which I could turn this feature off? I don't know why google is suggesting something to me which I don't even know.

What I have already done:

1. Went to My Account
2. Under Language and input , selected English ( UK ) and My mother tongue ( Malayalam )
3. Saved the preference.

# Answer
Open google website. At the bottom you will see setting. Go to setting / search setting / region setting / change it to United States. Then you will not get Hindi version.
> 1 votes

# Answer
Is this issue you face on the browser's site? Or app? You could always change the language from bottom...guess you've already tried this but wth hope your issue gets resolved soon
> -1 votes

# Answer
1. Please open Google app
2. Tap to more button (right)
3. Tab to settings
4. Tab to search language
5. Select or change your search language

Exuzme, I speaking English is weak .
> -1 votes

---
Tags: languages
---


# Question
Title: When WiFi is connected, does Android use any mobile data?
If Android says it's connected to a WiFi network, does that mean it's not using any mobile data? Could it ever happen that somehow an apps insists on using mobile data despite having a WiFi connection? In other words, is the only way to guarantee not to be using mobile data is to disable it?

For context, I noticed Google Photos doesn't sync even though it is set to. If I disable "only sync over WiFi" then it works, even if I am connected to WiFi and have mobile data off. Is it necessary to turn off mobile data to make sure it's not used?

# Answer
> Could it ever happen that somehow an apps insists on using mobile data despite having a WiFi connection?

Yes, an app can do this. There is an API that allows an app to bind itself to a particular network, and it could deliberately select a cellular network. This might make sense for, for instance, an app for managing your cell carrier account (though a lot of those are explicitly exempted from counting toward data plans).

Most apps, however, will not do this: it would generally be quite user-hostile to use up a user's data plan when they're connected to an unmetered Wi-Fi network.
> 1 votes

---
Tags: wi-fi, mobile-data, android-11
---


# Question
Title: How do I improve audio quality when calling with 3rd party apps? (e.g. Messenger, Discord, Zoom, etc.)
When I use apps like Discord, Facebook Messenger, Zoom, and Google Meets to call people, it compresses the audio like it would in a normal phone call, even though using those same apps from the desktop give much better audio.

How do I go about making this audio sound better and not so compressed?

I'm using a Pixel 3 XL and am on AT&T (although most of the calls happen over Wi-Fi so I don't see how that matters).

# Answer
> -1 votes
Facebook messenger, Google Duo and other messaging app call use internet connection. Many internet service provider restrict bandwidth for such call. Using 5G network can improve your call quality.

You can use Lease line for internet connection. Such connection does not have any speed limit. You need Lease line on both side then you can get good call quality.

Also update your app to latest version.

---
Tags: audio, zooming, compression
---


# Question
Title: Does factory reset on one device affect the same accounts on another device?
I have an LG Rebel 4 and it's been having problems so I feel I should factory reset it, but I'm concerned that it may affect the accounts on my phone, also, which are the exact same as the tablet. I really don't want to lose them.

Does factory reset on one device affect the same accounts on another device?

# Answer
> 2 votes
A factory reset just deletes all your user data locally on your phone. Data stored in the cloud and synchronized to other devices linked via an account and are not affected.

Even if you don't trust these information you can make sure no remote account is affected:

Before performing the factory reset from within Android settings activate the Air-plane mode. Now there is no chance that any account can communicate with a cloud server to tell the server that you are resetting your device.

And after the factory reset all user data has been deleted therefore all information about accounts and other saved data is gone, hence after the factory reset when you re-establish connection to the Internet there is no information available what accounts were present before you performed the factory reset. SO the device can tell nobody that you performed a factory reset.

From the perspective of the cloud services/accounts your device simply went offline and did not came back online.

---
Tags: factory-reset
---


# Question
Title: Android 11 does not trust a theoretically properly imported private CA for WiFi EAP-TLS
This question is similar, but unrelated to this one answered two days ago.

I have been using WiFi EAP-TLS at home, for nearly a full year, with multiple desktop operating systems and Android 10 with zero problem. Android 11 is a different story, Google changed EAP requirements so CAs must be validated. I have always imported the CA and selected options to verify CA on all my devices, the trust chain is important to me. Unfortunately, it's not working on Android 11, the WiFi bugcheck logs say, "Certificate verification failed, error 19 (self signed certificate in certificate chain)," and points to the private CA. As far as I am aware, root trust Certificate Authorities, whether public or private, are always self-signed.

Herein lies the problem. CAs must be self-signed, yet Android 11 does not trust self-signed certificates. I have the CA supposedly imported properly into the "User" CA store, it is displayed there, and the per-device client certificate is imported into the WiFi store.

I've also asked this question in two places on Reddit, where a couple educational network admins also have the same CA problem, but no answers have been discovered yet. I'm hoping someone on this forum knows what's up. Any pointers will be much appreciated!

(I would have also added tags "eap-tls" and "certificate-authority" but I don't have enough reputation yet)

# Answer
This issue has been resolved with assistance from Reddit's /r/networking community. The thread states the RADIUS server certificate must be issued by a public CA. Client certificates can (and should) still be issued by private PKI. The new **Domain** field in the wifi config dialog must be the **CN** or **subjectAlternateName** of the server certificate, per WAP3 specification. I did not need to install the private CA into Android 11.
> 0 votes

# Answer
For anyone who doesn't want to trust a public CA for their network: we made this work by ensuring the dnsNme was set correctly on our certificates. We had our CN equal to a domain, and our SAN incorrectly had the DNS field of SAN equal to a string like "Our RADIUS Server". Changing this to a proper domain and setting the "domain" field in the settings made this work.

From the Android SDK docs (what a place to find an answer to this), if an SAN is present, it is *preferred* over a CN.

https://developer.android.com/reference/android/net/wifi/WifiEnterpriseConfig#setDomainSuffixMatch(java.lang.String)
> 1 votes

---
Tags: wi-fi, certificates, android-11
---


# Question
Title: Making multiple files or a folder available offline in Google Drive
Is there any way to make multiple files or a whole folder available offline in Google Drive at the same time? For the offline folder it would be nice if there was some way when a document is synced to it then the document would be downloaded automatically, is this possible?

I'm currently having to select each file individually and make it available offline which is tedious.

If there isn't the possibility of doing the above in the official Google Drive application are there any other clients available for Android that would allow this?

# Answer
> 17 votes
Select all files (automatically using the menu option), then slide the "make available offline" switch. It will keep all the selection on device.

You can select a folder but Google will refuse to "make available offline". Instead go into the folder and select any number of files for syncing, and the parent folder will of course also now be created.

Finally there is an option to automatically make recent files offline, but I don't know whether those files are then permanently made available, or only for a couple of weeks for example.

# Answer
> 10 votes
I just had the same problem. According to this feature request, the feature is indeed not implemented in the current version of the Google Drive Android App.

Apparently FolderSync does allow this (the free version works as well). You'll need to add Google Drive as a sync account, and then create a new "Folderpair", that allows you to pair a local folder to a remote folder from Google Drive. Each Folderpair is full of options on how and when to sync between the two folders (including in which direction this should happen, etc.). The UI is not super slick but it does the job.

# Answer
> 2 votes
As UncleZeiv rightly said, the Google Drive app does not support multiple file selection for sharing or other purposes, but there is a simple workaround. Open drive.google.com in your browser, and if prompted, open it in your browser, ***NOT*** in Drive app. If it opens in the drive app, then you need to clear this default in Settings (Android Settings, ***not*** your browser or drive settings)--\> Applications or something similar, and clear defaults for drive. At drive.google.com, you can select multiple files.

# Answer
> 2 votes
In the current version of the Google Drive app (Feb 2019), if you select several or all files within a folder, a bar appears at the bottom; the menu in this bar (at the bottom-right of the screen) contains the option for "Available offline" and it applies to all files selected. I think it even works for files selected from multiple folders.

# Answer
> 0 votes
Only because of this feature, I switched from Google Drive to Microsoft Onedrive which natively supports to make the folders offline across all the devices that includes Windows OS, MAC OS, Android, iOS & iPADOS. But please note that this option only available as Paid Service under monthly or yearly subscription.

# Answer
> 0 votes
The feature of syncing folders (to be accessible offline) is supported by mega cloud.

You'll have to install the syncing app:
https://play.google.com/store/apps/details?id=com.ttxapps.megasync

The cloud website: https://mega.nz/fm

---
Tags: sync, google-drive
---


title: Unable to add account on android 6.0.1

text:
# Question
Title: Unable to add account on android 6.0.1
I have an old android tablet - Asus/Google Nexus 7 (2013) - which I would like to use with Touch Portal. The tablet was factory reset several years ago and has, I believe, the latest release of Android (6.0.1) that was officially released for it.

I've tried a couple of times to get signed in to my Google account on the device. It prompts me for my username and password and then appears to hang - currently over 24 hours as I write this.

I have a feeling that this is caused by 2 factor authentication which I have enabled on my account - the default of which is a security key, specifically a Yubico Yubikey 5 NFC.

I once saw a message about using a security key so I have attempted to use it via USB and NFC. When I tried this last time via NFC, I saw a new login in my Google Account at the same time but the screen still hangs.

I'm not prepared yet to disable 2 factor authentication (albeit temporarily) quite yet but may consider it if there really are no other options.

**UPDATE** Here's the confirmation that my Yubikey was used during the attempt to login despite nothing showing on screen prompting such action and nothing happening afterwards.

# Answer
> 3 votes
Thanks to @Robert who pointed me in the right direction.

Unfortunately Google Play services didn't update itself automatically even though it had been on for a couple of days. So... I resorted to downloading a recent version from apkmirror, found the right version for the 2013 Asus Nexus 7 (armeabi-v7a, Android 6.0+, nodpi).

It took a minute or so to install but it was successful, after which I attempted to login again. This time, after entering my password, I was prompted to choose how I wanted to use my security key to login. Chose NFC, and I'm in.

---
Tags: 6.0-marshmallow, google-account
---


# Question
Title: How to intercept Chrome links with Advanced Download Manager (ADM)?
I have installed Advanced Download Manager (ADM), but when I try downloading a file from Chrome, it downloads the file with its Chrome download manager.

How to set-up ADM to intercept the download link on Chrome?

# Answer
In addition to the recommendations made in other answer, do note a few things:

* ADM can intercept downloads from within its own browser, not from other apps, except from those which are looking for a browser/downloader app.
* Apps which depend on Android's activity resolver (to show chooser dialog or *"Complete action using"* by sending an implicit intent) can forward downloadable links to ADM (and other apps which register preferred activities as downloaders).

Apps can also query available activities for a certain intent (action, path and/or mime) type and then send explicit intent to an app chosen by user. E.g. Firefox looks for system's preferred activities for a given URL and mime type and maintains its own download preferences for all mime types.

ADM - in its `AndroidManifest.xml` file - registers itself for `android.intent.action.VIEW`, category `DEFAULT`/`BROWSABLE`, scheme `http`/`https`, all mime types and a long list of file extensions. So do other apps like MiXplorer and Firefox itself. Therefore they appears as eligible candidates when (an app through) OS looks for a downloader/browser.
* Xposed module "Download Redirection" can intercept all downloads which are forwarded by apps to Android's Download Manager (`com.android.providers.downloads`).
* But for apps which use their internal downloader, links need to be shared to ADM or copied to clipboard so that ADM can intercept them.

---

**RELATED:**
> 3 votes

# Answer
Normally ADM should be able to intercept downloads automatically provided its service is running in the background.

* You can check if the setting is active here: ADM Settings → Automation → Autostart service (**tick box**).
* Secondly make sure it is activated for both mobile and wi-fi networks ADM Settings → Automation → Only via wi-fi (**untick**)
* Also here, you need to fine tune the settings for download interception such as enabling the option when battery is low, and excluded the app from battery optimisation.
> 2 votes

# Answer
Share download links to ADM and it will start download in ADM. You can do so by long pressing on download button and selecting share link option.
> 2 votes

---
Tags: chrome-for-android, download-manager
---


# Question
Title: Updater process ended with ERROR: 1 [TWRP]
I was using Pixel experience 10.0 on Redmi 5A (Riva) and I decided to clean install Pixel experience 11.0 today. But I'm getting the following error on TWRP.

```
Installing zip file '/sdcard/Pixel Experience Riva 11.0.zip'
Checking for Digest file...
assert failed: riva.verify_trustzone("TZ.BF.4.0.5-157266") == "1"
Updater process ended with ERROR: 1
Error installing zip file '/sdcard/Pixel Experience Riva 11.0.zip'
Updating partition details...
...done

```

**Note that:**

* I formatted the device with TWRP and wiped System, Dalvik, Data, Cache partitions.
* I was using Pixel Experience before and my Bootloader is unlocked.
* Previous version of the ROM (Pixel experience 10.0) is installing successfully.
* My TWRP version is 3.4.0-0, and latest version of TWRP (3.5.0\_9-0) doesn't support on the device.

# Answer
I fixed this by installing this zip. Then I installed the ROM.

Official guide link

Thanks @alecxs
> 1 votes

---
Tags: custom-roms, twrp, redmi
---


# Question
Title: Why is Android rooting not as fragmented as iOS jailbreaking?
For Android rooting these days, it appears that Magisk is dominant, though there are some alternatives mostly for older versions of Android, e.g., CF-Auto-Root.

However, in iOS, there appear to be more options, e.g., checkra1n, unc0ver, and Chimera for iOS 12 and up (with specific exclusions), and a number of other jailbreaks for older versions of iOS.

Am wondering why this is the case? It seems that Android rooting is more narrowly focused on providing admin privileges, whereas iOS jailbreaks also bypass locked bootloader (Android phones typically just allow users to unlock the bootloader), and sideload apps, besides the admin privileges. So, one might expect there to be more alternatives for Android?

Or is it because Magisk is so good, that there is less need for alternatives?

# Answer
> 19 votes
Magisk is not comparable to an iOS jailbreak, because Magisk simply relies on an existing possibility to access a device on root level so that it can access and modify the flash memory directly (e.g. on an bootloader unlocked device via custom recovery ROM or an existing su/root access).

Instead iOS jailbreaks first have to execute complicated exploit chain just to get root access. Furthermore current jailbreaks are non-persistent, which means the bootloader and the kernel can't be permanently changed. Therefore an iOS jailbreak requires way more effort for reaching a same "state" at run-time that Magisk provides on Android.

This means in the end the jailbreaks have to be adapted to the iOS version and every jailbreak also has some disadvantages depending on the way the device is exploited.

Such problems are unknown to Magisk and therefore Magisk is way simpler to install.

---
Tags: rooting, magisk
---


# Question
Title: Installing google play services from APKmirror by command line
APKmirror provides many modern apps as split apk tar files. For example, if I want to install the android webview apk, I can download it from here, and un-tar the `.apkm` file to produce the following split apk:

```
├── APKM_installer.url
├── META-INF
├── base.apk
├── icon.png
├── info.json
├── split_config.en.apk
├── split_config.es.apk
├── split_config.fi.apk
├── split_config.fr.apk
├── split_config.iw.apk
├── split_config.ja.apk
├── split_config.pt.apk
├── split_config.ru.apk
├── split_config.sv.apk
├── split_config.th.apk
└── split_config.zh.apk

```

This split apk can be installed with:

```
adb install-multiple -r -g -t <directory>/*.apk

```

However, for APKmirror's google play services found here, when I untar I get this:

```
├── AndroidManifest.xml
├── META-INF
├── assets
├── build-data.properties
├── classes.dex
├── classes2.dex
├── classes3.dex
├── classes4.dex
├── classes5.dex
├── classes6.dex
├── classes7.dex
├── com
├── googledata
├── lib
├── org
├── res
├── resources.arsc
└── stamp-cert-sha256

```

This looks more like an `.aab` file, however it is missing the required `BundleConfig.pb` file.

What type of app format it this, and how can I turn it into a split apk that can be installed easily?

# Answer
The answer is:

1. This is apk app format
2. I can install by just renaming the download from `.apkm` to `.apk`.

Thanks to Robert for pointing this out!
> 0 votes

---
Tags: apk, google-play-services
---


# Question
Title: Gmail: How do I mute ALL coming mail *except* mail from certain senders?
I have a gmail account and I am getting too many inbox notifications. It wouldn't work to create a blacklist, because they come from many places. I would like to whitelist 3 or 4 senders and only receive notifications from them. Thank you.

# Answer
> 2 votes
You might try:

1. whitelist a couple of email-addresses and mark them as *important*.
2. On the general tab of gmail settings choose: Important mail notifications on.

Hope this solves your issue.

---
Tags: notifications, gmail, mute
---


title: Network unlock code not working

text:
# Question
Title: Network unlock code not working
I have bought a used Motorola Defy (MB525), rooted, running CyanogenMod 9 (ICS 4.0.4).

It is locked to work with only a specific carrier. I bought an unlock code, and unaware to this the previous owner got an unlock code from the carrier. Both are the same, so I suppose the code is correct.

When I insert a GSM SIM card from another carrier and turn on the phone, I get a message that roughly translates to "insert SIM network unlock PIN" (see image below).

When I insert the unlock code, it blinks a message VERY fast, I can't even read it, then it says "failed on requesting network unlock", or something like that.

I have performed this more than 3 times, does it mean my phone is locked forever?

I have also been told to remove CM9 and reinstall the stock ROM in order for the unlock to work, but (1) I have no idea if this would *actually* help, and (2) I have never changed a ROM before and, althouh I used CM9 to create a nandroid backup, I have no idea how to reinstall CM9 and then restore the backup.

# Answer
> 3 votes
I have followed this guide and my phone is now unlocked.

I wouldn't recommend it for a beginner user, because it involves pretty advanced commands and procedures, and uses ROMs and tools from untrusted sources. **Proceed at your own risk!**

The performed steps were basically:

* Create a complete nandroid backup on the SD card.
* Google for a stock ROM for the specific phone model I owned, and the specific carrier that it is locked to. I found one on a random forum. This is not recommended for obvious security reasons, but I was desperate. If your carrier provides an official stock ROM, I definitely recommend you prefer using it.
* Googled for the ADB drivers for my phone model. In this case, the Motorola drivers worked fine.
* Connected the phone to my computer and flashed the stock ROM. In my case, this actually downgraded my phone from android 4.0.4 to 2.3.3 *and* unrooted it.
* Performed the unlock procedure using the unlock code I had.
* Rooted my phone again, and installed a new recovery menu
* Applied the nandroid backup from the recovery menu.

## Result:

Phone is back as it was before, but unlocked.

# Answer
> 2 votes
There's a SIM Lock and Network lock - both distinctively different!

* SIM Lock is to prevent phone from starting up unless a user's PIN is entered.
* Network Lock is what it is, tied to the carrier and requires the unlock code which can be bought for a fee.

By the sound of it, a confusion arose, when it asked for the SIM's PIN code that requires to be entered - which is **NOT** the Network Lock code! It is selected and decided by the user.

In short, SIM Lock has a maximum count of three times to enter the PIN code and if unsuccessful and the maximum retry count has reached, the PUK (Personal Unblocking Code) code needs to be entered!

The PUK code can be found on the original SIM Card plastic accompaniment as obtained by the original carrier. If this cannot be found, the only way is to take it back to the place of origin, where the SIM card was bought and explain to the Sales rep about it and may be charged!

(*Now, they could easily be suspicious as in "handling a stolen handset"... get the original proof of purchase from the owner, documentation etc to back yourself up just-in-case!*)

# **Edit**

Ok, after clarifying with the OP, who kindly showed the screenshot in their edited question, the message is slightly ambiguous which lead to my not being 100% sure if that message when fed into Google' Translator is saying "PIN unlock the SIM network." Do not know if that is saying SIM unlock PIN or network lock hence the ambiguity.

But further investigation lead to this thread, specifically post #3 which does back-up the OP's statement, despite the thread discussing about Samsung, I would guess the same thing may apply to the Motorola handset:

> I have also been told to remove CM9 and reinstall the stock ROM in order for the unlock to work, but (1) I have no idea if this would actually help, and (2) I have never changed a ROM before and, althouh I used CM9 to create a nandroid backup, I have no idea how to reinstall CM9 and then restore the backup.

That makes perfect sense, as the stock ROM would know how to handle the mechanism as its built into it specifically for the handset, so yes, a revert to the Stock ROM would be required which would obviously mean another OP's question to be posted separately or by per-chance, a quick google-fu to yield on how to revert back to original.

# Answer
> 0 votes
If you enter wrong unlock code many times. Your mobile is hard locked. You are allowed to enter 5 times.

You need Defreeze code and then use network unlock code. Only unlock code will not work.

# Answer
> -1 votes
Obviously you have network locked phone and correct unlock code. The problem is somebody typed wrong code too many times and therefor the phone won't accept the unlock code.

The solution is to hard reset the phone - search google for hard reset instructions. Once the hard reset is done the phone will accept your unlock code!

Best Regards,

gsmwong

---
Tags: cyanogenmod, sim-unlocking, motorola-defy
---


# Question
Title: Syncthing does not work with AFwall+ activated
Syncthing does not get any connection as long as AFwall+ is activated. It should work in my WLAN at home. Mobile data is disabled because I don't need it. I am using LineageOS on my mobile phone.

Here are my settings of AFwall+ (I only allow wireless communication for Syncthing)

# Answer
The solution was to disable wireless (WLAN) in AFwall+ and activate LAN.
This does not make sense for me, but it works...
It still works if I activate wireless as well, but it is not necessary.

Even if I disable wireless access within AFwall+ I still need to be connected to a WLAN within Android (what makes at least some sense).
> 2 votes

---
Tags: sync, connection-issues, lineageos, firewall
---


# Question
Title: How to go to a specific time of a video clip quickly in YouTube app?
Since the YouTube app has nowhere to input the URL, I cannot jump to a specific time to view it.

Dragging the player caret is very hard to make an accurate jump especially for a long clip

How to do that easily?

# Answer
YouTube now has updated their player and to jump to small area, there is now a popup slider for us to pick the point.
> 5 votes

# Answer
If you type/paste the URL with the time behind `#t=` into your browser on Android (I use Chrome, but others would presumably work the same way) you should get a popup asking you if you want to open the link in YouTube. This will open the video in the YouTube app and jump straight to the time defined.

Matt Cutts explains how to do this with the YouTube URL on his blog. Try copy/pasting `http://www.youtube.com/watch?v=PjDw3azfZWI#t=31m08s` into your browser as an example.
> 5 votes

# Answer
Well, you can't do that in the YouTube app. I tried some third party apps as well and nothing came up. In addition, the YouTube app's website also tells you to *...slide the scrubber below the video to jump to a different part of the video...*

So I guess the only option for you is to use your browser to view videos.

Hope this helps.
> 4 votes

# Answer
Get the URL by e.g. sharing the video and copy the link, then just add `?t=` plus whatever time at end of the copied hyperlink followed with an `s` once you share, i.e. for `https://youtu.be/FswuhgCyMH4`, starting at 40 seconds would be `https://youtu.be/FswuhgCyMH4?t=40s`.

For adding minutes, add the number followed with an `m` plus the number of seconds followed with an `s`, e.g. `https://youtu.be/FswuhgCyMH4?t=1m30s`.
> 3 votes

# Answer
On audio clips, I start a comment, then enter the desired timestamp(s) and go directly there. (e.g. `1:23`, `02:05`, `1:01:01`, etc.).

Not sure if you have to post, but you can always retract it (or explain yourself!).
> 1 votes

---
Tags: youtube
---


# Question
Title: Where is the location of Google Drive folder in Android phone?
I'm looking for the location of the Google Drive folder in an Android phone, Realme V3 5G.

I expect the location to be something like `\android\data\com.google.android.apps.books`.

Where is it?

# Answer
It's in the hidden partition `/data` which you cannot access without root permissions.

Here's the path: `/data/data/com.google.android.apps.docs/files`.
> 4 votes

---
Tags: files, google-drive
---


title: Low CPU use, but HIGH battery use! How?

text:
# Question
Title: Low CPU use, but HIGH battery use! How?
This file sync app is active for 8 seconds, keeps awake for zero seconds, and yet uses 25-30% of power in a given day.

**What could an app be doing to drain battery, *without* showing up as CPU use time?**

To be clear, I'm not looking for solutions to *this specific* problem (talking to the dev for that): I'm looking for info on what apps can do that isn't logged in battery usage. Something is clearly happening, but what?

(Phone is Poco F1, latest updates on everything)

# Answer
Also disk operations get battery power. For example, writing a block into the flash memory works first by burning it, and then a write operation.

Also the communication with your Wifi router or base station can take a lot of energy.

Mobile CPUs in phones are well optimized for low power consumption, but the case is not always so for other parts.

On an ext2-3-4 filesystem, also file read operations transfer into a write by default, because the last access time (last read event) meta-data in the filesystem has to be updated. A sane android would disable it (`noatime` flag in the mount options) but not always do.

Current Androids can say, which app used how much battery, although it probably counts only the CPU usage. My primary battery-killers are my browsers, particularly some webpages (linkedin is the worst....).
> 3 votes

---
Tags: applications, battery, cpu
---


# Question
Title: Android: how to find application locking xtables?
I have Pixel Experience (Android 10) installed on my Redmi K20. + Magisk 21.4. In terminal I enter command `iptables -t mangle -L -n | grep TTL` which throws `Another app is currently holding the xtables lock. Perhaps you want to use the -w option?`. How to find the this application? Or how to drop xtables lock?

# Answer
> 2 votes
`/system/bin/iptables` binary holds an advisory lock on `/system/etc/xtables.lock` file (which is usually `/run/xtables.lock` on normal Linux distros).

It's the native `netd` service which performs operations with NetFilter but on a rooted device normal apps (e.g. AFWall+) may also execute the binary to add or remove firewall rules.

Use the `lslocks` command to list all the system locks currently held and the applications holding them. Or read the `/proc/locks` file directly.

You should not try to drop a lock, instead (using `iptables [-w|--wait]` option) wait for the ongoing execution to end.

---
Tags: iptables
---


title: Moto G 2 (2014) Not Charging!

text:
# Question
Title: Moto G 2 (2014) Not Charging!
My phone is a Moto G (2014) XT1068. It has recently stopped charging for some reason. This morning it was charging and tonight, it decided that it would be a prick and not charge. Anyhow I tried cleaning the connector, using various cables/plugs, wiping the cache partition, booting it up in recovery mode and nothing has worked. Could someone give me any more suggestions. I can't go to the phone repair shop at the moment and my warranty has expired :( as I am in boarding school and cannot leave for another 2 and a half weeks. Does anyone know any suggestions on what to do??? Thanks in advance.

# Answer
I have found myself in the position that *all* my micro-usb cables had gotten worn out, and even after having tested several, I had to buy a new cable to charge my device. Those connectors just aren't that robust. Can you find anyone who has a shiny new USB cable that you could try for a minute, just to see if that solves the problem?
> 1 votes

# Answer
You can try other battery and charge. Also check 3 point connector of battery on PCB.
> 0 votes

---
Tags: battery, charging
---


# Question
Title: How to find out if an android device is using TEE?
I am new to Trusty TEE OS. Is there any way to find out if an Android Device uses such an OS without rooting the device ?

AFAIK there, DRM (Digital Rights Management) is the most widely used application of Trusty OS. Some examples for DRM frameworks are Widevine/PlayReady/ClearKey.

Does it mean that if any of these frameworks are present in the Android device, it is safe to assume that there is an underlying Trusty TEE OS in use ?

Thanks

# Answer
If it is an android 8+ device, TEE is a mandatory requirement for OEMs to obtain Google Mobile Services (GMS) licensing for devices that have Google apps pre-installed.

In Settings \> Security \> Advanced \> Encryption & credentials \> (CREDENTIAL STORAGE) Storage type \> **Hardware-backed**

If it says hardware backed then TEE is present.

Programmatically, you can use `isInsideSecureHardware()` which returns true if the key resides inside TEE or SE.

If you want to explicitly verify if it's SE, use `setIsStrongBoxBacked` on the `keyGenParameterSpecBuilder`, key generation will fail with a `StrongBoxUnavailableException` if StrongBox is not supported.

Qualcomm Snapdragon and Samsung Exynos SoCs contain integrated TEE and they throw StrongBox unavailable exception but returns true for isInsideSecureHardware. Google's Titan M chip and Samsung Knox chip are discrete TEEs (called strongbox) that contains SE inside.
> 3 votes

---
Tags: drm, tee
---


title: How do I backup Titanium Backup?

text:
# Question
Title: How do I backup Titanium Backup?
I want to install Titanium Backup on a new phone and would like to carry over the settings from my old phone, which include current backup schedules. How can I go about this in order to avoid having to recreate them manually?

I've checked the current backups and it looks like TB does not do backups of itself. I also have "My Backup Pro" installed, but it doesn't list TB as a selectable item for backup.

# Answer
Go to the Titanium Backup settings page and enable (it it isn't already enabled) the `Auto Sync TB Settings` option. Then you should be able restore the file created on your SD Card to your new phone.
> 9 votes

# Answer
You can also use Helium to backup the full app. You can choose to backup to Google Drive or to your storage. If storage is chosen, it will backup the app to Carbon folder. Remember to uncheck "Smaller app backup" to backup the full app. You can then copy the backup from the folder to your new phone and restore it.
> 1 votes

# Answer
I used the open source OAndBackupX and it worked fine :)
> 0 votes

---
Tags: titanium-backup
---


# Question
Title: How can I permanently assign a static IP address to Wi-Fi clients? (Lineage OS 17.1 Android 10)
My phone Moto X 4 has LineageOS 17.1 installed and is rooted with magisk. I use the phone's hot spot as main mean to connect to the internet.

In this scenario the android device acts as DHCP server, therefore distributing random IP addresses in the 192.168.43.0/24 sub range. I would like to assign static IP addresses to my devices, then i can connect to them trough SSH easily. The clementine android remote also requires my laptop to be available on a fixed IP.

I do not like to carry a travel router for this basic network ability.

On android 9 this was possible by setting up the dnsmasq.conf file, setting the file permissions and configuring SELinux rules.

This workaround helped me to set it up.

> Android uses dnsmasq as its DHCP/DNS server (up to Pie). So create the configuration file /etc/dnsmasq.conf with option dhcp-host=\<MAC\>,\<IP\>.

# Answer
> 1 votes
DHCP is Dynamic Hosting Control Protocol. It give you dynamic IP address. Static IP address you need to lease. DHCP server give ip address to host, it is not static.

You can assign IP address. Go to setting / connection / select network / manage network setting / Advance option. Here you can give static IP address.

After Question Update.

Go to Wi-Fi / setting / Advance networking / DHCP IP reservation / Here add static IP address and also select device for static IP address.

Network admin use static IP address for shared device like ZEROX machine printer.

# Answer
> 1 votes
As a workaround, you can likely convince each individual device to request the same IP address, or set them statically. I understand this may be a PITA if you havemany devices, though.

That said, setting a LONG lease time may also help mitigate issues, as devices wait until half way through their lease before they re-request a lease. They also default for asking for the previously used IP address, first, the next time they reconnect... it's up to the DHCP server to confirm that request, however.

---
Tags: networking, lineageos, android-10, wifi-tethering, dhcp
---


# Question
Title: How to find out which app is trying to open spam websites?
I've recently bought a new Android smartphone. After setting it up and loading my contacts onto it I thought that would be it.

Now after some days, every time I unlock the phone it takes a few seconds before it opens the default browser and opens some spam website. I tried to see what was causing it. I removed any apps I didn't know I could trust, but the problem persisted. After trying to solve it for some time I gave up and reset the phone to factory default. Now after having it reset to the default it ran without issues for roughly a week before the problem reappeared.

I tried to uninstall some apps in order to see if they were to cause of it, but nothing changed after doing so. However I did notice that if I turn off the wifi it won't even try to open the browser (I haven't tried mobile data since I don't have a bundle). This makes me feel like it might be related to something on the network but that wouldn't explain why only that phone would have the issue when there are at least 6 android phones on that very same network.

I hope that there is someone who can help me find the cause of this issue and help me solve it.

TL;DR When unlocking my phone, it opens the browser and tries to open a spam website. But only does so while connected to the wifi.

Things I've tried so far:

* Factory reset (only helped for a limited time)
* Clearing the browser cache and all related data
* Removing any app I don't know to be reliable
* Attempting to find what triggers it (seems like some type of internet connection is required??)

The device is the Doogee Shoot 1. As for the browser, the default is set to be the Android browser, but if I change the default it would use Chrome just as well. It seems to really just use the browser that is set to default.

# Answer
Based on the troubleshooting OP did following my advices, the culprit appeared to be a system app as a malware named *System Locker* with package name *com.tihomobi.lockframe.syslocker*. The issue appears to be a result of a system update, per some users of the device.

As usual with a system app, if you get to use the **Disable** option under **Settings → Apps → System apps/All apps** → the culprit, than by all means, do disable that app, force-stop it or reboot the Android. The issue should stand resolved until you factory reset the device.

---

# Troubleshooting #0

Before you begin with a bit technical steps mentioned below, you would want to try a rather *user friendly solution* suggested here. It that doesn't work for you, than come back and follow the rest of my answer.

---

# Troubleshooting #1

Here's how I found out the culprit. The in-built Android tool *dumpsys* inter alia shows which app was called by which other app. The caller is referred to as Calling Package.

Provided that you have setup and successfully in the PC and Android device, do the following:

1. keep the device connected to PC
2. reboot the device or force-stop that default browser app
3. let the malware do its job, that is, have the browser be launched automatically
4. as soon as the browser is launched, do nothing with the device physically, but run the following adb command on PC:

```
 adb shell dumpsys activity activities

```

Here's the output from OP's device:

```
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #1:
    Task id #2
    * TaskRecord{8190ba1 #2 A=**android.task.browser** U=0 sz=1}
      userId=0 effectiveUid=u0a64 mCallingUid=u0a26 *mCallingPackage*=**com.tihomobi.lockframe.syslocker**
      affinity=android.task.browser
      intent={act=android.intent.action.VIEW dat=http://im.apostback.com/click.php?c=362&key=9wl83884sg67y1acw3z56z90&s4=8%2FdNwcNuQFEjjaucho5IqA%3D%3D flg=0x10000000 pkg=com.android.browser cmp=com.android.browser/.BrowserActivity}
      realActivity=com.android.browser/.BrowserActivity
...
...
Hist #0: ActivityRecord{66cd59b u0 com.android.browser/.BrowserActivity t2}
          *packageName*=**com.android.browser** processName=com.android.browser
          launchedFromUid=10026 *launchedFromPackage*=**com.tihomobi.lockframe.syslocker** userId=0
          app=ProcessRecord{5ad1810 4337:com.android.browser/u0a64}
          Intent { act=android.intent.action.VIEW dat=**http://im.apostback.com/click.php?c=362&key=9wl83884sg67y1acw3z56z90&s4=8%2FdNwcNuQFEjjaucho5IqA%3D%3D** flg=0x10000000 pkg=com.android.browser cmp=com.android.browser/.BrowserActivity }

```

In the output: :

* *com.android.browser* is the package name of stock Android browser in your device
* *com.tihomobi.lockframe.syslocker* is the package name of the malware app and is referred as calling package.

If you've found the malware, avoid next troubleshooting and skip to the heading **Nuke the malware**.

---

# Troubleshooting #2

<sub>(In response to a duplicate posted here -- the culprit app was Farming Simulator 18)</sub>

In certain circumstances, aforesaid troubleshooting may not be able to help, such as when calling package name is the package name of the browser itself shown in dumpsys output. In that case, prefer . Setup logcat like this:

```
adb logcat -v long,descriptive | grep "dat=http"   # you can grep anything from URL too. It is purely up to you.
adb logcat -v long,descriptive > logcat.txt        # alternative; if grep is not installed in your OS. You need to search into that file now.

```

Now unlock the device and let the browser with that URL be launched automatically. Also, press `Ctrl` with `C` if you are saving the output into a file.

The output we're seeking would look akin to:

```
[ 11-27 16:03:22.592  3499: 6536 I/ActivityManager ]
START u0 {act=android.intent.action.VIEW dat=https://livemobilesearch.com/... flg=0x10000000 pkg=org.mozilla.firefox cmp=org.mozilla.firefox/.App}

from **uid 10021**
...

[ 11-27 16:03:22.647  3499:15238 I/ActivityManager ]
START u0 {act=android.intent.action.VIEW dat=https://livemobilesearch.com/... pkg=org.mozilla.firefox cmp=org.mozilla.firefox/org.mozilla.gecko.BrowserApp}

from **uid 10331**

```

See the two highlighted UIDs 10021 and 10331. One of them (they would be different in you case) is for the browser app launched, and one of them is malware app requesting that URL. So, how to find what is what?

**If you've root access**, simply do:

```
adb shell su -c 'ls -l /data/data/ | grep u0_a**21**'
adb shell su -c 'ls -l /data/data/ | grep u0_a**331**'

```

Output would be like:

```
drwx------  5 u0_a21    u0_a21    4096 2018-01-01 10:31 **com.android.chrome**
drwx------  5 u0_a331    u0_a331    4096 2018-01-01 10:31 **com.tihomobi.lockframe.syslocker**

```

**If you don't have root access**, do:

```
adb shell dumpsys package > packages_dump.txt

```

Now search for the line with your UIDs such as "userId=10021" and "userId=10331". The line above the line searched would give you the package name, and may look something like this:

```
Package [**com.android.chrome**] (172ca1a):
    userId=10021
...
Package [**com.tihomobi.lockframe.syslocker**] (172ca1a):
    userId=10331

```

The two package names are com.android.chrome (for Chrome browser -- certainly not a malware) and *com.tihomobi.lockframe.syslocker*. To know the app's name from package name, use my answer here.

---

# Nuke the malware

Now that you know the culprit, you can disable it through GUI as stated above. If that is not possible, do:

```
adb shell pm disable-user PKG_NAME  # disables the app
adb shell pm uninstall --user 0 PKG_NAME # removes the app for primary user
adb shell am force-stop PKG_NAME # only force-stops the app

```

Replace *PKG\_NAME* with package name of the malware you noted in the troubleshooting above.

That should do the trick. Furthermore, you can also consider removing the malware app permanently for all users, but that requires root access though.
> 29 votes

# Answer
Inspired by the Firelord answer I investigated logcat in very simple way and found the quilty immediatelly - it was Barcode Scanner by the The space team. The steps:

1. Connected my Galaxy Note 8 to PC, open CMD and took the logcat with basic command from withn CMD prompt:

> C:\Users\igorn\> adb logcat \> note8.1.log

2. As soon as the new tab with spam page was opened, I stopped the logcat capturing immediately by Ctrl-C and searched the log for "chrome":

> grep -i chrome note8.1.log

Last ten of found lines revealed the suspicious:

02-03 09:43:14.443 3931 4232 D GameManagerService: handleForegroundChange(). pkgName: **com.qrcodescanner.barcodescanner**, clsName: **kotovich.kotovich.kotovich.kotovich**.ScannerChromeActivity,FgActivityName:com.qrcodescanner.barcodescanner/kotovich.kotovich.kotovich.kotovich.ScannerChromeActivity,userID:0

3. Than I went to application list in device settings and saw the Barcode Scanner. Checked it on GoolePlay and found a plenty of 1-star reviews for exactly same malware behavior! As well I noted that this application got last update two days ago, that match perfectly the timing - the problem started to appear exactly two days ago! Bingo!
4. Uninstalled it and the problem gone! Happy end :)

For infomation only: neither of other approaches like installing BitDefender, MalwareBytes, etc worked for me, so I was simply happy to sort it out! So thank you, **Firelord**!
> 4 votes

# Answer
So I was having this same issue and I kinda stumbled on a simple way to fix it.

First thing I did is I reset all the browser defaults so if ANY application wanted to open a browser it needed to ask me permission and then I can select which browser I wanted it to use.

Second I installed a browser I have never used... went into its settings and reset all its defaulted programs too so it couldnt just piggy back onto the new browser.

Then when it prompted me to select what browser that I wanted it to use I told it the new one I installed and told it to use that as default so it would put it in the browser.

I then went into the browser and found the only app that is set to use it as a default. It also showed me the last time it was used by that program and that time matched the time I told the spam thing to use the new browser as default.

In my case it turned out to be my QR code reader... I did notice its icon had changed a couple months ago. So it was either bought by a company that changed how it worked or the company was hacked and so it traveled down.

And as far as the browser goes I used the Samsung browser but I am sure the reset of them will have that last used part to make it easier for you to track down.

Hope this helps. :-)
> 4 votes

# Answer
Slightly more information needed to solve the issue, although I will attempt to find the possible problems. Which browser? What phone model? Was it purchased from official sources?

In theory factory reset should have helped you with the issue. Since it didn't, there are a couple more places where you can get some form of adware. First of all, you said uninstalling some apps? Which apps in particular? Did it appear after installing a particular piece of software?

Is it your wifi or are you using a public one? If its public one, usually companies send app install and advertisements requests through wifi relatively often. If you live in/near a busy area, wouldn't be surprised if that would be just someone using to advertise their product. Try using different wifi or someone else's wifi, see if the problem persists. If it doesn't. It is an issue with the network you are using, which means you are most likely going to need to change. You could try contacting your provider to help you with that (Had an issue like that before, my ISP providers helped me after contacting support). Also, see if the mobile network shows the same problem. If it doesn't, then your option would be to change the network you are currently using.
> 0 votes

---
Tags: malware, spam
---


# Question
Title: Block access to Google Play Store app from Wi-Fi router
I was wondering how can I block the Play Store Android app from the router itself?

My router has a function to block a web address or an IP address.

So does anyone know what website/IP address should I block to make the Play Store app not able to connect?

# Answer
play.google.com should block all access to the play store. Be aware that won't prevent the phone from installing apps from other sources.
> 0 votes

---
Tags: google-play-store, router
---


title: Lg volt freezing on home screen

text:
# Question
Title: Lg volt freezing on home screen
Recently my LG Volt has started to freeze on my home page when I turn my phone back on. Will not open when I swipe or tap. I have to do a power off-restart in order to get it to work, and sometimes I have to do this several times before the swipe function will respond. I've tried removing the battery but even this only helps for a short time. Any suggestions on a fix or has anyone else experienced this?

# Answer
> 1 votes
Since you confirmed it's the launcher, this isn't too bad of a fix.

Open settings, go to apps, then swipe to all. Scroll until you find an app called Laucher. This is actually your home screen. ***WARNING! This will erase your home screen. Take screenshots if you want to put it back to the way it was!*** Clear the cache and data of the app. Restart your phone. If this fixes it, congrats! Otherwise, you can try downloading a new launcher from the Google Play Store or factory reset the device.

# Answer
> 1 votes
My suggestion? **Flash a custom ROM.**

I have an enemity with stock ROMs I've not managed to attribute to a definite cause myself; but I can surely tell you this much: I'm using **Lineage OS** and I love it.

I wouldn't know if the hardware limitations of your device will create a problem with third party ROMs. But **Lineage OS is the lightest of operating systems as shown by benchmarks**. It has a great community, vast technical support and dependibility.

So go for a custom ROM and flash it at the earliest if you can. Quit having to put up with buggy firmware.

---
Tags: system-freeze, lg-volt
---


# Question
Title: Android Chrome browser is making a duplicate of every photo downloaded to my external SD card
Every time I download a photo (.jpg or .png file) with the Chrome browser (stable version) to my external SD card, it gets duplicated and stored also in "/storage/emulated/0/Pictures" folder (internal storage). The duplicate has always somewhat a smaller file size. How can I disable this and why is this happening ?

This doesn't happen when I download a photo with Opera Mini or MS Edge browser to my SD card for example. **It only happens to pictures downloaded with Google Chrome when the download location is set to "SD card".**

My SD card is formated as portable storage on my HTC 10 (Android Oreo).

# Answer
This answer I found on google.support and I Copied and pasted, I'm not sure if that's okay? Or not I'm sure I will find out momentarily .

We are aware of this issue and are working on a fix for this. To resolve this immediately, you'll need to reset the permission for the Google Photos App by following the steps below. Once these steps are complete, the duplicates should disappear after a few minutes.

1. Long press the Photos App icon
2. Tap the "i" button on the top right corner to go into App info
3. Tap "Permissions"
4. Tap "Storage" under Allowed
5. Tap "Deny" and tap "Deny anyway"
6. Re-open the Photos app
7. Tap "Allow" when prompted with "Allow Photos to access photos, media, and files on your device?" Hope that helps.... :)
> 0 votes

# Answer
Probably happening because your **gallery is storing thumbnails of the pictures downloaded.** This is what is called cache.

To confirm, you can just see the location of one of these files. They should be in a `.thumbnails` or `thumbnails` folder, I'm not so sure.

In the OS I use (Lineage OS 17.1, lovin' it!), the thumbnails folder is marked by `.thumbnails` in device storage `emulated/0`. So photo and gallery apps don't index files from that folder, knowing that it's **hidden** as per the Linux convention of naming files and directories - the `.` before the `thumbnails` hides the directory.
> 0 votes

---
Tags: external-sd, chrome-for-android, gallery, bugs, htc-10
---


# Question
Title: Remotely disable Factory Reset Protection (FRP) for a damaged phone
I have a brand new Samsung J6, worked without problems for a few days and suddenly got stuck on the Samsung logo when powering on. Managed to enter the recovery menu and delete the cache partition, after which the phone started, but the touchscreen wasn't working. I tried restarting in Safe Mode, but the problem persisted. After that, I went back to the recovery menu and did a factory reset. Touchscreen still not responding to any input.

I contacted my carrier to send the phone for service, but they require the phone to be unlinked from a Google account (basically, Factory Reset Protection). As far as I know, FRP won't trigger if you perform the factory reset from the settings app on the phone, but that's not an option due to the non functional touchscreen.

I've been looking at what the Google console offers, but there doesn't seem to be a way to decouple the phone from the account, it's mostly to deal with lost or stolen devices. I tried the remote wipe feature on another phone, but that still triggers FRP.

Linked account is part of G Suite, though I don't think there's any special phone management system in use.

Is there a page where I can tell Google to stop associating that particular phone to my account?

I've found nothing of the sort in the following pages:

https://myaccount.google.com/device-activity https://myaccount.google.com/find-your-phone https://www.google.com/android/find

# Answer
> 1 votes
You can log in to Gmail from other system. Go to Manage my account. Under security option you will find devices Activity. You can select your mobile and choose forget devices. This will remove your mobile from Gmail.

If you can use other working screen. Start mobile and use find my device to remove account.

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

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


title: ADB pull stops after first error

text:
# Question
Title: ADB pull stops after first error
I am trying to do a full copy of `/sdcard` of my unrooted OnePlus 3T to my Windows PC.

So far I've tried:

* `adb pull /sdcard/ C:\mylocalfolder\`

Works OK but as soon as there is an error it stops the process, so the copy process has been truncated. The error is due to a file containing a colon ":" in the name, so it can't be copied to Windows.

---

* `adb exec-out tar c sdcard > sdcard_backup.tar`

Doesn't work, it stops immediately and creates a corrupted 4kb file.

---

* Copy the files using Windows via Data Transfer mode

Windows halts calculating time to copy files.

---

Adb pull would be the ideal solution so far if is there a way to skip/ignore errors so it can continue copying the files, or perhaps try to skip the files with certain characters.

I've tried both Adb version 1.0.32 and 1.0.41 (latest version as of July 2020).

Any suggestion?

# Answer
Quoting is recommended to make it more clear which commands will executed on client and which pipes/redirections are designated to run on host side. Basically this command should work:

```
adb exec-out "tar -c /sdcard" > sdcard_backup.tar

```

Have a look into corrupted 4 kb file. you will see the tar header and file content. there is a leading string before the tar file begin:

> *removing leading '/' from member names*

```
$ hexdump -C sdcard_backup.tar
00000000  72 65 6d 6f 76 69 6e 67  20 6c 65 61 64 69 6e 67  |removing leading|
00000010  20 27 2f 27 20 66 72 6f  6d 20 6d 65 6d 62 65 72  | '/' from member|
00000020  20 6e 61 6d 65 73 0a 73  64 63 61 72 64 00 00 00  | names.sdcard...|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000080  00 00 00 00 00 00 00 00  00 00 00 30 30 30 30 37  |...........00007|
00000090  37 37 00 30 30 30 30 30  30 30 00 30 30 30 30 30  |77.0000000.00000|
000000a0  30 30 00 30 30 30 30 30  30 30 30 30 30 30 00 30  |00.00000000000.0|
000000b0  30 30 30 30 30 30 30 30  30 30 00 30 31 34 37 35  |0000000000.01475|
000000c0  37 00 20 32 2f 73 74 6f  72 61 67 65 2f 73 65 6c  |7. 2/storage/sel|
000000d0  66 2f 70 72 69 6d 61 72  79 00 00 00 00 00 00 00  |f/primary.......|

```

problematic `exec-out` will redirect stdin and stderr. at least avoid error messages, or even better catch `stderr` completely

```
adb exec-out "tar -c sdcard" > sdcard_backup.tar
adb exec-out "tar -c sdcard 2> /dev/null" > sdcard_backup.tar

```

Note the skipped leading `/` root dir in command line. This time a 4 kb tar file is produced

```
$ hexdump -C sdcard_backup.tar
00000000  73 64 63 61 72 64 00 00  00 00 00 00 00 00 00 00  |sdcard..........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000060  00 00 00 00 30 30 30 30  37 37 37 00 30 30 30 30  |....0000777.0000|
00000070  30 30 30 00 30 30 30 30  30 30 30 00 30 30 30 30  |000.0000000.0000|
00000080  30 30 30 30 30 30 30 00  30 30 30 30 30 30 30 30  |0000000.00000000|
00000090  30 30 30 00 30 31 34 37  35 37 00 20 32 2f 73 74  |000.014757. 2/st|
000000a0  6f 72 61 67 65 2f 73 65  6c 66 2f 70 72 69 6d 61  |orage/self/prima|
000000b0  72 79 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |ry..............|

```

looks like a healthy tar archive. let `tar` do it's work. it reveals the file is a symbolic link

```
$ tar -vtf sdcard_backup.tar
lrwxrwxrwx root/root         0 1970-01-01 01:00 sdcard -> /storage/self/primary

```

In boot mode `/sdcard` is just a symlink to `/storage/emulated/0`
while in recovery mode `/sdcard` is a bind-mount of `/data/media/0`

tar does not traverse symlinks by default, therefore the command works in recovery mode. for boot mode use `tar -h` flag, or provide directory path instead of it's symlink.

furthermore on windows `cmd.exe` may add additional `\r` carriage return for each `\n` linefeed. therefore avoid streaming plain data, instead use compression algorithm which produces no linefeeds at all. this can be done with `gzip`

```
adb exec-out "tar -ch sdcard | gzip" > sdcard_backup.tar.gz
adb exec-out "tar -c storage/emulated/0 | gzip" > sdcard_backup.tar.gz

```

This tarball archive can be extracted from `tar` as most tar implementations will auto-detect and invoke `gzip` automatically.

```
$ tar -vtf sdcard_backup.tar.gz
drwxrwx--x root/sdcard_rw    0 2018-01-01 01:00 storage/emulated/0/
drwxrwx--x root/sdcard_rw    0 2018-01-01 01:00 storage/emulated/0/Samsung/
drwxrwx--x root/sdcard_rw    0 2018-01-01 01:00 storage/emulated/0/Samsung/Music/

```

For windows we can use 7-Zip as alternative unpacking program, it will handle most of compression algorithms.
> 12 votes

---
Tags: adb, backup, internal-sd
---


# Question
Title: MacroDroid shell script non-root location permission denied
I am currently trying to run a simple shell script via MacroDroid. devices are Huawei and Samsung (Oreo not rooted).

in MacroDroid tried following locations:

```
/data/local/tmp/script.sh
/storage/emulated/0/MacroDroid/script.sh
/storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh

```

MacroDroid reports permission denied:

```
/system/bin/sh: <stdin>[4]: /data/local/tmp/script.sh: can't execute: Permission denied
/system/bin/sh: <stdin>[4]: /storage/emulated/0/MacroDroid/script.sh: can't execute: Permission denied
/system/bin/sh: <stdin>[4]: /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh: can't execute: Permission denied

```

the script itself is working when running from adb shell:

```
adb shell
$ cd /data/local/tmp
$ chmod 0755 script.sh
$ ls -nZ script.sh
-rwxr-xr-x 1 2000 2000 u:object_r:shell_data_file:s0 ...
$ ./script.sh

```

In Terminal Emulator the script is readable (and passing as argument to `sh` works):

```
$ /data/local/tmp/script.sh
/system/bin/sh: /data/local/tmp/script.sh: not found
$ sh /data/local/tmp/script.sh
$ sh /storage/emulated/0/MacroDroid/script.sh
$ sh /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh

```

MacroDroid got all permissions granted in settings. Macros can create own log files in /storage/emulated/0

What is the proper location for shell scripts on non-rooted device?

# Answer
> 2 votes
Shell script Action is somewhat misleading in itself. It should be renamed as "Shell commands" instead. In the input area you are required to input the whole of your script actually. If you don't want that but wants to run an already made script instead, run it as

```
sh SCRIPT_PATH
sh /sdcard/my_script.sh     # example

```

This should work.

---
Tags: internal-storage, shell, automation
---


# Question
Title: How to add Google Play support in Anbox?
Anbox doesn't come with Google Services as Google Services can't be installed on an unregistered device / firmware, but there are ways to achieve that in Custom ROMs or even emulators. If you want to use Android to its fullest then Google Play Services is a must.

**What have I tried so far?**

I've tried to install Google Play Services x86 apk, which successfully got installed and also appears in *Settings* -\> *Apps*.

I've also tried to install Google Play Store which also got successfully installed and appears in the App Drawer of Anbox (also in GNOME), but it doesn't work as expected. For example, the YouTube app loads content but can't play videos and Google Play Store doesn't even load content, I think maybe because Google Play Services isn't installed as system app or maybe because there are some other Google apps that these things depend on which I'm missing.

# Answer
Run these commands:

```
snap install --devmode --beta anbox
wget -O -  https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh | bash

```
> 1 votes

# Answer
I'm not really sure about Anbox, but I've made and modified several Android distros, that are *unregistered*, as you had said. What I had done on these devices was:

1. Either go to Open GApps and then download the app. Then run it, choose the package and wait for it to download. Use a superuser, to grant GApps permission, and allow it to install all Google apps (as per your package selection).
2. The second thing you can do is, use flashify, to flash a zip that you can download from Open GApps again.
> 0 votes

---
Tags: android-emulator, google-play-services, anbox
---


# Question
Title: downloaded file disappears from file manager, but chrome wont re-download (replace), or re-name (create new file)
Android 7.1 on LG phone "stock" chrome I download a movie, its a really long filename, and the file didn't show up in downloads

so few days later I stumble upon same movie, try to download, and chrome says file already exists

I check "downloads" in "file manager" but there is nothing there I choose replace file option, file is not replace I choose create new file option, and a file shows up in downloads in file manager but as soon as I close file manager, the file is gone

so i try it again, but this time it wont rename file it also wont replace file (pretends its downloading, then says already downloaded, but no file)

So I added a .nomedia to the directory cause I don't want this file randomly popping up ;)

how do I reveal this file? get rid of it? It doesn't show up when I connect to laptop either

**update:** file is like 352 characters, should I post the url?

> wwwwwwwww.www\_ww+wwwwww+wwwwwwwwwww+wwwww+wwwwwww+wwwwwww+www+www+wwwww+ww+wwwwwwww+ww+www+w+wwww+www+www+wwwww+w+ww+www+www+wwww+wwwwwwwwww+www+wwww+wwwwww+wwww+www+ww+wwww+wwwwwwww+wwwwww+wwwww+wwww+www+wwwww+www+ww+wwwwww+wwwwwwwwww+wwww+www+wwwww+ww+wwwww+www+wwwwwww+ww+ww+w+wwwww+ww+wwwww+www+wwwwww+www+www+wwww+www+www+wwww+wwwwwwwwww\_240p.mp4

# Answer
You should try the following

* Storage type

> Are you sure your file is on phones internal storage and not on a micro sdcard. If it’s on a micro sdcard then connect it with you PC and execute the following on terminal `cd the/sdcard/Downloads` then remove the file `rm long-file-name.mp4` (after a few characters hit `Tab`, it’ll type it for you.) Or format your sdcard (but first copy the files/folders you care about, do not copy downloads folder)

* Basic hidden files

> Make sure in your file explorer “show hidden files” option is enabled, use a 3rd party file explorer.

* Use terminal

> Connect your phone with PC and in terminal `cd to/the/phone/storage/Downloads` then remove the file `rm long-file-name.mp4` (after a few characters hit `Tab`, it’ll type it for you.)

* If you’re root user

> Try to find the file using root explorer, rename the file name to something simple or delete it.

* Wipe your storage

> Copy the files/folder you care about manually (do not copy downloads folder) then wipe the internal storage.
> 0 votes

---
Tags: chrome-for-android, lg, 7.1-nougat
---


# Question
Title: Cannot download apps from Play Store on mobile data
I have LeEco Le 2 mobile. I am trying to download applications from Google Play Store - when I click on Install, it displays "Waiting for WIFI...".

I am on mobile data, but it is not downloading through mobile data.

How can I download apps through mobile data?

# Answer
First, go to your settings and under *Data usage* select *Cellular data usage*. Check whether the Google Play Store, Google Services and Download Manager are allowed to use background data.

If this doesn't help, go to *Apps* and find the Play Store. Tap on *Force Stop* and then tap on *Storage*. Tap *Clear Cache* (you could also clear all the data with the second button). Lastly, tap on *Permissions* and make sure that all of them are granted to the app.

Finally, reboot the phone. Hope this helps.
> 4 votes

# Answer
Update the software first, go on 'setting' then 'software update' Download and install.
> 1 votes

# Answer
You can press the "Download" icon, click Settings, and choose "No Limits".
> -2 votes

---
Tags: google-play-store, mobile-data
---


# Question
Title: Dialing keypad sounds like a rubber ducky with each number pressed....yeah
Samsung Galaxy S21 Ultra. Instead of the normal DTMF tones, his phone is squeaking like a rubber duck with each number pressed on the dial key pad. No idea how it got this way or how to fix it. He doesn't want to completely get rid of the tone, just wants the normal one back!!

# Answer
> 1 votes
I resolved it

Settings\> Sounds and Vibration\> System Sound \> Choose "Galaxy"

Mine was set to "Fun"

Thanks.

---
Tags: samsung
---


# Question
Title: FreeOTP or FreeOTP+ - Which is More Secure?
I have been using FreeOTP by Redhat/Fedora for a few years now as my main two way authentication app. However, I have realised that the current version (1.5) is quite a few years old (having been released in 2016).

https://freeotp.github.io/

https://f-droid.org/packages/org.fedorahosted.freeotp/

There is however a forked version; FreeOTP+. This fork's latest update (1.7) came out in December of 2019, making it far more up to date than the upstream app.

https://f-droid.org/en/packages/org.liberty.android.freeotpplus/

I am however concerned about security, due to the app playing a very important role in account security. I am also unsure as I am not too familiar with the work/trustworthiness of the developer of the fork (I mean him/her no offence when I say this, I'm just cautious when it comes to account security), where as I know Redhat to be a secure and freedom respecting company.

So which would be the safer option? Should I stick with the older FreeOTP? Do two way authentication apps need to have up to date security patches? Or can I trust the more up to date FreeOTP+?

Also, even though I appreciate the help and good intentions of people who would recommend this; but please don't recommend that I use the Google or Microsoft authenticators instead. I want to use a Free/Open Source authentication app rather than a proprietary one.

# Answer
Generally I would say that both are secure.

**FreeOTP**: Developed by Fedora by RedHat. So by a prop. company. But it's open source for everyone, that means if there would leaks to RedHat the FLOSS-Community would reported that to F-Droid and News Pages. That would a big scandal for RedHat and many people would lose trusting Fedora. Second, it's unmaintained. They deliver some commits, but not releases that F-Droid can build. I guess OTP doesn't offers security issues.

**FreeOTP+**: A maintained fork of FreeOTP. It's developed by a private person, Howard Liberty. It offers updates. But like at FreeOTP, the community would find issues if your pricacy isn't secure. F-Droid would disable these version (if they find some issues).

But there are also other 2FA Applications that are open-source available (and installable in the offical F-Droid repo):

**OTP Authenticator**: A basic client, but doesn't offers new commmits. Developed by Bruno Bierbaumer. Last commit/release at Dec 23, 2015.

**andOTP**: Active fork of OTP Authenticator. They continue the upstream. The latest release was on Oct 28, 2020. But they offer new commits. It has the a big community at GitHub (2.8k stars). Main developer is Jakob Nixdorf.

**Aegis Authenticator**: This is 2FA by Alexander Bakker and Michael Schättgen. In my eye it looks a bit properitary, but hasn't any trackers since it's available in F-Droid. It has 1.6 stars on GitHub.

**(Google) Authenticator**: You sad that you don't want the Google Authenticator as answer. But this app is by google and is open source. F-Droid's latest version was at 2012. But their repository offers commits and releases from 2019. This is a "fork" of the prop. Google Authenticator available on the prop. Play Store. It's not sure, if there is a codebase of the offical app or receives updates by the prop. App. I'm not sure, if there are trackers. (But I think so.)

I personally use FreeOTP+. But I can also suggest andOTP. I'm looking to switch to cotp. cotp is a Command-Line tool developed for the computer. And maybe able to use with Termux
> 7 votes

---
Tags: security, password, open-source, f-droid, authentication
---


# Question
Title: Does "How will you use this SD card?" wipe data?
There is a notification almost every time after boot saying "Issue with SD card" "Tap to Fix".

What happens when I then choose "Use as portable storage"?

I don't want any formatting to happen and it is not clear if it will format or not. ( My SD card works fine from recovery and I can mount and view it in the terminal without problem. Not sure what the notification is about. )

# Answer
I have now backed up my contents and am able to try this out.

The popup indeed makes it clear that data will be lost.

---

### Process

If, like me, you don't believe the system that your card is broken, you can try running `fsck` like @alecxs advised me to. Use the `-y` flag to avoid manually confirming every fix.

I used `mount`/`blkid` to see what filesystemtype my SDcard uses and what its block device id is. And then I ran `fsck.exfat /dev/block/mmcblk0p1` which told me

```
1|beryllium:/ # fsck.exfat -V /dev/block/mmcblk0p1
exfatfsck 1.2.2
Copyright (C) 2011-2015  Andrew Nayenko
beryllium:/ # fsck.exfat /dev/block/mmcblk0p1
exfatfsck 1.2.2
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
WARN: volume was not unmounted cleanly.
Checking file system on /dev/block/mmcblk0p1.
File system version           1.0
Sector size                 512 bytes
Cluster size                128 KB
Volume size                 463 GB
Used space                  211 GB
Available space             252 GB
ERROR: unknown entry type 0x89.

ERROR: unexpected continuation (0).
Totally 5536 directories and 64646 files.
File system checking finished. ERRORS FOUND: 2.

```

**whoops, I should have unmounted it first!!**

Running it again (this time from boot instead of recovery (shouldn't matter), and not mounted) I get the option to actually fix it. Note that I did this as `su`:

```
beryllium:/ # fsck.exfat /dev/block/mmcblk0p1
exfatfsck 1.3.0
Checking file system on /dev/block/mmcblk0p1.
File system version           1.0
Sector size                 512 bytes
Cluster size                128 KB
Volume size                 463 GB
Used space                  211 GB
Available space             252 GB
ERROR: unknown entry type 0xc0.
Fix (Y/N)? Y
ERROR: unknown entry type 0xc1.
Fix (Y/N)? Y
ERROR: unknown entry type 0xc1.
Fix (Y/N)? Y
Totally 5537 directories and 64860 files.
File system checking finished. ERRORS FOUND: 3, FIXED: 3.
reboot

```

The reboot was fairly quick, the login afterwards took a bit of time, and now... the sd card warning is gone! This also answers a question I was already typing but haven't submitted yet: How to fix the SD card without data loss!
I shall publish that question as well soon, so that it's easier to find this solution.
> 1 votes

---
Tags: external-sd, lineageos, android-10
---


# Question
Title: How to avoid reformatting external sd card when "Issue with SD card" pops up again?
The comments in Does “How will you use this SD card?” wipe data? indicate that the second option in the dialog "Issue with SD card - Tap to fix", which is "Use for portable storage", will also format the external SD card.

My external SD card works without issue from the recovery and I can also mount it after boot from the terminal, but the system does not make it visible e.g. to the file manager app.

I have reinstalled lineageOS recently and until the fourth or so reboot the SD card was working flawlessly and I already used it with the apps that now no longer see it. At the moment, the phone takes long to start with the external SD inserted, and often crashes after unlocking.

How can I avoid reformatting it but still get a behaviour where it works normally and there is no such "issue with SD card" notification?

I have had this issue in the past as well, on different devices, running a different version of (stock) android, with a different SD card. Oftentimes, a reboot or a reinsert of the card would fix it temporarily. But what is going on and how do I actually fix, or at least circumvent, it?

# Answer
`fsck` works surprisingly well. At least if you have root. Not sure if that's required but I'd guess so.

I have outlined my process in this answer and mostly wrote this question so that future visitors have it easier to find this solution with the phrasing as I used here. The relevant parts again:

1. Figure out what your filesystem type is.
I did that from the recovery terminal using `mount` and `blkid` because then there aren't so many other block devices around (e.g. all the magisk devices). My device was called `/dev/block/mmcblk0p1` and of type `exfat`.
2. Make sure the partition is not mounted. `umount /dev/block/mmcblk0p1` should do the trick. Or boot to the system and since android detects an issue it does not mount it automatically. It looks to me like the available `fsck` is actually slightly different, at least in my case.
3. Run the relevant command for your filesystem type. Use tab completion to see your options. My command was `fsck.exfat /dev/block/mmcblk0p1`. Depending on your `fsck` you can also provide it with the `-y` flag to auto-fix everything without asking you every time.

I have re-encountered this issue and `fsck` did not help me this time... It turns out that you can also turn off the device, remove the sdcard, mount it on your windows computer, and run `chkdsk H: /F` to find and fix more errors. (`H:` is your sdcard (adapt accordingly), `/F` makes it fix errors instead of only reporting them).
> 1 votes

---
Tags: external-sd
---