# Question
Title: How to control the volume of an Android device from an iPhone?
How to control the volume of an Android device from an iPhone?

# Answer
> 1 votes
You could use my *free open-source and no-ad* app, **Web Remote Volume Control**, I have made it myself to address this exact purpose, see my answer on this thread.
**Full disclosure: I am the author of this free, ad-free, and open-source app.**

You could instead use Teamviewer plus a slider widget (Teamviewer Remote Control on the iPhone, Teamviewer Quick Support on the Android device, and also a sound volume slider widget on the Android device), but this may not be free.

You could maybe also use Airdroid, but I think it is not free either.

---
Tags: applications, remote-control, ios, volume
---


# Question
Title: How can I compile native applications on my rooted phone?
I'm running Cyanogenmod 7 on my Nexus One, and I wanted to compile and run LAME on my phone. I've already downloaded the source package and have tried to `./configure` it, but I'm told that neither `cc` nor `gcc` exist on the phone. Is there a way to get `gcc` for Android? I'm simply looking to be able to compile a few native applications like LAME for use on my ARM device. How can I go about doing this?

# Answer
You can write, compile and distribute native code as an Android Application.

Look here for more info about the NDK.

If you want it done without the official framework and application packaging then you'll need to look into cross-compiling the application for the ARM architecture.
> 2 votes

# Answer
I can't understand why I have to pay $3 for C4droid as it's just GCC with an editor.

Use the new free CppDroid - C/C++ IDE on Android. It has a lot of included C/C++ examples and tutorials. Blog link, Google Play link (needs 190 MB).
> 5 votes

# Answer
Compiling applications does not take considerable processing power in general. I did it on my 286 all the time. The OP wants gcc on his phone.

Look for C4droid (C/C++ compiler) in the Google Market. Then install the GCC plugin for C4droid from the market. (These do cost a couple of dollars).

From the market description:

> It's a plugin for c4droid, that allows it to compile C and C++ source code using GCC. It contains gcc 4.7 with Bionic (Android libc). Source code hadn't been modified, so you can compile it yourself, if you want.
> 3 votes

# Answer
The app Terminal IDE has a built-in GCC ARM compiler for Android. You can install it, move it to another folder and then uninstall it. But make sure you have enough free memory (needs 150 MB).
> 2 votes

# Answer
Android Applications are compiled in a PC and then installed on the phone. In order to compile an Application you will need a considerable amount of computational power and a compiler, in this case, a C compiler.

In other words, you need a Computer to compile the application.

You will need to download and install in your computer the Android SDK, the gcc compiler and other tools and then you will be able to compile the application for your phone.
> 1 votes

# Answer
As an alternative, or if you wish to use 100% FOSS, you can install a native Linux installation on your device using apps such as Linux Deploy, and simply `apt-get install gcc`.
> 0 votes

# Answer
Install Termux.Then pkg install clang.

Now you can compile and run c/c++ files.
> 0 votes

# Answer
Termux and a linux rootfs, it's even better when you have a rooted phone. You can do whatever you want in there, install gcc, clang, jre, jdk etc... compmiling programs with gcc this is the best option and not very costly like I said if you phone is rooted you can have the rootfs image on your SD card and thus free space from internal memory
> 0 votes

---
Tags: cyanogenmod, linux
---


# Question
Title: Is there any way to check if 4G/LTE is broken in LineageOS (FP2)?
**Situation**

