text:
What to do when you have low app space for Android 4.1 or up?
You may have already removed all possible apps that are not useful to you, But your Android phone still keeps saying insufficient memory and can't install anything because of low app space available. What will you do?

Hm, I'd go visit our insufficient-memory tag-wiki for further hints :)

Answering your own question is welcomed on this site, but not if you're just posting a duplicate of questions that were already answered.

I will show you two methods to free up app's space. I personally like Method 2 more because, it gives more freedom in choosing what to delete and what not to.
Method 1: Clear cached Data

Go to Settings > Storage > Clear cached data (for all)

Method 2: Using Storage Analyzer & Disk Usage app (Requires Android 4.1 or up)

If you can't install anything from the start, I suggest to first uninstall apps that doesn't necessarily contain essential app data--one that you don't mind losing data for when you uninstall it, e.g., Facebook and Messenger apps (uninstalling any of them is actually enough). The app is only about 4 MB in size.
Install Storage Analyzer & Disk Usage app
Open the app called Drives (this is the app's name in my phone).
Wait for it to finish its scanning.
Go to the DEVICE'S STORAGES tab.
Click Applications, then wait for it to finish it’s scan.
Go to FILE CATEGORIES tab and delete all deletable stuffs except stuffs of the same type of App data.

App cache is usually what you want to delete.
App apk is usually undeletable, but it's just all the app apks you downloaded from the first time you got the cellphone, so it would be good if you are able to delete this. (As an aside, you can also comment to this answer how will I be able to do that).
I repeat, DO NOT DELETE App data or other folders of the same type because they're your app data.
Note: If you are able to delete a folder or a file, that file will be immediately deleted, no questions asked. So be careful.

Reinstall the apps you installed in the first step.

Happens :) As a hint from an "old-timer" to a "new-comer": Many of our tags have wikis assigned (easy to find: click the tag, then "info"), often with useful summaries and details. Especially for such common issues we've already "amassed" information. Always worth checking. Help on completing those details of course is welcome, as Dan already pointed out :) So after a somehow "bumpy start": have a good stay here. Drop into our chat if you need "a quick hint" on something.

Thanks @Izzy for being a good mod :) However, I can't really add my answer to that wiki because I still don't have enough rep for it.

Thanks for the edit! Please understand we'll keep this closed as duplicate nevertheless, as the linked question covers this already. Don't let that discourage you (we're all constantly learning new things each day), keep the spirit up :)

Okay! At least someone will still be able to see my answer, and hopefully get enough rep to be able to post answer there :)

PS:  And I didn't mean to add your answer to that wiki (as said, that hint is already part of another answer) – but in general to share especially missing parts in answers. We "old-timers" usually link especially useful things there then (we don't want to overload those wikis either, or they stop being useful). Once you've got a good feeling for a specific area (tag) on this site, you're of course welcome there, too – but that means being really familiar with what's already around here and how to "join it / sum it up" to the best benefit. Takes some time.


text:
VLC for Android: Where does it stores playlist files?
I want to edit playlist files of VLC in Android as we can do in windows (.xspf files)
I have searched in Android/data/org.videolan.vlc path but did't find anywhere.

The playlists and other media informations are stored in this database file:
/data/data/org.videolan.vlc/app_db/vlc_media.db

The easiest method so far is to modify the playlists from inside the app by adding/removing media files from/to them.
However, if you have root access to your phone/tablet, an sqlite editor/reader (you can get one here), basic knowledge of SQL and a bit of patience you can modify the playlists by doing the following:
Navigate to /data/data/org.videolan.vlc/app_db and copy vlc_media.db to a folder you have full permission.
Open the copied file mentioned above with the SQL editor app. In the 'Tables' tab, you will see all the tables among them Playlist, Media, PlaylistMediaRelation, AudioTrack and VideoTrack.
In the 'Sql Editor' tab, insert the code below to get a list of all playlists and their files, then click on 'Run':
SELECT id_playlist, name, filename
FROM Playlist
Inner Join playlistmediarelation ON playlist_id=id_playlist
Inner Join Media ON id_media=media_id
WHERE name = 'your_playlist_name'
ORDER BY id_playlist

To check your media files with their IDs:
SELECT id_media, filename
FROM Media

From these information, you can modify your playlist(s):

To insert/append media to playlist:
INSERT INTO PlaylistMediaRelation(media_id,playlist_id)
VALUES(520,1)

To delete multiples media files:
DELETE FROM PlaylistMediaRelation
WHERE media_id IN (456, 520) AND playlist_id=2

To update a media:
UPDATE PlaylistMediaRelation
SET media_id=321
WHERE media_id=476 AND playlist_id=7

Don't forget to copy the file back to the original folder.
Note: The numbers for id in the code are just examples.

Is there any app which stores Playlists files as plain text file (like vlc does as  .xspf files) and capable of playing all kinds of media files including streaming?

The only app that i have found so far is this one. It is not a media player but it allows you to backup/export your playlist from system, Google Play Muic and Poweramp in plain text.

Try BlackPlayer. It can export playlists as m3u files.

The SQL Editor (https://github.com/sqlitebrowser/sqlitebrowser/releases) can not open that DB: "malformed database schema"... :-(

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
WhatsApp: incremental backup possible?
I share my phone at home and I know sometimes some of my WhatsApp messages are deleted from my chat history. Sometimes I end up dieting some videos from WhatsApp myself due to lack of space on the device. I would like to know whether it is possible to perform an incremental backup to Google Drive, so that I can restore a video or part of a chat from any date in case I decide to delete it locally and the standard WhatsApp backup to Google Drive deletes this part. Thanks.

WhatsApp backup on Google Drive is incremental as you can read in WhatsApp FAQ
But you can't restore a video or part of a chat from any date in case I decide to delete it locally.....,that's not possible and you would need to restore in full not selectively by date or content

Can I at least peek at the incremental backup using Google Drive or other means to retrieve a part of a deleted conversation?

Where in the link you provided does it say the backup is incremental as in keeping snapshots of previous backups, adding the delta's like source control does (like CVS current versioning system). If it does not then is there a CVS-like app replacement? Thanks.

@NeilZaneil- AFAIK No and I haven't heard of such utility for users (not talking of database admins)

under creating Google Drive Backup -However, subsequent backups are incremental, thus not requiring a completely new backup of all your data every time. I am not familiar with CVS system , sorry, can't comment on that . But I am very sure that as a user you can't do what you asked in the question

CVS is one of the older precursors of Git, the source control system by Linus Torvalds that everyone uses nowadays; it uses all of the same ideas, just more prehistoric and slower.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
How can I write e-mails in colored (and any size) letters with mail.ru app for Android?

How can I write e-mails in colored (and any size) letters with mail.ru app for Android?

I tried:
I downloaded Microsoft Word app. And I wrote text there with colored letters.Then I copied it.When I paste it to mail.ru, the same thing was happened again. The letters were colorless and shrunk. I know, this is possible in windows operation in PC.

Is there no way to do this on Android?

Set text format to HTML or something like that if it's possible.


text:
Can I find my Google Assistant reminders, shop list and remembered info somewhere outside my phone
If I want to add a reminder or change my shopping list I can do it only using Google Assistant on my phone. But it's not always usable.
Can I work with Google Assistant or simply edit such info using a PC?
I tried to install Google Allo but it seems like it uses some different information that isn't shared with my phone (even tho I logged in with the same Google account).

Note: Google will stop supporting Allo in March 2019


text:
FASTBOOT commands don't work at all on my Samsung phone
I did every things.
installing all USB driver.
my phone driver.
ADB driver.
enabling USB debugging.
every thing.
but still i have problem with fastboot commands. like if i type : fastboot devices. it tell me waiting for any device . every thing is work perfectly in adb commands like adb devices, but not fastboot. i also installed SDK and google drivers.
I wanna install a custom recovery (twrp) to back up my EFS folder and then root it and then install custom rom :) . but at the first level i got stuck and i cant install the custom recovery. i can do any command like adb reboot download but in downloading mode i cant use fastboot command as fastboot flash recovery. after typing this fastboot command the next line it tells me that "waiting for any device".

i used odin to instal that custom recovery and every thing was ok but after 3 second my phone rebooted and the message showd in odin textbox was "removed" after 2min odin text box said passed. "0faild/1 succesfull" but nothing changed

Samsung devices have no fastboot mode. To install a custom recovery, flash a recovery image for your device with Odin/Heimdall.
Do note that although Odin can automatically reboot the phone after flashing, it will not automatically boot it into the recovery you just flashed. To boot into recovery, the moment Odin automatically reboots your phone, immediately hold the key combo to boot the device into recovery. On most Samsung devices it's VOL_UP+HOME+POWER. You should see "recovery booting..." on the top-left of the screen, at which point you can release the keys. You will land in the custom recovery seconds after, from which you could proceed to backup /efs (using nandroid backup) or flash a custom ROM.

The only possible way to backup EFS partition on a non rooted Samsung is using Odin to flash TWRP which corresponds to your device and after that boot to recovery using key combo. Power+Home+Volume^. At recovery access TWRP Terminal. Copy the /factory_init.rc to /sdcard. Copy the file to your desktop and open it with wordpad. It should look something like this:
import /init.environ.rc
import init.fon.rc
import init.trustonic.rc
import init.nvdata.rc
import init.microtrust.rc
import factory_init.usb.rc

on early-init
    # Set init and its forked children's oom_adj.
    write /proc/1/oom_score_adj -1000

    # Set the security context of /adb_keys if present.
    restorecon /adb_keys

    start ueventd

    write /proc/bootprof "INIT: usr/eng build setting"

sysclktz 0

loglevel 5

# Backward compatibility
    symlink /system/etc /etc
    symlink /sys/kernel/debug /d

# Link /vendor to /system/vendor for devices without a vendor partition.
    symlink /system/vendor /vendor

# Create cgroup mount point for cpu accounting
    mkdir /acct
    mount cgroup none /acct cpuacct
    mkdir /acct/uid

    mkdir /system
    mkdir /data 0771 system system
    mkdir /cache 0770 system cache
    mkdir /config 0500 root root

