# Question
Title: How can I run apps in an isolated environment on my smartphone?
I have apps that I don't trust or that I just want to try. The problem is that even after deleting them they might leave files/spyware/malware/etc.

What are my options?

I have Xiaomi mi4c on MIUI with google apps but will soon format it and might replace the ROM.

# Answer
Xiaomi MIUI has a feature called SecondSpace. It sets up a completely isolated 2nd instance of Android similar to a VM. You can have completely separate settings there and not affect your "real" phone.
> 5 votes

# Answer
Alternatively run the app as a completely new user (Settings-\>User). But getting the account setup might be too onerous.

As Xiaomi's SecondSpace was mentioned, I'll throw in Parallel Space for those not on a Samsung or Xiaomi device. It is an app for virtualizing other apps in one account.

Commonsware put up a blogpost explaining what is going on under the hood with this virtualization with a caveat:

> However, this sort of virtualization technique – Android apps running inside other Android apps, for an Inception-style experience – requires that you trust the virtualization engine. After all, by definition, it can see all I/O between the app and Android, as it proxies all of that I/O. It is a MITM attack on the app.

So if you trust the makers of Parallel Space (or don't care) it is a option to consider.
> 4 votes

# Answer
Besides Xiaomi, Huawei and Samsung also have similar types of virtual space environments, that they brand as Private Space and Secure Folder, respectively. All 3, of these, Second Space, Private Space and Secure Folder, are based on an Android OS feature for supporting multiple user accounts, but with some customizations so that these virtual spaces are like an anonymous user account, and only the user in the main account can switch to this (and back), besides switching to/from any of the normal user accounts.

NB: this is different from the "multiple accounts" some might associate with Android phones, which is being able to sign in to more than one Google account at the same time. Here, we are talking about Android OS-level accounts.

These virtual space accounts are one category of isolated environment. The other is the app-based isolated environments available from apps like Parallel Space, Dual Space, and dozens of related apps. The main concern about app-based isolated environments is security risks. You would be trusting the developers of such apps, that they are not malicious. Also, you would be trusting that they haven't included vulnerabilities that could be exploited by others even if they themselves do not have malicious intents.
> 3 votes

# Answer
For a a while Android natively has a feature called work profile, that gives you a second profile that is UX integrated into your launcher with separate data and clearly marked icons.

Google's Feature Documentation: https://support.google.com/work/android/answer/6191949?hl=en

First FLOSS Workprofile Provisioner: https://github.com/PeterCxy/Shelter

First freely available Workprofile Provisionier (not fully FLOSS): https://play.google.com/store/apps/details?id=com.oasisfeng.island

Island is partially free software but includes many proprietary blobs.

A fully FLOSS fork of it exists: https://gitlab.com/secure-system/Insular
> 3 votes

---
Tags: applications
---


title: Listen to YouTube

text:
# Question
Title: Listen to YouTube
I want to listen to audio only from any YouTube recording, just like an audio-book, with my mobile phone's screen off. Is this possible?

So far I tested only:

* YouTube original app,
* playing YT stream in mobile Chrome.

All for nothing. A second after I turn-off my screen, audio is cut off and playback stops.

Is this possible at all? I.e. by changing some YouTube app's configuration or tapping some magic button in Chrome while browsing YouTube website? Or the only option is to look for some 3rd party app in Soft Rec?

# Answer
> 0 votes
This seems to be impossible in neither original YouTube app nor in Google Chrome.

You can consider another app, like YouTube Vanced or NewPipe (search the Internet for more details since this is not a software recommendations site; I am not affiliated with any of mentioned apps). Or you can consider another browser, namely Firefox.

The solution given at Software Recommendations for iOS works just fine for Android as well:

1. Navigate to youtube.com (in Firefox)
2. Find and play your video
3. Hit the three-dot menu button
4. Tap the Request desktop site
5. When the page reloads, play the video again

You're done. Slide down the notification center to find video controlling buttons there:

Replicating the same steps in mobile Chrome turned out to be ineffective.

There's one important note here. Depending on how you're watching given video:

1. Using suggested Firefox Mobile or trying some other browser.
2. Watching in mobile mode or requesting desktop site.
3. Turning off screen immediately or waiting until it gets turned of by itself etc.

your wideo (or actually audio from YouTube) will:

* play forever,
* stop immediately,
* stop after 5-8 minutes.

And you will be able to enjoy interrupted experience for long time or you will be forced to turn on and off screen after each 5-8 minutes (like in my case).

Because, no matter what I did, I failed to achieve interrupted, few hours long experience, I was forced to use additional solution (provided here) and install Fake Standby app.

Using Firefox Mobile + Fake Standby was an ultimate solution to this problem. However, keep in mind that in current version (November 2020) Fake Standby is **causing some weird interference to Google Calendar**.

This answer is based on this answer at Software Recommendations and my own blog post.

---
Tags: youtube
---


# Question
Title: How to fix "signatures do not match previously installed version" error?
I'm using a Moto G6. With the latest update to android 9, they removed the capability of using the built-in Dolby Audio equalizer for some stupid reason.

I found this Reddit post that had a way to modify the APK to make this work. I followed all the steps. I decided to try the 20 band equalizer steps and made a backup of the previous work before starting. However, when I finally got to the ADB install DaxUI2.apk, it didn't work. I got this error:

> adb: failed to install DaxUI2.apk: Failure \[INSTALL\_FAILED\_UPDATE\_INCOMPATIBLE: Package com.dolby.dax2appUI signatures do not match previously installed version; ignoring!\]

This was saddening, but no biggie, right? Because I already had a backup. I renamed the DaxUI2 folder to DaxUI2broken, renamed my backup to DaxUI2, and I tried again, with just the first part (minus the appendix). Once I did this, though, I got the exact same error.

I'd like to be able to fix this, so if anyone knows how, please tell me!

# Answer
> 2 votes
just uninstall the current app and then run it again.

# Answer
> 1 votes
connect device to PC. Turn USB Debugging on Execute these command

```
adb shell
pm list packages|grep <Package Name>

```

You'll get a package name for it which would look like `com.xyz.example`

`adb shell pm uninstall <package name>`

---
Tags: installation, signature-error
---


# Question
Title: How to cast Youtube video, but keep sound in headset?
My Sony Bravia TV sound system is horrible, but my headset hyperX is sufficient. I tried the apple *LocalCast* but it does not allow you to cast video at all from its browser.

Android: 10, latest.
Phone: OnePlus 6T.
Chromecast: 3 gen.
TV: some 10 year old Sony Bravia.

# Answer
Robert's answer in comment:

> When casting an online video your smartphone simply tells your TV which web address to play. The audio is never processed by your smartphone. Therefore it can not be played by the smartphone. Better connect the headset to your TV.

So not possible the asked feature, but you need to connect your headset to your TV.
> 0 votes

---
Tags: audio, chromecast
---


# Question
Title: Find out a list of all previously installed packages
I'd like to know if it's possible to find out what packages were installed on an Android device using ADB, for when the simple "My Apps" library in Google Play doesn't list everything I'm looking for.

If possible, a generic answer would be appreciated for future reference. In this specific case I'm looking to figure out which asset flip mobile game (out of thousands of similar clones) was accidentally deleted on an Android 8.1 phone.

# Answer
> -1 votes
Use pm. pm command is a package manager which allows you to list, install, uninstal and disable your device packages.

```
adb shell pm list packages

```

should do the job.

---
Tags: adb, data-recovery
---


title: Accessing Exchange GAL on Android

text:
# Question
Title: Accessing Exchange GAL on Android
On iPhone, in contacts, you can tap Groups, Global Address List, and then search the GAL for a contact.

I cannot find a way a way to do this on Android.

Is there a way of searching the GAL of a connected Exchange account?

# Answer
> 0 votes
I imagine you are talking about Exchange Online. On Android, it is not possible to search the GAL from the Contacts app. There is one way to do it: install the Nine email application, which is an alternative to Outlook. It enables the integration even for Contacts app (besides allowing from the Nine app itself).

# Answer
> 0 votes
I developed and used to maintain an app that did exactly this (see https://github.com/vivekiyer/corporateaddressbook) . However this project is no longer active. I can re-enable this in the play store if you think there is value.

---
Tags: exchange
---


# Question
Title: Stuck in bootloop Neffos X1. No recovery mode
My phone (Neffos X1) is stuck in a bootloop since yesterday evening. I haven't done any updates (at least not manually) or new installations recently, so it just happened out of the blue. It loads till the Neffos logo and then restarts over and over again.

Since I can't take the battery out, I tried letting it run out of energy and then restart, but as soon as I connect it to a power source the bootloop will start again.

My Phone won't react to any button combination, so I also can't access recovery mode, or any other mode by that matter. I tried flashing it via SP Flash Tools, but the phone doesn't react to it.

My laptop actually doesn't seem to detect my phone at all, so I can't use ADB as well, can't unlock bootloader or get into fastboot. At least I don't know how. I tried removing my SD card, since that seems to be the problem sometimes, but it also didn't help.

Is there anything I can do to get out of the bootloot or is it beyond fixing? Like I said, it just happened out of the blue, so it would be pretty upsetting, if my phone just broke for no reason.

I would appreciate any help very very much, so thank you in advance.

# Answer
> 0 votes
On every android I've had holding down the power button 30-90 second will hard power the phone off. you should be able to enter the bootloader by holding the entry button combination and letting it bootloop

# Answer
> 0 votes
2 cents' worth :

Had the exact same thing on a Neffos X1 Lite today (9-29-20). Phone was offline (no wifi, no phone network), and ringing out on alarm clock, when I hit snooze, and then it started looping like crazy (15-20 min until resolved) - Of course I've no idea if these conditions had anything to do with it.

While looping, I took out sim and memory card. I hit power+Vol.Down, for a what seemed like eternity - This didn't seem to stop re-booting, but then at one point, out of the blue, boot screen appeared for a split second, and one of the choices on the menu was picked up (either by me when already pressed keys leaped into it, or by system..?) - The phone restarted back to normal at that point. phewww.

---
Tags: boot-loop
---


title: Unable to unpin an app on my Lenovo tab

text:
# Question
Title: Unable to unpin an app on my Lenovo tab
I am using a Lenovo tab, it is pinned with Ola play app. I tried many times to unpin it by pressing back, multitasking at a time. It is showing unpinned. Again it is automatically pinning to the same app immediately. I am also unable to access Settings \> Safe Mode option also.

Please tell me a solution other than factory reset option.

# Answer
> 0 votes
Try to perform a soft reset by holding the power and volume down button until the screen goes blank. If it has a removable battery, take it out and then put it back in. If neither of the above work, google soft reset lenovo tab (model)

# Answer
> -1 votes
I have managed to unlock my OLA play tab through following steps:

1. Unpin it
2. Press "no thanks"
3. Press lock button with home key and hold both of them. It will show power off and restart options.
4. Release lock button only
5. Hold the home key and click on power off, and don't remove your finger. Keep holding it. It will ask you to run as "safe mode".
6. Click OK and release home key. It will turn on in safe mode.
7. Go to Settings, press home and deselect OLA launcher.
8. Select your tab launcher
9. Restart. It will start as a normal tab

---
Tags: applications
---


# Question
Title: Can I factory reset a non-rooted pixel 2 with a bad digitizer?
I have a Pixel 2 with a broken digitizer. I'd like to wipe it of personal data before tossing it.

Complications:

* not rooted
* adb has not been previously authorized.

Is a factory reset possible, or should I pull out the cordless drill and go to town?

# Answer
As the Pixel 2 supports OTG, you should be able to attach a usb mouse to it to navigate through the menu. You will need an OTG cable for this, which is available for a small price in your favorite shop if you don't have one yet.
> 2 votes

---
Tags: factory-reset
---


title: How to fix bootloop

text:
# Question
Title: How to fix bootloop
I unlocked the bootloader using fastboot, this command; `fastboot flashing unlock` I had downloaded the phone's firmware (Infinix note 7) and patched the boot.img using magisk I then flashed the boot with the magisk\_patched\_boot.img using fastboot;

```
fastboot flash boot magisk_patched.img

```

After flashing it, the phone has not been booting, it displays the message below:

```
Orange state- this device can't be trusted as it is unlocked. Reboot in 5 sec and reboot

```

then it goes off, and on again.... this has been repeating itself over and over

I was requesting if there is a way, I can bring back the phone and root it with no issues state- this device can't be trusted as it is unlocked. Reboot in 5 sec and reboot

then it goes off, and on again.... this has been repeating itself over and over

Any idea on how to fix please?

# Answer
> 0 votes
The only way to fix a bootloop is to remove the cause of the bootloop. Yes some phones reject the magisk patched image because recenctly i wanted to change a phone from system to systemless root. Phones which i think have no problem with magisk are Samsung phones.

Sincd you said you had downloaded a firmware, flash the original boot img that you patched with magisk and then your phone will be back to normal. LG phones also reject patched boot images. If your phone refuses the boot image you must then try rooting using using pc client rooting apps or even android client rooting apps.

---
Tags: adb, fastboot
---


# Question
Title: How to remove Messages app for SMS from Android 10 Wiko View 4 phone?
I want to remove the default messages application called Messages which handles sms sending and receiving from my Wiko View 4 Android 10 device.

The reason I am wishing to uninstall this app is that I deem some of the content in this app inappropriate.

Can I install SuperSU or something to root the device and then remove this app?

Is there some other way to remove it?

Is there a way to remove it at all?

When I click on it I can only remove it from my home screen, but cannot uninstall it because the uninstall option to drag the app to in the screen is missing (only the remove place where to drag the icon appears).

If I remove the Messages app from the home screen, I still can see it in the list, if apps, when I scroll up on the home screen with my fingers to see all apps.

But I don't want this app anywhere on my phone.

Thanks.

# Answer
> 0 votes
Well yes you can root you phone and remove the messages app but i warn you that removing system apps is very risky. Why not just disable it because removing it completely you might regret it greatly afterwards

1. Go to settings
2. Go to apps or app manager
3. Go to all apps (differs from phone to phone)
4. Search for the message app tap on it and then disable it.

---
Tags: root-access, system-apps, default-applications, android-10, instant-messaging
---


# Question
Title: Samsung S4 logo shows for 1 sec then phone boots and repeat.
Pressed the power button for Samsung S4 and the logo comes out for 1 sec then phone boots again or shuts down. I cannot go into recovery mode or download/restart mode using the volume, home, and power button as it just shows the samsung logo for 1 sec then shuts down. However after charging it, it can go into recovery mode in which I tried wiping the cache and doing a factory reset. After rebooting the system in recovery mode, it enters recovery mode again if the s4 is charging. When taking out the usb, the logo shows for 1 sec then shuts down. Please help as I've tried everything. I have stock 4.4.2 ROM.

# Answer
1. Take out your device's battery and wait for 10 seconds. Press the power button for 45 seconds and then install the battery.
2. If the first method didn't work, try to enter "Download mode" like this:

* Turn off your phone;
    * Connect your phone to your computer and then hold **Volume Down** and **Home** button.
> 0 votes

# Answer
Did you tamper with the system because of root access? You can try flashing a new rom because many samsung phones do bootloop when they a somewhat tampered.
> 0 votes

---
Tags: samsung, boot
---


# Question
Title: Do I need to root my Pixel 3 phone in order to install GrapheneOS?
I am interested in stalling GrapheneOS custom ROM on a Pixel 3 phone.

Does this require that I root the phone?

# Answer
No, it is neither required, nor recommended to root the device.

You will need to follow the official instructions here: https://grapheneos.org/install

It will require you to:

1. Upgrade the stock OS (to get any firmware updates)
2. Show dev options.
3. Enable OEM unlocking.
4. Actually unlock the bootloader.
5. Install GrapheneOS via `fastboot`
6. Lock the bootloader.
> 1 votes

---
Tags: rooting, rom-flashing, bootloader
---


# Question
Title: Pixel phone privacy. How to exempt data sharing with google
Does anybody knows if a pixel phone is able to profile, based on the user's data although a VPN is always active on the phone. I am also not using any Google apps. I am wondering if the profiling is done on the mobile platform, then sent to Google's profiling analysis servers.

# Answer
You will need to install another ROM that does not have Google Play services such as LineageOS or GrapheneOS.

> I am also not using any Google apps.

It does not matter which Google apps you explicitly use or not, this process is a core part of stock Android.

> VPN is always active on the phone

This cannot be guaranteed unless the phone is rooted as some connections might be made before the VPN is setup.
> 2 votes

---
Tags: google, privacy
---


# Question
Title: Samsung galaxy a7 2018 hangs after update android 10
Recently I updated my device from android 9(one UI 1)to android 10(one UI 2) After updating to android 10 it freezes again and again,not the whole phone freeze, only display hangs but background working properly, when i push power button and lock device, and after unlock by power button it works normal, but after sometime it freezes again. I repeat this task again for unfreezing. I checked device logs for hangs reason, where I found

```
EGLNativeWindowType 0x79466cd890 disconnect failed

```

It looks like openGL problem, is some driver corrupt or missing in new update,

Samsung block downgrade from bootloader,So I have no choice,

Note:\*I updated with latest ota update,there is no new update from Samsung,

\*Device was working well with android 9 one ui1(means there is no hardware fault)

* Model: samsung sma750f

# Answer
Bro Downgrade by Odin. Then it'll work nicely. I've face same issue and after Downgrade it's working nicely.
> 0 votes

---
Tags: samsung, screen, system-freeze, development, driving-mode
---


# Question
Title: Freennode Weechat Android Protocol error and Failed to connect error
I'm using weechat-android that I installed using f-droid and trying to connect to freenode in order to join an irc server. I am able to connect freenode on my Windows 10 PC using mIRC as expected. Not able to do so on Android after following this doc https://freenode.net/kb/answer/chat.

This is the exact setup I used when I get the protocol error.

This is the exact setup I used when I get the failed to connect error.

# Answer
> 1 votes
Note: According to the Quickstart guide Weechat-Android is not a chat-program, it is only a UI for a chat program running on your server:

> Weechat-Android is a relay client, that is it's not a standalone client, but one that connects to your copy of WeeChat running on your server. You can connect the two in a number of ways, listed below.

Therefore if you just install the app on your phone it is not usable. You still need an own server on the Internet where your Weechat program is executed.

> You can connect to freenode by pointing your IRC client at chat.freenode.net on ports 6665-6667 and 8000-8002 for plain-text connections, or ports 6697, 7000 and 7070 for TLS-encrypted connections. Connect to chat.freenode.net

https://freenode.net/kb/answer/chat

Alternatively there is a Weechat how-to for setting the correct server: https://freenode.net/kb/answer/weechat

```
/server add freenode chat.freenode.net/6697 -ssl
/set irc.server.freenode.sasl_mechanism PLAIN
/set irc.server.freenode.sasl_username <nickname>
/set irc.server.freenode.sasl_password <password>
/save

```

---
Tags: 9.0-pie, f-droid
---


title: How can I clone an adopted SD card?

text:
# Question
Title: How can I clone an adopted SD card?
I adopted an SD card as internal memory and one day it just suddenly stopped working.

With tremendous help from the member @alecxs I was able to make an img copy of it and browse the files in it. Here is some of the basics of how that was done.

I'm not sure why it failed on the phone since if it was a physical problem with the SD card then shouldn't it NOT have been possible to read or decrypt it?

In any case, I have another (new) SD card and I would like to clone the old one on it so that I can effectively start using it as if it was the old one...basically everything to be as it was pre-SD card failure.

Is there a way to do that? How?

I'm able to see my photos which is a HUGE relief but my concern now is the app data that is un-viewable unless it's put back in the phone and opened with it's app.

# Answer
Try the following

* first copy sd.img to new MicroSD Card (it will finish unsucessful "error writing, not enough space")
* create another sd2.img from new MicroSD Card (the one which ended unsucessful, we just need raw sd2.img with correct size)
* run kpartx to map sd.img into /dev/mapper/loop1p1, /dev/mapper/loop1p2 and sd2.img into /dev/mapper/loop2p1, /dev/mapper/loop2p2 (may vary)
* create two new block devices for /dev/mapper/loop1p2 and /dev/mapper/loop2p2 (see link in your question)
* now lets assume /dev/mapper/loop1p2 is /dev/mapper/crypt1 (= sd.img) and /dev/mapper/loop2p2 is /dev/mapper/crypt2 (= sd2.img)
* crypt1 should be mountable as ext4 partition to any mount point (that's your old MicroSD Card)
* crypt2 is probably broken because of less size and must be formatted with mke2fs

mke2fs -t ext4 /dev/mapper/crypt2
* now crypt2 should be mountable as ext4 too, mount to another mount point
* next, copy all files from one mount point to another. make sure you preserve secontext, xattrs, uid and file permissions. this can be done with `busybox cp -ac` or `tar --selinux --xattrs -p`

i am on mobile and busy today, will improve that answer later. btw i am not sure that's how it works at all (the dmsetup part)

good luck
> 0 votes

---
Tags: sd-card, adoptable-storage
---


# Question
Title: Google accounts (and apps not syncing) on RealMe 3 Pro (Android 10)
I have 5 Google accounts on my phone running on RealMe UI (Android 10). None of my Google accounts are getting synced I tried removing one of the account and adding back but then only Gmail synced but still not getting any mail notifications. I have tried all the solutions such as rebooting, re installing, turning off power saver mode. Problem is even if a uncheck and check the auto sync option nothing is happening.

Please find me a solution for this, as sync is extremely necessary because I need to get my notifications from Gmail Google classroom and Google calendar.

# Answer
First use browser to log in to Gmail. If you are successfully log in to Gmail. Then it is confirm that problem with Gmail app.

Update Gmail apps. Go to app setting / gmail / storage / clear data and clear cache.
> 1 votes

---
Tags: applications, google, realme
---


# Question
Title: Screen Lock Service as a Device Administrator
Background:

> I was looking at the device administrators of my phone in the settings and saw a device administrator called "screen lock service". It's description is "Activating this administrator will allow the app Google play services to perform the following operations: set password rules".

A previously unsettled question is found here.

I searched the net for the apk file of the application but could not find one. So as per suggestions, I ran

```
adb shell dumpsys package  resolvers | sed -n /android.app.action.DEVICE_ADMIN_ENABLED/,/:/p

```

The output for the above code was:

```
  android.app.action.DEVICE_ADMIN_ENABLED:
    438a74 com.motorola.demo/.admin.DemoModeAdminReceiver
    2acd3de com.google.android.gms/.auth.managed.admin.DeviceAdminReceiver
    36b5d24 ch.deletescape.lawnchair.ci/ch.deletescape.lawnchair.gestures.handlers.SleepMethodDeviceAdmin$SleepDeviceAdmin
    42aae3e com.google.android.gms/.tapandpay.admin.TpDeviceAdminReceiver
    8efd08d com.google.android.gms/.kids.account.receiver.ProfileOwnerReceiver
    9b4f242 com.google.android.gms/.mdm.receivers.MdmDeviceAdminReceiver
    a9980b6 com.oasisfeng.greenify/.DeviceAdmin
    b5771b7 com.google.android.gm/com.android.email.SecurityPolicy$PolicyAdmin
  com.motorola.internal.intent.action.INETCONDITION_REPORT:

```

The data for the code is quite unsettling for the fact that none seem to correspond to *screen lock service*.
For reference, I am using Moto G5 Plus (not rooted, stock build with no customizations)

Also note that, I own another **same** device which is rooted and runs Pixel-Experience (Android 10 latest build) and unfortunately it does not have the *Screen Lock Service*.

An insight/breakdown for this application is helpful.

# Answer
> The data for the code is quite unsettling for the fact that none seem to correspond to screen lock service.

I can see why it confused you, believing that there would be an app or a service running with the same name on the system which you would have been able to identify quite easily, but could not.

The device administrator "Screen Lock Service" **is a device administration service** offered by **Google Play Services** (*com.google.android.gms*) app.

This is how I approached the problem:

1. I searched for a device with this problem. I managed to get my hands on a Xiaomi Redmi Note 5 running Android 9 having this administrator service enabled.
2. I went ahead with disabling Screen Lock Service administrator. Side by side, I had `logcat` running to *grep* any entry beginning with "admin".
3. Through logcat I got the following output on disabling the said administrator.

```
Device admin ComponentInfo{com.google.android.gms/com.google.android.gms.auth.managed.admin.DeviceAdminReceiver} removed from user 0

```
4. `com.google.android.gms/com.google.android.gms.auth.managed.admin.DeviceAdminReceiver` is one among the many device administrators mentioned in the output of the command `adb shell dumpsys package resolvers | sed -n /android.app.action.DEVICE_ADMIN_ENABLED/,/:/p` and is also mentioned in your output.
5. I decided to verify further by pulling the apk of Google Play Services and decompiling it. In the decompiled AndroidManifest.xml file, the relevant entry for this device administrator was this:

```
<receiver android:description="@string/auth_device_admin_receiver_description" android:enabled="false" android:exported="true" android:icon="@drawable/product_logo_security_shield_color_24" android:label="@string/auth_device_admin_receiver_label" android:name="com.google.android.gms.auth.managed.admin.DeviceAdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN" android:process="@string/common_persistent_process" chimera:autoEnabled="false">
         <meta-data android:name="android.app.device_admin" android:resource="@xml/auth_password_complexity_device_admin"/>
         <intent-filter>
             <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
             <action android:name="android.app.action.DEVICE_ADMIN_DISABLED"/>
         </intent-filter>

```
6. I used the information in step 6 to get three things:

* the label of the device administrator in `res/values/string.xml`:

    ```
    <string name="auth_device_admin_receiver_label">Screen lock service</string>

    ```
    * the description of the device administrator in `res/values/string.xml`:

    ```
    <string name="auth_device_admin_receiver_description">"<b>Allow apps to determine the quality of the device's screen lock</b>"</string>

    ```
    * the icon for the device administrator in `res/drawable-xhdpi/product_logo_security_shield_color_24.png`:
7. As for disabling it. While you can disable it, a reboot re-enables it automatically without user intervention. It appears to me that `com.google.android.gms.persistent` process is responsible for this. Not only is that process mentioned in the Manifest, but also during logcat it was the one after which auto-enabling of Screen Lock Service took place. Relevant logcat of post boot process:

```
 [ 10-01 19:59:17.126  3058: 7809 W/.gms.persisten ]
 Long monitor contention with owner lowpool[10] (7811) at void java.lang.ref.FinalizerReference.add(java.lang.Object)(FinalizerReference.java:56) waiters=0 in java.util.Map bggj.a() for 980ms

[ 10-01 19:59:17.163  3441: 7374 I/Auth     ]
[AuthManaged, PasswordComplexityHelperImpl] Updating password complexity components state.

[ 10-01 19:59:17.163  3441: 7374 I/Auth     ]
[AuthManaged, PasswordComplexityHelperImpl] Enabling com.google.android.gms.auth.managed.ui.SetNewPasswordActivity

[ 10-01 19:59:17.164  3441: 7374 I/Auth     ]
[AuthManaged, PasswordComplexityHelperImpl] Enabling com.google.android.gms.auth.managed.admin.DeviceAdminReceiver

```

---

# Summary

1. Screen Lock Service is a device administrator feature of Google Play Services app
2. If you disable it, Google Play Services app would re-enable it without seeking your authentication.
3. Its purpose is not documented on Google Support / Answers as of now.
> 4 votes

---
Tags: security, device-administrator
---


# Question
Title: In Android 10, is there a way to prioritize notifications (i.e. their lockscreen order) WITHIN the alert category?
In Android 7 (Nougat), there was a special option that allowed for improved granularity in managing **notification order**, see e.g. Android Police - Android N Feature Spotlight: Full Importance Settings Offer Granular Control Of Notification Priority. I made extensive use of this feature but, alas, it has been dropped. Now on Android 10, I only find two notification classes, "alert" and "silent/gentle".

I have a lot of calendar reminders and messages that are **both** required to be alerted to me. However, I need the messages (Slack, Whatsapp, etc.) to be ON TOP of all the other notifications, especially on top of the calendar reminders, so that incoming messages do not get lost among the many reminders of a day.

Previously, in Android 7, this was readily feasible by giving the messenger apps "highest priority" and the calendar app "second-highest priority". Both generated palpable alert notifications, but the messenger notifications would always be moved to the top and remain there, even as new calendar reminders come in. Currently, the only way to move the reminders below the other notifications is to classify them as silent, which defies their very purpose.

Is there any way to change the order of notifications on a per-app basis **within** the alert category on Android 10? I looked extensively for an Xposed module or custom ROM that could do that. So far, in vain.

# Answer
The only thing I've found is to scan active alerts for "now" in the time received. Beware, sometimes there is no "now" item, I have no idea why.
> 1 votes

---
Tags: notifications, lock-screens, android-10, notification-bar
---


title: What is this symbol on the battery?

text:
# Question
Title: What is this symbol on the battery?
What does this mean? It is one of the many symbols and logos on a phone battery.

I know it's not technically an Android question, but at least it's related, and I couldn't find a more suitable StackExchange site...

# Answer
According to this wikimedia commons site, it is Taiwan's official recycling symbol. Probably means the battery is recyclable. https://commons.m.wikimedia.org/wiki/File:Recycle\_symbol\_Taiwan.svg
> 3 votes

---
Tags: battery
---


# Question
Title: Android Update Results in "Hash of data does not match digest in descriptor" error
My Samsung Galaxy A70 prompted for a software update this morning. I dutifully complied and left it to get on with it.

Upon return, I was presented with the following error:

> partition tz
>
> Reason tz: Hash of data does not match digest in descriptor.2nd

Plus some other stuff about hash, firmware version, etc.

To clarify, all I did was select to update. I didn't plug any cables in (as the image indicates), and I wasn't trying any manual firmware/software install.

It's still under warranty, so I'll probably just be taking back to the retailer, but I thought i'd ask here in the hope that there's a quick fix that won't invalidate the warranty.

Any suggestions?

# Answer
> 1 votes
I realise this isn't maybe the most helpful of answers, but I thought I'd post it anyway in case someone else finds it useful.

The phone was under warranty, so took it to the local Samsung store. The support assistants commented that they'd "never seen this error before". It went in for repair and emerged fully working again.

When I asked what the problem one, I got a vague "they replaced some hardware component".

Again, not the most helpful, but enough to say that it looks like something beyond the help of a software re-install.

# Answer
> 1 votes
I had the same issue and Odin firmware flash did the trick.

For the next unlucky soul to stumble on this thread for help I'll add some more info. Download Odin - https://samsungodin.com/how-to-use-odin/ Download Firmware - https://www.sammobile.com/samsung/ \- make sure to download the files for you phone and more specifically your carrier! For some reason Samgsung.com doesn't have the firmware for the S10+ and I didn't check other phones. Sammobile allows you to get the files for free but they have add timers on the download links. You need to turn off adblock otherwise you will never see the download link pop up. Took me like 20 minutes to figure this out. I can't vouch for this site but there's a very angry commenter on the how to page so at least he believes in it. If you arrived at the error the same way I did you will then want to update you phone from the Samsung Switch application. I received a shitty refurb to replace my original that bricked so I've had to only update from this application. (Thanks Samsung/Verizon) Smart Switch - https://www.samsung.com/us/smart-switch/ You plug in your phone after turning on this app and it will prompt to update. Idk if this application can fail like the normal downloading over the network but its got me past two update errors now.

---
Tags: updates, downloading, device-firmware
---


# Question
Title: Google Play Services deleted, how to repair without Play Store?
I somehow destroyed Google Play Services while clearing cache and search history because the Play Store kept hanging up indefinitely when trying to download apps. My Google account then kept pinging the phone for Play Services updates; to remedy the loop, I had to remove my Google account.

Now I can't access Play Store to attempt repair of Play Services because it requires I sign in. I try that, the phone starts the process of adding a Google account. Can't add my Google account because Play Services is gone. Catch 22.

I downloaded from Play Store a couple of "Fix Play Services" apps on a friend's phone, extracted the APK, and Bluetoothed to my Xperia. Fix Play Services says Play Services is not installed.

When posting this question, this post came up: Install Google Play Services without Google Play Store. This appears to be a very similar issue, a bigger problem to recover than I thought. I've never rooted a phone.

It's a Sony Xperia Z3v (D6708). Android Version 5.1.1. It is a Verizon phone, I have data and web access.

Is Play Services recoverable/reinstallable via internet? Without Play Store access?

# Answer
I once had a similar problem but in my case, it's because I tampered with the system. Have you tried downloading Play Services from an external site? If the Play Services you downloaded don't work correctly (in my case, it gave me the "force stopped" error), you need to install a new firmware which will fix all bugs.

Link to Play Services package (APK) on APK Mirror: https://www.apkmirror.com/apk/google-inc/google-play-services.

Use the flash stock firmware method if the above fails.

Hope this will help.
> 1 votes

# Answer
Download ApkPure. Install it. Open it. Search google play services install it. Done!
> 0 votes

---
Tags: installation, google-play-services
---


# Question
Title: I accidentally started the download/install process for the Android 11 beta, can I cancel it?
I have two Pixel phones on Android 10. Yesterday I joined the Android Beta program to get Android 11, with the intention to try Android 11 on one phone and keep the other on Android 10. I started the download/install process on one phone. Today, I wanted to check on the progress of the Android 11 update process, went to settings and saw that an update was available. Thinking that maybe it timed out and I just needed to try again, I chose to download/install the update.

Immediately after it started, I checked which phone I was looking at, and was horrified to find it was the *other* phone, the one I wanted to keep on Android 10. So I wanted to cancel the process on this phone, but there is **no cancel button**. Since the UI didn't provide the option, I thought I'd try killing the processes on the phone.

```
crosshatch:/ # ps -A | grep update
u0_a64       10143   893 4987920  48108 SyS_epoll_wait      0 S com.google.android.configupdater
root         10773     1   44184   5808 SyS_epoll_wait      0 S update_engine
crosshatch:/ # kill -9 10143

```

This killed com.google.android.configupdater, but update\_engine refused to die. Every time I tried killing update\_engine, a new one would pop up.

When I went back to the system update screen, though, it mercifully indicated that the download was paused. BUT it only presented an option to Resume, NOT to cancel.

Even then, this reprieve was short lived, as it soon automatically chose to Resume, *without* receiving any indication from me that I wanted to do that.

I have now turned off the phone while trying to figure out how to keep it on Android 10.

I see that in some cases, after the download is complete, the user will be given a final chance to decide whether to proceed. Is this true for the update to Android 11? And as the question in that link asks, can I choose to just delete the download instead? Or is there even some way to cancel the download in progress? I'm nervous about letting it complete and then maybe deciding for me that I want to proceed rather than selecting "Later".

**Update** The other phone that I had intended to try Android 11 with, after the "download and install" process, did *not* give me a chance specify "Later" or "Cancel". So I can't just wait and cancel it, but may need to find some way to reset the "download and install" process while it is happening. Meanwhile I'm buying time by keeping the Android 10 phone off most of the time.

**Update 2** I also did consider downgrading to Android 10 once Android 11 is installed, e.g., following this guide, but it seems troublesome and potentially risky. Would much prefer some way to stop the present download/install of Android 11.

# Answer
> 2 votes
I kept my android 10 phone off for some time. Finally, now that Android 11 is official, I found that the phone is still on Android 10, and now it only provides an option to upgrade to Android 11, but has not forcibly upgraded my phone.

So I guess one answer to my question would have been: Just wait till Android 11 comes out of beta, and then the download process for Android 11 beta would automatically stop.

---
Tags: updates, ota-update, android-beta-program
---


title: Reduce space taken by Outlook

text:
# Question
Title: Reduce space taken by Outlook
Outlook is eating up space in my Samsung J7 prime. I am currently working with something between 100Mb and zero free space. If I free up some space, it seems Outlook increases its occupied space.

**Is there any way to tell Outlook which folders I want it to sync?**

**Or any other way to limit (e.g., from the OS) the space it takes?**

# Answer
> 1 votes
I know this may not be an exact answer, but I ultimately switched to Android Firefox web browser (or your favorite browser), with desktop homepage link to outlook.offfice.com and... it behaves perfectly. That is, assuming your email account is served there...

MS actually did pretty good job with their mobile web page rendering and functionality, and so far I do not miss any functionality (email, calendar...) from my bloated Outlook for Android app (800MB unmovable local storage!).

Hope this helps somebody.

---
Tags: internal-storage, outlook
---


# Question
Title: Is the battery cycle count stored on the battery or the device?
I downloaded an app Phone INFO which shows a number of stats, particularly "Battery Discharge Cycles". I want to know if this number is being retrieved from the battery (i.e. it's just the number of cycles for the current battery) or the phone (i.e. it's the sum of the cycles across all batteries the phone has contained). In other words, if I insert a brand new battery, should I expect the count to drop to zero?

Context: I have a Samsung S6, which doesn't allow easily changing the battery. I went to a phone repair shop to have the battery replaced. I left it there for the day and did not observe the process of replacement. Now I suspect that I was scammed and the battery has not been changed. I want to confront the shop and use the cycle count (which is still very high) as evidence, so I'm checking my understanding first.

# Answer
I cannot quote official documentation but I believe that you have *not been scammed*.

As per the discussion I had with developer of 3C Tool box pro here and the preceeding posts, it is clear that the charge cycle info is stored in the kernel and requires root to access it.

> After investigating on a couple of devices, I found some kernel files that can provide the charge counter. On Samsung it is root-only, whereas on Pixel it seems open-bar
>
> On Samsung it could probably load the existing charge counter (if rooted or access allowed) (Post 971)

There is no reason to believe they have modified the kernel files, especially on a Samsung device where rooting trips knox and the customer would be aware of root since some Samsung specific apps wouldn't work. Not worth the cost of a battery replacement.
> 0 votes

# Answer
It seems the issue is that when the battery is replaced, most mom and pop places don’t have the skill or equipment to go in the “root” to reset the counter. It’s akin to not resetting the change oil light on your car. The issue is that some cars use oil life to make other decisions on engine operation, so without resetting the light, performance isn’t fully restored because the computer thinks it’s still old oil and making its decisions based on that. Your battery life, auto shutdown, and battery life remaining display are kind of the same. I bet your phone goes to zero faster than you expect and shuts off, but after leaving it off for a while, you can cut it back on and it’ll show 20-30% or more battery. If so, the thing to do is to keep draining the battery without plugging it in, until after sitting the phone doesn’t even have the juice to try to start, then charge it up to 100, preferably on regular vs fast charge. The life monitor will adjust to the new high and low, and you should have better battery life performance. What’s happened is your phone is basing the full charge and dead capacity off your old battery still, and this process should force it to adapt to your new one.
> 1 votes

---
Tags: battery, charging, battery-life, battery-history
---


# Question
Title: Nearly every app I open directly crashes
As specified in the title my problem is only that. Any app I open in my phone crashes with the message "Unfortunately the app has stopped working".

Only the Google apps, Edge browser, Camera and Whatsapp are not crashing rest all apps are crashing on opening.

This started happening without any change. I left my phone in a good normal condition and after an hour when I came back it showed "unfortunately truecaller has stopped working". I also tried opening games but they also kept crashing. No use of restarting or switching off and on. I've done that literally a hundreds of times.

My phone is not rooted. Just a normal phone running Android 6. Please help me fast.

# Answer
> 0 votes
Alike the asker, uninstalling / removing updates of Android System WebView app fixed the problem for me too.

---
Tags: applications, 6.0-marshmallow, crashes, system-apps, google-apps
---


# Question
Title: Share virtual machine between Genymotion and Android AVD Manager?
I've installed Genymotion and configure it to use the SDK folder from Android SDK. (In preferences, ADB -\> Use custom Android SDK tools, and select `/Users/XXX/Library/Android/sdk`)

But when I open both Genymotion and Android AVD manager, it can't see the same virtual machine created in each other:

Is there a way to share the virtual machine, without taking extra disk spaces?

# Answer
> 3 votes
Genymotion and the Android emulator for Android SDK can not interoperate because the used virtualization system is totally different:

**Android Emulator from SDK** uses an **QEMU 2** based emulator for running the emulator images.

**Genymotion** uses **VirtualBox** emulator as the underlying virtualization system. As VirtualBox only supports x86 emulation for example ARMv7/ARMv8 based emulator do not exist for Genymotion.

Effectively this means that the emulated devices are slightly different. For example they are different regarding the emulated devices (e.g. graphics chip) and the used file formats. As different devices require different drivers converting an emulator image from one system to another is also not that easy.

---
Tags: android-emulator, genymotion, avd-manager
---


# Question
Title: Moto-Z Play with TWRP 3.4 asking for password
I have an unlocked Moto-Z play. I able to install 'fastboot flash recovery twrp.img'. When I boot TWRP, it asks for a password. I tried "default\_password" and I changed my screen lock pin to 1234 and tried that. both these didn't work. Please help.

# Answer
I have exactly the same problem and took the same steps. Also no effect so I did a full wipe from within TWRP -\> cancel on PW page to get in TWRP -\> Wipe -\> format data -\> yes (actually type yes) -\> enter -\> back -\> reboot -\> power off -\> boot to fastboot (volume down + power button)-\> start TWRP. Now I can use TWRP (without a PW) but you can never boot to android because your system will get encrypted again and you cannot access your data anymore via TWRP.

Have not yet flashed a new rom but I bet I can since the system is no longer encrypted.
> 0 votes

---
Tags: twrp
---


# Question
Title: SSL error on Firebase hosting on old Android devices
I am not being able to see my Firebase Web App on old Android Devices due to SSL error.

There is a question about this, but the answer doesn't say how to solve it.

Is there any solution for this?

# Answer
**SSL/TLS support is based on the Android version.** There's no way for Android end-users to fix this issue unless to upgrade to a newer Android version if possible.

In this case, based on Qualys SSL Server Test, the site only supports TLS 1.2.

TLS 1.2 is only supported since Android 4.4.2 KitKat, where Android 4.3 Jelly Bean and before only supports TLS 1.0 (among other older protocols).

The only fix is to configure the server to allow other protocols and/or cipher suites (the specific depends on the server and out-of-scope of this site).
> 1 votes

---
Tags: browser, https
---


# Question
Title: What package is responsible for the "Recents" button to work?
## Background:

I wanted to customize my phone a little bit, a Samsung Galaxy A70 (SM-A705FN), and that process included de-bloating it. I opened xda-developers, looked around, and finally found a list of bloatware to remove. I threw in a few other packages that I checked, such as Samsung Radio, Google Duo, Netflix, and a few other things that I am 100% certain didn't have anything to do with my issue.

I then opened an ADB Connection and through the shell I uninstalled the packages, one by one, using this command:

```
pm uninstall --user 0 com.facebook.katana

```

Obviously I swapped around the package names for each package. I tried to remove everything, somethings weren't removed, overall everything's great!

## The issue:

Just now, several hours later, I noticed that my "Recents" button in the navigation bar is not doing anything. The effect is there, so I believe it registers the press, but I think I removed whatever handles that request. From what I gathered, it should be easy enough to re-install the package once I find what its called, but I've been looking for a while, and my only other option right now (except for factory resetting and just, like, living with it) is to manually check each permission in that list, which is going to be tedious.

## Bottom line:

Does anyone know what package is responsible for handling the "Recents" button request? or of a better / easier way to solve this issue?

# Answer
Found it after scanning through the list, turns out One UI is responsible for it. For anyone looking in the future, it's `com.sec.android.app.launcher`.
> 2 votes

---
Tags: adb, system-apps, recents-screen
---


# Question
Title: Is it possible to replace stock 'Phone' app?
First of all, I know one can replace the dialer app and there are many options available for it. But is it possible to replace the stock phone app? Is there any calling app that uses the normal cellular network to make calls apart from the stock android app?

The reason why I am asking this is because I am having problems with talking on handset on my Nexus 5 since I update to Lollipop. And I figured that if I replace the phone app, this problem could be solved as my calls on Skype and Hangout are normal which proves that the microphone is fine and the problem lies in the software.

# Answer
It might be easier on a custom ROM, as you can flash what you want. However, since you're on Stock, here's what I'll suggest.

Disable (uninstall) your phone app (if that's possible), then install another phone app of your choice. Automatically, that'll take over as your default phone app.
> 1 votes

# Answer
Something: There is no need to replace it. Just try Google Phone temporary and set it as default phone app. Also that mught be microphone issue. Nexus 5 has 2 microphones. One at the bottom used by Cell and second at the top used by applications. Skype and Hangout uses top one.

Solution: To test your microphone, call someone. If they dont hear you, set your sound to speaker. That will switch to the top micro. If that worked... Well oops your bottom microphone is dead :/
> 0 votes

---
Tags: applications
---


# Question
Title: Changes made in developer options revert back to default after turning off developer options
I am trying to enable Force GPU rendering option in the developer options. But after enabling it and then turning off the developer options, the developer settings revert back to default. How do I make these changes stick permanently?

Using a Vivo Y53, Android Marshmallow.

# Answer
> 0 votes
In order to keep **developer options** running, simply don't turn **developer options** off. That's the only possible logical way.

---
Tags: 6.0-marshmallow, developer-options, gpu
---


# Question
Title: Can android devices be controlled/tracked (including on/off control) by IMEI?
Phone lost having sensitive data that cannot be deleted, **The owner**(my cousin) **has gotten mentally unstable.** Tried every possible solution to track it like **google's find my device**. I also tried to track it by the service-provider/carrier number but couldn't achieve any result so the SIM card has been blocked/disabled. Lastly I reported to the proper authorities to track down the device but strictly advised not to erase the data. **They asked for IMEI-number of device** which i provided to them on spot. No response whatsoever has been recieved that could even provide a grain of hope for recovery. My cousin is considering sucide but only me being a trustworthy person for him have been controlling him by giving him lies and false hope. The device has not been connected to the internet or even turned on since lost so that it could be tracked down (info by google's find my phone app). The authorities told that **it can only be controlled or tracked by its IMEI-number**. **IS IT POSSIBLE**

My email-id is/was also activated on that device. Proper documents and all original accessories along with box and IMEI sticker can be shown for proving ownership of the device Device: LG-Q60

# Answer
> 0 votes
**YES** Any phone could be tracked and localized using its **IMEI** but to successfully do it the stolen phone should be online by:

* Internet connection
* Sim card inserted

But if the guy who got your cousin's phone could change phone's IMEI(and for sure phone identity) : Sorry to tell you that the phone is gone forever.

The best solution of all times: daily cloud sync.

---
Tags: data-recovery, geolocation, remote-access, gps-tracking, imei
---


# Question
Title: [Sony Xperia XZ1]Remapping camera button
Hello {darkness my old friend} I have a Sony Xperia XZ1(G8341) with AOSP GSI

What I would kindly like to ask how to map the "dead" camera button to any function

Currently the button doesn't work at all presumably because my custom rom didnt hsve plans for it

Tried any root app i could find, msgidk modules and others however i wourld prefer not using xposed as it gives negative results on ctsProfile

Any suggestion is welcome since I have a throughout knowledge and understanding of technology in general ,you can trust me on that{pushes pile of softbricked deviced under bed} but i would prefer being guided to the right direction on how to make s script to accomplish that

Thank you in advance

# Answer
Try this: https://play.google.com/store/apps/details?id=com.irishin.buttonsremapper

It works on my Xperia x compact. It's just a workaround. On my phone the problem is with camera button that was deasappeared after the rom unlocking aldo with drm fixed in...
> 0 votes

---
Tags: root-access, custom-roms, buttons, scripts
---


title: Twitter badge wont go away

text:
# Question
Title: Twitter badge wont go away
On the Twitter icon (both in my home screen and in my app list) I can see a badge with a "4", but no matter what I do, that badge will not go away, no matter what I do. All my notifications and mentions have been cleared!

What can I do to fix it?

```
INFO:
OnePlus 5T
Android 9
OxygenOS 9.0.9
Home screen App: [Evie launcher][1]

```

# Answer
> 0 votes
Notification badges will show counts for multiple types of notifications, which might be displayed in various places. Try long-pressing the icon with the notification badge; this should bring up a context menu that may list additional notices. You can swipe to clear individual notices. You might also see a "clear badge" command to clear all notifications.

If that doesn't work, try clearing the app cache:

1. Open the settings for the app:
    * Fast way to get to app settings: long-press the app icon and tap "ⓘ".
    * If there is no "ⓘ":
        1. Open Settings
        2. Go to App settings (the exact location varies). Make sure "All apps" or "Installed apps" is listed.
        3. Scroll down to & tap Twitter.
2. Tap "Storage"
3. Tap "Clear cache"

---
Tags: twitter
---


# Question
Title: How to use Visual Studio Code on an Android device?
I have Samsung Galaxy Tab S6 and it has cool features to replace laptops, but it is unfortunately running Android OS, and not many development apps are available for Android.

Is there an option to run VS Code at least on an Android device?

# Answer
**There are two ways to use Linux on Android so we can use VS Code :**

* First *easy way* (Virtual Network Computing) (VNC):

**1. Install a Linux distro via "Termux"**

`pkg update -y && pkg install proot wget tar pulseaudio -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Rootfs/Ubuntu19/ubuntu19.sh && chmod +x ubuntu19.sh && ./ubuntu19.sh`

**2. Install Linux GUI desktop environment like "Xfce".**

sudo apt-get install xfce4 xfce4-goodies -y

**3. start a VNC server on your linux.**

sudo apt-get install tightvncserver -y

**4. Open "VNC Viewer" on android to start hacking.**

you may need to do command `vncserver -list` to list the port

**5. Install vscode for ARM64**

**6. Optional: Install NodeJS for ARM64.**

`apt install nodejs`

---

* Second hacky way (Linux Natively):

more info:

https://medium.com/@quantvc/running-debian-on-android-device-natively-73545c9b0757

Helpful Resources:

https://play.google.com/store/apps/details?id=studio.com.techriz.andronix

https://play.google.com/store/apps/details?id=com.termux

https://play.google.com/store/apps/details?id=com.realvnc.viewer.android

List of some ARM64 Hackers:

@Lemon1I @boby2001820 @NTAuthority @gus33000

Worth mentioning:

https://github.com/WOA-Project
> 0 votes

# Answer
The open-source version of VS Code is called code-server. To run it on Android (without root) you will need:

Termux from F-Droid as changes to the Google Play Store policies are no longer compatible with Termux releases.

**2023 Update**

For an easier install use the Termux-User-Repository

From: https://github.com/coder/code-server/issues/5745

> pkg install tur-repo
>
> pkg install code-server

**Old Instructions**

Once running Termux you will need to install a bunch of packages as `code-server` is an Electron app and needs support from `nodejs`.

```
pkg install nodejs

pkg install yarn

```

Per the Termux NodeJS wiki you should probably have installed:

```
pkg install build-essential

pkg install python

```

As they are needed for building native extensions.

And finally install `code-server` itself.

```
yarn global add code-server

```

**warning installing `code-server` takes a while**

`code-server` is now installed and will be the back-end for your front-end which will be a Chromium based browser, like Chrome for Android or Microsoft Edge.

```
code-server

```

You'll probably want to run the server in the background like `code-server &`. The ampersand puts the process in the background.

At that point you'll get some logs about where to find the password.

Open up a browser, as I was using Samsung DeX I used Samsung Internet, connect to `127.0.0.1:8080` and enter password.

In my case I used `cat ~/.config/code-server/config.yaml` to find out what was configured.

As you can see in the screenshot, even the MS Python plugin seems to work (for now).

**A Few Caveats**
> 2 votes

# Answer
VS Code does not yet exist for Android, so there's no way to run it for now. There are some other good editors though, such as CodeAnywhere that you may be able to use in the meantime.
> 1 votes

---
Tags: applications, development
---


title: Dual active LTE + multipath tcp + VPN

text:
# Question
Title: Dual active LTE + multipath tcp + VPN
I travel a lot and having a constantly reliable Internet connection is high on my priority list. Tethering from my phone is often times spotty. Different carriers are good in some areas and poor in others. To further complicate things, sometimes even a good connection can randomly hike packet loss rates and response times.

I'm searching for a solution. Something with much more reliability and consistency to tether my laptop to. I'm willing to pay for multiple carriers. I figure I can set something up with multiple sims that supports multipath tcp and then use a VPN connection to a AWS EC2 instance I setup and control.

So what I'm looking for is a dual active sim device that supports simultaneous LTE on both sims. So the first part of the question is what hardware device supports this?

According to Wikipedia there's a multipath TCP networking layer for Android. Is this standard in the latest version of Android or is this something I have to manually install?

I figure Android is a good way to accomplish this goal, but in the event that the hardware just isn't available, is there a non-Android solution that would accomplish the same thing while being as portable as a phone? I've seen professional units that accomplish this but they're bulky and have external power requirements that wouldn't fit in my pocket.

# Answer
> 3 votes
Android's multipath TCP networking layer is only able to use WiFi and Cellular concurrently and can't use multiple of the same connections at once (as far as I know).

However. You can use a mobile WiFi Router from Huawei for example. To get a seamless LTE and WiFi over LTE connection. The Huawei router is very fast and as big as my phone so very easy to carry. It offers about 8 hours of coverage but they have models that are slightly bigger that offer 20 hours.

This way you can use for example Samsung's download boost to use LTE and Wifi at the same time to get double the speeds/reliability. I would suggest you get sim cards from 2 major **different** providers for extra reliability so if one is under maintenance/has low coverage you can rely on the other.

I hope this helped if you have more questions feel free to ask.

\*If you want to double your speed you might also want to look into NIC teaming I think this only works on windows / pc's though

# Answer
> 2 votes
Google's **Project Fi** is a carrier tailor-made for traveling so you don't need an additional hotspot. It's basically what you're describing above. Fi is less expensive than almost any other US carrier you'll find, aggregates signal from 4 different carriers, doesn't charge extra for international data, and supports voice calling and LTE data in 135 countries. For Project Fi, you'll need a Nexus 5X, Nexus 6P, or Pixel; the Nexus 5X is the cheapest (you can pick one up from Fi for $250 unlocked, with no contract).

Calling & texting is cheap and works from almost anywhere in the world—see the list of 135 countries here—and data comes from US carriers T-Mobile, Sprint, and US Cellular & UK network Three for $10 per GB. Using your phone as a hotspot is free (data costs the same $10/GB), and they'll even send you up to 10 free data-only SIM cards for your tablets (Android or iPad) and phones (Android or iPhone).

All in all, you might want to consider picking up a Nexus 5X for your travels; my 6P with Fi worked great during a recent trip to Canada.

Project Fi Website.

# Answer
> 2 votes
I would suggest the best solution is speedify for the original poster as this service enables multiple internet connections, including LTE/4G, 3G, Wifi etc to be combined.

The original question caught my interest as I had the same issue with variable mobile coverage whilst on the move. In my example, I'm travelling up and down from Southampton to London Waterloo in the UK daily, I wanted better internet than one operator can provide. South West Trains do offer a free WiFi service which I am told bonds the 4 UK operators, however this is shared among all the passenger so can be unusable at peak times but is OK off peak.

I have awarded the bounty to Joost as they directly answer the original poster's question however I would believe that my answer provides the most flexible solution.

**Update**

For my solution, I'm actually now using Speedify (speedify) - see my write up here: https://apple.stackexchange.com/questions/235813/how-to-use-bluetooth-pan-and-wifi-simultaneously-in-osx/272551#272551

# Answer
> 0 votes
Support for the Multipath TCP (RFC8684) is available for some slightly older Android phones, but it requires that the device be rooted. It allows for simultaneous use of WiFi and Celllular connections by TCP connections.

---
Tags: mobile-network, dual-sim
---


# Question
Title: Updating old Android Jellybean (4.2.2) Device
My friend has just dug out an old Samsung Galaxy Tab2 7.0. It looks like it hasn't been used in a long time, and hasn't been updated in years. It doesn't support TLS 1.2 and is missing updates to Trusted Root CAs.

If I open Play Store it goes into a loop of "Unfortunately, Google Play Store has stopped" messages and I have to reboot it. I've tried clearing all the cache data for Play Store and Play Services apps, but it hasn't helped.

I did some searching about support for TLS 1.2 on Android 4.2.2 (which is what it's running) and found that it supports TLS 1.2 but is disabled by default. But every post I find about enabling this refers to doing so in the API while building an app, rather than on the device itself.

Does anybody have any thoughts/ideas on how I can get some updates installed onto this device so that it'll start talking TLS1.2 ? Is there any http only site that I could download some updates from for example ?

I did try going into About \> Check for Updates but it says that it's already got the latest. I'm not too sure if this is just because it can't talk to any updates server or if it's correct. Seems like there'd have to be some way of supporting TLS 1.2 on these older devices ?

Thanks in advance

# Answer
> 0 votes
According to the Wikipedia page for this device, officially, it only supported 4.2.2 at the highest.

You'd need to update it using a third-party software, such as LineageOS.

That said, the tablet itself is outside of even their maintenance window, and depending on which device you have (the Cellular version or the Wifi version), will need to manually build their latest OS for it.

All the standard disclaimers about modifying your android device with aftermarket software remain relevant here.

# Answer
> 0 votes
I would go over to XDA and root it:

`https://www.xda-developers.com/easy-root-and-recovery-tutorial-for-the-galaxy-tab-2-7-0/`

and then choose one of their roms and flash it:

`https://forum.xda-developers.com/galaxy-tab-2/7-inch-development`

---
Tags: updates, samsung-galaxy-tab-2-7
---


# Question
Title: Can I slow down the speed of my recorded phone calls?
I've installed the Call Recorder app on my GT-S6810P Samsung Galaxy phone. The app has successfully recorded all of my calls but when I play them back it plays them too fast. Is there any way I can slow them down?

# Answer
> 1 votes
While the app that you installed might not have an option to change the speed of the recording, and I'm not sure why it would play it faster than the original, you can download a music player app which allows for speed change, and play your recording there.

The app that I've used is called Music Speed Changer. It's free and it allows for speed change while keeping the same pitch. When playing the recording in this app you'll see a slider for speed change adjust it accordingly.

---
Tags: applications, calls, hardware, system
---


# Question
Title: How can I force my phone to connect to US-based cell towers only?
I use a Samsung Galaxy S9 with Android 10, and plan to enter Mexico from the US via the land border. How can I force my phone to connect to US-based cell towers only? (I believe my data usage will get way more expensive for non-US data use)

# Answer
> 0 votes
It is currently impossible to do force one's phone to connect to US-based cell towers only. E.g. from Dicknose22 on https://www.reddit.com/r/AndroidQuestions/comments/j5ntyg/how\_can\_i\_force\_my\_phone\_to\_connect\_to\_usbased/g7tefwh/:

> Not to the best of my knowledge, even with total root access, your phone and the tower communicate on what to connect to you do not have power to override what your carrier decides you should connect to.

---
Tags: android-10, samsung-galaxy-s-9
---


# Question
Title: Is Google aware of multiple user profiles sharing the same Android device?
If I create two user profiles\* on my Google Pixel device, is Google (potentially) aware that both of them share the same device--as per privacy policy and/or actual implementation?

If so, is there any way to prevent Google from knowing which user profiles (identified as Android accounts) share a device, except switching to a custom ROM?

\[\*\] As managed in `Settings > System > Multiple Users` as of Android 11; not to be confused with `Settings > Accounts`.

# Answer
> 0 votes
If your Internet provider uses IPv6 and your device is using IPv6, and you use any service or web site that uses Google resources/services in any way Google can identify your device by it's IP address if you switch the profiles without rebooting no matter what ROM you have installed.

As modern devices with Google PlayServices + PlayStore installed contact PlayStore for updates even if no Google account has been set-up on one of your profiles.

---
Tags: privacy, google-pixel, profiles
---


title: How to write « and » in Galaxy A30s?

text:
# Question
Title: How to write « and » in Galaxy A30s?
Oftentimes I write texts that require the usage of a combination between ', " and «. Yet I have to copy from anywhere « anytime I want to use it and that's not the nicest experience.

This is the variations the keyboard offers

So, the only keyboard key that looks closer to « is 《 which is not really the same. I did long press some of the existing keyboard keys but none revealed the «.

# Answer
My take was to search for "keyboard"

Go to "Manage keyboards"

And activate Gboard.

Now I can simply long press "

And that opens up a modal with the « and ».
> 3 votes

---
Tags: samsung, keyboard
---


# Question
Title: Android phone powers on spontaneously during charging
I want to charge the phone while it's powered OFF.

But it automatically turns itself ON during charging. It may be 87% or 90% or 100%. I don't know the exact reason.

Model = LG-K430n.

I don't like cell phone radiation and I rarely use the phone at all. I just want it to be OFF most of the time. This is driving me nuts.

# Answer
It's by OEM design. See support questions and in particular this one My phone automatically turns on when I connect the charger. Why? which says

> Your smartphone will turn on automatically when the charger is connected. Please be assured that it is a sign of normal operation.

And to prevent it from turning on

> To charge when your smartphone is off, connect the charger first and press the Power button to turn off your phone. The display will not be turned on. When the remaining battery is less than 5%, the battery temperature is too high or low, or the smartphone is turned off due to the high temperature, the screen will not turn on.
> 0 votes

---
Tags: charging, power-on
---


title: Tap here to sign in to network

text:
# Question
Title: Tap here to sign in to network
```
Asus ROG 2 Phone
17.0240.2009.49
Not Rooted
Happens All the time
Wifi Connection in my home

```

---

Ever since updating to 17.0240.2009.49, my phone has been listing one of my wifi connections as "Limited"

But today, it now prompts to "Sign in to Wi-Fi network"

I have no captive portal on this network.

My laptop (windows 10 pro) connects without any problems or prompt.

My tablet (Nexus 9) connects without any problems or prompt.

If I tap to sign in, I am shown a blank page.

If I select "Use this network as-is" in the 3 dots menu, it works for a few minutes and then puts an X on the Wifi Icon saying "no connection" - even though I was browsing web pages before then.

After that, I can't access anything.

I have tried:

```
static/dhcp - no change
Treat as Unmetered - no change
Rebooted - no change
Reset Wifi - no change
Dynamic/Static Mac address - no change
Rebooted the router - no change
looked through pfSense logs - no information

```

Any ideas?

---

Update:

After selecting "Use this network as-is", it shows connected for a bit, then shows disconnected with an X in the Wifi Icon. At that point, I can't access anything.

But after waiting a few minutes, I can access everything just fine again - even though it still shows an X on the Wifi Icon and says 'No Internet' when I pull down the status bar. However, that is only with Mobile Network Data turned OFF or I turn off "Switch to Mobile data when WiFi has no Internet"

So, for some stupid reason, the phone thinks I have no Internet on this Wifi SSID, so it tries over Network Data and fails - so nothing works.

There must be a Ping Test or something for Wifi that is failing and so it reports no Internet and borks everything up.

What the HECK is going on and how do I get this back to a sensible state?

# Answer
After dicking around in ADB with Captive Portal setting, changing URLs and crap, I finally just gave up and set :

```
adb shell settings put global captive_portal_mode 0

```

now it doesn't check, doesn't prompt to login to a non-existent portal, or show "No Internet" on the wifi - and the wifi does work.

Don't know WTF was going on, but I wasted an entire day screwing around with this stupid phone.
> 0 votes

---
Tags: wi-fi, captive-portal
---


# Question
Title: How to use clipboard in Galaxy A30s everywhere?
When going through the options available on my keyboard, found a section which references "Clipboard".

In specific places, like in Stack Overflow's question box we can se from the opacity that's not active.

I would like the opportunity to use it anytime I wanted, not just when in particular locations like Google Keep.

# Answer
The way I've fixed it was to change the keyboard from Samsung Keyboard to Gboard and now got a Clipboard icon always active

And can use anywhere just fine
> 1 votes

---
Tags: samsung, keyboard, copy-paste
---


title: TWRP decrypt password

text:
# Question
Title: TWRP decrypt password
TWRP 3.2.3 asks for a decrypt password at startup, which I never set. Ignoring with 'cancel' leads to the main menu, but then the internal storage is marked as 0 byte (e.g. when trying to backup), which is not the case.

I understand this is related to default encryption of the data partition (correct?) by Android (my phone has Android One).

Is there a default password?

The PIN/password used to login into the regular OS do **NOT** work. I've seen many answers saying so (e.g. here or here ), it is not true (at least for my version of Android). I tried with numerical PIN, password, or nothing (each time going back to factory reset), and nothing worked in TWRP.

I know there are other related questions, but none of the answer provides details or seem confident enough:

here here here

This answer refers to a misterious "disable force encryption" package, which I've also read about in other posts.

Is it really the way to go? What exactly is that package? And what does it do?

Can I not completely disable encryption in Android OS?

---

Extra:

I want to mention that I manged to circumvent the problem temporarily, by recreating the data filesystem within TWRP. This of course wipes out your data, but at least afterwards TWRP sees your internal storage and one can do a backup of the system. However, upon reboot the phone gets stuck in the initial loading (white screen with color bar in Android one), so I have to reboot again to the stock recovery and do a reset. Which brings back encryption, and I am back to square 1.

# Answer
> 3 votes
It's a issue with TWRP and the ROM you are using. TWRP is able to decrypt till Android 8.0 but if you're using a ROM above it you'll get this error and after flashing your data partition to ext4 it will let you use that space till ROM boot up and encrypt again. There isn't a solution yet. TWRP releases updated version 3.2.3\_1 for few devices only which has this bug fixes.

# Answer
> 0 votes
Android devices with full-disk encryption (FDE), such as yours (usually Android 7–9), may support the `forceencrypt` fstab flag, which causes the device to encrypt (again) on (first) boot.

Thus, while you can “Format data” in the “Wipe” section in TWRP to have an empty but decrypted “/data”, the OS will encrypt again on next boot.

You must therefore prevent encryption of “/data” from occurring for your use case to work.

Try looking at “Universal DM-Verity, ForceEncrypt, Disk Quota Disabler” \[1\] or otherwise Magisk \[2\] \[3\].

---
Tags: twrp, encryption, android-one
---


title: How do I bookmark the sms: scheme?

text:
# Question
Title: How do I bookmark the sms: scheme?
I use a local town public transport service and it also offers an SMS ticket service that I find pretty easy to use. One thing I dislike about it is remembering every single code for particular routes (the codes are simple unless I'm on the street). I would like to bookmark it somehow and register in my (web browser?) bookmarks or my contacts. RFC 5724 suggests a special SMS URI that generally is:

```
sms:$SERVICE_PHONE_NUMBER?body=$TICKET_REQUEST_CODE

```

e.g., `sms:1234?body=5678` in my case. I was trying to add such a bookmark in Google Chrome hoping to add a bookmark widget to the home screen, but Chrome interprets it as an HTTP URI trying to open a web site. I was also trying to add the bookmark to Google Contacts as a special "web site" field for the dedicated contact, but it didn't work either as if it were an HTTP URI.

My question is, is it possible to bookmark an `sms:` scheme URL on Android so I could use predefined SMS messages with predefined recipients and predefined text bodies?

If it's worth noting, I use QKSMS. It seems to declare `sms` and other protocols intent filtering, but for whatever reason it does not work for me.

---

Edit 1.

As a test workaround I've just created a simple HTML page, and it seems to work:

```
<a href="sms:1234?body=5678">5678</a>

```

Saving the page to the device and adding a shortcut to the file on the home screen seems to do what I want very and very closely, and clicking the link opens QKSMS with proper recipient and text body. I only don't really like the idea of having a static HTML file on my device because it may be hard to maintain in case of necessity. So it turns out that Google products do not work well here?

# Answer
> 1 votes
On Android the communication between the web browser and the sms app bases on "Intents".

based on your description the problematic component in this set-up is the web browser. Hence using a different app that can send Intents to other apps or using the `adb` shell can be helpful for testing out SMS links directly.

There a a lot of apps in Google PlayStore that can send Intents to other apps, for example Intent.

If you want to try adb (Android Debug Bridge) use the following command to sens an sms intent:

```
adb shell am start -a android.intent.action.VIEW -d sms:1234?body=5678

```

---
Tags: sms, bookmarks
---


# Question
Title: Prompt "Use USB to ... (charge this device, ...)" keeps coming up
I'm trying to connect my Xperia X to my laptop and after hitting "Transfer files" connection is attempted but won't establish and defaults back to charging. Doesn't matter how many times I tap on "Transfer files". I'm using genuine USB cable from Sony so cable can't be the issue. Do I need any specific driver or something ?

Any help much appreciated.

**Hardware IDS:**

# Answer
> 1 votes
Of course,for connecting phone to Pc you need phone's drivers. I see that you made a Windows Virtual Machine and there are 2 ways to solve it:

1st Way: Installing Drivers Manually For installing driver manually go to Device manager-\>Details-\>Hardware ID copy all ID and search on Google. After that you will see your phone's driver name. Search that driver name and install it.

2nd Way(Easiest way):Use driver updater software for Windows.

If you are not professional at Windows OS,then there special programs for you such as Advanced Driver Updater,IOBit Driver Booster(in app you will see "update drivers" option.) and etc. If these ways not works then go to this site and find your device. Then at the right you will see driver. Click on that link and download that driver and install.

I hope this steps will help you.

---
Tags: usb, sony-xperia
---


title: change device-model without root

text:
# Question
Title: change device-model without root
i want to change the device-modell of a non-rooted device.

is there ANY way to do it (that doesnt involve rooting)?

maybe also an app that sends that the device is compatible.

# Answer
By device model do you mean Android version? In this case, it is possible without root, but you will be left with the company. Some companies offer Android upgrades (to the latest version) for devices. To attempt to get the latest version of Android:

Go to Settings \> About \> System updates \> Check for update.

If it says "upgrading" or "updating" you might be in luck!

If not... there really isn't much else you can do. Unless you want to try root, a custom recovery, and flashing a new version of Android (besides voiding your warranty, this could hard-brick your device). Or contact the company and see if they offer Android upgrades for your device model.
> 1 votes

# Answer
Answer: **No.** Because without root you can't change manufacture info that made by company.

**But,** there are some apps that can simulate it with built-in function. For example: During Covid-19 there was problem with video's quality. If your device wasn't in list,then you couldn't watch videos at 720p and above. There is an app called **YouTube Vanced**. This app could simulate supported device model on devices that weren't in list. And thanks to this function all YouTube Vanced users could watch all videos on max quality. It means that you can change model number without root if that function available on program.
> 1 votes

---
Tags: device-name
---


# Question
Title: How can I schedule Focus Mode on my Android phone?
Google have launched Digital Wellbeing features in newer Android versions, including Focus Mode. Focus Mode lets you select a list of allowed apps and block all others, during periods when you want to focus and avoid distractions.

According to this blog post by Google, it is possible to schedule Focus Mode:

> Their feedback inspired us to include a few new features with today’s launch. For example, we’ve added an option to automatically turn Focus mode on and off for the days and times that you choose (e.g. from 9 a.m. to 5 p.m. on weekdays). This is especially handy for setting daily schedules; you can minimize distractions during the hours you’re at work, school or home.

My phone has Focus Mode, but it does not seem to have a way to schedule Focus Mode. How is Focus Mode scheduled on phones where this is supported?

# Answer
On one plus 7 Android 10,you can schedule this way: Digital Wellbeing & Parental control → Tap on Focus mode → on next screen select distracting apps → Set a schedule → Set schedule (set days of week and time) → turn on now. From 3 buttons menu you can also add a quick settings shortcut.

(Click to enlarge)
> 1 votes

---
Tags: digital-wellbeing
---


# Question
Title: How to print to CUPS (running on another computer in the LAN)?
How to print from Android to CUPS (running on another computer in the LAN)?

(CUPS (Common Unix Printing System/Server) is of course already set up to accept requests over the LAN.)

Preferably, without relying on proprietary software.

# Answer
> 4 votes
I have recently released an Android app based on (a modified) version of Cups4J. Communication is via *http/https*. The main thing I had to/opted to change from the java library was a dependency on JAXB for XML processing (*a.* I felt it too heavy *b.* Android does not have this *javax lib* and importing it apparently involves repackaging) relying instead on some hard coding.

Download Android CUPS Printing on the Play Store or get the sources on GitHub.

# Answer
> 3 votes
You can now set up CUPS for IPP Everywhere. It should then directly show up in your Android, Chromebooks, and maybe even iPhone printer menus. The other answers are outdated for reasonably new systems: CUPS 1.5+ and Android 4.4+ or an IPP Everywhere printer is required. For Apple AirPrint CUPS 2.2.2 is required. Debugging the functionality can be a bit difficult though.

# Answer
> 2 votes
I have a USB printer attached to a Windows machine and my Linux server sees that over SMB and publishes that via CUPS (be sure to "share...".)

For Android, there's Let's Print Droid \- complete with a print service so all apps see it. It takes about two minutes to set up.

# Answer
> 2 votes
As already stated in other answers, the android system printing service can already access to cups printer (at least for android 10).

These are the steps I had to follow to make it work with debian buster since CUPS was not configured to accept LAN requests in my case.

**On debian buster**

Steps were taken from Sharing via Internet Printing Protocol @ wiki.ArchLinux.org

1. go to the CUPS admin panel http://localhost:631/admin and check "Share printers connected to this system", then click on "Change settings"
2. Edit `/etc/cups/cupsd.conf` so that your CUPS / is reachable from a local network address

> ```
> <Location />
>    Order allow,deny
>    Allow localhost
>    Allow 192.168.0.*
> </Location>
> ...
>
> ```

3. Edit `/etc/cups/cupsd.conf` either one of these ways

> 3a. so that your CUPS listens to the address at wich you call it
>
> ```
> ...
> Listen <hostname>:631
> ...
>
> ```
>
> 3b. so that your CUPS listens to port 631 (whatever the address at wich you call it) remove the `Listen localhost:631` line and add this one \[3b. works better for me, since after a reboot, the solution 3a. didn't make the cups server reachable from anything else than localhost\]
>
> ```
> ...
> Port 631
> ...
>
> ```

4. Restart CUPS daemon :

> ```
> # systemctl restart cups
>
> ```

**On an Android 10 phone (mine is xiaomi with miui 11)**

* Simply go to parameters / Connexion & sharing / Printing / System Printing Service (should be enabled)
* be sure your phone is connected to the network where your CUPS server is reachable
* Normally your printers should appear automagically

# Answer
> 1 votes
It seems there are no native Android CUPS clients, which are free software.

The only way that can be found is rather clumsy, via a Debian installation on the Android device -- http://code.google.com/p/android/issues/detail?id=1148#c41. But using a Debian (or another distro) installation like LilDebi (for example) would definitely **require root** (in order to chroot)! That's not convenient for those who don't want to root the device (just to be able to print). (BTW, aren't there, besides chroot, any more modern alternative isolation technologies implemented in Linux that wouldn't require root?.. Perhaps, LXC?)

Another app (Remote CUPS) requires SSH access to the server.

ObPrint doesn't appear to be open-source.

Let's Print Droid likewise doesn't appear to be open-source.

# Answer
> 1 votes
For newer Android versions, CUPS printers are found by the standard print service, so no extra plugin or app has to be installed.

* Share the printer in CUPS
* Turn on print service in Android (search print service in settings)
* CUPS printers should be found automatically. Tested on Android 10.

---
Tags: printing, lan
---


# Question
Title: How to set up LAN Printer with IP address
On a Moto G (5) Plus running Android 8.1.0, API 27, I have `Default Print Service` under `Settings > Connected devices > Printing`.

When I click on `Default Print Service` it starts searching for printers, which doesn't return anything, even though my printer and phone are on 192.168.3.x (my home LAN). I can click the 3 dot menu and click `Add printer`, then under *Add manual printer*, I type the IP address of the printer, but the result is immediate:

> Printer not supported

The printer is connected to the LAN through a JetDirect 300X (yes, very old technology). But the printer works fine when configured to receive output from Windows machines. On Windows, I put in the IP address, Port Number `9100`, protocol `Raw`. The driver is `HP LaserJet5`, which comes with Windows.

Beyond the default print service, I also tried and HP Print Service that I found on GooglePlay, but I could not find a way to manually add a printer using that.

Is there a way to get my phone to print to this LAN connected printer?

# Answer
> 2 votes
I have been through a similar struggle, but a Brother HL-2250DN networked printer and Android Pie. Printer is not showing up when searching in Default Print Service.

I can see the Brother printer on the network using Fing, and can ping it by its IP address so it isn't a network problem.

The Brother supports Internet Protocol Printing (IPP) which is apparently supported by Android, but I'm not convinced Brother's implementation is good. It also supports other protocols supported by Android, but enabling them all doesn't make the printer show up.

I discovered if I shared the printer from my Mac, it did then show up in Default Print Service, and I can print from my Android. Unfortunately, sharing from Windows doesn't seem to work in this way.

It would be nice not to need another client powered on in order to print, but that probably requires a printer natively supporting Google Cloud Print or properly implementing an Android supported promoting protocol.

# Answer
> 2 votes
There's an app that I got to work called Let's Print Droid.

# Answer
> 0 votes
Hp Epson all offer apps for print from smartphone. Download those app and connect to printer.

Even you can use usb cable to connect to printer. Otherwise use Wi-Fi or Bluetooth connection.

Use google drive to print a document.

Or on chrome browser go to setting /advance / printing / manage cloud print / add printer.

---
Tags: printing, lan, ip-address
---


# Question
Title: Streaming Android screen to YouTube, Twitch etc
I have Lenovo Yoga Book, which I would like to use for drawing - it has a drawing tablet with a stylus.

I would like to use it to draw on Slack meetings. However, screen sharing does not work on Android version of Slack. So I was thinking I could stream the screen to YouTube and send my colleagues a link.

* I have tried Mobizen, but that gives me "Stream Error: 901".
* I have tried Twitch app but that's only for viewing.

Does anyone have some working solution?

Android 7.1.1.

# Answer
> 1 votes
I figured out. The Omlet Arcade app works like a charm.

It even supports internal audio streaming, but only from Android 10 which supports it itself.

---

In case anyone has the same use case as me - drawing - then the app I use for collaborative drawing is Aggie.io, and for stylus-on-tablet drawing I use Lenovo NoteSaver, which one of the few apps which supports the drawing pad.

---
Tags: screen, streaming, screencast
---


# Question
Title: How to find the files (.apk) of a certain app like Google Play Services
I have a rooted device and I tried the `find / -name "*Play*"` command and got some files from `com.google.android.gms` and a couple of Playlists but nothing like `Google Play Services.apk`

I wonder if it is possible for an app to not have an .apk file and if this is the case is there any chance of finding the files associated with the app from the app name?

# Answer
You won't need root for that, but can utilize the `pm` command either on-device from within a terminal, or via :

```
adb shell pm path com.google.android.gms | awk -F':' '{print $2}

```

will give you the full path including the file name, so you could use that to pull the APK from your device to your computer:

```
adb pull $(adb shell pm path com.google.android.gms | awk -F':' '{print $2})

```

To answer the other parts from your question:

* every app has an `*.apk` file. Some might even have multiple ("split APKs").
* finding the APK by the (localized) app name is not trivial. You'd have to parse the entire app list to get the package names, use those to get the location of the APK as described above, and then use `aapt` to extract and match the localized name (I haven't yet found whether and if where Android might store that outside the APK). `aapt` usually isn't present on-device.
> 1 votes

---
Tags: applications, google-play-services, google-apps, search
---


# Question
Title: How to find the application responsible for a Share menu item?
I have a duplicate "Copy" item in the "Share" menu when sharing a link from Firefox:

The legitimate one is "Копировать", bottom left. The one that puzzles me is "Copy", second from the left in the top row.

How do I find which application is responsible for the "Copy" so I can remove it?

I have tried to share using the (fake?) "Copy" item. I get a toast notification saying "Не удалось отправить в это приложение" (Cannot send to this application) and the URL isn't copied.

Translations:

* Недавно использованные - recently used
* Все действия - all actions

This is Samsung Galaxy S8, Android 9, One UI 1.0.

# Answer
Sharedr (Google Play), a replacement share dialog app, can display this information:

* Install Sharedr.
* Launch the Share action.
* Choose "Sharedr" instead of default Android share (you can choose "Just once" if you don't want to keep using Sharedr).
* In the action list, long press an item and choose "App Info". It will take you to the responsible application's settings.

P.S. Fake "Copy" menu item is AfterShip.
> 1 votes

---
Tags: share-menu
---


# Question
Title: what does the intent filter verification service app from Google do?
While updating apps on Fdroid (not sure which one because is was bulk update, could be any from Activity Diary, Editor, Simple Calendar), the firewall (AFWall+, moto x 2nd gen rooted) caught an attempt to communicate with what a whois search identified as amazon servers. The app that tried to communicate was Google's Intent Filter Verification Service. Does anyone know what is this app for? I am not asking what Intent Filters are....

# Answer
> 3 votes
I used APKTool to find the following details:

1. It is not a Framework or a Shared Library,
2. It does not get backed up,
3. It appears to use some custom permissions (`INTENT_FILTER_VERIFICATION_AGENT`, `BIND_INTENT_FILTER_VERIFIER`, `INTENT_FILTER_NEEDS_VERIFICATION`)
4. It has a Broadcast Receiver, so presumably this NEEDS VERIFICATION stuff is happening at an OS level,
5. It is a Service.

I tried reading the reversed code, but I have no experience with Smali and therefore didn't make much meaningful progress. Next, I used AndroGuard to make a Call Graph:

```
androcg.py --output intent-filter.gml --no-isolated Intent\ Filter\ Verification\ Service_com.android.statementservice.apk

```

... then I turned this into an image:

```
import networkx as nx
import matplotlib.pyplot as plt
ifv = nx.read_gml('intent-filter.gml')
# filter out some system stuff, I think
ifv = ifv.subgraph([a for a in ifv.nodes() if not 'Landroid' in a])
# filter out some java utility type stuff, I think
ifv = ifv.subgraph([a for a in ifv.nodes() if not 'Ljava/lang' in a])
isolates = nx.isolates(ifv)
nonisolates = list(set(ifv.nodes()) - set(isolates))
ifv = ifv.subgraph(nonisolates)
relabeler = {key: key.split()[0].split('/')[-1] for key in ifv.nodes()}
ifvn = nx.relabel_nodes(ifv, relabeler)
ifvn.remove_edges_from(nx.selfloop_edges(ifvn))
nx.draw(ifvn, with_labels=True)
fig = plt.gcf()
fig.set_size_inches(18, 10)
fig.savefig('intent-filter.jpg',dpi=200)

```

I get this:

My suspicion from the name of the service is that it effectively takes an `Intent` and determines whether or not that `Intent` satisfies the (grammar? of the ...) Intent Filter of each publicly declared exportable component in each `Manifest.xml` for all the apps on the device. This call graph seems to sort of support my hypothesis. In particular, `URL` is dead center with a ton of out-going edges, the nodes in the middle-ring of stuff kind of look like verification or filtration of some sort (parsing an extended message nano, looking at a network response, pulling the data from the `Intent`, getting a web port, checking if a protocol is valid or invalid ...), and finally the very outer-most items that have only incoming edges kind of seem like they are either executing the `Intent` by passing it to a destination (e.g, `HttpURLConnection ->`, `NetworkResponse`, `AndroidAppAsset`, ...), or discarding it as invalid (`InvalidProtocolBufferNanoException`, `ResistanceFollowRedirects`, `OutOfSpaceException`, ...).

I am just an amateur sleuth and cannot claim to really know what all this means, but this is my 10 cents. I think that the the Service forms the connection between an invoked `Intent` and all of the `IntentFilter`s in apps on the device. I think it decides what goes to which app, if something has invalid data like in a null fuzzing scenario, and if something should go to the web. I think it also stops some sort of infinite-redirect attack. I suspect this is an effort on the part of the Android dev team to defend against inter-component communication (ICC) attacks and app link / URI vulnerabilities. Hope this helps!

# Answer
> 0 votes
I think this is a "watcher" program, or a language-interpretation program. It might be how the MMS services "guess" the next word you are going to use during texting, and offer it's three best guesses as suggestions.

To stretch it's use further, this program is probably also the one that ferries every fifth text or phone call to the FBI/CIA to "watch" all of us as potential "terrorists". x(

---
Tags: applications
---