* I have a Fairphone 2. I recently installed Lineage OS 17.1
* I have a UK phone provider.
* I am in Germany for the next few weeks.
* I am not able to connect to German networks with 4G (that worked in the past and with the same contract when I was there the last time, before I installed Lineage OS)
* Instead it falls back to 3G and only stays connected for 5 minutes or so, then kicks me out. So mobile data practically does not work.
* In the UK, mobile data did work. I am not sure if it also fell back to 3G or if it did continue to use 4G after I installed Lineage. I cannot simply go back to the UK and check.
* I bought a local German prepaid SIM. It does connect to 3G, but not to 4G. It also regularly loses connection on 3G, especially when I'm indoors, but it stays connected most of the time, though only to 3G
* I know very little about how to debug Android-like OSes. To me it feels like being told to cross a busy road blindfolded: Everything is needlessly complicated, you can't see what's going on, and anything you do will probably end in failure.
* I would be happy if I somehow had mobile internet, preferrably reliably and preferrably with 4G. But failing that, 3G is also fine until they phase it out next year, if it works reliably (which it doesn't).
* I have switched the preferred network to 4G in the settings.
* I tried switching to 3G; it doesn't change anything.
* I tried rebooting the phone (the only trick I know for Android-like OSes where I cannot see what's going on); that doesn't change anything either.

**Question**

Since 4G never worked with neither SIM card since I tried to understand what's going on (i.e. since I am in Germany and discovered that mobile data did not work any more), my only working hypothesis is that 4G is broken in my setup. How can I test if this is actually the case?

**Alternative possibilities include:**

* German providers don't like UK contracts any more and refuse to provide roaming services (because of Brexit and everything)
* German providers do not like Lineage OS (or the other way around)
* German providers do not like FP2 (or the other way around)
* I am not smart enough to work with the kind of software Google has cooked up (Android like OSes) to figure out how to make it work with German networks
* I somehow randomly always have terrible phone connection (although this does not affect the people around me)
* My FP2 is somehow broken (and magically broke exactly when I crossed into Germany)
* Any number of other increasingly unlikely possibilities...

# Update (6 weeks later)

**Additional Facts**

* I observed that I do occasionally - very rarely - get 4G/LTE. So from the technical side it should work.
* I tried 2 different German prepaid cards (Vodafone, O2) over the past weeks, both contracts should have enabled 4G/LTE. Almost always, I only get EDGE/3G (or a light version of 3G? It feels like in the 1990s.).
* I asked the salespersons in the Vodafone/O27Telekom shops. When they did not try to sell me random stuff, they were trying to be helpful. However, none of them had an explanation or could solve the problem.
* I updated my Lineage occasionally. No change.
* I cannot simply flash stock Android again. I only have this one phone and I am relying on the parts of it that do actually work and cannot afford to break it.
* According to this source, German providers use LTE Bands 1 (2100MHz), 3 (1800MHz) for Cities, 7 (2600MHz) for cities, 20 (800MHz) especially for the countryside. Occasionally Bands 8 (900MHz) and 28 (700MHz) are also used, but this is limited to certain providers or regions. FP2 can only do Bands 3, 7, 20 according to acejavelin's comment.

This eliminates some of the possible explanations above. The ones that remain are:

* German providers do not like FP2
* German providers do not like Lineage
* My Phone is broken
* My installation is broken
* German providers downgrade non-privileged contracts (foreign and prepaid) to 3G/EDGE, rendering them essentially unusable.
* FP2 only supports LTE Bands 3 (1800 MHz), 7 (2600 MHz), 20 (800 MHz) (acejavelin's suggestion), German providers may be using another Band since recently?

**Regarding the question this thread was about (is there a way to figure out if 4G/LTE is broken)**

* I assume the lack of answers means: No, there is not. If anything does not work, the cause has to be inferred from creatively designing experiments to rule out possible explanations one by one. E.g. installing stock Android and checking if 4G/LTE works there (acejavelin's suggestion).

# Answer
> 3 votes
I'm not sure if your issue was the same as me but I found your post because I had a similar issue. My 4G/LTE not working on my new FairePhone3 running LineageOS. I fixed my issue, here is the solution in case someone has the same problem.

My phone would show the 4G/LTE as working but zero bytes transfered and no apps could access the internet. I double-checked the APN and everything seemed fine.

I activated dev options and USB debug. From a computer I ran the following command (the phone being linked by USB) :

```
adb logcat -b radio

```

In the logs I saw some of the following things :

```
[...]
PDN_IPV4_CALL_DISALLOWED
[...]
01-30 19:37:40.196  1970  1970 D RetryManager: [default] Reached maximum retry count 10.
01-30 19:37:40.196  1970  1970 D GsmCdmaPhone: [0] getDataConnectionState apnType=default ret=DISCONNECTED
[...]
01-30 19:37:40.198  1970  2203 D DC-C-1  : updateLinkBandwidths: LTE
01-30 19:37:40.199  1970  1970 D DCT-C-0 : isEmergency: result=false
01-30 19:37:40.199  1970  2203 D DC-C-1  : DcInactiveState: clearing settings
01-30 19:37:40.199  1970  2203 D DC-C-1  : clearSettings
01-30 19:37:40.205  1970  1970 D DC-C-1  : updateLinkBandwidths: LTE
01-30 19:37:40.205  1970  1970 D DCT-C-0 : onDataSetupCompleteError: Stop retrying APNs. delay=-1, requestType=NORMAL
[...]

```

So the logs confirmed I wasn't crazy, obviously there was an APN problem. The `IPV4_CALL_DISALLOWED` stood out to me. In my APN setting I found a `APN protocol` option that was set to `IPv4`, I changed that to `IPv4/IPv6` and now my 4G/LTE works again !

---
Tags: mobile-data, lineageos, 3g, 4g, roaming
---


# Question
Title: How do you capture video from the command-line on an Android device?
How do you capture video from the camera on command-line of a rooted Android mobile device?

# Answer
Depending on the recording app installed, that could be done by calling the corresponding activity via the `am` (activity manager). The syntax for this is explained on the ADB help page:

```
start [options] <INTENT>

```

Example given:

```
am start -a android.intent.action.VIEW

```

This means, you first have to find the corresponding intent. This can be done using any Manifest browser (there are several apps available), or e.g. using the activity browser integrated with Apex Launcher (long-tap free space on homescreen, select *Shortcut*, then *Activity*). The `am` call then can either be initiated from within a terminal in the way described above, or via ADB by prefixing the call with `adb shell`, e.g. `adb shell am start -a android.intent.action.VIEW`.

See also: http://en.androidwiki.com/wiki/ADB\_Shell\_Command\_Reference
> 2 votes

# Answer
This worked for me,

```
adb shell am start -a android.media.action.VIDEO_CAPTURE

```

However, this did **NOT** start the recording, so it's kind of undesirable.

I did open an issue upstream to ask the author of Open Camera if this would be possbile
> 0 votes

---
Tags: command-line, video-recording
---


title: Mirroring PC screen to android via USB

text:
# Question
Title: Mirroring PC screen to android via USB
There seems to be slight variations of this question that have been asked to no avail, but is there a way to mirror my pc desktop to my android device STRICTLY using a USB cable? I've seen may solutions for this using wifi such as splashtop and windows remote desktop, but my I don't have access to wifi or mobile data on my android device.

# Answer
> 2 votes
No. Both ends lack functionality for this. USB isn't designed to output in this way without pricey adapters that act as port replicators, forcing your CPU to act as a virtual video card, then outputting through a video port on the replicator, and adding USB, Ethernet, etc. But then you'd need to go from that adapter to your phone, and your phone has no inputs for this type of communication, or software functionality to handle it.

# Answer
> 1 votes
Yes you can using "Mobile Pc Monitor" you can do just that. there is also Twomon USB but that cost $9. Download the free "Mobile Pc Monitor" app from google play and the server from http://www.usbmobilemonitor.com after installation go to display properties on you pc and click detect. change the mode to mobile pc monitor display and it should work depending on your phone. (and no pc reboot)

"TurboFool" apparently doesn't know much about data cables or software... in the end its all 1s and 0s and usb data cables and computers love those things. DVI, and HDMI cables are designed FOR monitors to connect directly to the displays control board. that gives the best refresh rates, and quality. Some phones even have Mini HDMI ports to steam video. I been doing the same thing with my psp via data cable and pspDisplay so it was a matter of time to find a program that does the same for my android phone.

You can stream video over usb via software and thats exactly what the app I mentioned does. The server program running on your PC captures the video thats sent to the monitor changes it to a usable format and sends that to the phone via data cable. The app then interprets those signals and displays the image. I been looking for the same solution for days and just found it. It works on my Galaxy S4 np. you can definitely send those 1s and 0s though the usb cable but at some loss of quality.

Both those programs give you the ability to extend your display to the phone as if it were another monitor. Thats something "PspDisplay" didn't do. you can also just duplicate one of your monitors to the phone. touch screen works as a mouse as well so its not just a monitor its a whole new input device.

# Answer
> 1 votes
Try installing a VNC server on your computer.

With VNC installed, you can use this: https://f-droid.org/en/packages/android.androidVNC/

# Answer
> 0 votes
Maybe I'm a *bit* late to the *party* ;P but it's not all "doom-n-gloom" on this front.

An (apparently) Argentinian software company has published a software which claims to do exactly what you ask here -- the company's name is Shape -- you can read about them here --\> http://www.shape.ag/en/company/

The name of their software widget is **iDisplay** but they claim it works with iOS, macOS, Android and Windows. You can read more about it here --\> http://www.getidisplay.com/ and even download it -- it's supposed to be free of cost.

DownLoadCrew's review:

> Blockquote

Run out of space on your desktop? There is no need to rush out to the shops to buy a new monitor, particularly if you are one of the millions of people who own an iPhone or iPad, or an Android tablet or mobile. iDisplay is a tool that can be used to transform your mobile device into a second display for your Mac or PC so you can take advantage of a little extra desktop workspace.

The software is made up of two different components – the desktop software which needs to be installed on your PC or Mac, and the mobile app which is available for both iOS and Android – and you have the option of connecting over a USB connection, or wifi. iDisplay can be used in to different mode with the first turning your mobile device into an extension of your desktop, and the second enabling you to mirror what you see on your monitor.

iDisplay can be used in various ways. If you have your computer connected to your TV, you could use your phone to house an onscreen remote so you can control playback from the sofa. When you are working at your desk, you can limit distractions by using your tablet’s screen to display your Twitter feed or Facebook timeline. It can also be used to move control panels out of the way of other program windows.

iDisplay has numerous benefits over a regular monitor, the first of which is portability. While it is possible to change the configuration of a multi-monitor setup, cables and desktop space mean that this is not going to be something you want to do all that often. In the case of iDisplay, all you need to do is re-position your phone or tablet and then use the configuration tool to indicate where it is in relation to your monitor. The wireless aspect means that it is also possible to use the app to keep an eye on your desktop when you step away from your computer, so you need never be out of touch.

Verdict:

A low-cost and incredibly useful way to gain extra work space and a very helpful way of interacting with your computer.

> Blockquote

Disclaimer: 1) I have **not** downloaded, installed or tried out this software.

2) I **do NOT** work for the publishers of this software or represent them commercially or in any other capacity. I just encountered their software / website during my routine Internet research on Android apps.

But I hope **iDisplay** meets your specific requirement(s) / resolves your issue(s).

---
Tags: usb, usb-connection-mode, remote-control
---


# Question
Title: How to check Bluetooth audio codecs on Android 5.0
I have an old Note 3 phone that I use as a music player. I am trying to find out if it supports the aptX Bluetooth codec. I turned on developer mode and all the instructions I can find online say to go to “Audio codec” under the “Developer Options” menu. I go to the “Developer Options” menu but there is no entry for “Audio codec.” On Android 5.0 are the codecs listed in a different place?

If it does not have aptX is that something that can be added?

# Answer
The only way to check I found so far is in the **Android Developer Options**.

On some devices there is an entry named "**Bluetooth-Audio-Codec**". If this list contains an entry with "aptX" as shown in the following screen shot it should be sure that the device supports aptX:

The screen shot is from an Android 9 tablet. Not sure about older Android versions. It may happen that you don't have no "Bluetooth-Audio-Codec" entry in the Developer Options menu, in that case this method does not work for you.
> 2 votes

---
Tags: audio, bluetooth-audio
---


# Question
Title: Import pdf Files to Samsung Galaxy Tab S7
How do I import pdf files from my computer to my Galaxy Tab S7 5G?

# Answer
You can just connect them using a USB cable.

Alternatively you can use Bluetooth (if your computer supports it), or upload the PDF files to the cloud (e.g. Google Drive), or send them via email to youself.
> 1 votes

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


# Question
Title: Accessing termux user environment from other consoles
I've recently started using the amazing Termux terminal app and linux environment. It provides a wealth of full-function terminal utilities. It would be great to be able to access these utilities from other consoles, especially when connected via `ssh` or `adb shell`. I've managed to make some functionality available by setting my `PATH` and `LD_LIBRARY_PATH` environment variables to the same values used by Termux's shell, but there are permissions problems and it seems messy.

Is there a way to ssh in to a Termux session? Termux doesn't seem to provide an ssh server package. Even if it did, presumably that server, and thus the ssh session granted by it, would run as a separate user from the termux user, resulting in similar permissions problems.

Is there a supported way to access the Termux user environment from other consoles?

# Answer
> 16 votes
Termux does provide the `openssh` package, which contains both the `ssh` client and the `sshd` server.

Install the package with: `apt install openssh`, then start the server with `sshd` \- it will run on port 8022 by default, so connect to it with `ssh -p 8022 DEVICE_IP`, and you can find the device wifi ip using `ip addr list wlan0`.

Password authentication is not supported, so you need to setup `$HOME/.ssh/authorized_keys`.

After you have connected you will run as the normal Termux user with environment variables setup correctly.

# Answer
> 3 votes
You need to install `openssh` in termux by running

```
pkg install openssh

```

and then, on the device you want to ssh from, generate a Public ID Key,

```
ssh-keygen

```

and just confirm and down change anything, then do

```
cat ~/.ssh/id_rsa.pub

```

and copy the output into `~/.ssh/authorized_keys` and restart the `sshd` server and try to ssh,

if you encounter any errors, check the `authorized_keys` file and makesure your public key is all on one line

You have to do these steps above because Termux `sshd` doesnt support password logins, (IE, `ssh user@ip_address` then entering a password)

you have to ssh into termux using

```
ssh termux-ip-here -p 8022

```

# Answer
> 3 votes
On your knees and bow,

Ip\_Address\_Of\_Remote\_Host = 192.168.1.20

(Assuming you have generated a key on the termux machine using

ssh-keygen -t rsa

There is a space inbetween ssh-keygen and -t and copied the key to Remote\_Host using that machines log-on details

ssh-copy-id user@192.168.1.20).

There is a space inbetween ssh-copy-id and user

You should now be able to log on to the remote host without using a password.

ssh user@192.168.1.20

The rsa key generated above is not the key you place into the authorized\_keys file on the termux machine.

The issue is getting the

id\_rsa.pub

file from your Remote machine to the termux

~/.ssh/authorized\_keys

file on the Local system (phone) the solution I used was scp, this command confuses a lot of people but if viewed from the position that it is just a cp command it's mysticism vanishes

**cp file\_to\_copy where\_to\_copy\_file**

This command is run from the Termux machine (phone)

**scp user@192.168.1.20:/home/user/.ssh/id\_rsa.pub ~/.ssh/authorized\_keys**

There is a space inbetween id\_rsa.pub and ~/

The path to your .ssh directory may be different just make sure it is the correct path you enter into he above command.

If you still have trouble logging on navigate to the

**/data/data/com.termux/files/usr/etc/ssh/sshd\_config file**

Activate these two key pairs

**ChallengeResponseAuthentication no**

**PubkeyAuthentication yes**

# Answer
> 2 votes
These are Android commands to run on Termux and setup a SSH client and server, allowing to connect from your desktop to your Android and vice-versa. This does not cover the SSH server and client set up on your desktop computer.

**Using the SSH server** https://termux.com/ssh.html

```
apt update
apt upgrade
apt install openssh

```

Here you can create a password for your keys and use it to connect to your computer, if you like a password. Otherwise, leave them in blank and no passwords are required, other than your DESKTOP user computer password.

**How can I set up password-less SSH login?** https://askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login

```
ssh-keygen -b 4096 -t rsa

```

This allows you to connect from your ANDROID to your DESKTOP by SSH connection without your ANDROID user password (as passwords are not supported by termux sshd server)

**3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id** https://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id

```
ssh-copy-id -i ~/.ssh/id_rsa.pub your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS

```

This allows you to connect from your DESKTOP to your ANDROID by SSH connection without your ANDROID user password (if you want to use your's computer user password, skip this command)

1. First Option **Accessing termux user environment from other consoles** Accessing termux user environment from other consoles

```
scp your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS:~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

```
2. Second Option **How do I add SSH Keys to authorized\_keys file?** https://askubuntu.com/questions/46424/how-do-i-add-ssh-keys-to-authorized-keys-file

```
cat ~/.ssh/id_rsa.pub | ssh your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

```

**Scripts and notes for setting up and using SSHd on your Android device using Termux** https://github.com/tomhiggins/TermuxSSHDsetup

```
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

```

**ssh blank passphrase but still asking for it** https://serverfault.com/questions/845623/ssh-blank-passphrase-but-still-asking-for-it

```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/known_hosts
chmod 600 ~/.ssh/authorized_keys

```

Start the server by executing sshd (which will start it on the default port 8022) and run `logcat -s 'syslog:*'` to view the log output from the server process. Execute pkill sshd to stop the server.

```
logcat -s 'syslog:*'
pkill sshd
sshd

```

---

Finally, connecting from one to another and vice-versa:

Connecting from your ANDROID to your DESKTOP (the usage of your DESKTOP user password can be optional)

```
ssh your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS

```

Connecting from your DESKTOP to your ANDROID (must not to use your ANDROID user password)

**Since Termux is a single-user system you may connect as any user - regardless of your specified username you will login as the only Termux user available.**

**The Termux sshd binary does not support password logins, so a key needs to be authorized in `~/.ssh/authorized_keys` before connecting. Use ssh-keygen to generate a new one if desired.**

```
ssh -p 8022 -i ~/.ssh/id_rsa IP.OF.YOUR.ANDROID

```

(ANDROID) **If you still have trouble logging on navigate to file and activate these two key pairs:** `/data/data/com.termux/files/usr/etc/ssh/sshd_config`

```
ChallengeResponseAuthentication no
PubkeyAuthentication yes

```

---

Extra: Locking and unlocking the file system from read-only to read-write and vice-versa.

**How to copy files to an Android emulator’s data directory with ‘adb push’** https://alvinalexander.com/android/how-copy-files-android-device-emulator-adb-push-read-only-error

```
mount -o rw,remount rootfs /

```

Revert the changes back after finishing the changes!

```
cat /proc/mounts
mount -o ro,remount rootfs /

```

# Answer
> 0 votes
As an alternative way, I build `termux` app and then `adb shell` to access termux console from **PC** without requiring root.

*The prefix below of `[PC]~ $`, `[ADB]~ $` and `[ADB's BASH]~ $` indicates where the command type from.*

1. In Android settings, enable **Developer options**, toggle on **USB debugging**, and uninstall existing termux app for all users. And of course, **the existing termux data will loss.**
2. Clone termux source code, `[PC]~ $ git clone https://github.com/termux/termux-app`
3. Open that project in Android Studio, plug-in phone cable, select phone device from menu then direct run or build it as debug apk which allow you use `run-as` without root.
4. `[PC]~ $ adb shell`
5. `[ADB]~ $ run-as com.termux`
6. `[ADB]~ $ cd files/usr/bin`
7. If not yet install `bash` and `vim`, either go to Android device to install, or `[ADB]~ $ export PATH=/data/data/com.termux/files/usr/bin:$PATH` first then `pkg install bash` and `pkg install vim`.
8. `./bash` to launch bash shell session.
9. `[ADB's BASH]~ $ vim ~/.bashrc` and put this 2 lines which set environment when launch new bash session: `PATH=/data/data/com.termux/files/usr/bin:$PATH` and `export LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so`
10. `[ADB's BASH]~ $ . ~/.bashrc` to take effect immediately.
11. Use `rsync` command, e.g. `[ADB's BASH]~ $ rsync -rvtP --remove-source-files source_dir foo@IP:/home/foo/Downloads/` to transfer file between Android and PC. (Note: Source directory don't trailing with `/`, and need `find source_dir -type d -empty -delete` after done to remove empty directories) . Alternatively use `[PC]~ $ adb exec-out run-as com.termux cat '/data/user/0/com.termux/.bashrc' > ~/Downloads/.bashrc` to pull file from Android to PC.
12. To quit, `Ctrl+D` or `[ADB's BASH]~ $ exit`. `[ADB]~ $ ./bash` to re-enter new bash session.
13. For unknown reason, first time access will no internet, you need launch termux app in android device manually once, after that can exit termux app.

---
Tags: terminal, ssh
---


# Question
Title: Google Nexus 7 2013 (6.0.1) no longer works with All 4 streaming (UK)
I have a venerable Google Nexus 7 2013 (OS 6.0.1) that I still use. It works well - or did, up until a few days ago.

One of the things I use it for is streaming - BBC iPlayer, ITV hub, All 4, youtube etc.

It has been fine up to now, when all of a sudden it will not stream All 4. It will stream everything else and all other internet connectivity is fine.

The local network is wifi (2.4/5GHz) connecting with a TP-Link ADSL router to Plusnet Fibre.

Initially I though it was a temporary All 4 problem. But other devices (Android and PC) on the same network stream fine.

First I restarted the app, then cleared the cache and data, then restarted the router, then I reinstalled the app, then finally I did a factory reset. None had any effect. The error is 'An error has occurred - Touch to retry'. Retry has no effect. Unfortunately I do not have access to another wifi network I can try.

I am completely out of ideas. It must be software, all hardware appears fine. The summary is:

* Nexus 7 2013 running Android 6.0.1 (not rooted).
* Will not stream All 4 (UK).
* Will stream everything else.
* All other internet connection is fine.
* Other devices (PC, Android) on the same network will stream All 4.
* Resetting everything had no effect.
* Worked fine up to 7-10 days ago.

Any suggestion as to the cause of this would be welcome.

# Answer
i had the same problem with my nexus 7, worked faultlessly with streaming vids ...untill the 2nd week in Jan 2021 when overnight could no longer get the vids to work, just got a blank screen. I think the reason is that that was the exact time adobe started blocking all computers and devices with flash player. since then ive not had a decent downloadable live streaming vid or web cam - i pay for many of the sites i use. even my new win10 pc has problems with streaming video whereas before jan 10th and the adobe flash blocking all worked fine !!
> 0 votes

---
Tags: 6.0-marshmallow, video-streaming
---


# Question
Title: Android can't view local content after OS upgrade
After upgrading to Android 10, I am not able to use the Files app to view local files on my phone. If I run Files and view the Downloads folder, for example, it merely says "Can't load content at the moment".

I've been using the built-in Files app for many versions of Android. But after upgrading to Android 10 it stopped working. I am able to view the contents of *some* directories. And if I choose / navigate to folders in a different way, e.g.

* Images -\> Download Or
* Device -\> Download

Then the file explorer will view some files. But simply selecting "Downloads" from the menu gives me this error.

I have gone into App Permission -\> Storage, but the Files app does not appear there. Inside App Info -\> Files it says "No Permissions requested". I have installed two other file browsing apps, and both of them can access all of my folders just fine.

Is there something I'm missing to be able to browse my own local files, on my own device, using the OS built-in file browser?

# Answer
As pointed out in comment, this is because of Scoped Storage introduced from Android 10.

Before Android 10, any app could read or write any files to external storage (the place where apps store their data), if they requested the `READ_EXTERNAL_STORAGE` and `WRITE_EXTERNAL_STORAGE` permissions. Starting from Android 10,apps can *only* access data created by them and *not* other app's data or common data like images, downloads etc.

This enhances your privacy and is a good thing. Apps can access *only* data created by them and if they need access to external storage they need to access it using Storage Access Framework (SAF). The file manager you are using isn't seeking permissions through SAF, so it can't read while other file explorers you installed can because they use SAF. Apps like Local Storage may help for using SAF when they don't employ this.

---

Aside, for those users who are rooted and would like to address the security concerns of apps reading data created by other apps, they can try Storage Isolation Magisk Module or XPrivacyLua also provides a solution by blocking app read/write access to the SD card completely (using the `Privacy.BlockGuardOS.open` repo hook) or by limiting access to the app's private directories (`/sdcard/Android/data/app-id` and others, using the `Fif.BlockGuardOS.open` repo hook).
> 1 votes

# Answer
Just came across this same problem on a Galaxy Tab S4.

Fixed it by clearing the data of the system 'Files' app (Settings \> Apps \> Show system apps \> Files \> Clear data).
> 1 votes

---
Tags: file-system, permissions, files, android-10
---


# Question
Title: How to shred deleted files to prevent data recovery?
Is there a good way for shredding my Android's free space to ensure data cannot be recovered? I want to permanently shred my deleted files in free space. I have heard of secure eraser and ishredder.

# Answer
### Managed flash memory

Most smartphones use managed eMMC memory which means the flash chip itself is performing the flash wear leveling (the eMMC chip has a small CPU integrated which performs the wear leveling). Effectively this means that you can not shred anything on such flash chips. If you try to overwrite a the data blocks that belongs to a file the newly written data is simply redirected to a new position in flash memory. Therefore the original data still exists but can no longer be accessed through the file-system.

The only way to erase at least large parts of the data with a high probability is to totally use-up all free space by writing one or more large files that use up all free space. But be careful - some devices "don't like it" if all flash memory is used (device crash, does not boot, ...). Therefore it is better to spare some KB and leave it unused.

The only safe way to totally erase data on a modern Android smartphone is to perform a factory reset. As modern Android devices are encrypted by default by performing a factory reset you erase and regenerate the encryption key (at least this is the way it should work).

### Unmanaged flash memory

On some simple/cheap Android system it may happen that the flash wear leveling is not implemented inside the eMMC memory itself. Instead those devices use unmanaged flash memory and implement wear leveling in software inside the file-system driver. This require special file-systems that include the wear leveling such as YAFFS/YAFFS2/JFFS2. On such systems it would be possible with root permissions to really overwrite and therefore erase data of one specific file.
> 9 votes

---
Tags: data-recovery
---


title: Undo effects of adb screenrecord

text:
# Question
Title: Undo effects of adb screenrecord
I tried out the screenrecord command through adb and executed it while my device was still locked (not sure if thats what caused it).

Now my lockscreen is in landscape mode with black bars around the side, and I can't use my touchscreen. I tried rebooting, but the problem persists. I currently can't use my device because of this, does anyone know how I can resolve this?

# Answer
> 2 votes
I finally manage to fix it using `adb shell wm size reset`

---
Tags: adb
---


# Question
Title: Default ATI Path Change setting on Samsung Galaxy A20
I've just purchased my Samsung Galaxy A20 and was configuring my settings, and I'm unsure what this specific setting does.

```
ATI Path Change (Both)
[0] Physical UART path
[1] AP path
[2] Both ATI, No RmPC

```

I accidentally hit my screen and it chose an option. Now I'm unsure what the default setting was.

I've tried to look it up but no luck to help guide me on the right or default setting was.

I've chosen "Both ATI, No RmPC", but which one was the default setting?

# Answer
The default is:

(2) Both ATI, No RmPC
> 1 votes

---
Tags: settings, dialer-codes, samsung-galaxy-a20
---


# Question
Title: Redmi note 8 - black screen won't turn on
I bought a cheap and broken Redmi note 8, the previous owner told me it won't charge. When I got it in my hands I tried turning it on and it vibrates, turn the led on for a second but no image. (this looked weird as usually phones shows a dead battery logo or something in the screen)

I left it charging for a while to see if something happens. The led light turned on as if it was charging so now I doubt it is a charging board issue.

I saw some videos of a trick of factory reset pressing volume up and down and power buttons for 12 seconds, others mention different combination of buttons but neither of them seemed to work. The phone vibrates a few random times, I can't tell if it's turning on or anything.

Now I think it's either the screen or some problem in the logic board. What do you think? Am I missing something? Is there any way to diagnose either of these things without buying a screen replacement?

Thanks for the help.

# Answer
> 1 votes
You can clean battery connector point. Try another battery.

Check display connection.

Connect mobile to computer use USB cable for 20 minutes. Disconnect mobile and again connect computer. If you see battery icon. then mobile is charging.

Use power and volume button to start mobile in recovery mode. Then select safe mode.

---
Tags: screen, redmi
---


# Question
Title: Automatically enable WiFi when you're near a saved network
It looks like one feature coming out in 8.0 Android O is the ability to Automatically enable WiFi when you're near a saved network

**Can this be accomplished through tasker today?**

1. Add Profile \> State \> Net \> Wifi Near (as in these questions here and here)
2. Enter SSID Network Name(s) / Select Networks currently in Range
3. This works one at a time, but ideally, you could pull from the current list of saved/configured WiFi networks. Android does keep a list of previously saved networks:

**Q**: *But is there anyway to programmatically retrieve all saved network names and set it as a variable?*

**Note**: Some apps exist like SmartWifiToggler, based on GPS, but I'd rather accomplish through tasker if possible.

# Answer
I had same issue and finally found a link to this project: https://www.reddit.com/r/tasker/comments/8p0ywt/project\_share\_switching\_to\_saved\_wifi/ The project itself does a bit more, but shows one way to get the saved wifis with default Tasker features.

So regarding your Q: But is there anyway to programmatically retrieve all saved network names and set it as a variable?

A: Yes, there is, using Tasker action of type Code -\> Java Function (see also function $getConfiguredNetworks in the linked project):

1.) Use Code Java Function to get WifiManager from CONTEXT

2.) Use Code Java Function to get configured networks from WifiManager

3.-6.) Use Variable Search Replace to get SSIDs out of the configured networks using regular expression

7.-8.) Set variable to be checked by Tasker Wifi Near State