# Mount staging areas for devices managed by vold
    # See storage config details at http://source.android.com/tech/storage/
    mkdir /mnt 0755 root system
    mount tmpfs tmpfs /mnt mode=0755,uid=0,gid=1000
    restorecon_recursive /mnt
    # Support legacy paths
    symlink /sdcard /mnt/sdcard

    mkdir /mnt/secure 0700 root root
    mkdir /mnt/secure/asec 0700 root root
    mkdir /mnt/asec 0755 root system
    mkdir /mnt/obb 0755 root system
    mkdir /mnt/media_rw 0750 root media_rw
    mkdir /mnt/user 0755 root root
    mkdir /mnt/user/0 0755 root root
    mkdir /mnt/expand 0771 system system

    # Storage views to support runtime permissions
    mkdir /storage 0755 root root
    mkdir /mnt/runtime 0700 root root
    mkdir /mnt/runtime/default 0755 root root
    mkdir /mnt/runtime/default/self 0755 root root
    mkdir /mnt/runtime/read 0755 root root
    mkdir /mnt/runtime/read/self 0755 root root
    mkdir /mnt/runtime/write 0755 root root
    mkdir /mnt/runtime/write/self 0755 root root

    # Symlink to keep legacy apps working in multi-user world
    symlink /storage/self/primary /sdcard
    symlink /mnt/user/0/primary /mnt/runtime/default/self/primary

    write /proc/sys/kernel/panic_on_oops 1
    write /proc/sys/kernel/hung_task_timeout_secs 0
    write /proc/cpu/alignment 4
    write /proc/sys/kernel/sched_latency_ns 10000000
    write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
    write /proc/sys/kernel/sched_compat_yield 1
    write /proc/sys/kernel/sched_child_runs_first 0

#INTERNAL_START
# Temp Backward compatibility
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot /dev/bootimg
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/recovery /dev/recovery
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/secro  /dev/sec_ro
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/kb /dev/kb
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/dkb /dev/dkb
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/seccfg /dev/seccfg
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/proinfo /dev/pro_info
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvram /dev/nvram
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/para /dev/misc
    symlink /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/logo /dev/logo
    #create mountpoint for persist partition
    mkdir /persist 0771 system system
#Create nvdata mount point
    mkdir /nvdata 0771 system system
#INTERNAL_END

    # Healthd can trigger a full boot from charger mode by signaling this
    # property when the power button is held.
    on property:sys.boot_from_charger_mode=1
    class_stop charger
    trigger late-init

    # Load properties from /system/ + /factory after fs mount.
    on load_all_props_action
    load_all_props

    # Mount filesystems and start core system services.
    on late-init
    trigger early-fs
    trigger fs
    trigger post-fs
    trigger post-fs-data

    # Load properties from /system/ + /factory after fs mount. Place
    # this in another action so that the load will be scheduled after the prior
    # issued fs triggers have completed.
    trigger load_all_props_action

    trigger early-boot
    trigger boot

on fs
#INTERNAL_START
    write /proc/bootprof "INIT:Mount_START"
    mount_all /fstab.mt6735
    write /proc/bootprof "INIT:Mount_END"
#INTERNAL_END

Take note of codes at Internal start. The blocks that hold system images. For example mine uses nvram for IMEI but if it could have been a Samsund device the EFS location could be here:
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/efs

And back to phone's terminal and write:
adb shell
su
dd if /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/efs of /sdcard/efs.img

Here you could have managed to backup the efs at /sdcard. Writing back the efs to phone will be the opposite.
dd if /sdcard/efs.img of /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/efs

But if it's a rooted device, just download terminal app and run the codes right away:
If it helped just never forget to let me know

Unneeded - TWRP for most if not all Samsung devices can include /efs in a nandroid backup by default.

@AndyYan This is not backing up using TWRP. Since the Terminal at TWRP runs always like in rooted devices, we use the dd command to copy image partitions. The only use of twrp here is offering a rooted environment. Note the Terminal at TWRP always starts with # indicating elevated permissions instead of $ for the boot unrooted android. That's what I mean. Anyway for your information there no any other way other than this for backing up EFS on earth

Thing is, ultimately OP was looking to install TWRP in the first place, and backing up /efs was only one of the secondary objectives. With TWRP able to handle the job, I don't see it necessary to complicate the situation using another method. Genuine method on its own though so props to that.

@AndyYan Thanks but one thing you haven't got right is this TWRP Backup option backs up boot, recovery, system, cache, data partitions but not EFS that holds IMEI on Samsung. EFS is a very different entity that is unique to each Samsung device.It holds IMEI in the stock ROM. Flashing custom ROMs majorly damage or overwrite it leading to no cellular data. The only way to backup EFS is through the dd if... of... Command. Failure to back it up.

@AndyYan Your phone will end up a toy for gaming and music. Since once overwritten you can't even use another phone's EFS.img of the same model since this will show replication of IMEI and hence ban from cellular network for the both. Have you got me?

I know the importance of /efs well. What I was saying is TWRP can also back up /efs, natively and in a much more convenient way. Any recovery for Samsung that doesn't include the ability to back up /efs is poorly written - I've had a lot of Samsung devices and all devices that have official support status at TWRP have the option to do so. This feature had been there since the days of Galaxy Nexus and probably earlier. Have you got me then? (not trying to have a quarrel - merely setting facts straight)

Oh simple. I wasn't trying to be rude. On my side all TWRPs I have tried earlier have never been including it. Thanks for that tip. That is what made me give the alternative answer right from the start. I shall be keeping a watch for recoveries with EFS support. Thanks for that


text:
Menu from menu button disappeared?
I would like to know why the menu button has been removed from Android in Android 6 and 7 mobile phones, hosting an apps button instead. Thanks.
(I remember long pressing the home button on Android 4 to get to the apps list.)

Because for the majority of modern apps, the 3-dot menu is now visible in the apps themselves (on the action bar)? Menu key is a legacy design.

Currently the recents panel rests there for easier multitasking. That's the aim of any computer developer since that makes it more productive


text:
How to adjust brightness on Android TV?
I have a TCL U55P6046 (EU version of the TCL 55P607). The EU version comes with Android TV instead of Roku TV.
I am trying to change the brightness on this TV, but I can't seem to find it anywhere. I did find the backlight, but changing it does not seem to help.
I have the latest Android TV version available for me which is 6.x.
How to adjust brightness on Android TV?

Settings > Frequent settings > All settings > Picture [settings] > Brightness
At least my Android TV has this path.

Thanks the answer :-) It might be vendor specific. Do you know which Android version does it have?

in TCL Android Pie TV
Settings > Picture > Brightness

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How to stop Chrome (on Android) from opening a certain website for joining to Telegram Channels?
On my Android on a mobile set, I recently have encountered a problem. I have Chrome and Telegram installed. The Chrome repeatedly and automatically open a link like https://t.me/joinchat/.... which invites a person to join a Telegram Channel. After this page, it automatically switch to Telegram Messenger which pop-up the same message box for joining the channel.
I don't know whether the source of this pop-up is Chrome or Telegram. Anyway I restricted people who can invite me to Channels on Telegram to my contacts and even blocked suspicious contacts, but it doesn't solve the problem. I disabled pop-ups in Chrome setting but it still didn't help.
How can I disable this pop up for this certain website, or any other solution?

So you're on a random website when suddenly it sends you a pop up, and after you press it, it opens the Telegram app? Did i get that right? That just sounds like regular ads in the browser and not a telegram issue

@a yes, it may be a virus. It sometime automatically opens the pop up and then opens telegram. How can I just block a certain website on chrome?

I didn't quite understood from your previous answer - it happens on random sites, or specific ones? Could you share the website/the join link/screenshots?

The link to open the telegram channel will be there in your incognito windows tabs.
Close that tabes from your incognito window.
Then these telegram channels opening automatically when you open chrome browser will be stopped.

Go to app settings(settings of your mobile) of telegram and check for defaults
Under applink
Disallow "open the supported link in app".


text:
Google Keep, lost notes during upgrade because notes not saved in the cloud, Android backup in Google Drive available?
I would like to know what happened to the option to keep Google Keep notes to Google Drive. I can remember seeing this option on a version of Google Keep on my previous phone that was reset (Android 6), but can't see the option on my new phone (Android 7).
I would like to know what happened to the option, and, since I lost my notes since the app was not working properly, I would like to see where I can find the backup in Google Drive. Anyone know where I can find it?

I'm not aware of this.  But I do know that Keep syncs to the cloud so that you can log in from anywhere and find your notes in Keep.  With that in mind, you should be able to install the app and log in and have it sync up.

Yes, I upgraded my phone and installed keep in it, but all the notes written with my previous phone were gone. Not the ones written in keep on the phone previous to that though. However, on my previous phone I was noticing that my notes were not syncing because logging into keep.google.com waa not showing any of the new notes and tapping sync in settings wasn't doing the trick.

I don't think Keep saves anything locally. So, it would be difficult to get back all those notes.

@WrichikBasu - I disagree. I believe local copies DO exist. My tablet is Wifi-only, and I can still read my Keep items in the car. In fact I use it this way for trip-related lists during travel. It will synch any changes once a connection can be re-established. I have not tried a disconnected NEW item, but changes and edits are fine once synched.


text:
How to assess what apps or settings are causing high CPU usage from system_server process on Android Nougat?
I am running root Android Nougat on a Nexus 6P. My battery is draining in <3hrs. When I run su -c htop it shows system_server is using >400% CPU. I have now factory reset 3 times and each time this behavior surfaces after 1-2 days of normal usage.
system_server seems to be a generic process not tied to any particular app or setting.
What Linux diagnostic commands can I use to systematically trace which apps or settings are related to this issue. I have tried things like wakelock tracking apps with no luck. I have also tried looking at adb logcat but I am not really sure what to look for.


text:
stop a previuos run of a task in tasker
let's say i can a task called my_task. If i add a stop action and the beginning of the task:
stop my_task

my_task will stop inmediatly. What i want is, when my_task executes, it should check if it was already executing before, then stop that other instance of itself, and then continue with the rest of the task... Is it possible?