9.) (Optional) Trigger steps 1-8 automatically

Detailed Tasker actions:

1.) Java Function:

a) Class Or Object=CONTEXT

b) Function=getSystemService{Object}(String) \<select using magnifying glass icon and either scroll down or use filter on the bottom of the screen, pay attention to not pick the (Class) version\>

c) Param=wifi

d) Return{Object}=(WifiManager) wifiman

--\> result in Tasker view should look like this: (WifiManager) wifiman = CONTEXT.getSystemService(wifi)

2.) Java Function:

a) Class Or Object=wifiman

b) Function=getConfiguredNetworks{List}()

c) Return{List}=%get\_configured\_networks

--\> result in Tasker view should look like this: %get\_configured\_networks = wifiman.getConfiguredNetworks()

Extract SSIDs, there are many ways, I did it looping over the list

3.) For: Variable %get\_configured\_networks Items %configured\_network

Delete everyting from the variable that is not the SSID using regular expression

4.) Variable Search Replace:

a) Variable=%configured\_network

b) Search=(?:.|\n)\*SSID:\s\*"(.\*)"(?:.|\n)\* \<this regex will capture the SSID name in capture group 1\>

c) Replace Matches=true

d) Replace with=$1

Add SSID to array

5.) Array Push: Variable Array %ssids Position 1 Value %configured\_network

End loop

6.) End For

Join SSIDs with / as separator to fit Taskers wifi near syntax SSID1/SSID2/.../SSIDn

7.) Variable Join %ssids Joiner /

Set Global Variable to be checked by Taskers Wifi Near State

8.) Variable Set Name %SavedWifis To %ssids

So once this is done, a Wifi Near %SavedWifis can be used. But after you have added a new Wifi or removed an old one, you need to update the value again.

9.) Execute Taks to refresh %SavedWifis regularly (for example based on time event or whenever wifi connected), if anybody knows a way to react on a 'savedWifisUpdated' event, please let me know.
> 3 votes

# Answer
Check out the app called IFTTT, I believe they have something like that where you can set that up.
> 0 votes

---
Tags: wi-fi, tasker
---


# Question
Title: How can I view a TLS 1.2 only website on an outdated tablet?
I have a tablet from 2011 (Prestigio MultiPad PMP3384B) with Android 2.3 which I use occasionally. I’ve experienced recently that I cannot view some webpages (https://www.nytimes.com/, for example) as they force using HTTPS (even if they provide public information mostly…). Presumably, it’s caused by a TLS version the device does not know.

On the contrary, https://www.google.com loads and http://www.google.com also works well (no redirection).

I checked the TLS version supported by www.nytimes.com (by following the article How to check what SSL/TLS versions are available for a website?):

```
$ nmap --script ssl-enum-ciphers -p 443 www.nytimes.com | grep TLSv
|   TLSv1.2:

```

The output for Google is:

```
$ nmap --script ssl-enum-ciphers -p 443 www.google.com | grep TLSv
|   TLSv1.0:
|   TLSv1.1:
|   TLSv1.2:

```

What I’ve also tried:

**Is there any way to view TLS 1.2 only websites on such a device?**

# Answer
You can use Opera Mini, which still supports Android 2.3 and uses its servers to compress data.
> 0 votes

---
Tags: 2.3-gingerbread, browser, https
---


# Question
Title: Bluetooth pairing fails, no more PIN entry field
I wanted to pair a bluetooth device (specifically, Dynamo Harvester) with my Moto G 2 (Android 6) with the normal workflow: Open bluetooth system settings, scan for devices, select *Dynamo Harvester*, enter the PIN and it is paired.

Now, after entering the wrong PIN (0000 instead of 000000) several times – where most of the time a message was displayed that the PIN was wrong –, I entered the correct PIN, and something strange happened. The *Incorrect PIN* message popped up for a brief moment, and afair the device moved to the list of paired devices.

Since the app still did not recognize the Dynamo Harvester, I turned bluetooth off and on again. Now the device has disappeared from the list of paired devices, but appears in the scan list. If I try to pair, I cannot enter a PIN anymore but receive a message *Can't communicate with Dynamo Harvester*.

I thought that perhaps the device is broken somehow, but connecting with a Samsung Android tablet worked just fine (with the correct PIN).

What can I do? Might this even be a bug in Android because of the strange message about the incorrect PIN, although it was correct?

# Answer
I recently had a similar problem though different devices (Android Google Nexus 7 running Marshmallow and Motorola Buds Bluetooth headset). Turns out the headset needed a reset to forget all the devices it had learned. Since I switch between devices, I suspect my data in the headset itself had become corrupted. In any case this fixed my problem. You might try finding a headset reset for your device and see if that fixes your problem. You may also need to have your phone/tablet forget all the devices, too, as that has helped me in the past.
> 0 votes

# Answer
Go to setting / system / reset /reset Wi-Fi and Bluetooth.

Turn on Bluetooth. Search device and tap on it. It will ask pin. Enter your pin.
> 0 votes

---
Tags: 6.0-marshmallow, motorola-moto-g2, bluetooth-pairing
---


title: Firefox for Android: blocking images?

text:
# Question
Title: Firefox for Android: blocking images?
I would like to prevent Firefox from loading images, due to 3g data limit.

* I was googling for an anwser, but it seems that option is not available, and, to my surprise, I did not find any posts mentioning it *does not* exist.
* There is no option in `about:config` that looks like the one `permissions.default.image` in the desktop version of Firefox.
* No extension (in particular, the Image Block) seems to be installable in Firefox 16.0 for Android.

Can you suggest a solution, or a browser, which supports this feature?

# Answer
> 1 votes
The Dolphin browser has an option to turn off images. I believe most versions of the stock browser have this capability as well. The 4.0.4 version can disable images via `Settings ->Bandwidth management -> Load images`, and I'm pretty sure that the Gingerbread browser had this capability as well.

# Answer
> 1 votes
Opera Mini / Opera Mobile are two recommended options for saving money on data charges:

> Opera's mobile browsers are the smart choice for browsing on expensive wireless data plans. Using Opera Mini or Opera Mobile to browse the web with your mobile phone can save you money on your phone bills, by reducing your data usage substantially. Opera Mini uses only a tenth of the bandwidth of other browsers, compressing webpages by up to 90%. With Opera Mobile, turning on Opera Turbo compresses data by up to 80%, or leave Opera Turbo off to get full website data, as you would on a PC.

Additionaly, of course, they allow to turn off images via settings.

You can download them from

# Answer
> 1 votes
At Firefox Android Add-Ons, there is a recent add-on that is just what you want:

# Mobile Image Blocker v1.0

> Speed up browsing on mobile connections and use less data by blocking all images. Working on images defined in HTML, CSS and JavaScript.

# Answer
> 1 votes
Try the add-on uBlock and tick Block media elements larger than...(I set mine to 1KB)

# Answer
> 0 votes
this feature is now available in Firefox Nightly but will be shipped in 45/46: https://bugzilla.mozilla.org/show\_bug.cgi?id=1170725

Menu-\>Settings-\>Advanced-\>Show Images

# Answer
> 0 votes
If you always want Firefox to block images when using mobile data then you can set it in the menu: *Settings**Advanced**Show images* → choose *Only over Wi-Fi* or *Blocked*. This is however tedious if you often quickly want to turn this option on or off.

As far as I know, there‘s no working add-on for Firefox for Android (Fennec) 67.0 at the moment (the mentioned addon Mobile Image Blocker is not compatible anymore since quite some time).

However, there‘s **Firefox Lite** as an leightweight browser app for Android (seems like it was called Firefox Rocket formerly). Apparently it‘s currently only available in some asian countries through Google Play, but you can also install it via F-Droid from anywhere in the world (either install F-Droid or manually download an install the Firefox Lite APK file from the F-Droid website). It has an easily accessible option for enabling and disabling blocking images. In the current state it‘s lacking some features like linking it to Firefox Sync for syncing bookmarks for example. Overall it‘s still a good option to reduce traffic when surfing the web on the go.

---
Tags: firefox-for-android, data-plan, bandwidth
---


# Question
Title: Only get sound notifications from contacts and certain apps
I get a lot of annoying spam calls and texts. I want my phone to only give me a sound notification when someone from my contacts list calls or texts me. So I turned on the Do Not Disturb mode, and selected the priories, so that I only get notifications from my contacts.

The problem with this, is that now none of my apps give me notifications. I still want to get notifications from certain apps, like Skype for instance. So I clicked on the app notifications, to select the apps that I want to override the do not disturb. But I am only given a few odd app choices, not all of my apps. (See photo) But if I turn off do not disturb, I get spam calls and texts all day, which is pretty annoying.

Can anyone help me figure out how I can get sound notifications from my contacts only (Call and Text), but still get other app notifications?

I appreciate anyone's help. Thanks!

# Answer
> 1 votes
## Info

You could be better off with another approach like for example:

1. Set the notification sounds for SMS and ringtone to an empty audio clip. (no sound)
2. Add all your contacts to a contact group.
3. Set your preferred SMS/ringtone sounds for that entire contact-group.

This may be better for long term use since it won't hide and silence notifications of all installed apps.

Note: *This may depend on your phone make/model/firmware.*

## Answering your question

I'll use Skype as an example.

**Open app info for skype**
Settings-\>Apps-\>Skype

**Notification settings**
Select notifications, then tap *the name* of any *notification category* (not the toggle switch).

Then toggle (enable) the option named *Ignore do not disturb* at the bottom the list.

---
Tags: notifications, audio, do-not-disturb
---


# Question
Title: How can I prevent my HTC Desire from overheating?
Recently I bought an HTC Desire overall I'm very happy with it. There seems to be one major flaw, it overheats quite easily causing it to reboot. I've run into this several times while driving using the navigation whilst recharging. Does anyone have any suggestions to workaround this problem? I've searched around but haven't found any helpful information.

# Answer
> 2 votes
\[I also have a HTC Desire\]

Your device overheats because its hardware is strained a lot during heavy use such as turn-by-turn navigation. This is compounded by the fact you probably have plugged it in the car charger as well, which is also known to generate some amount of heat (you probably have noticed this yourself when charging your phone normally).

There doesn't seem much that you can do to alleviate the problem, except turning off turn-by-turn navigation and only use the map to show you the route. You might also want to check whether there are other apps and services that strain unnecessary the device (frequent syncing could be an issue, as well as Bluetooth and mobile internet).

# Answer
> 1 votes
I also have the same problem i bought my HTC desire 3 weeks ago and if i stay on the internet for around 5 minutes, the phone starts to become extremely hot and if i continue ton use it it will cut of and reboot. my solution was take of the back cover and expose the battery. Taking this measure it kept my phone a little cooler and did not have to reboot.

# Answer
> 1 votes
I have a rooted HTC Desire. My phone used to overheat and reboot.

I tried to solve it by moving some of my apps from Phone to SD. The phone is generally good but the battery runs out very quick. I advise nobody to get a task killer application from the market as i have experienced that it kills the phone battery more.

I tend to use 3G mobile-internet and that made my phone to overheat and crash - after I started using WiFi, it made a difference. Also this phone has problems in general with the battery the best advice would be to get a new battery of Amazon or E-bay and it lasts twice as long and the phone doesn't overheat at all.

# Answer
> -1 votes
Do not install unstable software. It is not stable. Then your mobile overheat.

Do not change CPU pulse rate. Keep normal number.

Keep free RAM and free space. Overload can heat mobile.

Some games need more RAM. It can overheat mobile.

Update operating system.

---
Tags: htc-desire, overheating
---


# Question
Title: Can I rotate my camera to landscape mode with broken gyroscope?
A lot of sensors on my machine are destroyed, including the gyroscope and accelerometer, because I am a terrible phone owner. As a result, the camera does not rotate and my steps aren't counted.

Anyway, is there an artificial way to rotate my camera in landscape mode? Is there some setting or an application I can use to fix the camera precisely? (I checked a dozen of apps that only rotate the screen, but the camera remains in portrait mode within the landscape mode of the screen.)

My device is Huawei P20 Pro and its OS is Android 10.

# Answer
It turned out the Rotation Control App, with its rightmost option, image the same as auto-rotate icon, does the job for me. E.g., streaming in Facebook is successfully affected, which was my final goal.

More details can be found here:

https://www.phonearena.com/news/How-to-force-landscape-or-portrait-mode-in-apps-like-Instagram-and-others-Android\_id78439
> 1 votes

---
Tags: camera, huawei, auto-rotation, gyroscope, huawei-p20
---


title: How to turn note into checklist

text:
# Question
Title: How to turn note into checklist
In Google Keep, is it possible to convert a normal list into a checkbox list? Equivalently, is it possible to unhide check boxes?

# Answer
> 2 votes
To add checkboxes: open the note, click on the + symbol at the bottom left corner and click "Checkboxes""
To remove checkboxes: open the note, click on the 3 vertical dots on the top right corner and click "Hide Checkboxes"

# Answer
> 0 votes
I couldn't find a way to do this on the Android app, but you can go to https://keep.google.com/ for the web version, click on the note, click on the 3 dots and click "show checkboxes". When the Android app syncs, it will also have the checkboxes.

# Answer
> 0 votes
Just open the note and click on little + under the list on the left side and then select *Checkboxes*.

# Answer
> 0 votes
Yes you can do it in android phone...!

1. Select the desire text
2. Cut it
3. Activate the checkbox back again
4. Paste the text

The easy way...!

---
Tags: google-keep
---


# Question
Title: How to copy paste between Android and Windows?
I just want Ctrl+C and Ctrl+V work across all devices: from Windows to Android and from Android to Windows. Be it just a text or a file (like this in pushbullet, but for pushbullet, universal copy paste is premium feature.)

I am trying AirDroid. What all I found related to this is this:

I have to do Ctrl+C, then open this app, go to relevant device tab and click these buttons.

**Q1.** Is this the procedure? Can't I just do Ctrl+C on Windows and long press and paste on Android. Also copying from Android's clipboard to Windows did not work while the other way worked every time.

**Q2.** Is there another way? Is there any better software which does it for free, for text and files, without lag, on same network devices?

# Answer
> 0 votes
I personally use MyPhoneExplorer. It is a free software without any ads or malware. Actually it is a full fledged PC suite for Android. It supports universal clipboard, screen mirroring & many other things.

# Answer
> 0 votes
Samsung SideSync is good software. You just need to drag and drop from android to windows computer. Operating system require is Windows XP Service Pack 3 and higher.

---
Tags: windows, copy-paste
---


# Question
Title: How to stop a video from a web page from continuing to play after I shut down web page?
I often play videos that are embedded in a web page.

When I close Google or Chrome, the video keeps playing and I can't find it.

What setting do I need to change so that the video stops when I close the web page?

# Answer
Go to setting /system. You can turn off Running background app when Google chrome is closed. When web page is closed, it will not play video.

You can reset setting to default.
> 0 votes

---
Tags: video, samsung-galaxy-s7
---


# Question
Title: Is it possible to update from Android 4.2 to 4.4 without disturbing the bootloader?
I have, for example, downloaded an update from android 4.1 to 4.2. All it consisted of was 10 new system apps, 5 libraries, 3 fonts, and a new bootanimation.

What I would like to know is if an update from 4.2 to 4.4 could be done as simply, like by changing out some system apps and/or libraries?

# Answer
KitKat has introduced SELinux therefore you can't just update by changing out some system apps and/or libraries.

Nevertheless, while this is a broad statement you may succeed for updating single apk files.
> 0 votes

---
Tags: root-access, updates, bootloader, bootloader-lock
---


# Question
Title: Where to modify the pseudonym used to rate Android apps?
I am currently rating android applications that I downloaded with the username `firstname.lastname` where `firstname` and `lastname` are mine.

However, I would like to put a pseudonym on it because my real name reveals to everybody the device I am using, which should be private. Currently, my rating looks like this one:

```
firstname.lastname on May 22, 2012 (Samsung Galaxy S2 with version 1.0)

```

I looked into my public profile of Google+, but I cannot find something which looks like `firstname.lastname`. I looked on the Google Play website, but I did not find related preferences.

Where can I change this name? Is it in the device itself or what?

# Answer
> 1 votes
Ok, I finally found it. I need to click on "edit/modify" close to the e-mail addresses in the google account setting

https://www.google.com/settings/

Then the hidden nickname option appears. Thank you for your suggestions.

# Answer
> 3 votes
Change your nickname in your Google account settings.

# Answer
> 1 votes
Now accepted answer is obsolete. Now go to https://myaccount.google.com/personal-info then click "Choose what others see" then you are on "About me" page and in section "Basic info" next to the name is arrow, click it and there you can enter nickname.

But nickname can not be used standalone but only combined with name and surname. Google fail!

---
Tags: google-play-store, privacy, app-ratings
---


# Question
Title: Moving App to SD Card in Android 10 (LineageOS 17.1)
My phone (a Samsung A3 2016) used to allow me to move some apps to the SD card under its stock ROM (Android 7).

Last year I updated to Android 9 using LineageOS 16.0 and more recently to Android 10 with LineageOS 17.1.

However, ever since I made the switch I've lost the ability to move apps to the SD card. I go into Settings\>Apps and notifications\>App Info, choose an app that I know can be transferred, and the option is no longer there. I was hoping that the upgrade to Android 10 would fix this but it hasn't.

Does Android 10 no longer support this feature? Is it just the custom ROM I've used? Or is there a way to re-enable this feature. I would really like to get it working again as my phone only has 16GB of internal storage.

# Answer
As it turns out; reformatting the SD card as internal storage activates this feature.

I can now move some apps to the SD card rather than the phone's internal storage.
> 1 votes

---
Tags: applications, sd-card, storage, lineageos, android-10
---


# Question
Title: Genymotion player crashes when selecting the webcam option
Every time I select the webcam option on the Genymotion player, the title of the webcam option comes up, but then the hole emulator crashes.

I'm using the free version of Genymotion. I get this problem, regardless of the Android type or screen size etc.

**System Info:**

```
System:    Host: ALU Kernel: 5.10.7-3-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.1
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 root=UUID=138895c2-cc5c-4591-bc68-fd58c682d6f3 rw quiet apparmor=1
           security=apparmor resume=UUID=cbdc85f0-ae63-47be-89e8-038462fcc2f3 udev.log_priority=3
           Desktop: KDE Plasma 5.20.5 tk: Qt 5.15.2 info: plank wm: kwin_x11 dm: SDDM Distro: Manjaro Linux
Machine:   Type: Laptop System: LENOVO product: 80TU v: Lenovo ideapad 310-14IKB serial: <superuser required> Chassis:
           type: 10 v: Lenovo ideapad 310-14IKB serial: <superuser required>
           Mobo: LENOVO model: Torronto 4C2 v: NO DPK serial: <superuser required> UEFI: LENOVO v: 3JCN21WW date: 09/23/2016
Battery:   ID-1: BAT0 charge: 23.6 Wh condition: 25.4/30.0 Wh (85%) volts: 8.6/7.4 model: SMP L15M2PB2 type: Li-poly
           serial: 9238 status: Charging
CPU:       Info: Dual Core model: Intel Core i7-7500U bits: 64 type: MT MCP arch: Amber/Kaby Lake note: check family: 6
           model-id: 8E (142) stepping: 9 microcode: DE L2 cache: 4 MiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 23209
           Speed: 1192 MHz min/max: 400/3500 MHz Core speeds (MHz): 1: 1192 2: 1200 3: 1200 4: 1200
           Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable
           Type: meltdown mitigation: PTI
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
           Type: srbds mitigation: Microcode
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel HD Graphics 620 vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:5916
           Device-2: NVIDIA GM108M [GeForce 920MX] vendor: Lenovo driver: nvidia v: 460.32.03 alternate: nouveau,nvidia_drm
           bus ID: 03:00.0 chip ID: 10de:134f
           Device-3: Chicony EasyCamera type: USB driver: uvcvideo bus ID: 1-4:2 chip ID: 04f2:b57d serial: 0001
           Display: x11 server: X.Org 1.20.10 compositor: kwin_x11 driver: loaded: modesetting display ID: :0 screens: 1
           Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.2x8.0") s-diag: 414mm (16.3")
           Monitor-1: eDP-1 res: 1366x768 hz: 60 dpi: 112 size: 309x173mm (12.2x6.8") diag: 354mm (13.9")
           OpenGL: renderer: Mesa Intel HD Graphics 620 (KBL GT2) v: 4.6 Mesa 20.3.3 direct render: Yes
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo driver: snd_hda_intel v: kernel alternate: snd_soc_skl
           bus ID: 00:1f.3 chip ID: 8086:9d71
           Sound Server: ALSA v: k5.10.7-3-MANJARO
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Lenovo driver: r8169 v: kernel port: 4000
           bus ID: 01:00.0 chip ID: 10ec:8168
           IF: enp1s0 state: down mac: c8:5b:76:78:e3:cd
           Device-2: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter vendor: Lenovo driver: ath10k_pci v: kernel
           port: 4000 bus ID: 02:00.0 chip ID: 168c:0042
           IF: wlp2s0 state: up mac: 58:00:e3:41:87:99
           Device-3: Qualcomm Atheros type: USB driver: btusb bus ID: 1-7:4 chip ID: 0cf3:e500
           IF-ID-1: vboxnet0 state: up speed: 10 Mbps duplex: full mac: 0a:00:27:00:00:00
Drives:    Local Storage: total: 372.62 GiB used: 275.8 GiB (74.0%)
           SMART Message: Unable to run smartctl. Root privileges required.
           ID-1: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37240G size: 223.57 GiB block size: physical: 512 B
           logical: 512 B speed: 6.0 Gb/s serial: 50026B73801F8542 rev: 0102
           ID-2: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST9160412AS size: 149.05 GiB block size: physical: 512 B
           logical: 512 B speed: 3.0 Gb/s serial: 5VGCALEC rev: HPM1
Partition: ID-1: / raw size: 214.47 GiB size: 210.11 GiB (97.96%) used: 171.58 GiB (81.7%) fs: ext4 dev: /dev/sda2
           maj-min: 8:2
           ID-2: /boot/efi raw size: 300 MiB size: 299.4 MiB (99.80%) used: 312 KiB (0.1%) fs: vfat dev: /dev/sda1
           maj-min: 8:1
Swap:      Kernel: swappiness: 60 (default) cache pressure: 100 (default)
           ID-1: swap-1 type: partition size: 8.8 GiB used: 2.61 GiB (29.7%) priority: -2 dev: /dev/sda3 maj-min: 8:3
Sensors:   System Temperatures: cpu: 43.0 C mobo: N/A
           Fan Speeds (RPM): N/A
Info:      Processes: 265 Uptime: 8h 55m wakeups: 7 Memory: 7.67 GiB used: 6.19 GiB (80.6%) Init: systemd v: 247 Compilers:
           gcc: 10.2.0 Packages: 1676 apt: 3 pacman: 1660 lib: 464 flatpak: 0 snap: 13

```

**Last 20 lines of genymotion-palyer.log:**

```
2021-01-24T17:50:02+05:00 [Genymotion Player:135865] [debug] [Adb][shell] command: "/home/UserName/Software/genymotion/tools/adb" -s "ipaddress"" shell ("getprop", "dev.bootcomplete")
2021-01-24T17:50:02+05:00 [Genymotion Player:135865] [debug] [Adb][shell] ("getprop", "dev.bootcomplete")  - exit code: 0
2021-01-24T17:50:03+05:00 [Genymotion Player:135865] [debug] [Adb][shell] command: "/home/UserName/Software/genymotion/tools/adb" -s "ipaddress"" shell ("getprop", "dev.bootcomplete")
2021-01-24T17:50:03+05:00 [Genymotion Player:135865] [debug] [Adb][shell] ("getprop", "dev.bootcomplete")  - exit code: 0
2021-01-24T17:50:04+05:00 [Genymotion Player:135865] [debug] [Adb][shell] command: "/home/UserName/Software/genymotion/tools/adb" -s "ipaddress"" shell ("getprop", "dev.bootcomplete")
2021-01-24T17:50:04+05:00 [Genymotion Player:135865] [debug] [Adb][shell] ("getprop", "dev.bootcomplete")  - exit code: 0
2021-01-24T17:50:05+05:00 [Genymotion Player:135865] [debug] [Adb][shell] command: "/home/UserName/Software/genymotion/tools/adb" -s "ipaddress"" shell ("getprop", "dev.bootcomplete")
2021-01-24T17:50:05+05:00 [Genymotion Player:135865] [debug] [Adb][shell] ("getprop", "dev.bootcomplete")  - exit code: 0
2021-01-24T17:50:05+05:00 [Genymotion Player:135865] [debug] Device booted in 7474 ms
2021-01-24T17:50:05+05:00 [Genymotion Player:135865] [debug] "Notifying launchpad of status change: 8bb23482-88eb-41a1-b946-32593ca6654d ON"
2021-01-24T17:50:05+05:00 [Genymotion Player:135865] [debug] [Adb][shell] command: "/home/UserName/Software/genymotion/tools/adb" -s "ipaddress":5555" shell ("pm list packages")
2021-01-24T17:50:06+05:00 [Genymotion Player:135865] [debug] [Adb][shell] ("pm list packages")  - exit code: 0
2021-01-24T17:50:06+05:00 [Genymotion Player:135865] [debug] [Adb][shell] command: "/home/UserName/Software/genymotion/tools/adb" -s "ipaddress":5555" shell ("ls /data/.genymotion")
2021-01-24T17:50:06+05:00 [Genymotion Player:135865] [debug] [Adb][shell] ("ls /data/.genymotion")  - exit code: 0
2021-01-24T17:52:07+05:00 [Genymotion Player:135865] [debug] "Dummy camera" released by DeviceCameraPipe(0x1b42f30) count: 0
2021-01-24T17:52:07+05:00 [Genymotion Player:135865] [debug] "Dummy camera" acquired by CameraView(0x1b0d2a0) count: 1
2021-01-24T17:52:07+05:00 [Genymotion Player:135865] [debug] "Dummy camera" released by DeviceCameraPipe(0x1a35ff0) count: 1
2021-01-24T17:52:07+05:00 [Genymotion Player:135865] [debug] "Dummy camera" acquired by CameraView(0x192d2d0) count: 2
2021-01-24T17:52:07+05:00 [Genymotion Player:135865] [debug] Linux/Windows: media permissions are authorized by default

```

Thanks a lot.

# Answer
So I solved this by installing Genymotion as root,

```
~>>> sudo su
#>>> ./genymotion-installer.bin

```
> 0 votes

---
Tags: linux, android-emulator, genymotion, webcam
---


# Question
Title: Controlling an Android phone's audio player via the buttons on the headset?
I am interested in finding documentation about controlling an Android phone's audio player (e.g. play/stop/skip forward 20 seconds) with the buttons on the phone's headset. Based on my searches this doesn't seem to be a well-documented topic.

Is there another forum in which I should ask this question?

More specifically, I am shopping for a new Android cell phone (I am leaning toward a Moto G Power). I use my phone as an audio player and would like to buy a phone that:

1. supports the use of the wired headset button(s) for such functions as play/stop/skip forward 30 seconds and;
2. supports the use of an app(s) \[1\] that control the cell phone audio player and;
3. Performs 1 & 2 with a wireless headset.

Every few years I find myself looking for information on this topic and never seem to find much that is useful.

Ref. \[1\] head set button controller apps such as ...https://play.google.com/store/apps/details?id=com.irishin.buttonsremapperhttps://play.google.com/store/apps/details?id=flar2.homebutton OLD-https://beebom.com/5-apps-to-control-and-tweak-your-headset-buttons-in-android/

# Answer
> 2 votes
From a hardware perspective, as can be seen here, all Android phones with 3.5mm jack are required to support the following functions: play/pause/hook (Short Press), Trigger Assist (Long Press), Next (Double Press). They can optionally also support: volume up/down. I believe that these days all new phones support all of them.

It's then up to each specific application (e.g. a music player) to make use of these capabilities. Here too, I also believe that most of them do. Of course you also need your headphones to come with the relevant buttons.

---
Tags: headset-controls
---


# Question
Title: What does a "crossed circle" system notification icon mean on Amazon Kindle Fire HD 10?
I recently spotted a "crossed circle" system notification icon on my Fire HD 10.

What does it mean?

# Answer
> 3 votes
It means that you have not turned on the "hands free" feature of the Alexa app. Instead of just speaking to Alexa, you will first have to long press the home button to make her listen to you.

# Answer
> 0 votes
Circle with slash means you tapped the volume button and then selected "None". It means you are in silent mode. In some devices it's also when there's no cellular network.

# Answer
> 0 votes
It means hands-free Alexa.

You can change that on and off at the notification bar.

# Answer
> 0 votes
When this sign (circle with line through)is on it means that Alexa does not work, go to settings and activate Alexa and it disappears. Note :- this is on a Kindle Fire Tablet.

---
Tags: notification-icons, amazon-kindle-fire-hd
---


# Question
Title: How can I Automate for selected apps to only use cellular data and not Wi-Fi... and vise versa?
I tried doing it myself (On Automate) but it's a bit too advanced. Can I get your help?

Also, I think Android overriding data connection when wifi is on might have to be factored in. I could use Afwall (and Netguard?) to control what connection they use but if the wifi is on, then the app won't be able to use data. For example, on Afwall, I have app x restricted from using Wi-Fi and enabled for it to only us data. But if both WiFi and data connections are on, then the app gets no connection. But if I turn Wi-Fi off, then it will get connected. Turn Wi-Fi back on and no connection again. How do I get around this?

Android 7 | Rooted

# Answer
> 2 votes
1. On the Apps section, select App in foreground? Tap on the block. On the package option, select your app. Press Save.
2. On the Connectivity section, select Wi-Fi set state block. Set the Wi-Fi option to On. Press Save. Link the block to the Yes output of Step 1.
3. On the Connectivity section, select Mobile data set state block. Set the Mobile data option to On. Press Save. Link its input to the No output of Step 1.
4. On the Connectivity section, select Wi-Fi set state block. Set the Wi-Fi option to Off. Press Save. Link its input to the output of Step 3. Then link its output to the input of Step 1
5. Your flow will look like the image below. Give it a name, give the necessary permissions, start the flow.

---
Tags: scripts, automate
---


title: How to create a shortcut to a text file

text:
# Question
Title: How to create a shortcut to a text file
I have a text file somewhere on the SD card.

How can I create a shortcut to this file on the "desktop" to open it immediately?

(HTC Wildfire)

# Answer
> 1 votes
Amaze file manager, offers this option as well, just long click on a file or folder you would like to be able to enter to with a shortcut from the home screen and tap the 3 dots menu button at the top, then choose `add shortcut`.

Amaze File Manager is a FOSS file manager and it has many nice features stock file managers don't offer. For example, you can open with it files as text/image/video/audio/database with the application of your choice no matter what the file extension is - that's very useful for users who create or download/sync text files with no file extension or non relevant file extension like `.log`, `.yaml`, `.json` etc.

# Answer
> 0 votes
Here is another app: Shortcut Maker. It works with the latest version of Android.

After installing the app, go to Widgets by long-tapping the home screen and click on shortcut maker. Then add the required file/folder.

---
Tags: home-screen-shortcuts, file-system, file-management
---


# Question
Title: Batch install apks from computer to Android without actually touching my Android
I want to batch install apks from my desktop directly. Such as I downloaded many apks on the desktop and want to install apks without actually touching my android.

How to do this?

# Answer
> 21 votes
That's done easiest using (see the ADB tag-wiki for details on what ADB is and how to get/install it on your machine). As you don't state the OS you're using on your desktop, I write how it could be done on Linux (which I work with); should be easily adaptable to other platforms:

* put all your downloaded `.apk` files into a single folder
* connect your Android device, and make sure it's recognized (`adb devices` should list a connected device)
* open a terminal/command prompt, and change to the directory where your `.apk` files reside
* run `for file in *.apk; do adb install $file; done`
* watch all the apps getting installed, without requiring any further interaction :)