That's what Tasker offers by default: if a task is already running, either the new instance stops immediately (default IIRC) or the already running one gets stopped. Should be in the advanced setting of the task:

Tap the settings button (bottom right in the screenshot) to open this screen, then chose in the drop-down box for "Collision Handling":

Abort New Task: The task won't be executed while another instance is already running
Abort Existing Task: If there's already an instance running, abort that and run the new one
Run Both Together: Let them collide, no matter how often


text:
Unable to re-install whatsapp on Asus mobile
While installing WhatsApp from Play Store, error message is displayed with error code 26.

This question is for a different phone, but the suggestions might help you too: https://android.stackexchange.com/questions/152144/cant-install-app-error-code-26

Here are some things to try:
1.Restart your phone
2.Clear play store data:
Go to settings -> apps -> Google play store -> storage -> clear data.
3.If that doesn't help, then remove your Google account and then add it back again
Go to settings -> accounts -> Google -> example@Gmail.com -> menu -> remove account.
Then, add it back, and try installing the app. If you cannot remove the account, just add a new one instead


text:
J5 2015 operating system
I had to factory reset my Samsung galaxy J5. While doing that it automatically upgraded my operating system/software.Can I restore old/previous one?
Thanks

You can find your device firmware on XDA or SamMobile. Download it and flash via Odin. You'll find the tutorial in the source most likely


text:
Disable Save As Pdf Option In Print Dialog
I would like to disable or remove the Save as PDF option on the following print screen, is it possible in anyway? A solution with MDM capabilities or programmatically is acceptable.

What i tried so far is,

Checked for a solution on the Android Application Programming side but as far as i see it is not possible.
Checked the list of applications installed on the device to identify if this feature comes with a "print-service" application such as Cannon's or HP's print service applications. But did not see an app something like "Save as PDF print service", also this feature is not listed in settings->print-settings->print-services.

If you can get your hands on the source to rebuild the /system/app/DocumentsUI/DocumentsUI.apk and /system/app/PrintSpooler/PrintSpooler.apk since it relies on the first app, you can manage but any other way won't work for you


text:
Samsung Galaxy Note 4 won't get out from recovery booting
I got a problem with my Samsung device and now I've no idea how to fix this, hope anyone want to help me in fixing this problem.
So this thing started yesterday when I just went in to Recovery Mode to "Wipe Partition Cache" and turn my phone off.
1)When I tried turning my phone on, it doesn't go to normal boot but it go to "recovery boot" I dont't know why, restarted, unplugged the battery and turned on my phone again but it won't make my phone get out from recovery boot.
2)Now I'm trying to flash my phone with Odin, when I tried to flash it says "There is no PIT partition", "There is no PIT Binary", how to fix this ?
I've tried to download and used the pit file but it didn't worked.
please help

You can only get out of this if you were on custom recovery where you shall look for the official boot.img of the phone and flash it into the recovery partition. There it will boot. If you're sure the boot partition is not damaged, you can use the dd command to extract it. In simple. Using TWRP Terminal:
dd if /dev/block/[msdcblockname]/by-name/boot of /sdcard/boot.img

This will dump boot.img at internalsd. Use it to flash the recovery partition. Note: the folder reffered to as msdcblockname above varies with device so research path to boot for your specific phone model.
But anyway if you're on stock recovery, either get a full OTA package that is made for full system update, not the incremental one ADHD flash it by apply update from sdcard or ensure the ROM you downloaded for Odin is specially for your device model and it has all items in it. Because Odin is the only hope you're left with


text:
app installed to /system/priv-app won't run
Prerequisites:

a rooted Rockchip-based China tablet device running Android 6, patched to disable SystemUI
own-developed app which declares LAUNCHER category and is intended to take full conrol of the device

What am I trying to achieve:
install the app as a system app to avoid handling SDK 23+ permissions
What have I done so far:

installed the app regularly via Android Studio
moved the app to /system/priv-app:

(root)
ls /data/app/my.package.name-1
 base.apk
 lib
 oat
mount -o rw,remount /system
mv /data/app/my.package.name-1 /system/priv-app/AppName
ls -la /system/priv-app/AppName
 -rw-r--r-- system   system    2464934 2017-12-08 11:32 base.apk
 drwxr-xr-x system   system            2017-12-08 11:32 lib
 drwxrwx--x system   install           2017-12-08 11:32 oat
reboot

What is the problem?
It seems the system is not aware the app exists: it does not run on boot (which it perfectly does when installed as a regular app) and I am unable to launch it manually:
root@rk312x:/ # am start -n my.package.name/.ui.MainActivity
Starting: Intent { cmp=my.package.name/.ui.MainActivity }
Error type 3
Error: Activity class {my.package.name/my.package.name.ui.MainActivity} does not exist.

What am I missing?

thx, this solved the problem with starting the app. It is still not granted permissions automatically, I guess due to non-system signature. The question was about running the app however, so please post your comments as answer

Are you trying to get runtime permissions granted automatically? Being in that directory won't grant it automatically. You would need to be whitelisted by the Google signed package manager. You could just target API 22or below and you'd get any permissions you wanted by just installing the APK.

Changing the permissions to -rw-r--r-- and owner as root followed by reboot should fix
But as OP pointed out signature issues need to be sorted out

Moving an application from one space to another on Marshmallow and more superior will almost always result in that. The best way use the cp command, after that delete the source. An application at data has it's own set permissions which persist to the system and though even if you change them, since there's no new instance of file creation, the system just doesn't take care to trigger preparation of the app. The best way is
cp /data/app/[package.name]-1/app-name.apk /system/app/[app-folder-name]/app-name.apk

Repeat this for the libs in the app folder to the app folder. The folder should look like:
APPNAME containing .apk and LIB folder
LIB folder containing type of lib like ARM folder
ARM folder with all libraries eg libexample.so
set permission of all folders to chmod 0755
and all files to permission chmod 0644
They will work. To make life easier, stop using the shell commands. Look for a file manager to simplify your work but always remember of you're using TWRP or Terminal on a boot device always copy and delete source. Moving for many ROMs will actually lead to that
NOTE: The oat folder in that folder at /data/app/package.name/ is of no use. Dalvik will create it's new classes.dex at /data/dalvik-cache on install as system application


text:
How can I lock my Gallery Vault on an external SD-card?
My Gallery Vault was saved on an external memory card. Now my phone is lost.
Can someone access my Gallery Vault which was on the external memory card?

Yes the files are in a hidden folder but a brilliant person can always get them by unhiding and renaming the photos to jpg. The app doesn't encrypt them. It just hides and renames... So there's nothing you can do to stop this other than hoping he formats the sd


text:
Xiaomi Mi A1 - easy way to root and get OTA updates
I ordered Mi A1 which is the Android One offering in India at budget price point ( also in 36 countries going by the Wiki)
It is expected to get OTA updates for next two years , which means including Android P.
I would like to root it (looks to be straight forward) and
a) Install Xposed as long as it is on Nougat or if Xposed becomes available in Oreo
b) Continue getting monthly updates with minimal effort of unrooting or hiding root
My reading on XDA and internet shows possible approaches

Systemless root with Flashfire app
Systemless root with Magisk
Hybrid of above with flashing stock ROM with MiFlash  based tool

It's not clear to me and confusing to say the least as to which is the best approach and involves minimal effort and use of PC ( I have Windows XP 32 bit on which I understand MiFlash tool can run and Mint Linux for rooting )
Looking forward to a detailed reply , preferably based on user experience. The device should be with me in a week and I would like to implement the best approach earliest

Rooted my mate's with Magisk, but since I haven't used it before, it's hard to call it "effortless" compared to typical SuperSU installs - especially I had to grab a specific version of Magisk to make it not bootloop.

@AndyYan: Magisk is new to me too and hence seeking help  :)


text:
Unfortunately radio has stopped
Suddenly the built in radio application cannot be started anymore. I do not know if I changed something, but I couldn't find how to fix it.
What is the possible cause?
PS: I did a soft reset, and I cleared its data and cache.

Failure for the radio to work and you haven't touched the system, and altered it in any way, and the problem persists even after cache clearing and data clearing, you might have to do a factory reset since you're running out of options. If it persists still, that's a system error and you need to flash your phone

@thally ace - I am not sure that I did not change anything in between. That is why i wonder what to check.

If factory reset won't fix that. Because it seems the cause for that isn't well structured and you may need to reset it. You have just no option other than flashing


text:
Possibilty to flash a TWRP/CWM on a smartphone that doesnt have custom recovery?
I have a Huawei Y7 Prime that doesn't have any released custom recoveries. Is it possible to flash or even just boot TWRP/CWM for another smartphone (eg. for Huawei P8) on my Y7 Prime? Is it possible to do this in general? and if no, is there any way to root my device without custom recovery just by using fastboot or...?!

Simple answer NO
It is not possible - recovery is device specific and unless it has been developed for your device, you are out of luck
You can try one-click apps that root, if it works for you (like Kingo root etc but be aware that they usually have their own set of problems)

Advanced answer, Yes:
If your device is Mediatek Oriented and you have it's stock ROM, the one to be flashed to the device using SP Flash tool,