---

NOTE: If you have `.apk` files which have "spaces" in their names such as 'Xposed Framework', 'Adobe Flash Player' etc. then you will have to rename them, as ADB cannot handle that. Either remove the spaces altogether, or replace them e.g. by underscores. Linux provides a Perl script for that (`/usr/bin/rename`) which you can use:

```
rename 's/ /_/g' *.apk

```

It replaces all `space` character with `_`, which makes names like this `Xposed_Framework`, `Adobe_Flash_Player` which are recognizable by adb.

# Answer
> 3 votes
If you have apks in different folders (like if you used `adb pull`) then you can use my script below:

`for /r %f in (*.apk) do adb install -r "%f"`

Just run it in the folder above all your APK Files and it will recurse and install all of them.

# Answer
> 0 votes
For windows, open command line:

```
set PATH=%PATH%;C:\path_to_your_platform-tools\

```

then

```
for %e in (*.apk) do adb install %e

```

# Answer
> 0 votes
So you have a problem that you have tons of apps to install and you didn't do a backup like Titanium Backup or other backup-restore app. But one-by-one installing and confirming and waiting would take forever, not to mind it's so tedious!

I tried to find an app that could do it to save me the effort, but after trying them all, none of them worked. So I was doing it one-by one and it was taking so long that I decided to just do it with ADB.

No worries, I am here to save you, if you are using Windows. You can solve this using ADB. You might not know how to use ADB so I will write the full instructions here. Don't worry, it's easy.

How to do it in Windows:

On your phone,

1. Be sure your phone's drivers are installed. For example, Samsung drivers or LG drivers form the manufacturer's website.
2. Go into `Settings > Developer Options` (Click on `Settings > About Phone > Software > Build Number` 7 times to activate Developer mode)
3. Turn on `USB Debugging`
4. Turn OFF `Verify apps over USB`
5. Connect your phone via a USB cable to your computer.
6. On your phone select the popup that says allow USB Debugging. If you don't see it or missed it, just turn off and back on USB Debugging and it should pop up again if your phone is connected.

Now you are ready for the next step.

On your Windows computer:

1. Download Android SDK Platform Tools
2. Extract the `platform-tools` folder into your computer. I recommend the root of your `C:` drive, so that it is located at `C:\platform-tools\`
3. Get all your APK files you want to batch install and put them into a folder and put it into your platform-tools folder. For example, you might make a folder named "apks" located at `C:\platform-tools\apks\`
4. Open a CMD (Command Prompt) window. (Ideally, right-click and run as administrator just to be sure. It may not be necessary.)

Now, your phone is connected and you have ADB installed on your computer, so you are ready to enter the following into your command line.

First, test to see if your device is connected.

```
cd C:\platform-tools\