You can install the SP Tool on computer
Extract the stock ROM
Locate the extracted ROM when choosing a scatter file from the tool
Don't panic here in this mode. SP Tool is by default at the Download Tab after loading the scatter.txt file since you might brick your phone
Switch the tab to Readback
Set the start adress as written at preloader.bin at the Download tab
Set the stop adress as written at data at the download tab and Start the readback
Switch your phone off and plug it on the computer(Note I'm assuming SP flash tool is well configured alongside its VCOM drivers installed but I don't want to talk about them so as to be simple. Otherwise it won't be detected)
Let the readback process complete
Locate the ROM dump in SP Flash Tool installation folder usually C:/Program Files
Download Readback extractor or alternatively (use MTK_Droid_tools exe) that will convert the dump into flashable images and locate from it the source dump.(Some extractors depend on this dump while some work independently but I have to include this because one might encounter an issue)
Start conversion.
It will prompt you when extracting the recovery.img whether to backup the stock recovery or to generate ClockWorkMod(CWM).img instead. Chose the later. It will be called cwm-automade.img or recovery.img in the final flashable ROM
Use this to have a more free recovery than the stock which is CWM recovery
Flash the recovery. img from fastboot or the SP Flash tool Download tab.

Note: Do not tick preloader.bin when flashing anything otherwise you'll brick your device to a state it won't ever get alive again

Appreciate the effort, but since OP already made clear what device he owns (not a MediaTek one, as can be simply looked up), this would all be pointless to him...


text:
recent change to messages app for emoji and birthday cake icons

A recent update has these annoying ions show up in 1st grade reader font size when I go to the attachment mode, and I was trying to see if they can be either disabled entirely or at least moved to thebottom out of the way. I want the picture attachment back on top the way it used to be before the cartoon characters took over.
The way it's set up is ridiculous looking.
Is there any secret seeing to get rid of this?

Root your phone.
No need to worry
And change these fonts from another device where they show well
/system/fonts/NotoColorEmoji.ttf
/system/fonts/AndroidEmoji.ttf

Set their permissions to chmod 0644 -rw-r--r-
They will be back to normal or if you can install twrp or any other custom recovery i can send you a whole Fonts.zip flashable via recovery to fix this issue


text:
How to install Magictricks from recovery mode?
I am trying to root my old OPPO F1s following the tutorial on this link.
I am stuck on step two of rooting using fastboot.
When I enter the recovery mode and try to install the Magictricks.zip in my phone storage, it gives me the error message saying installation failed.
I also tried many other tutorials providing different packages and each time I try to install them using recovery mode it just always fails.
Currently, I haven't done anything that I can think of that may result in this failed installation cycle.
Any Idea how to install .zip on Oppo phones in recovery mode?
Also, I can't see SD card option in recovery mode while installing files.How can I get that as in most of the online tutorials and demos people do get this option?
My phone configurations:
Model: Oppo f1s A1601
Ram: 3GB
Android: 6.0
and enough space in both SD card and phone internal.

Try this Magisk app that I obtained from my friend's Repository which will help you to download Magisk.zip that you'll flash via custom recovery only and you'll be rooted
Note: If you haven't installed TWRP or CWM it won't install the zip. Configuring and using Fastboot are the basics you need to be and to flash the recovery though.
If new to these, read this guide here and get TWRP recovery from it

the problem happens when unlocking the bootloader.when enter command adb reboot bootloader or adb reboot-bootloader it just reboots.while it works properly when I enter adb reboot recovery.So I can't just unlock bootloader.

So that means there's no fastboot support for your phone at all so don't waste your time thinking you never done anything right. The stock recovery won't flash zip packages that have not been properly signed by the manufacturer. Therefore your only hope to root this phone relies on one click apps. Try your luck out of them though I tend to see that Kingoroot is a powerful one

Thank you. I was trying to root it using fastboot because I don't trust these applications.Is Kingoroot safe?

It will never harm your device. What you'll install after that is what might harm it in rooted mode. I even know flashing supersu.zip from recovery is what might harm your device as compared to one click tools which I have never had problems with. SuperSU.zip might lead to bootloop on some devices because it modifies the system. Magisk is a better way of a zip to root your device since it never touches your system. But since you have no fastboot, just try kingoroot

thank you for the suggestion. I truly appreciate your help and guidance.

Welcome always buddy.


text:
Can an older Android phone using Android 4.4.2 act as a spam server?
First excuse my lack of knowledge in anything Android related.
I wanted to ask if there is any possibility that an un-supervised Android phone, older Samsung model, running Android 4.2.2, act as a rogue spam server on the network.
Reason I'm asking this is because I have a fairly secure environment at work, both server side and client side. Recently the IP has been blacklisted by SPAM trap servers, and I had no real explanation as to why it happened.
So I asked myself what changed? The network functioned like this for years and no such thing happened till now. As it happens somebody with an older phone logged in on the wifi network on the same day with the blacklist. So I though hmmm weird coincidence.
Bottom line: Can an Android phone act as a rogue SPAM sending server? And if so how can I track down the issue? Is there a complete AV solution for Android that can detect such malware?
Ty.

No, just using Android 4 or below doesn't mean that it's a spam connection. Even I have such a phone which I use once in a while to see whether apps are working in that environment. Maybe that IP had posted something or done something that matched with spam filters in your server.

In theory, it could have been that phone (with some malware being the culprit). You could check that e.g. by routing all its network traffic through a transparent proxy and record it, to see what it does. There are also apps to do that on-device – e.g. Network Log.

This is absolutely possible for an Android phone to act as a spam server. There are plenty of security flaws in Android that make this a possibility, and creating a program / script to send spam is trivial.  There is no complete solution, but there are any number of AV programs (available on play store) that could check the phone for virii.
That said, it's more likely the IP has been classified as part of a client/home user range, and has been blacklisted for that reason - ie nothing you have done, or that another device was compromised. If the network is highly secured then it should not matter what device is on it - SMTP should be blocked to the outside world - except through an appropriate gateway.


text:
find out when was my memory card removed from Samsung J5
My memory card of my work phone got stolen and i want to find out when was it stolen.

Using the Android SDK. Connect your device (with USB-Debugging enabled) and, at a Terminal enter the following:
$ adb logcat -d > logcat.txt

The -d option tells adb to copy the entire File Log from the Android System. Because you seem to know how UNIX Systems work, I won't explain the rest of the command.
A second option (if you are rooted, that is) is to install a Terminal Emulator on your Android device. Open the Terminal Emulator and enter the command:
$ logcat -d > /sdcard/my-log-file.txt

This will do the same as above (except you don't need a computer, and the file saves on your device/SDcard. Feel free to change the " /sdcard/my-log-file.txt " part to anything you like, but I strongly recommend you save it to either your external or internal storage - so in short: Save it to a location you can accsess without # (superuser) permission!
Answer courtesy of @Ankush

That only helps if it was removed quite recently, and the device not rebooted since: reboot would flush the log, and being a ring buffer, newer entries overwrite olders after a while. Further: what to look for in the log file to identify the removal of the card? Your post just describes how to dump the log.


text:
How do you cast video/content to your television from Amazon Prime Video app?
I would like to get my video and content to my television from my Android phone or tablet but the Amazon Prime Video app does not support Chromecast.
How do you cast video/content to your television from Amazon Prime Video app?

this question has 1000+ views... but no upvotes... if you viewers find this question useful... please upvote.

Latest Prime Video android app has the capability to cast videos ..pls check

@TechDog thanks for the tip! i can't check right now but I will when i get home. (maybe the cold war between amazon and google is over...???)

Amazon Prime Videos now supports casting to Chromecast straight from inside the official app, it does have a stupid problem that you can't use the phone to adjust the TV volume like you would usually do with Chromecast, it comes up with a stupid surround error when you try, and you have to use the actual TV remote to adjust the volume, but for the sake of this question, it works as mentioned above.
For future reference, I am using an HTC U12 Plus with the lasted firmware, which for this device is Android Pie, and I am using the latest version of Amazon Prime Videos, which is 3.0.268.28447.

2018-09-13 update
Short answer is: you can't. You can use a laptop (windows/linux/mac/chrome-os) with Chrome browser to cast. Or you can buy an Amazon-Fire hardware device.
Long answer: the "cast your screen" solution now seems to be broken.
Broken? Exactly how?:

the audio plays from the TV screen
the video does not play form the TV screen (TV is black where the video should be)

So for android devices, I don't know of any way to cast from your Android device to a Chromecast.
2017-12-12 Use the Android feature called "cast your screen".
how to use "cast your screen"

turn on your TV and Chromecast
make sure your chromecast/phone are connected to the same wifi
unlock your phone
pull down the "quick settings" drawer from the top
touch the "cast screen/audio" button
your chromecast should now display what is on your Android device's screen
open the Amazon Prime Video app
play your content on your phone and the audio/video will show up on your television

Official directions from Google on how to cast your screen: https://support.google.com/pixelphone/answer/2865484?hl=en
background
The Amazon Prime Video app does not support streaming to Chromecast from the app.
However a less well-known feature of newer Android versions is the ability to "cast your Android device's screen and audio" to the television. Or to put it another way you can "mirror your display" from your Android device to the television.
The "cast your Android device" feature is supported for later versions of Android 4.x (I don't know what version exactly).
caveat

The "cast your screen" requires your Android device to be on, screen on, unlocked
because "cast your screen" mirrors your android device

the battery usage is high
the wifi bandwidth used is high (has to send the audio/video from the internet to your phone, then from your phone to the router, then from the router to the Chromcast)

the resolution on the television depends on your phone's pixel resolution
"cast your screen" can cut out for various reasons and does not seem to be as reliable as normal Chromecast

non-android solutions are: (1.) buy a product that connects to the TV and download the Amazon app (i used to use an xbox with the amazon app before I found this solution) (2.) use an Amazon-Fire product (3.) use a laptop with Chrome browser and click "cast to screen"

As of now, it is possible to cast the contents of that app using Miracast, provided that both the Android phone and the TV supports that. I know for sure OnePlus 5, OnePlus 6, Redmi 5A and Redmi Note 5 Pro and Sony Bravia (don't know model number) supports Miracast, but Motorola G4 Plus doesn't.
I have used Amazon Prime app on the four devices personally to cast them using Miracast. I used inbuilt cast option under Settings app to cast, instead of doing it through the app.
Note: It is also possible to cast Netflix using Miracast, though you won't get any video, but only the audio.

Just like Chromecast, there are sticks in the market (such as on AliExpress) which  provide Miracast support when the TV doesn't support it.

The new Amazon Prime Video app does definitely not support Miracast!
My Android Device is a Huawei P10 Lite with MirrorShare function. My TV is a Sharp with Miracast function and they can be connected.
There was no problem with the former Amazon APP (shopping) which Prime Video was a part of.
I can mirror other content e.g. Netflix, private videos, whatsoever, I can see my Android display on TV, can launch the app but only the sound comes from TV and I can see all of the Android-related displays like "stop", "continue" "forward and backward" and so on but the video is not shown.


text:
How can I view other people's calendar in Microsoft Outlook for Android?
How can I view other people's calendar in Microsoft Outlook for Android?
On Outlook for Microsoft Windows, I can view other people's calendars when creating a new meeting:

I haven't found any answer so far.

I am still interested if someone has any idea.

The scheduling assistant on Outlook for Android works differently than the one for Windows.
In Outlook, click on the calendar --> new event, enter the people who should attend the meeting.

Select the date, then time of the meeting.

The attendees are listed on the bottom with green checked marked when they are free, red when they are not free.
The chosen time for the meeting will also be green or red whether it is free or overlapping with other meetings.

Clicking on an attendee will show either the person is free, busy or tentative.

Thanks, picking a time and looking at whether all invitees are available isn't efficient

Agree. Unfortunately that how Microsoft has implemented it for now


text:
ADB commands to get the adb version of mobile phone
This might sound stupid, but after reading this post (which seem complete) I still dont see how to get the "abd version" of my android, the output I expect is something like this Android Debug Bridge version 1.0.31. I tried (based on this answer)adb shell and then adb version and I get /system/bin/sh: version: not found.
The reason I want to know it is to see if it is compatible with the adb version I have in my desk. Thanks!
UPDATE:
Although I could not see the adbd version of my android. At the end I did not matter as I could command my phone from my desk using the last release of adb here. So thanks all anyway for their contributions, cuz although I did not get exactly what I wanted it help me to reach the a solution to my problem.

First of all, Android since Marshmallow doesn't come with adb binary (client) anymore, but only with adbd (server), for communication with an adb client on Desktop.
In a nutshell, this is how the communication takes place:

your Android device has adbd, a daemon, which is started during boot process, and listens on USB by-default for communication from desktop clients;
your adb tool in your desktop acts as a client and sends request to adbd on your Android, and you get to run adb commands successfully subjected to fulfilment of certain conditions.

If there are compatibility concerns, they would arise if adbd is depreciated or adb client on your desktop is. To see the versions, run:

adb version                 // to check adb client version in your desktop
adb shell adbd --version    // to check adbd's version in your Android. Please note that some users reported error with this if executed without root access.

You shouldn't be worried about adbd's version but only with adb client version in your Desktop since official adb client is backward compatible.
Now to the localized issues you ended up with.
You incorrectly executed the commands. Nowhere the linked answer instructed to execute adb shell version. The correct procedure is:

adb version // adb version (client) on your Desktop
adb shell   // launches shell on your Android device through adb client on Desktop
adb version // the version of adb (client) binary that used to come with Android prior to Marshmallow.

The last two commands have no relevancy to your question since they intend to ascertain the version of the adb client in your Android. As I explained in the beginning, it is adbd (server) alone which communicates from Android device's end, not the adb binary in the Android. That binary in Android can be used, if available, to talk to other Android devices (USB-OTG, WiFi, etc.) or to the same device if adbd (server) is listening on network too.
Also, when you ran adb shell version, it meant: launch a shell on Android and execute the command version. There is nothing named version which is to be executed, hence, you got the error.

Thank you very much for the time you took in explain it to me, now I have a better understanding of the issue. I execute adb version  and adb shell adbd --version , and I got  Android Debug Bridge version 1.0.32 Revision 57224c5cff69-android for the first one, and for the second I got the same error /system/bin/sh: adbd: not found. It is strange cuz then when I execute adb shell getprop I get all the properties of the mobile phone but anyway I dont see the adbd version  among them.

Honestly, I don't know why you are getting that error. It works fine here: https://i.stack.imgur.com/GuHMe.png

I downloaded adb application (to execute from window 10) in this link: http://dl-ssl.google.com/android/repository/platform-tools_r23-windows.zip, after it I run cmd in the file "platform-tools" and I get that error, am I doing something wrong with the executable I am using?

I do not know. It may be best to try asking it as a separate question. Others might be able to help better if you ask it as a new question.

Makes sense that OP sees /system/bin/sh: adbd: not found, because adbd usually resides under /sbin, and that directory is typically accessible only by root.

@BurNor Were your phone rooted, you could've ran su from a terminal emulator app, followed by adbd --version, which would've worked.

@DeathMaskSalesman, hi, no my phone is not rooted.Then I guess in the case of Firelord, his phone was rooted

@Firelord, is your device running some kind of custom ROM? I suspect that you were able to run adbd --version and OP cannot because adb cannot run as root in production builds.

@DeathMaskSalesman Now that I think about it, it may have something to do with the custom kernel I'm using, but I didn't use root access for the commands in the screenshot and I did check that userid was 2000 (shell), not 0. I can't afford to flash stock kernel (don't want forced encryption) so I cannot do cross-checking.

@DeathMaskSalesman but this mention of code is in stock Android kernel as well and in my system shell user can read sbin, and r-x the adbd as well. Magisk however may have something to do here though.

@Firelord Possibly, yes. I'm running LOS 14.1, and my adbd is owned by root.root and with permissions rwxr-x--.

Correct syntax for checking ADB version of Android SDK is
adb version
When in shell, issuing command
adb
or adb help
will give output of both version and available combinations of options && parameters.
You can not get ADB version of your device, but only properties for which answers in thread you already found is appropriate.

Hi, I am new in this, but I understood that shell is to access to your android device (mobile phone) I want to get the abd version of my mobile phone, when I try your suggestion I get the properties of my Desk

There's often no need to check the adbd client version on your phone as it's tied to the Android version. I.e. you can safely assume you get adbd version 5.1 on an Android 5.1 device. There hasn't been great new feature introduction since very long ago so different versions of ADB client should make little difference.

I based my question on this. https://android.stackexchange.com/a/132921/246747 . However, when I follow the instructions I get /system/bin/sh: version: not found

adb became backward-incompatible after 1.0.31 I believe.

here the script that works for me in both cases regardless if adbd on the phone is default (non-root) or insecure (root):
#!/bin/bash
clear
echo
echo "if adb runs in user (non-root) mode:"
adb shell "su -c adbd --version"
echo
echo "if adb runs in root mode:"
adb shell "adbd --version"
echo

This does NOT work with Chainfire's old & discontinued adb insecure app installed and active on the phone:
adbd: unrecognized option `--version'
cannot bind 'tcp:5037'

most likely because it applies a very outdated insecure adbd (latest in his package is from api/sdk 21 = Android 5) which does not fully communicate with current Desktop adb binaries.


text:
Is there a way to change the default mic source system-wide on Android?
I have a bluetooth mic (that can act also as earphones) that I would like to use for recording video from various apps. Most apps don't have an option for using a bluetooth mic source and only use the phone's internal mic, and for certain recording activities I can only use the bluetooth mic. Example apps include Snapchat, Twitch streaming, etc.
Is there some way I can tell the android system to use the connected bluetooth for all mic recording, that all android apps can use? Surely this is a common enough use-case, what with all the bluetooth devices being used, that is should be possible?


text:
Tasker to programmatically uninstall apps
I would like to setup a tasker profile to check every predetermined time for any apps not on my approved list (BaselineApps.txt) and uninstall them.
I am a noob to shell scripting and tasker.
This is what I got so far, it might not be the most efficient way to do it.

I run the following command via Termux Task plugin.

pm list packages >/storage/emulated/0/Apps.txt
diff --unchanged-line-format= --old-line-format= --new-line-format='%L' /storage/emulated/0/BaselineApps.txt /storage/emulated/0/Apps.txt | sed 's/^[^:]*://' >/storage/emulated/0/NewApps.txt

Read file NewApps.txt to variable %Apps
ArraySet %Apps value %Apps
For each %eachapp in %Apps()
Run Shell pm uninstall %eachapp
End for

For the most part it works, except it errors out sometimes. Can someone help me?

So I figured out my issue. I had upgraded to Android Nougat. Pm list packages is obsolete. The proper command is pm cmd package list packages.
Here is my setup:
    Diff
    A1: Run Shell [ Command:cmd package list packages Timeout (Seconds):0 Use Root:On Store Output In:%tempapps Store Errors In: Store Result In: ]
    A2: Write File [ File:Apps.txt Text:%tempapps Append:Off Add Newline:Off ]
    A3: Termux [ Configuration:Execute ~/.termux/tasker/DiffApps.txt  Timeout (Seconds):0 ]
    A4: Wait [ MS:250 Seconds:0 Minutes:0 Hours:0 Days:0 ]
    A5: Read File [ File:NewApps.txt To Var:%Apps ]
    A6: Array Set [ Variable Array:%Apps Values:%Apps Splitter: ]
    A7: For [ Variable:%eachapp Items:%Apps() ]
    A8: Flash [ Text:%eachapp Long:On ]
    A9: Run Shell [ Command:pm uninstall %eachapp Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ]
    A10: End For
    A11: Variable Clear [ Name:apps* Pattern Matching:On Local Variables Only:Off ]


text:
Maximum number of possible playable songs
I have a library of over 100,000 mp3 songs. I have tried and failed to modify an iPod to be able to accommodate this number, but a friend recently suggested I store them on a 1TB micro SD card, and use an Android device to play them. Is this possible? I am afraid that the limited RAM could be a potential problem in traversing through this vast number of files.
Any help is appreciated!
EDIT: Let's simplify the question. I have 300 GB of music that I want to have all on one device which I can use like an MP3 player. How can this be done?

First of all, I doubt a 1TB microSD card exists.

@iBug https://www.google.com/search?q=1TB+micro+SD+card&oq=1TB+micro+SD+card

Which MP3 player do you use?

No phone currently reads sd more than 256GB. You gotta be on a computer

@ThallyAce What does this limit depend upon, if I may?

It depends on the person who designed file system access protocol. The software designer. It doesn't depend on RAM, CPU speed, or even the ROM you install on the device. Even if you find alternative software to load on your phone as an operating system, be sure this is not gonna change at all.

@ThallyAce Do we know when support for 512 GB cards will happen...approximately?

Not really but at the rate technology is moving at, I'm sure they gonna be soon in mainstream phones like Google, BlackBerry, Samsung and IPhone since these companies have a trend to compete for superiority

@ThallyAce If conputers can manage big cards while phones cannot, I'm temped to point to the kernel as the culprit, you know.


text:
How can I update my password in Cisco Jabber without having to reset Jabber?
I have changed my password in Cisco Jabber through some non-Android device. I also use Cisco Jabber on Android though. How can I update my password in Cisco Jabber for Android without having to reset Cisco Jabber?

After I changed my password in Cisco Jabber, (amazingly) I can still sign in:

However, instant messaging, phone services and voicemail are not available:

I know I could reset by  Cisco Jabber application, but I would rather avoid that, since as its name suggests it resets everything:

Notes:

after clicking on the sign out button, the user is redirected to screenshot 1, and they can still sign in even without specifying the password. The user isn't asked for the new password, amazingly.
restarting the Cisco Jabber application or rebooting the phone after signing  out doesn't help.

On the second screenshot I see a link to "sign out". I'd expect it would allow you to sign-in again with the new password after having properly signed out?

@Izzy thank you good point I forgot to mention: after clicking on the sign out button, the user is redirected to screenshot 1, and they can still sign in even without specifying the password. The user isn't asked for the new password, amazingly.

Ah, I already wondered why/how it shows a sign-in page if you hadn't signed out :) Doubt it does the trick, but worth a try: Sign out, close the app, go to the app's page in Settings › Apps, force-close it, delete cache, optionally reboot right after that. That might make it lose its "token", so it should ask for complete login data on the next try. Again, not sure it does (might have saved that elsewhere) – but worth a try.

@Izzy restarting the Cisco Jabber application or rebooting the phone after signing  out doesn't help. And it looks like in Settings › Apps I don't have the option to remove the cache.

Then I'm out of ideas. Consider approaching their support: sign-out should sign out, so sign-in then should ask for user and password. I'd name that "bug".

I had this same problem and resolved it by going to Accounts -> Instant Messaging and manually changing my password there.  Then reset the program and when you open it again it should work.


text:
Why is Maps using outrageous amounts of background data?
I just got three auto-top up notifications amounting to total of about $50 from my network carrier.
Upon checking data usage, I see that this month shot up to 5gb+ and the details show it was almost all due to Maps, (please refer to screenshot).
The breakdown says 2.13 MB of foreground data and 5.15GB of background!!!
The messages from my carrier were sent within a 35 minute window.
This is expensive and outrageous. What's causing it and how do I prevent this?!!
I'm using Blu Lifemark 4G. It's an american company who had had security issues relates to Chinese interference but they said the new software releases fixed that. My android version is 5.1. Maps version: 9.67.1

You say "due to Chrome" but in the title and on the screenshot it is Maps what uses GBs of data. Please fix.

Sorry, meant Maps; corrected

You can prevent it by activating "Restrict app background data" (seen in your second screenshot).
There is also the Datally app (from Google itself), which allows you to block internet access for different apps.

Thanks for the suggestion, but I'm interested to know why maps wanted 5gb and what it did with it. If it weren't for my carrier limiting auto- topups, I would have lost a fortune in data costs. Isn't this a serious issue?


text:
Enabling Accessibility service: Why does it degrade security?
Device : Mi A1, 7.1.2 Stock Google
Enabling Accessibility Service for apps impacts encryption  security as you can see:

Expanded text

Why is this?
I am all the more curious in case of PIN  : my understanding is that, encryption password is generated from a combination of user lock screen PIN and encryption algorithm. This is salted, and stored in root location, and used to generate the actual password to encrypt /decrypt. So using a longer PIN length (to maximum of 16 digits
)  is pointless if you have enabled Accessibility Service for any app?? Confused
Related to this
Should apps seeking Accessibility Service be considered an anti security feature?

Through Accessibility service you can get to see what is visible on the Window, where and when the screen was tapped and  the size of the item (you can pretty much map the data to get the PIN).

@Firelord: thanks. Care to elaborate in the form of a detailed answer please? Also wonder about the last question - it doesn't appear to be considered so

@Firelord: Was going thru permissions required by those apps . MacroDroid- Auto Press Back button, Detect Vol changes, Auto expand/ collapse status bar. Launch UI Dailogs Detect current active app-:Notification History- Record USSD class 0 msgs dialogs app toasts and notifications on Status bar; QuickAppLock Pro to monitor which app has been opened. Couldn't think how above fit into your view  so disabled all and enabled only one at a time. Conclusion???- it doesn't matter what the permission is used for - it gets triggered merely by giving permission to any app


text:
Encrypting Phone Calls?
When we perform the system encryption on a device, can the calls be encrypted too?

If you are asking by encrypting your device are phone calls made from the device are encrypted NO , they aren't . There are special phones that can encrypt calls and cost a bomb

@beeshyams there are also special apps that allow for encrypted calls and do not cost a bomb (Redphone, Signal etc.). But as usual: If you encrypt a call on one end, the other end gets gibberish unless it can decrypt it. So both sides must support that – which normally means both ends using the same app.

@izzy: True didn't think of that

@beeshyams OK, so let's agree on "the one (system encryption) is completely independent of the other (call encryption)" – and thus the question should read "(How) can I do encrypted calls"?


text:
adb backup and restore, what is next?
I have followed this post to backup and restore an app from my old to my new phone. I could make the backup and the restoration. My question might be a bit silly, but what is the next step to have your app running in the new phone as it was in the old phone? Should I have to install the same app from PlayStore and do something else? Does it has to be the same version of the app that was in the old one? Thanks, and sorry if the question is too obvious but I am new in this.

If you did a full backup (with the -apk parameter included), the app should be there already. Otherwise of course you'll need to install it. So hard to tell "what's next" if the relevant details are missing :)

Thanks for answering.  So, in case I  use -noapk. Should I install the app before or after doing the restoration?

I'd do it before, but that shouldn't really matter. Apart from that, I always use -apk – you can never tell if a given app is still available in the stores tomorrow.

I am using this command adb backup -f backup.ab -apk -obb -shared -nosystem com.lbe.parallel.intl And for being only one app it is taking so long already almost 30 min, and the size is 4GB and increasing. I am not sure if I should used -shared.

Another quest, if I I restore using -noapk, and if the version of the app that I install in my new phone is different, will it work anyway?

No; -shared means to include all contents of the SD card. And if you specify one app at the end, you can skip the -nosystem as well. And the restore command takes only one parameter: the file to restore from. No choice of pieces here.

Sorry I meant, if I backup using -noapk,  and then restore. then the version of the app that I install in my new phone (using PlayStore) have to be the same as in the old phone? Thanks @Izzy

Same or newer should be safe. Older you won't get anyway there.

I did not manage to restore my app :( So I went and try Helium. Then I notice than my app is marked as "disallowed" (to backup the data). Does it mean that I can not backup the data neither using adb? or adb is more "powerful" than Helium that I can backup a "disallowed" app?

Ah, there's your culprit. No, that app then can only be backed up using root powers. Developers can have their apps opt-out from "regular backups" by setting a corresponding flag (ALLOW_BACKUP:NO) in the app's Manifest. There's an Xposed module working around that – and there's Titanium Backup of course. But without root, no chance.

ok, if I root my old phone in order to make the backup, then should I root the new phone to make the restore too? I dont mind rooting the old phone, but the new one I would not like to.

I've never tried that on a non-rooted phone (wouldn't know where to get one in the first place – I usually root mine before unboxing ;) – but I'd expect that, if the adb backup managed the backup, it can be restored whether rooted or not. With TiBu things are different, as it needs root to run even for the restore. Note for the BackupAllApps module I mentioned you'd also need the Xposed framework.


text:
Android slowness
Why, in particular from Android 6 (for 5 version I don't know, but surely not for the 4.x and minors) is there an excessive slowness for trivial operations on a folder (e.g. renaming a folder or paste its content) when it contains many many very small files?
This seems to me a tragic deterioration of system performance. What had Google programmers in mind when they designed these versions?

@beeshyams Yes, I use that. I tried with several file m., but always the problem persists. In the past I received a useful hint here in S.E., someone suggested me to use ADB. This effectively solves the problem, but it is a bit uncomfortable to use PC anytime I have such a kind of folder, moreover the question had remained: why this change in performance? The reference to GG programmers imho is not so out of the context: First, how can you assert an absolute absence of some GG programmer or someone in some relationship with them? Secondly, nothing polemical, but simply: what their aim?

I found what is probably the true culprit. Comment cleanup incoming.

Summary
This issue is probably caused by Android allowing access to the internal storage via FUSE (Filesystem in USErspace), as the internal storage itself is just a subdirectory of the /data partition.

Test conditions
These tests have been performed on LineageOS 14.1 (Android 7.1.2), via the Termux terminal emulator, using a directory called test which contained 9414 files whose size ranged from one to five bytes. The underlying /data partition was formatted as ext4.
I am not affiliated to either Termux or its author.

First test
The commands used were
cd /sdcard
time cp -r test test2

Which returned an elapsed time of
real    1m10.477s
user    0m0.595s
sys     0m3.360s

The directory test2 was deleted after confirming the results.

Second test
The commands used were
su
cd /data/media/0
time cp -r test test2

Basically, what I did here was to move to the /data subdirectory which contains the actual internal storage. The results of this test follow.
0m07.06s real     0m00.14s user     0m06.18s system

Conclusions
Given the huge discrepancy in the time elapsed while copying data on FUSE and while doing the same on ext4 directly, I assume that the culprit be the overhead generated by FUSE itself.

so this is the offending element.. so it's its mechanism that suffers when you're in the presence of fragmented files (ie, I mean, not all arranged contiguously on a segment of memory - note that I'm not at all sure of my consideration), while there are no problems involved individual files (small or large) that require a single linear block (in fact, for similar operations on, for example, multimedia files even larger than the offending folder, very short times are required).

Incredible that the mechanism amplify exponentially the duration: based on what has been described, it seems that increasing the number of elements for which access must be granted, time is affected exponentially. Thank you very much for the clarification.

@Bento As I said in the comments, the kind of memory that's installed in a mobile device (eMMC), just as SSD drives, does not suffer from fragmentation, because there are no spinning parts, which are indeed present in a traditional hard disk drive. Any block can be accessed in virtually the same amount of time in eMMC drives, hence fragmentation is irrelevant. It would be interesting to study the repercussions of using the ext4 filesystem, which was designed with mechanical hard disk drives in mind, on eMMCs. You may want to look up the f2fs filesystem, if this topic interests you.

@DeathMaskSalesman I appreciated the answer and the comments, because they are very precise and detailed: a fundamental thing for a satisfactory understanding. Thank you so for this clarification: as I said, I was not at all certain, but now the uncertainty has been completely resolved. Thus the amplification would derive from using ext4 in the specific storage supports for mobile.


text:
How to determine if the bootloader is locked
The end point is for me to root my S6 but I figured I cannot do that if I first do not find out whether the boot-loader is locked or not although I am convinced it is unlocked. I need reassurance as I am not in the position to buy a new phone.
During my research I came across adb and fastboot, tools used by developers for Androids and adb does work but fastboot I cannot seem to get to work.
I tried rebooting to bootloader but it just loads the phone OS up straight away. Tried booting to ODIN MODE, tried booting to download mode, etc.
How can I find out if the bootloader is locked? My current approach is using fastboot and running the fastboot oem device-info command.

There's no fastboot for Samsung devices - Download mode is the semi-equivalent, except that it's only accessible via Odin/Heimdall. You will need appropriate drivers to get the PC to recognize a device in Download mode.
Most Samsung phones come with their BL unlocked or unlockable (notable exceptions are AT&T/Verizon devices). To root these devices, turn on "OEM Unlocking" in Settings - Developer options (if the switch exists), find a custom recovery made for the device, and flash it with Odin/Heimdall, then finally flash SuperSU/Magisk. Alternatively, make a CF-Auto-Root package for your device and firmware version with firmware.mobi and flash it.

Ok, I understand. My device is sim-unlocked from Virgin Media so I'm assuming the bootloader would be open, I'm just worried because when I try to boot into bootloader the OS automatically loads up which I think is a sign that it is locked.

@Andy Samsung can be tricky. I made the bootloader unlockable and flashed TWRP via Odin, followed by systemless SuperSU, and the phone detected that something had been altered, preventing me from booting normally. This on a Galaxy A5, 2017 variant.

@DeathMaskSalesman Need to patch dm-verity I guess. SuperSU is supposed to do that but it does often fail to do so.

@AndyYan I pretty much discovered that myself, buddy.


text:
Prevent Chrome from opening certain links in certain apps
The Stack Exchange app is a good one but I don't like it, because whenever I install it, Google Chrome will open all links to Stack Overflow and Stack Exchange in the app rather than a new tab.
Can I make Chrome permanently ignore this app and open any SO/SE links itself?
Android 7.1.2, Google Chrome 62.0.3202.84

see if you can configure this app to prevent that

@beeshyams probably no. Google search even show results as "Open in Stack Exchange app"

Try downloading Chromer app. I use it for opposite case. Opening pages from XDA app on chromer instead of app. May help in your case

You could try the trick in my answer here https://android.stackexchange.com/q/187987/131553

Well, This is the way to do it:

Open the app info of stack exchange app in your phone.
Click on "Open by default".

In the next screen that appears, click "Clear Defaults".
That should give you a prompt whenever you click on an SO link.
Just select chrome and it will open in chrome only.

Doesn't really help me. I've already uninstalled the app, it doesn't exist on the app store any more, and Google still tries to open links to the stack-exchange app.


text:
Will disabling "WhatsApp web is currently active" notification message also disable new message notifications too?
If I successfully disable "Whatsapp web is currently active" on the notification panel, are the individual and group messages and alert silent too?

In case you have disabled the notification by blocking it, you've probably blocked the whole WhatsApp from showing any notification. In that case, you'll not get any notification from WhatsApp.
However, in my phone, it doesn't show any such notification at all when using the web feature. Even I've seen many others use it, but no notification is shown. That's what is making me doubt that you have the correct WhatsApp. Maybe I'm wrong, and it doesn't show the notification in India, but that shouldn't be the case. Please make sure that this is the WhatsApp you've installed, because there are some more similar looking apps in Google Play.


text:
How can I enable dictation in Android messaging (texting) apps?
How can I enable dictation (voice to text) in Android messaging (texting) apps?

Dictation is managed by Input Method when you have downloaded voice recognition offline data for your preferred language at settings, Language and Input, Google Voice typing, Offline speech recognition.

While using the standard keyboard, tap the microphone icon to start dictation.

Or of not available switch input method to google voice typing it will start recognition.


text:
Dialer & Contacts app display duplicate (WhatsApp)
Issue: When searching in dialer or contacts apps (From Google Play store, latest version) many contacts show up twice. Only contacts with WhatsApp (or more times if more phone numbers stored under the contact have WhatsApp enable)
https://contacts.google.com online show only one Contact. So no "real" duplicates.
Manual Fix, (one by one): When I edit & save the contact the contacts are now "merged" like it used to be.
This is a new phone and WhatsApp data was restored from Cloud backup.
Same issue:

WhatsApp contacts doesn't merge with Google Contacts
Exact same contact shown twice
https://github.com/WhisperSystems/Signal-Android/issues/4191
https://forum.xda-developers.com/2015-moto-g/help/contact-duplication-phone-dialer-app-t3662691
https://forum.xda-developers.com/galaxy-s6/help/duplicate-dialer-t3182676

Attempts to fix

Customize the view in contacts app is not a solutions.
Cleared the Contacts Storage data

Any suggestion how to fix it without manual touching all contacts?

Is there no option in the app similar to "manage similar contacts"? Samsung phone have that option in the menu and that mergers the contacts together without having to do it manually

the Google Contact apps doesn't have that. Also these are not "real" duplicates, otherwise I could find and merge online in my desktop browser at contacts.google.com

What about an option in your contacts app settings, to just display your Google contacts? I don't have the same app so i can't test this

I solved this issue by editing all my Google contacts to make sure they contain full country code and no dashes or spaces between the numbers. In the Google Contacts landing page (web) they will all look OK but once you click edit you might find some with the incorrect format. Doing this will enable the Dialer app to link the mobile and Whats App contacts correctly. I know this is still a tedious manual fix but it is the only one I found to work.

Expected the same behaviour like in the question above. Duplicate entries (for each messenger/linked data contact) while searching, distinct entries in the normal list view.
I failed on so many tries and tried to solve it and therefore would like to share a very messy but still pretty failsafe variant for this (at least I think it is).

Open https://contacts.google.com/
Export the data for fail-safety (had chosen Google CSV)
Add all data to a new label (or  might be called group) with a name like "old ones"
Import this downloaded data afterwards. There should be a new label (or group) with the imported data

Variant A (more unsafe, worked for me):

Then I merged all duplicate contacts
All contacts showed the linked data directly and searching showed distinct results

Variant B (not tried, but should be working well and safe):

Check out that your synchronized contacts that work will show up with the newly imported label. I do not know if this will work because I do not know if more than one contact can be associated with a whatsapp profile...
Either merge or delete the old contacts
Result untested like said

System

Android 9 (Android One)
Phone: Mi A2 Lite
Setup about one week before

Hope this helps since like youre approach by saving every contact all over.
Greetings
EDIT1 One important note. Every user that was imported in the variant A has now an addition field containing the image url of this user (the images were still present, might be some merge conflict so deleting the old ones could be better)
EDIT2 In my case, exporting and importing without merging will loose all contact images although they are listed in the exported file... (thanks!).
With Variant A you will still have theses images but an additional "Photo" field in the contact that stores the image url (can be managed in the contacts list on your computers browser)

I solved by giving all the permissions to the contacts/dialer app. Probably one of those solved the issue.


text:
Current leaks while charging. Is the device defective?
During charging(first charge), there is a vibration sense(on my fingers) with my moto x4's metallic sides. Is this shows that the device is defective? What may be the reason?

Sounds like leaked current. Try another charger / wall socket?

earthing must not be there considering that particular socket.

It's with device's original charger(Don't have another c type).  I will try with other wall socket. If this occur again, what may be the issue? Earthing or with device.

Issue: Tingly feeling on hands while touching metallic parts of device.
Test1: Firstly noticed at home during charging. Tried different sockets. [tingly feeling]
Test2: charged using usb with a laptop. [Worked Normal]
Test3: Connected at Office with UPS. [tingly feeling]
I have googled this, and everybody told it was normal(due to no earth pin for charger) and found one comment that, some chargers have capability of removing leak current, while they are connected in right manner. Then, I tried with plugging the pins in right order(its written Turbocharger on adapter which should be faced up ) the issue is solved.


text:
How do I stop my device from sending my location to Google every second, even when the location setting is off?
How do I stop my device from sending my location to Google every second, even when the location setting is off? (Which is illegal because I declined Google from taking my location data because I turned it off and they still collect it anyway.)
Google was caught collecting location data EVERY second from android phones when the Location setting is turned off. Now I know why my phone battery is so terrible.
If I leave my phone stationary in my house on standby, it lasts 6-8 hours, which is bad as it should last at least 12 hours stationary on standby. If I go outside and move around, 40% of my battery goes in 2 hours so on a 100% charge when outside moving around, my battery lasts 2-3 hours. The battery drains faster when I'm moving around than when the phone is still, and it drains even faster when inside transport than walking. How do I REALLY turn location tracking off?
Before anyone says, "maybe your phone has a virus", it was like that with a terrible battery since I brought the phone with a fresh installation, and I installed every app on my phone from Google Play except for Gab.
I have a Samsung Galaxy S6 and Android 6.0.1
Update
I have made the exact same journey with my wifi, mobile data and location off and my battery only drained by 5% in one hour intead of 35% in one hour. As the mobile network tracks my location with all 3 off, the battery drain is not due to the location tracking by my network. It's also not due to any apps, as apps can only track my location when the location is on (of which a window appears asking me if I want to turn location on so the app can use it) and the location icon shows in notifications. Remember that my battery lasts much longer when stationary but abysmal when moving around.
How do I fix this problem?

The only way I'd trust to work would be a custom ROM without GApps. Not sure if you'd go for that (remark: I do, and like it that way).

@Izzy I second this, in spite of microG not being updated in a while.

@DeathMaskSalesman Indeed – but Marvin is still working on it (I watch the repo). And it works fine, so nothing to complain.

@Izzy My bad, I was talking about the commit log I saw some days ago, which referenced September 9 as latest commit.

@DeathMaskSalesman Marvin is trickle-charging the repo :) There was activity just a few days ago in one or two of his µG repos. Plus he's probably got his hands full with the new microG-LineageOS fork as well.

@Izzy Sad thing that the LOS team is dead set against signature patching, just as Google is dead set against LOS itself. This kind of attitude will bring demise upon the Android scene in the long run, I say.

@desbest none of us would say that it's a virus, because Android doesn't have viruses, only malware.

Unfortunately, your device isn't in the list of officially supported devices by LineageOS, or my answer here could be applied …

Maybe use eelo?

Even I had read that article, but possibly could do nothing to stop Google. Our lives are so very dependent on Google. We use lots of Google apps like Gmail, Gdrive, YouTube, Chrome, Maps and others. It is not always possible to eliminate Google from our daily lives.
As @Izzy has mentioned, you can flash a custom ROM and remove all google apps. That can eliminate the possibility of your location being sent to Google without your permission. But take that route only if you are sure that you can properly flash a custom ROM, otherwise you may end up with a bricked device.
Other than this, you can disable all Google apps, including PlayStore and Play Services. But I can assure you that many apps (even apps other than those by Google) won't work if you disable the latter.
You can prevent all Google apps and services from getting data access, whether WiFi or cellular. There are very good apps like DataEye which can block specific apps from accessing data connection, including system apps and services. I've been using it mainly to prevent apps from showing up ads, and it works great. In this way, you can stop Play Services from getting data access, but the apps based on Play Services will continue to work.
These are a few of the methods that a layman can use. If you can root your phone, then you can remove all Google apps except PlayStore and Play Services (don't remove these two, otherwise many apps won't function). Other than these, I don't think we can specifically do anything else to stop Google from reading our location.

Really interesting conversation. In my case when move a lot and not really using my phone I simply set it to the most battery saving mode, it limits CPU speed, disables any kind of networking communication (except for plain phone calls and sms messages) it also disables available sensors. It pretty much turns your phone into a dummy phone. I know it isn't really the solution if you use your phone the way it was intended. But I thought it would help.


text:
Backup with root and restore without root
I have failed to backup and restore an app from my old to my new phone using this answer. The reason seem to be due to the app I want to backup is a "disallowed" type (ALLOW_BACKUP:NO) (I notice it later using Helium). First, it is strange that the answer linked did not mention that it only worsk for those app that are allowed to backup in their Manifest. Second, it seems that the only option is to do the backup with root, for instance by using Titanium. I don't mind to root my old phone to do the backup, but I would not like to root the new phone in which I want to restore the mentioned app. So is it posible to do the backup with root and then the restore without root, using for example titanium and Helium, respectively?

Before getting to the How to part, how will you root your old phone? If it involves unlocking bootloader, then your data is wiped on practically all devices.

I dont know, what kind of root do you suggest if I  am only interested  to backup an app?

You would need to read up on XDA or on this site how to root your particular device - if it involves unlocking bootloader, you are out of luck

@beeshyams unless it's the rare case where there exists a method to unlock the bootloader without a wipe. But as said, those cases are rare.

@Izzy: That's what I meant by practically

@beeshyams Ooops, yes, your first comment :blush:

No, restoring the app-data from a backup of an app that has allowBackup=false will not work:
Helium uses AFAIR adb and if the app declares allowBackup=false you can neither create nor restore data of that app via adb backup.
Titanium does only work if the phone is rooted independently if you want to create or restore a backup.
The only chance to create a backup of an app with allowBackup=false is if the app provides an own backup/restore function within the app.

Thanks for answering, why do you think this thing about allowBackup=false was not pointed out in the post I linked, because it seems an elementary advice before users pretend to backup/restore without root, isn't it?

Because the answer was created at a time when the allowBackup "feature" was nearly never used. Only recently app developers use this feature more often. May be this happens because of the automatic Google app-data to cloud backup is active in newer Android version unless you disallow backup.


text:
How Device memory allocation happens
Under the Memory settings entry, there are several categories such as Apps and Documents.
What is considered as part of the Misc category? It's taking up a huge amount of my device's memory.

Everything not mentioned explicitly in the other sections. What exactly it is I cannot tell, but that would e.g. include logs (especially "tombstones").


text:
Is there a way to use Google maps on the watch without voice?
I have an Android Wear 2.x smartwatch.
I use Google maps in English even though it's not my mother tongue, simply because I want to have all Google assistants functionalities enabled as well as Android on my phone(Android Oreo) in English.
However, when it comes to dictate to Google Assistant on the watch "native to  address" it just fails 100% of the time which I find rather frustrating. so, I'd rather type the address directly either on the phone or the watch. However, there seem to be no way neither to send Google maps address from phone to watch (unlikely other apps which have "send to watch"), nor to type the address on the watch directly (whereas many apps do have the keyboard input option)
My question is :

Is there a way to use Google maps on the watch without voice?


text:
Move WhatsApp account without SIM
My problem is exactly the one described in Migrate whatsapp from phone (old expired number) to another one?.
I want to move my WhatsApp account from my old phone to a new one, but the SIM of the old phone is already expired (nonetheless, I currently can use my WhatsApp in it). In my case, what I want is to continue using that WhatsApp account on my new phone. I don't care about the chat history or contacts (I already save them).
So, I have read that in a rooted phone, by accessing the /storage/Android/data and copying the com.whatsapp folder and replacing it in the same directory of the new phone, the account can be moved and no verification number is needed. I have noticed that even with a non-rooted phone, I can access those folders, copy them, and replace them, as in the instruction, but in my case, it did not work.
Is there are differences in the content of, for instance com.whatsapp folder, when you access in rooted mode and non-rooted mode? If not, what I am doing wrong?

It is most probably because the Whatsapp version is different. If it is the same it works ( I have done it in past). But next problem in line what will you do if the expired SIM number is allotted to somebody else by your telecom carrier??

I have checked it, and the both phones I have the same version of whatsapp. My phones are not rooted. About the carrier, that is not my concern at this moment, but I am aware of it.

Did you reboot the phone?

Yes, I did. I still ask me to introduce a number to make the verification. What folder did you have inside your com.whatsapp folder?

Folders are same on my rooted and non - rooted device. As long as you copied all, this may not be the problem.Another thing to try. Uninstall Whatsapp on new phone but let the data be there. Install whatsapp and WhatsApp will automatically find your backup and ask you if you would like to restore it - restore it

I uninstalled and then installed it again, nothing happened, actually the com.whatsapp was erased. Then I copy the one from my old phone again, and still nothing happen. My com.whatsapp folder is around 15MB and contains two folders one is called cache which contains single files and a folder called SSLSessionCache, and the second one is called files and is empty.

In order to successfully copy the data from one phone to another in the way you described, you need to actually fix the permissions and SELinux contexts of the files. An app like TitaniumBackup will do that for you, so I recommend an app like that.

@GiantTree, what permissions are you referring to? and my phone is not rooted and I am not willing to root it (at least not the new one ), and to my understanding titanium is for rooted devices.

You should first migrate your account to the new number using the Change Number feature: https://faq.whatsapp.com/en/android/27585377/?category=5245246

@BurNor I am talking about file permissions and the file owners. If an app can't access a file (because it is owned by another user, like adb), it might resort to deleting it and creating a new one with the correct owner (an app can delete files in a directory it owns). You are right, Titanium Backup is for rooted phones. Maybe adb has the needed privileges to change the owner and the SELinux context of files. If both phones are not-too-old Samsung ones, you can use the data migration wizard to transfer the data to your new phone without having to deal with these issues.

@GiantTree, just to mention that both phones are Xiaomi, the old one has a android version of 4.4.4, and the new one 6.01. I really dont know how to overcome this, I thought (and it seems to work for other users) that just by copying the so called com.whatsapp from one phone to another, and then reboot the phone, it should work, but in my case it did not.

What you are trying to do is very possible, but your methods will never work. Firstly, you got have to know that there are two different com.whatsapp folders. The one you were just talking about is so useless that anyone on any device can access it.
You need the whole directory from root/data/data/com.whatsapp. To copy this, you need root permissions right, and to copy them in a new device you need root as well so that you are able to put them in the root dir.

If you can root your device, then transferring your WhatsApp account would be an easy task.
Use Migrate to backup your WhatsApp data from your old device and restore it to your new device. But both phones must have root access.


text:
android: how to clear restrictive permissions on internalSD
background - symlinking gone wrong from internalsd to externalsd on android 7, that makes the CrypticFolderName inaccessible to the app that needs it.
https://forum.xda-developers.com/android/apps-games/apps2sd-partition-sd-card-link-apps-to-t3122919/page443
i'm at terminal via ADB i get:
cd CrypticFolderName
/system/bin/sh: cd: /sdcard/tencent/micromsg/CrypticFolderName: Permission denied

as SU:
chmod -R 777 CrypticFolderName
chmod -R 777 CrypticFolderName
chmod: No CrypticFolderName: Permission denied
:/storage/emulated/0/tencent/MicroMsg #

but if i do ls -la on the folder above in the tree, the CrypticFolderName is listed with the same permissions as the rest of the folders, that are accessible.
drwxrwx--x 26 root sdcard_rw 4096 2017-12-12 12:16 CrypticFolderName

what to try next? or - do i need to format the partition that the sdcard is on? which partition is it on? does TWRP wipe do a format?

Could the issue be case sensitivity - I notice that the path refers to MicroMsg while the error referred to micromsg - Some disk formats are case sensitive.

doubt it, as the chmod is issued when already navigated to that directory.

not really an answer, but i ended up resolving the issue by reformatting the data partition on the phone and restoring the data on to it with the help of TWRP. the wrong permission / dead symlink / whatnot got removed and was not present in the TWRP backup.
this thread pointed me there:
https://forum.xda-developers.com/g5/help/please-xt1675-stock-fastbboot-firmware-t3692083/page2#post74872938