adb devices

```

If your phone is properly connected, you will see something like this:

```
* daemon not running: starting now at tcp:5037
* daemon started successfully
List of devices attached
Z1Z1Z1Z1Z1Z1    device

```

where `Z1Z1Z1Z1Z1Z1` is the device ID of your phone.

If you saw that, you are successful. Proceed to do the install commend:

```
for %e in (apks\*.apk) do adb install %e

```

If it worked, success! Enjoy watching everything get installed quick. It's probably faster to do this than to manually install 300+ apks on your phone.

---

**ISSUES AND SOLUTIONS**

If you get the error `more than one installed` and you saw `emulator-5556` under your device, try this (or you can skip to the end and see the way to get around this problem):

1. reboot phone
2. `adb kill server` in the CMD window
3. When phone finished rebooting, type: `adb devices`
4. If it worked and only your phone shows, then great!
5. Type again `adb kill server` in the CMD window (don't check adb devices again)
6. If you still see emulator then try these instructions.

Then run the final command and watch everything get installed.

* If you get error "FAILED ALREADY EXISTS" it is because the app already exists on your phone and it won't reinstall it, it will only install apps which are not installed yet.
* If you get your phone crash and disconnect, it's because the screen timed out while it was installing. You could swipe the screen on the desktop occasionally and it should prevent it from sleeping and blocking your install making you start over.

All apps might not install because your computer is too fast for the command prompt and some might say "more than one device/emulator", while others install normally. In this case, I have a solution.

1. Type `adb devices`. Take note of your device ID like the `Z1Z1Z1Z1Z1Z1` in the output above.
2. Specify your device ID after `-s`.

See an example command below:

```
for %e in (apks\*.apk) do adb -s Z1Z1Z1Z1Z1Z1 install %e

```

where `Z1Z1Z1Z1Z1Z1` is the device ID of your phone.

This is going to make sure that ADB ignores any other devices and it will prevent the "multiple devices" error.

Hope it helps!

# Answer
> 0 votes
In addition to `adb install`, you can directly use `package manager` from `adb shell` to install apps. Place `.apk` files in `/data/local/tmp` and make sure files are readable, SELinux context must be `u:object_r:shell_data_file:s0`. Now:

```
~$ cd /data/local/tmp
~$ ls *.apk | xargs -I {} pm install '{}'

```

Another simple root solution - though not from computer - is to use some file explorer e.g. MiXplorer to batch install apps. Select all `.apk` files and tap on `Install` from menu.

# Answer
> 0 votes
For Linux, in the directory that APK is located, open terminal and type `find . -name "*.apk" -exec adb install {} \;`

# Answer
> 0 votes
For **Windows**:

Using **ADB** (Android SDK Installed & PATH set correctly) and **Command Prompt** on Windows

Run the following to make sure ADB is working

```
adb devices

```

Place all APKs in a folder

```
cd C:\your\path\to\folder\of\apks

for %e in (*.apk) do adb install "%e"

```

Improved version based on @thetechreader's answer (works for file names with space/symbols)

# Answer
> 0 votes
I just ran into the same situation. Am writing this soln which is enhancement from the ones given for two reasons
--You have a LOT of apps to install most likely your previous backup . Cant afford to keep phone connected . If your `adb` snaps you should know what you already installed and not waste time, going over everything again
--If some apps erred - need to know which ones and avoid them

I did this with `adb shell` but you can do it from outside much the same. My Apps were lying in my memory card `partition`.

```
for apk in `find  . -iname *apk -type f`  ; do  pm install $apk
 ( test $?  -ne 0  &&  mv $apk    $apk.ni )  || mv  $apk  $apk.ok ; done

```

sample output of bad installs

```
# find . -iname *.ni -type f
./org.satok.gweather-bSyZZ3_Zu8ElvJR_4l5sJg==/base.apk.ni
./com.teslacoilsw.launcher-AAZW9c2u4qCjIL3ZmVKsQg==/base.apk.ni
./com.linkedin.android-hLWhs0ddIZ2KWTRO-bZG_Q==/base.apk.ni
./com.google.android.apps.youtube.music-arEVgcC5NTbNUAwP-oYz6A==/base.apk.ni
./com.udemy.android--4YWw0rFLDSA-koaYxCsRA==/base.apk.ni
./com.theporter.android.customerapp-rKFfqbF4WgXvCouQ4ZcvUQ==/base.apk.ni
./com.vested.investing.android-tx7OKTeaemkmdOnomJqTGg==/base.apk.ni
./com.inscripts.namaste-TnRILvo6qbtjjen2r-BTSw==/base.apk.ni
./com.google.android.soundpicker-13nSUeHMYf5qIkXTC1I56Q==/base.apk.ni

```

and good installs

```
find . -iname *.ok -type f
./org.videolan.vlc-UMth4_20QtXe66eAx1qzRw==/base.apk.ok
./com.zoho.meeting-0fFi8KgjQBd2N0OZcwdyqA==/base.apk.ok
./sulekha.yellowpages.lcf-JGBM0zpT3hVj2XShwoKvRw==/base.apk.ok
./com.teradata.tcapp-BjVV7TLB5aBUfbW32KzN2A==/base.apk.ok
./com.oasisfeng.greenify-_OK3qGqs7MsTO-QY5aKOeQ==/base.apk.ok

```

Its a good idea to also Id \`apks\` which have \`split apks\` within & move them elsewhere before you kick off the run.

# Answer
> -1 votes
You can install APK directly from your computer to Android mobile through ADB. First, download ADB and install it. You can download it from Google's DL Repository if you did not have it already.

Then enable developer mode on your mobile. You can find it in the settings of your mobile.

And then run this command.

```
adb install "path to your apk file"

```

For example:

```
C:\Users\Owner>adb install C:\Users\Owner\Downloads\android-agent.apk

```

---
Tags: adb, installation, apk
---


# Question
Title: How do I run the latest version of rsync as root with SimpleSSHD?
SimpleSSHD is a free (open source, no ads) SSH server based on dropbear that supports scp, sftp, and rsync.

How do I run the latest version of `rsync` as root when accessing my phone from a remote host?

# Answer
Download the latest `rsync` binary:

```
mkdir ~/bin && cd ~/bin &&
curl --progress-bar -L -o rsync "https://github.com/JBBgameich/rsync-static/releases/download/continuous/rsync-aarch64" &&
chmod 755 rsync && echo 'export PATH=$HOME/bin:$PATH' > ~/.profile

```

To then use the new downloaded version of `rsync` as `root` on the Android phone, use the following `rsync` command options **from the remote host**:

```
rsync -e 'ssh -p 2222' --rsync-path='su -c /data/user/0/org.galexander.sshd/files/bin/rsync'

```

You'll need to add the source and destination and other `rsync` options. See the man page for what these listed options are doing :)
> 1 votes

---
Tags: ssh, rsync
---


# Question
Title: How to browse file:/// URLs on my Android device?
I have some extensive documentation in HTML format that I want to carry around with me. On my old Gingerbread phone, I was able to save the entire "site" onto the phone's sd card and browse it with the url

```
file:///mnt/sdcard/mysite/index.html.

```

Unfortunately, this is not working with my new ICS phone (which uses Chrome as the browser); trying different urls produce either a 404 "file not found" or a 403 "access denied".

Can anyone point me to a read me on how to do this?

# Answer
Re-phrasing your question to reflect your real problem:

> How can I read my extensive, HTML-formatted documentation on my Android device?

there is an answer which would make it easy, comfortable, and even less storage-consuming:

You could convert the entire documentation to an eBook using Calibre on your PC. A good format would be e.g. ePub. As a result, your entire documentation would be packed into a single file. Now check the playstore for a nice eBook reader (my recommendation: Moon+ Reader or its payed version, Moon+ Reader Pro), and install it on your device. Et voila: You have your documentation available on your device. Added pluses (with Moon+ Reader): You can even set multiple bookmarks, highlight text, make annotations. And due to the integrated OPDS support and even pre-configured online libraries, you'd have a bunch of books at your fingertips.

Adding a dictionary app like ColorDict Dictionary Wikipedia or Fora Dictionary plus some (freely available) dictionaries, you could even look up things whenever needed, online or offline, as the second screenshot shows.
> 2 votes

# Answer
You also can type in termux `xdg-open example.htm` to open your file in Chrome.
> 0 votes

---
Tags: browser, file-system
---


# Question
Title: With multiple Google accounts logged in, use only one account for Google Maps
I have several Google accounts on my phone. I want to use only *one* of those with Google Maps. I must have accidentally used another one a few times, and now I keep getting notifications about it, should I do some more reviews and whatever.

I've tried time and again and never managed to come any close to disabling Maps for some specific accounts without removing the account altogether from the phone

Is there a way?

# Answer
There is no way to do that. I also want the same. There is no way to stop some accounts to appear in Google maps (or any other apps like contacts). It is very frustrating but unfortunately there will not be any solution for this issue from Google. So you are kinda stuck.
> 1 votes

# Answer
Even I've multiple accounts logged-in on my phone. You can follow this Google's guide to disable the location history for a particular account on all devices or on a specific devices.

Turn Location History on or off You can turn off Location History for your account at any time. If you use a work or school account, your administrator needs to make this setting available for you. If they do, you'll be able to use Location History as any other user.

Go to the "Location History" section of your Google Account. Choose whether your account or your devices can report Location History to Google. Your account and all devices: At the top, turn Location History on or off. Only a certain device: Under "This device" or "Devices on this account," turn the device on or off.
> 1 votes

# Answer
You can follow the steps below, they might help:

> 1. Open your phone's Settings app.
> 2. Tap Accounts. If you don't see "Accounts," tap Users & accounts.
> 3. Tap the account you want to remove And then Remove account.
> 4. If this is the only Google Account on the phone, you'll need to enter your phone's pattern, PIN, or password for security.
>
> Important: Settings can vary by phone. For more info, contact your device manufacturer.
> -1 votes

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


# Question
Title: How to recall or review WEA Alerts e.g. Amber Alerts?
The Wireless Emergency Alert (WEA) system sends warnings for weather and other emergencies. On my AT&T Moto X, the alert is a super loud sound and an alert box with an OK button. Once you push OK, the alert vanishes. Is there any way to recall it and see the alert text again? On iOS, WEA alerts are visible in the usual notifications pane. That doesn't seem to be the case for Android. Does anyone know if there are plans to fix this?

I imagine most people push OK in a panic to stop the loud sound, and then are left wondering what it was exactly that was so important.

# Answer
Using Oreo (8.1)... Settings -\> Apps & notifications -\> Advanced -\> Emergency alerts -\> Emergency alert history.

In 8.0, it might be called "Mobile broadcast settings" instead.
> 3 votes

# Answer
in Oreo 8.1.0

settings --\> network & internet --\> wireless emergency alerts
> 2 votes

# Answer
There should be and app on the phone called Emergency Alerts with a red triangle and a white background that will let you view the active emergency alerts in your area.
> 1 votes

# Answer
Try Settings \> Connections \> More connection settings \> Emergency alerts.
> 0 votes

# Answer
On my device, they are hidden in a different place. Navigate to:

*Settings › Sounds and Vibration › more sound settings › Emergencey Alerts › Emergency Alert History*
> 0 votes

# Answer
I use an Android phone and had the same reaction you experienced. I made several attempts to get info via some emergency info links I'd saved to my home screen to no avail. .BUT I found the alert story by visiting a local TV news website like bay area abc7news.com, where a red Breaking News banner appears at the top of the page. I clicked on Amber Alert link & it took me to the story & details.
> 0 votes

---
Tags: notifications, alerts, weather
---


# Question
Title: How to make my phone vibrate when a text or an email is received when in vibrate mode?
Currently, when I put my phone into vibrate mode, it only vibrates for calls. It does nothing for texts or emails, however, so I don't know when I've received one. Does anyone know a way to enable vibrating when a text or an email is received? My phone is an HTC Eris rooted with Cyanogen Mod if that helps.

# Answer
You can enable vibrate for SMS from `Messaging -> Menu key -> Settings -> Notification settings -> Vibrate`. Not sure about Email since I use K-9 (in case you use it too it's in the app, `Long-press the account -> Account settings -> Notifications -> Vibrate`).
> 8 votes

# Answer
Not sure if this helps, but I have a Samsung Galaxy S2.

I use GO SMS Pro for texting, instead of the stock Messaging app.
The vibration settings can be configure through the app itself.
In the stock Messaging app, I could not find any option for vibration.
> 2 votes

# Answer
If your phone is in Vibration mode then by default the phone vibrates for a small amount of time if you receive an SMS.

To customize it, I mean to increase the Vibration to a little longer period you have to install some applications from the Android Market.
> 1 votes

# Answer
If you want your Galaxy ii to vibrate when your receive a text:

1. Go to the "conversations" page in the Messaging application (stock). ie. where you can view a list of your conversations.
2. Hit the "Menu" button
3. Select "Setting" from the "Menu" list
4. Find "Notification settings" towards the bottom of the page.
5. Select "Vibrate" then, "Always"
> 1 votes

# Answer
Look under vibration intensity/ notifications turn it up and it will work for messages
> 0 votes

---
Tags: cyanogenmod, sms, email, notifications, vibration
---


title: Redmi 4X stuck at boot loop

text:
# Question
Title: Redmi 4X stuck at boot loop
I removed some apps from my non-rooted Redmi 4X device with 'adb shell' because it was becoming very slow and unresponsive even for basic tasks. The packages I removed following this tutorial are:

```
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.glgm
Success
santoni:/ $ pm uninstall -k --user 0 com.google.android.music
Success
santoni:/ $ pm uninstall -k --user 0 com.google.android.videos
Success
santoni:/ $ pm uninstall -k --user 0 com.android.email
Success
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.account
Success
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.mi_connect_service
Success
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.payment
Success
santoni:/ $ pm uninstall -k --user 0 com.mipay.wallet.id
Success
santoni:/ $ pm uninstall -k --user 0 com.mipay.wallet.in
Success
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.mirecycle
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.videoplayer
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.cloudsync
Failure [not installed for 0]
santoni:/ $ pm uninstall -k --user 0 com.miui.player
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.micloudsync
Success
santoni:/ $ pm uninstall -k --user 0 com.google.android.apps.photos
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.hybrid
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.screenrecorder
Success
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.scanner
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.securitycenter
Success
santoni:/ $ pm uninstall -k --user 0 com.xiaomi.midrop
Success
santoni:/ $ pm uninstall -k --user 0 com.android.thememanager
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.weather2
Success
santoni:/ $ pm uninstall -k --user 0 com.miui.yellowpage
Success
santoni:/ $

```

After I try to reboot, it is now stuck in a boot loop. How do I rectify this? I use Arch Linux so please don't suggest any Windows-only tools that are not available for Linux.

This phone is close to 4 years old and its battery is quite swollen, hence the screen too has come loose. Other forum threads suggest that it might be a battery issue however I would like to first try out anything I can do to revive this phone.

This is my first question on any stack exchange site so please forgive any errors and give me suggestions on how I can improve.

# Answer
Removing `com.miui.securitycenter` was the cause of the bootloop.

> As described in this article the reason for a boot loop is corrupted software/corrupted ROM

Not really. Nothing was corrupted. You just removed a system app needed for boot. I agree this package shouldn't be a boot dependency but this unfortunately is the case.

Honestly, with a Xiaomi Redmi 4X, you'd better install an AOSP ROM. Xiaomi doesn't provide security updates anymore.

I suggest you to either install the official LineageOS version (Android 9) or the official crDroid ROM (Android 11)

In general, if you can unlock the bootloader of your phone, go for a custom ROM. If you can't, use the Universal Android Debloater. The nice thing about this debloater is that the packages are documented so you can see what you can delete or not.
> 1 votes

# Answer
I reset my phone to factory settings by pressing the power and volume keys together which solved the problem of the boot loop, though it resulted in full data loss(obviously). As described in this article the reason for a boot loop is corrupted software/corrupted ROM. Hence the best way to deal with this issue is to either reset to factory settings or install a custom ROM after 'rooting' it(as @Robert suggested).
> 1 votes

---
Tags: adb, boot-loop, xiaomi, miui, redmi
---


# Question
Title: How can I make my Samsung Galaxy S9+ install unsigned applications?
I have root on my phone, and also Lucky Patcher patched the signature verification stuff (both of them). I have rooted my Galaxy with Magisk and Odin (using PC). I can't patch "dalvik-cache" whatever that means, and I have a suspicion that that is why my unsigned apks install, but crash straight after opening. It's not the app, as I can use them perfectly well on an emulator. Does anyone know how to get past this problem? Thanks!

# Answer
> -2 votes
Check whether apps can support your android OS version.

You can turn on Allow installation of app from unknown sources. Go to setting / security / turn on Unknown sources option.

---
Tags: rooting, apk
---