text:
Lenovo Yoga Tab 3 Pro (YT3-X90L) factory image, OTA update or backup needed
I was playing around trying out some new stuff with my Lenovo Yoga tab and locked it. There is an old Google account on it, but I can't remember it.
I've tried so many things:

I've tried to factory reset it, but it's still locked.
I've tried to flash TWRP in the hope to do something more, but unlocking my tab in a locked state isn't allowed.
I was able to follow this tutorial to minute 9:08. But the option "Email and password" is not there anymore. I guess they patched it with 6.0.1.
I tried to flash a stock ROM or TWRP with LenovoDownloader(QcomDLoader). The stock ROM file is: Lenovo_Yoga_Tablet_3_YT3-X90L_ENG_S200028_1609230146. Even it's a German device, this file was the only one I could find. But the LenovoDownloader won't recognize my device. The windows stay white with no entries. I guess I installed the correct driver for this device and Windows recognizes them as a removable device if I plug it in via USB.
I've tried to use adb and fastboot boot oem unlock. But these commands aren't working in a locked state.
With a trick, I could open the Settings and be full of hope to activate the developer options to set USB debugging to active. But these developer options aren't available either with this "user".
There is an APK for showing the "Email and password" interface. I could install it, but it force closes right after starting it.
I've tried several tools to bypass this FRP: WinDroid Toolkit, D-G Unlocker, Realterm, but NOTHING.

What could I do further?
Specs for the device:

Lenovo Yoga Tab 3 Pro (YT3-X90L)
Lenovo/YT3_l0_row_lte
6.0.1/MMB29M/LenovoYT3-X90L_S200307_170614

What do you mean by you locked it?  After resetting, doss the tab still request an unlock code/pattern/password?

no that's not. It just requests an old google account. It says "Welcome" and then it requires an internet connection to verify the google account linked to my device. But i can't get the google account again.

Ah okay, that's an FRP lock even flashing ROM won't bypass that. There are dozens of tutorials on how to bypass the Factory Reset Protection.

Hey, first thank you for your help. But, i've tried to factory reset. It worked, but the device is still locked. Or do you mean another kind of resett?

The factory reset only reset user data. The FRP partition can't be wiped by a factory reset. But I think downgrading your device build could help bypass the FRP.

and how to downgrade my device? Sorry, but you might have a clue on how to do it.

Also posted on XDA: https://forum.xda-developers.com/t/yt3-x90l-lock-state-locked-recovery-image-needed.3745106/

I've written it down. Translation by Google, but I think it's all good.
Situation:
"Confirm account: The device has been reset. To continue, sign in with a Google Account that was previously synced on this device."
Explanation:
The device has been blocked by repeated input of the wrong password, pattern, etc., and can only be unlocked with the Google account of the owner.
A factory reset or hard reset does not help here, as the account information is saved in its own FRP partition and will not be deleted when the factory state is restored.
Solution:

Connect the device to Wi-Fi and Internet access.
Before confirming "Next", select another hotspot here
Go to "Advanced Settings" and change the proxy settings of any hotspot to Manual.
In the text input field of the proxy settings, enter any word: e.g. Test
Now, mark this word and select "Assist" in the context menu.
Selecting this "Assist" option opens the Google search application.
You can now not only browse the Internet through this search but also search for and open installed programs.
We are looking for Chrome, open the internet browser, go to www.google.com, and search for DPC test (APK Mirror)
After downloading this application, go back to the Google search application.
Here we enter "Download" to search for the download application.
In Downloads, we can now find and install the downloaded app.
To allow the installation of this .apk, you must allow the installation of "unknown sources" in the settings.
Either you go here on the installation itself on "Settings", or you search for "Settings" on the Google search app.
After completing the installation of the DPC-Test program, start it with "Open".
The app itself will register as a device owner and now allows us to set up a new Google Account as an owner.
If this is set up, it will also be included in the FRP partition.
In the event of a new factory reset, the device is reset, the DPC-Test program is removed and the device can be freshly set up in the factory settings.

After the takeover of the owner, the reason for blocking the device was not present anymore and the old owner was overwritten. This will be overwritten in the FRP partition as well with the new account and the old one no longer be queried.


text:
How to delete 0-byte files in the root directory of internal storage without root access?
This is the same to this question:
Can't delete file in download folder
But for me, the answer is not clear, as per the OP's answer 'he turned on the SD Maid app' but did not state what option in SD Maid resolved the issue. The OP stated as well 'he deleted the whole directory' but not specified if using SD Maid or PC.
We have the same scenario where I redownloaded the same file, and after copying it to the exact location where I'm having an issue, it made two identical files and what I tried so far:

Highlighted both items and deleted them using SD Maid, it says success but after a refresh, it retains the other file with 0 bytes.
Connected my phone to PC as MTP and tried to delete it from there. What I noticed is it only shows one file, unlike looking in any Android file manager. It says success but checking it again on the phone it retains still the file with 0 bytes.
Tried apps in Play Store that says secure delete that uses a different algorithm but still, after it says yes, the same scenario occurs above.
Perform wipe cache partition in the stock recovery.
Clear data and cache of stock file manager.

I know my last resort would be a complete factory reset, but is there any other way?

I installed the SD Maid app despite knowing that it didn't delete the problematic file. But at last, I removed the whole folder with the app, and it finally worked. Then I tried to delete the folder by the file explorer of my phone, and everything except the problematic file got deleted. Then I deleted the folder (with the 0b file in it) with SD Maid.
Note that before doing this, I've also tried using force delete on Windows Explorer and ADB Shell, but none worked.

Hi, though this question is almost a year already. Yea, that method works if the 0 byte file is inside a folder. But in my case it's in the root of the storage,  it's not inside any folder. I just resolved it by doing factory reset, though it was not my preferred method.

I found a pretty easy fix:
Deleting storage and cache from the system app "media storage" and then restarting made the 0 byte files disappear for me

you can move them to SD card and delete. that worked by me

source: Stack Exchange

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

sort: votes


text:
How to open local web pages in Chrome on external SD card
I wanted to be able to open local files in the Chrome browser. If I tap a local file (htm, rss) or paste a valid "file:" URI into Chrome it does not work when file is on external SD card. I am using Samsung S4 Android 5.0.1 (not rooted). I tested a few paths in the chrome browser and found works ok on internal SD card but that there is no read access to any data on the external SD card even the private data folder (I was expecting Chrome should have access to private folder on exteranl card??). Selecting a file E.g. file:///mnt/sdcard/Documents/testarc.htm on internal SD card works fine but paths like file:///storage/extSdCard will not show a directory.
I know that access restrictions were added to Android 5.x but don't applications have access to a private data folder (under /Android/data) on external SD card by default?
Does Chrome (com.android.chrome) have read access the file:///storage/extSdCard/Android/data/com.android.chrome/files/ ?
Is there a way to enable it?
I have two file manager apps installed - ES file explorer, Total Commander, and the is "Myfiles" app which came with the phone. If use ES file explorer or Myfiles the "open with" windows only lists Firefox not Chrome, or Samsung browsers. Choosing Firefox will open the web page file (htm) (even on external SD card), so is there a way to add other browsers to "open with" list?
In MS Windows file association was relatively simple using "registered file types" options. Is the Andriod equivalent?

For a non rooted phone this is the latest version of AOS that Samsung have released. I have read moving to an open source version the camera software is not as good as what I get with Samsung.

Does Chrome (com.android.chrome) have read access the file:///storage/extSdCard/Android/data/com.android.chrome/files/ ?

One workaround I found is to download something (anything) and when you get the download prompt, choose to save to SD.  You can also choose from chrome settings Settings -> Downloads -> Download location.  Once you save one file, you will be prompted to grant the extSDcard permission.

The only workaround I have found is using Total Commander (TC) and adding an entry setting which program to run with a specific extension in the TC configuration menu. To do this choose menu | configure | internal associations| new association. Define new settings for "htm" extension to open chrome (pick from "choose app" list) and tick box for "Parameters: content://url". When you select a file it passes a URI like content://com.ghisler.android.TotalCommander.files/storage/extSdCard/path/file.htm to Chrome browser. I noticed the file remains available as Chrome tab for several days, but then is not available until I open TC and pick the file again, so I assume it is a cached copy in TC of the original file.

all_licenses: 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/


text:
Samsung Galaxy S3 speaker connection flickering, loose contact
Issue
The issue happens on my samsung Galaxy S3 model SGH-I747M.
The loud speaker doesn't work anymore unless I "hit" the back of my phone until it work again. But then I need to be VERY careful, because any touch to it can cause the speaker to stop working again. For instance, just putting the phone on a table can make it stop again.
Example :
I put some music to play without headphone. The music is playing in the app but there is no sound coming out. I hit my phone once and the sound start coming out then I put my phone on a desk and the sound stop coming out again even if the music is still playing in the app. I hit the phone on the desk a few times for the sound to come back. Since hitting the phone temporary fix the issue, I suspect the speaker connection is loose.
Issue solving
Playing music here was the easiest example, but alarm clock, phone ringning and every others apps that use the lound speaker does the same. Therefore, I suspect a physical problem. However, I don't know where the loose is.
Here they show how to change the speaker on the phone.
Changing the speaker would solve the issue only if the loose is within the speaker part. If it's before that, then it's won't solve anything I guess.
Question
Is the loose within the speaker part or within the rest of my phone?
If you can't tell for sure, then what are the probability for the issue to be within the speaker part?
Any other advice are welcome.

Similar issue overhere. I may have resolve my issue. Will update later to say what I did.

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


text:
What is this lockscreen app?
So sometimes when I try to unlock my phone I am greeted with this:

When I swipe up I am greeted with my regular lockscreen. Why exactly am I seeing this lockscreen? It appears randomly, does not appear every time. I dont have any lockscreen app installed. I am using Android 5.1 with stock launcher.

It's possible, that some launcher installs a custom lock-screen as well. Would you mind adding the launcher you are using to the question?

it looks like the Go Launcher locker app.... Just by the four petal clover  ...
Also King root makes a lock screen like that

Yeah, I did root my phone using King Root, actually.. that must be it.. Thanks.

@mayankbudhwani Yeah, to get rid of this custom lock screen, disable the option "charging lock screen in kingroot or the purify app. Forgot which one.


text:
Need help rooting my phone
I have a Micromax Canvas spark 2 q334 running android 5.1 and it has a very low internal storage.so I need to root my phone to use link2sd. some guides suggest Kingroot but it doesn't work for my phone..also there is no custom recovery available for my phone so I couldn't root using recovery method.can someone guide me on how to root my phone.

Visit Help center to merge accounts

You could try other one click root apps like Vroot or frama etc.
"Very low internal storage" you could be more specific, 8/4 MB?

Try searching this site and XDA for general information. Your mediatek device may have an unlockable bootloader (try fastboot oem unlock) . Or you might have a root ADB shell (try adb shell+adb root). These methods require the ADK.
If you are lucky your manufacturer has added a root setting in your phone (maybe under developer options).
Failing  that you can either create your own custom recovery and try flashing that, OR modify the stock ROM and flash that using your PC. These (riskier) methods require your understanding of SP flashtool software.
All these methods require you installing the device drivers first.
See also What is rooting? and How do I root?


text:
How to share via mail always to the same recipient in one touch
I frequently share things by sending me to my gmail address. So I make 4 steps:

tap share icon
tap Gmail icon
type my own address
tap send

Is there a way/ app that automatize all these things : one tap on this app on share popup send directly "the thing" to a pre-parametrized recipent(s). ?

If you are on Android 10 and have an app that supports share sheets, it is possible but not with Gmail. FairEmail supports it. I use that. All frequently mailed recipients turn up for sharing

Above only reduces one step - combines 2 & 3. That is the key. 1 is the start and 4 end. If you want to automatically do this, IMO, not possible

Finally, I have founded an app wich makes exactly what I want : share in 2 taps (not 1, it's true) : it's named InboxIt
With the free version, you can only quick share to your self gmail address, but it's largely sufficient for my usage !


text:
Best adb command and system tweaks for non rooted phone to get closer to rooted experience
As I always owned rooted phones I find frustrating living with all the limitations of non-rooted phones.
I would like to list here all the adb commands you can issue and system settings you can tweak to get your non-rooted phone experience closer to a rooted one. In a way decreasing "security" when connected to a PC.
Especially targeting Android 10+
Of course we all know everything starts enabling Developer Options and USB Debug
I can execute some pm disable package or pm uninstall package to get rid of some bloat system apps.
Then I can do some setting put global parameter n to tweak some system settings.
I.E. setting put global dropbox_max_files 9 limits the number of files in /data/system/dropbox directory (unaccessible) to 9 instead of hundreds (if not thousands).
Dropbox app not installed, but there is log activity in /data/system/dropbox
Finally there's pm grant com.package.name android.permission.WRITE_SECURE_SETTINGS to play with...

content query

/data/local/tmp/busybox

Our adb tag wiki links to several good resources. "Get closer to root experience" is a bit vague; if you could include what especially you want to achieve, it would be easier to answer. "list here all the adb commands…" ahem: List questions are no good fit for Q&A sites… But well, good luck!


text:
Have volume buttons wake phone
I'd like my volume buttons to wake my phone when asleep AND change volume when awake. (LOS style)
Want to do that manually (ideally by editing keylayout files/build.prop/settings put...), don't want to install any button remapper app.
I took inspiration by Cr0wTom 'Xiaomi Mi AI button remapper' and edited my keylayout at /system/usr/keylayout/gpio-keys.kl (you can find what's in use with cat /proc/bus/input/devices)
key 115   VOLUME_UP
key 114   VOLUME_DOWN
key 102   HOME
key 528   FOCUS
key 766   CAMERA
key 689   POWER

last line is AI button that I successfully remapped to POWER.
If I change first line with key 115   VOLUME_UP WAKE AI button stops working, volume up keeps working as before and doesn't wake the phone.
If I change to key 115   WAKEUP AI button works as remapped POWER, volume up button wakes the phone but does not turn volume up anymore.
running root Xiaomi.eu rom A10 on a Mi9


text:
Will factory resetting make my rooted device unbootable?
I rooted my Samsung Galaxy Core 3 Plus running Android 4.3 with Kingoroot and now I want to factory reset it. Is it safe to do that?
I am using the stock ROM.

Yes, its safe to do factory reset.
However, I once tried this below approach and bricked my phone. So beware.
If you're using a custom recovery like TWRP and choose complete wipe.

(Advanced wipe -> select all options including Internal, system
  ,etc)

This erases the complete phone.
So after erase if you do not install a new custom rom immediately (without reboot), your phone goes into infinite loop.
You'll now be stuck with a phone which keeps restarting as no ROM's are available on the phone memory either because of the wipe.
Worst part, My phone didn't have an external SD card so I couldn't copy any other ROM into the phone and to install it later.

My Suggestion : Just be sure of the options you select during Wipe.

Thanks! I did a factory reset on my phone without any problems!

You can do factory reset. You device would not get into a bootloop because  rooting is a method that  installs the  superuser apk in system apps and  gives you extra privileges . I didn't think that that it is not safe  Still, I performed factory reset 100 times on my  Android phone and nothing happened.

sorry auto-correct  i mean it install the superuser apk on the system site so it won't  be uninstalled  when you do Factory  reset so that for you would  be still rooted but you can do factory resets  hope i help you sorry for my grammar mistakes

Is there a good reason you deliberately messed up with punctuation?

Supper than have a andorid day :D


text:
Backup an app's complete data when phone is stuck in bootloop
My rooted Moto G is stuck in a bootloop. I want to backup a specific app.
usb-debugging is enabled. I have access to bootloader and twrp recovery. I have tried wiping cache and dalvik cache and even flashing the ROM again. Now I need to wipe the internal storage to make my phone work.
The device does not have an SD card slot. I need to backup an app before wiping all of my data. Other data like pictures, documents, etc., is already backed up by using otg cable and pen drive.
I tried using ADB to backup but I cannot confirm the backup on my phone as no such screen is shown in recovery mode. Can I just copy and then paste some files to restore the app?

You would need a custom recovery for this solution and it appears that you already have TWRP installed.
Setup adb in PC, if not already. Boot into recovery mode. Mount data partition. Find the package name of your app, if don't know already and execute these commands:

adb shell
busybox tar -C / -cvzhf /sdcard/PACKAGE_NAME.tgz data/app/PACKAGE_NAME* data/data/PACKAGE_NAME  # replace PACKAGE_NAME with package name of the app

The last command will create a tarball with extension .tgz under /sdcard with name as package name of the app. The tarball would contain the app's APK (among other things) and app's private data. Files' ownership and attributes would be preserved automatically. Extended attributes (such as SELinux context) won't be preserved in this command.1
Your app may be having publicly accessible data under /sdcard/Android. You can simply use adb pull or MTP to copy those files into PC and restore them using adb push or MTP, when needed.
To restore the backup, do:

adb shell
busybox tar -C / -xvzhf BACKUP_PATH   # replace BACKUP_PATH with the file path of your backup, such as /sdcard/PACKAGE_NAME.tgz
restorecon -FRv /data/data/PACKAGE_NAME  # this will set default SELinux context on the data files of your app

Unmount data partition, reboot and you should be able to find your app in restored state.
Note:  I've tested this solution on an unofficial CM13 build.

1 I noticed that bionic build of busybox (found in TWRP v2.8.6.0) among other arguments has -p for tar which is used to store SELinux contexts. If the file was created using that argument, then during extraction those contexts would be restored automatically, hence, no need to run restorecon explicitly.

Execute busybox tar to know what those commands are doing.

I wiped my phone but I will try this method next time my phone blows up. Thanks a lot!


text:
What is this lock screen with ads and how do I remove it?
I think my device got a malware. A lock screen with ads sometimes appear, and I must swipe an area at the bottom of the screen to open the phone. I am in Eastern Europe, some ads are in Slavic languages, and they are seemingly related to travel.

Image resized. Click to view the full image
I have seen ads for Lot Air (Polish carrier). I recently went to their site.
Considering my recent surfing activity and the nature of the ads, I guess the malware is connected to airlines active in Eastern Europe.
The lock screen also promotes the app "DU Quick Charger" by claiming it has recharged the phone extra fast during screen off. (!?) It also shows battery level. I have never installed DU Quick Charger. I doubt DU Quick Charger is installed on the phone.
The problem started after installing Ryanair app. The problem is maybe, but not surely, related to this. Uninstalling Ryanair and restarting the phone doesn't remove the occasional appearance of this lock screen.
After a while the situation has changed for the worse, now this lock screen appears after EVERY screen off.
I have always used Avast. I am not rooted and only install via Google Play.
What is this? And how do I remove it?

Thanks. I really appreciate your input. The problem right now is that I am travelling. I haven't seen a PC for months. As soon as I get to one I will try your suggestion. / Is there anything else to do before that?

So does this lock screen appears out of nowhere, I mean you're using your device and then it shows up, or, you put the device to sleep, awake it and gets to see that lock screen? You've also made certain that there is no fishy device administrator under Settings -> Security -> Device administrators?

Can you provide us a list of user installed apps which can "draw over other apps"? This may help: Determine which app is drawing on top of other apps?

Device administrators ok. / It never appears "suddenly" when I work on the phone. It only appears after waking up the screen saver, f.ex after closing flip cover, pressing on/off button or "spontaneous black screen after 2 min inactivity". Right now every time! But not always every time. // I'll come up with a better error-description when I can.

Thanks. It is late in my time zone. I'll come back as soon as I can with list of "draw over" apps.

Recently uppdated apps:
http://i.imgur.com/ubKgTqJ.png
http://i.imgur.com/N3tyzsu.png
Permission to draw over:
http://i.imgur.com/LFFR91h.png
http://i.imgur.com/4FWOijI.png
http://i.imgur.com/jKAh5mB.png
http://i.imgur.com/qdbxCHA.png
http://i.imgur.com/bJYMeLi.png
http://i.imgur.com/mY0cmNk.png
http://i.imgur.com/KCcXzty.png
http://i.imgur.com/k8YLjsq.png

Which Android version are you using? If earlier than Android 6, then could you follow the section Apps for apps here in its entirety?  For Android 6, use Andrew's answer.

I use 5.0. So I used this to produce the list of my "draw over apps". http://i.imgur.com/olYzDCh.png I thought that was according to Andrew's answer?

Also, reverse image-searching your screenshot brought a similar screenshot about DU Battery Saver & Fast Charge app.

Ok, thanks for your efforts. It's pretty irritating so please let me know if you find something. I read some people saying that some "trusted devices" should be removed. But I don't know which and there are many in the list. http://i.imgur.com/i4Fl5vn.png (Next time I'll use browser to delete question, thanks.)

I have not had any problems now for approx. 6 months. I keep the ES file manager. Today a "charging booster" lock screen appeared. But it could be disabled in its setup. I suspect the ES file explorer, but I am not sure.

This lockscreen replacement is caused by an ad from DU Quick Charge
I am pretty sure that this lockscreen was added to the app "ES App Locker". Many User-Revievs are stating that this app comes with lots of unwanted ads and lockscreen-replacements.
See this review:

This is what they are answering to most people:

So you either have the option to turn this settings off apparently or remove this application.
You can check the user-reviews here: Google Play Story
Disabling DU Quick Charge may not work on devices. In this case insure that you completely remove the application. If the quick charge screen continues to display, check to see if you have any other apps that have this "adware" and remove them.

EDIT:
Based on the information seen in another question I wanted to update this answer. It seems like quite a handful of applications have added this lockscreen replacement in their latest updates. There is one Reddit discussion which mentions a few apps.

ES App Locker and ES File Explorer Pro
Xender
Touchpal
Amber Weather
GO Weather Forecast & Widgets / (infact most Apps related to GO)
Z Camera
Kitty Play
Locx
Peel Remote

As @Andrew T. pointed out - the main cause of this lockscreen replacement is the advertisement of DU Quick Charge - developed by DU APPS STUDIO.
If you are experiencing similar problems then check this helpful answer by @Firelord to check which app might cause this.
I'll try to update this answer from time to time.

THANKS, THAT SEEMS TO HAVE REMOVED THE UNWANTED ADWARE! Opening ES App Locker not possible since it was locked with a pattern. I NEVER USE PATTERN. It thus seems like a very risky program. (But ES File Explorer Pro is the file manager I mostly use, unfortunately.) It was possible to uninstall ES App Locker though. But then stock pin-lock screen appeared in Android. Fortunately correct pin was an old one I once tried. THANKS AGAIN. I'LL COME BACK IF PROBLEM REAPPEARS. VERY VALUABLE ANSWER.

I switched away from ES File Explorer after using it for like 3 years just because of the integration of ads and changing the user-interface. The once simple-to-handle program has changed a lot in my opinion. If you're looking for a replacement in the near future you can check out @Izzy s list of applications for filemanaging

@AndrewT. Added :) I'll check the reddit thread from time to time in the next few days and have a look at future questions which may address this issue and add these apps when I can. If you or anyone else finds more feel free to edit them in or (if it makes sense) make this a community-wiki :)

Wife just started getting this; we think it was from this app: https://play.google.com/store/apps/details?id=com.contextlogic.geek&hl=en_GB

Removed Loc X (https://play.google.com/store/apps/details?id=com.cyou.privacysecurity&hl=en_ and DU Quick Charge was removed along with it =]

Looks like ES File Explorer has now removed it too source

This ads lockscreen is also in a TON of DU and ES apps, including DU Battery Saver and DU Speed Booster.

I've cleaned up comments that were not adding any value to the answer.

For people like me who hate ES Explorer doing this but can't move away from it right now(because of its loads of features!):
We can disable this unnecessary feature:

Go to Es Explorer Tools and disable charging boost.

This will remove the annoying ad screen you see when you plugin the charging cable.

A Reddit user has started to collect together the apps that have included this 'feature'/adware.
The list currently contains:

Xender
ES File explorer (by ES Global)  Removed
ES App Locker (by ES Global)
KittyPlay Wallpapers Ringtones
GO apps (Go Weather, Keyboard, SMS, Next Browser)
TouchPal Suite (Anything made by them)
Z Camera
HiFont
TrustGo
Battery Doctor
InstaMag
FotoRus - Photo Editor Pro
UC Browser
App2SD
360security
Photo Editor Pro by Zentertain
AppLock by Fotoable,Inc
Secret Video Recorder by CME Services
Between
Sharecloud (by For2ww)
Flashlight & LED Torch (by Zentertain)
Photo Collage Editor by Zentertian
LOCX: App Lock (CY Secure)
XBrowser - Super Fast and mini by XMan
iMuslim
Solo Launcher
Go Speed
Photo Grid
Avast Mobile Security free
S Photo Editor
AllShare
Multi Calculator

This list was helpful for me to identify the "culprit" app. For me it was "AllShare" app - if you can, then please verify and add it to your list, bmdixon.

You can add Multi Calculator to the list.

It seems ES File Explorer does this now - I have had it installed for years, but today I saw DU Quick Charge pop up and it seems to be tied with an update of ES File Explorer. I uninstalled it and the malware is gone.

Was it the free version of ES File Explorer or was it the pay/Pro version? (I saw the lock screen once only, today. I have both these installed.)

It was the free version

Thanks. If this lock screen reappears I will uninstall the free version. It is often also time consuming to uninstall, since you have to enter all passwords (cloud, ftp), set up windows etc when you reinstall.

This is to provide additional evidence that ES Explorer is  another culprit, from the family of ES apps
Network Monitoring: How to Get Started and Why You Should Consider it, a post which appeared on XDA portal yesterday confirms this using Fiddler- The free web debugging proxy for any browser, system or platform
The XDA post explains, set up of Fiddler, creating a proxy, connecting your phone and laptop on the same WiFi network and analysing traffic. In particular, it analysed traffic from ES Explorer and says

Even though the Pro version does not come with ads, several MBs worth are still being downloaded just not shown.

The app is built poorly with no regard for efficiency.

The app is communicating with Baidu constantly.

Post ends with pictorial evidence of other malware assosciated with ES Explorer

Amber Weather was the reason DU Quick Charge was added to my lock screen.  ES File Explorer and ES App Locker was not the cause.

Amber Weather was not the cause foe me, either.

It was ES App Locker, and they are currently sock puppet blasting the app with 5 star ratings to try and counter the deluge of 1 stars... It's pretty sad actually, and it's why I switched to Solid File manager, which I actually like more than I liked es... It does a 14 day trial before you have to buy in, But there are a bunch of alternatives that aren't pay to use, such as Amaze File manager which is open source, so it should never be pay to use.

I hope people give comments in Play Store about it, if there is suddenly a high influx of 5-star ratings.

In my phone the reason for the lockscreen was the Xender File Sharing App. When I clicked the little gear(settings) icon on the top right corner it gave me an option to switch off the Xender Quikcharge feature and so I did. I don't get this screen anymore.
I went to the Xender app page on the Google Play Store and a lot of other users had also complained about the same problem. Hope this helps.

Please link app from Play Store


text:
Purge /data/system/packages.xml from manually deleted packages
I manually deleted around 50 obsolete Trichrome Library packages using rm as explained here.
Of course doing this brutal rm delete thing instead of a more graceful pm uninstall leaves all of the old Trichrome versions entries as leftover in /data/system/packages.xml.
<package name="com.google.android.trichromelibrary_438908633"
    codePath="/data/app/com.google.android.trichromelibrary_438908633-SwvwbO_SyYGt5Xu9yACVFw=="
    nativeLibraryPath="/data/app/com.google.android.trichromelibrary_438908633-SwvwbO_SyYGt5Xu9yACVFw==/lib"
    primaryCpuAbi="armeabi-v7a" secondaryCpuAbi="arm64-v8a" publicFlags="0"
    privateFlags="0" ft="1781fabc898" it="1781fac0a2e" ut="1781fac0a2e"
    version="438908633" userId="10263" installer="com.android.vending">

Is there a way to purge it automatically? Reboot doesn't clean it.
Or can I just edit such xml and remove leftover entries?
[Android 10]

@beeshyams it is there: https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-12.0.0_r1/services/core/java/com/android/server/pm/Settings.java#632. But most probably it also got converted from plain to binary XML (like AndroidManifest was and) as Android did to other XML files on device to reduce parsing overhead. So it needs to be decoded.

it's a file not a folder

Ju Tutt, OK, thanks, but no entries like you mentioned @IrfanLatif it is not coded, I was mistaken in assuming it to be a folder

@beeshyams at least in AOSP code it's coded in ABX format.

I manually edited packages.xml deleting relevant sections from <package name> to </package name> for every obsolete Trichrome package, working fine.
Make sure owner system and permissions rw-rw---- 660 are preserved after edit, then reboot.
For extra safety I first made a backup of the original file and for convenience I edited a copy of the file on a PC using Notepad++, then pushed back on my device.


text:
Change file (pictures, videos) timestamp from filename
When moving files around tru different dirs and across PC / smartphone, timestamp for last modified date usually get reset to the very datetime of move / copy operation. This lead to files being non-chronologically sorted in some apps (Gallery), quite annoying especially for Images and Videos.
Usually these kind of files follows the naming convention of IMG_YYYYMMDD_HHMMSS.jpg for Images and VID_YYYYMMDD_HHMMSS.mp4 for Videos.
So I thought about combining touch and extracting character from filenames, the timestamp being in effect part of the filename itself.
I found this script at Ephestione's HQ
for i in IMG*.jpg; do busybox touch -t ${i:4:8}${i:13:4}.${i:17:2} $i; done
but works in terminal only. I tried to make a script out of it but it doesn't work (see below)
#!/system/bin/sh
#change timestamp for images filename IMG_YYYYMMDD_HHMMSS.jpg
for i in IMG_*.jpg
do
    touch -t ${i:4:8}${i:13:4}.${i:17:2} $i
done

#change timestamp for whatsapp images IMG-YYYYMMDD-WAnnnn.jpg
for i in IMG-*WA*.jpg
do
    touch -t ${i:4:8}1234 $i
done

#change timestamp for videos filename VID_YYYYMMDD_HHMMSS.mp4
for i in VID_*.jpg
do
    touch -t ${i:4:8}${i:13:4}.${i:17:2} $i
done

#change timestamp for whatsapp videos IMG-YYYYMMDD-WAnnnn.mp4
for i in VID-*WA*.mp4
do
    touch -t ${i:4:8}1234 $i
done

Ideally I'd like to put a script like this in the top level DCIM or Pictures directory and have it process all the Images and Videos in the subdirs. Of course I'm rooted.

Remove from the script the .${i:17:2} in for loop.
It should be:
#!/system/bin/sh
#change timestamp for images filename IMG_YYYYMMDD_HHMMSS.jpg
for i in IMG_*.jpg
do
    touch -t ${i:4:8}${i:13:4} $i
done

#change timestamp for whatsapp images IMG-YYYYMMDD-WAnnnn.jpg
for i in IMG-*WA*.jpg
do
    touch -t ${i:4:8}1234 $i
done

#change timestamp for videos filename VID_YYYYMMDD_HHMMSS.mp4
for i in VID_*.jpg
do
    touch -t ${i:4:8}${i:13:4} $i
done

#change timestamp for whatsapp videos IMG-YYYYMMDD-WAnnnn.mp4
for i in VID-*WA*.mp4
do
    touch -t ${i:4:8}1234 $i
done

Note that the images and videos from WhatsApp according to your script have the same time 12:34.
Edit: To also go through subdirectories, change the for loops as followed:

for i in `find . -type f -name "IMG_*..jpg"`
do

j=`basename $i`

echo $j

touch -t ${j:4:8}${j:13:4} $i

done

Explanation:
find . -type f -name ".mp5"`: find files ( -type t) whose names contains " IMG_.jpg" ( -name "IMG_*.jpg") in the current directory ( . ) and subdirectories.
j= basename $i : Get the filename (not the entire path), and assign it to j.
touch -t ${j:4:8}${j:13:4} $i : Change  the file's modification time based on the date and time retrieved from ${j:4:8}${j:13:4} .

Yes, 1234 it's a dummy timestamp. Script seems to work even if it stderrs some touch: invalid date

How about having it work tru subdirs?

I will modify the script when I have time to go through sub directories too

@JuTutt See edit


text:
Can I delete old trichrome library under /data/app?
I have around 50 trichrome library folders in /data/app using around 3 gb.
What varies is the alphanumeric string after the package name denoting version:
com.google.android.trichromelibrary_410408383-VgzblS0EY8swXcjTqN6reQ==
Can I delete all but most recent to clean my system and regain some space?
Or is it like WinSxS folder in Windows where all revisions of the same dll are stored for different programs to use?
###UPDATE AUGUST 2022###
Latest Trichrome updates (I'm now on 511.209.733) seem to take care of old versions disinstalling them and leaving only the latest, no more need to manually delete in /data/app and /data/data

+1, After posting comment, checked on my phone to discover the same. The same question has been asked on Google support forums though the answer lacks details as to why so many versions

Related.......

Uninstall all versions of trichrome library by typing pm uninstall com.google.android.trichromelibrary_410408383 (replace the ending version part). Then update Chrome/WebView from Play Store. // Even simpler: stop using Google products as much as possible.

@beeshyams every new version of trichrome library is installed as a separate package. So uninstall them specifically, not Chrome/WebView. Update the latter both if they break due to missing library.

I get Failure [DELETE_FAILED_INTERNAL_ERROR] when trying to pm uninstall

even adding --user 0 i get NOT INSTALLED FOR THIS USER

Is this a problem on rooted phones only? Do the different versions of trichrome appear in the list of pm list packages -f (or is there another way to check existence of such libraries on unrooted phones)?

using pm list libraries you can see one trichrome entry but no more details afaik

@JuTutt Yep, you do not see build number that is needed for uninstall. But you can look it up on apkcombo using Es Explorer that shows build number. See: https://github.com/entr0pia/trichromelibrary-squoosh

I deleted all but last using rm -r com.google.android.trichromelibrary_41*(then 42, 43, 44...) in /data/app/, /data/data/, /data/user_de/0/, /data/misc/profiles, /data/system/package_cache, working fine, 3 gb freed.
Should be safe to issue the rm command of above straight in /data just for convenience.
Then you should purge your /data/system/packages.xml file from orphaned entries as explained here: Purge /data/system/packages.xml from manually deleted packages

+1, confirm it works on Android 12 too, though I found them in first & third location only. Had to update Chrome and web view to get them working (I had unistalled updates before deletion)

do you think is it possible to purge old versions on a not rooted device?

Unlikely IMO. Especially with scoped storage since Android 10. Even on earlier versions one can't access /data/data without root and if Chrome is a system app it's out of bounds

of course doing this brutal rm delete thing instead of a more graceful pm uninstall leaves all of the old Trichrome versions entries as leftover in /data/system/packages.xml. Is there a way to purge it automatically? Reboot doesn't clean it.

On a rooted phone, one can use Trichrome Squoosh Magisk module

authors: Валерий Заподовников


text:
Android X86 and Grub
So I've installed Android X86 on my wetab tablet, using the corvus mod files found here, but for some reason, my tablet now boots right into a grub 0.97 command line (I suspect it does this because there are no grub menu options configured). At this point, loading the kernel and initrd manually results in a frozen tablet, and I can't for the life of me figure out how to get grub to boot android from the hard drive properly.
My only thought was to boot from a liveCD and take a look at the grub config files, but I cannot actually look at the hard drive in the tablet from the liveCD, since I don't have write permissions and thus cannot use the mount command.
If anyone has any idea as to what I could do to get grub to boot android from the hard drive, I'd appreciate it.  Thanks beforehand!
EDIT: Also, I used the installation instructions from here, so I have sda1 and sda5 partitions, and I ran the installation with DATA=sda1 SDCARD=sda5 options.


text:
Why are some files under /proc are universally readable?
Why are some files under /proc are universally readable by anyone using adb?
e.g.
/proc/<pid>/statm
/proc/<pid>/maps
/proc/<pid>/smaps
We can even cat the content of these files, which is dangerous to leak sys info.
Is it because other system components are also using/reading/writing these files under /proc, so that these files under /proc are universally readable to anyone?

"Why" is really a question for the manufacturer or Google.

There are perfectly good reasons why those informations are readable, and that's nothing dangerous (writing, however, would be). This is inherited from the Linux system Android builds upon -- and I will give you a few short examples to show you the good of it:
If you list contents of the /proc (virtual) directory, you will find things like e.g.:

/proc/meminfo: This is where all apps can obtain information about total/used/available RAM -- so e.g. system monitors can present these details
/proc/devices: Shows all devices available on the system, so e.g. a camera app can tell if (and where) there is a camera to be used -- or exit otherwise
/proc/uptime: to show you how long the device is already running

And more. Nothing dangerous about knowing this -- just the opposite: to many apps these are essential information so they can do their job.
Now to your special /proc/<pid> sub-tree: Again it is the system monitors (and the task killers) depending on this information. Here they can get a list of running processes. All the details on those apps (how long have they been running, how much memory are they using, etc.) is to be found here. No system monitor could do without this. And again, there's nothing harmful about reading here. The maximum "bad" thing about this is any app could look what other apps are running, and what resources they are using.
From a user's perspective, we won't dig much deeper here. Just one more thing to say: these informations can be very useful if you have to go troubleshooting. Some of my answers even included this already.
And for sure you don't need to be afraid of "dangerous leaks" just from the fact this all is world-readable. Moreover, as Lie Ryan makes clear in his answer, not all of the information here is world-readable: Some sensitive information is, in fact, protected.
Also keep in mind that ADB generally has more privileges than any other "normal user process". Especially starting with Android 4.0 Ice Cream Sandwich (ICS) its privileges have been increased (e.g. to make a complete backup possible even if the device is not rooted), so you cannot take "access via ADB" as a reference here -- but rather should check from a (local) terminal. Additionally, risks are increased when connecting via ADB with USB debugging enabled, as this again increases privileges granted to ADB.

The files
/proc/<pid>/maps
/proc/<pid>/smaps

are NOT universally readable by anyone, at least not in stock device.
Try running from a Terminal Emulator from inside Android (running as a regular user), instead of ADB (which runs at a slightly elevated privilege). ADB runs with a lot of privileges because it's used for debugging and need to be able to access a lot of device features, that's why it's dangerous to connect a device to an untrusted machine with USB debugging enabled.
And the file /proc/<pid>/statm is also readable in desktop linux systems.

Thank you for these additional details, Lie -- I didn't check all subdirs manually, but simply refered to the ones known to me. I will link to this from my answer, as it is an important point!


text:
Can I change the gmail account associated with google play store?
When I got my android phone I had a gmail account, gmail-1, but have now created another account, gmail-2. Is it possible to transfer my play store info (i.e. app download history) from gmail-1 to gmail-2 and set gmail-2 as my primary email?

Google has this to say on transferring data between accounts.
It lists certain types of data that CAN be transferred and certain types of data that CAN NOT be transferred. Unfortunately Google Play Apps falls into the NOT category.
It's conveniently titled Moving Product Data.


text:
Will Google Navigation work without WiFi on Android tablet
I have a Toshiba Excite tablet with android ice cream that has WiFi only (no cellular) that has Google Navigation (Beta) app on it and also Google map (Beta) app. I want to use the tablet in London England and Paris France. Will it work while walking around the city if I can't stay connected to WiFi?
If you think it won't work, what app can I use offline that will?

Partly. Does your tabby at least have GPS? Otherwise Navigation won't be able to work. How should it know where you are?

@Izzy Your forgetting the map download ;)

Nah, I don't. That could be done beforehand (e.g. at the hotel room), while still having WiFi. It's called "pre-caching" :) But without GPS and without network, there's no way to get the location. So the navi is not more than any paper map then.

It most likely will work, depending on a few facts:

your device must have GPS built-in
you must have the map data downloaded while connected to WiFi (e.g. using Maps (-) Offline Navigation, which fills Google Map's cache)
for navigation, you must have calculated the route in advance

I'm not sure whether Google Maps supports pre-calculation for navigation -- but even if, there's another restriction: once you hit a "closed road" (road works or the like), you're lost -- it cannot do a re-calculation of the route without network.
Also, getting a fix on GPS might be a lot slower (unless you aquire your fix while still connected to WiFi). Background is: To get a fix, GPS needs to know where which satellites are. These data are contained in what's called the Almanac. While AGPS downloads those data from the network (e.g. via mobile data), "plain GPS" does not have this feature, and thus needs to get the data directly from the satellites -- which obviously is not as fast.
If it does not work with Google Maps, there are several alternatives to be found on the Google Playstore. I successfully used Locus Map Free this way, so I know it does work. Locus lets you download map data directly from within the app, from different sources, and also offers pre-calculation of routes. This app is just one example, there are a lot more available.

Answer: Yes you can
(no Google tho...)
Explanation:
There are 8 Toshiba Excite tablets currently in the market, all with GPS capabilities:
┌──────────────────────────┬─────────────────────────┐
|     TABLET FULL NAME     |    GPS CAPABILITIES     |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite Pro       | Yes                     |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite Write     | Yes                     |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite Pure      | Yes                     |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite 10 SE     | Yes                     |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite 10 AT305  | Yes                     |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite 7.7 AT275 | Yes, with A-GPS support |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite AT200     | Yes, with A-GPS support |
├──────────────────────────┼─────────────────────────┤
| Toshiba Excite 13 AT335  | Yes, with A-GPS support |
└──────────────────────────┴─────────────────────────┘

This means that any of the existent Toshiba Excite Tablets have GPS and can perform map navigation.
Official Toshiba Excite product page here.

Based on the question dilemma, I've solved the same issue about one year ago with the following setup:
Navfree: Free GPS Navigation

Navfree is a completely free navigation app that offers turn-by-turn directions, spoken and on-screen instructions, offline map use and address search and live search via Google and Microsoft Bing, among many other features.
The maps it uses are available for free download from the Navfree Store. The map data is stored on your device so there is no need for a constant data connection while driving. It also allows you to browse maps anytime, anywhere without paying for data connections, which means no costly roaming charges when abroad.
It uses high-quality, open-source map data from OpenStreetMap that has been created and is continually improved by as many as 400,000 users around the world. If you see a problem, you can help to improve the quality of the maps by signing up to www.openstreetmap.org.

I've highlighted the important stuff...
Steps taken:

Download the map(s) for the location(s) you are traveling to:
You can do this directly from the application:

Touch your device "menu" button;
Touch "Upgrades";
Select the maps you wish to download.

Test you map download by opening the application and plotting a root:
I've done this while in a garage underground, no GPS signal, but still the map data I've downloaded contained all necessary requisites to plot the root, avoid tool charges and stuff...
To best acquire a GPS signal when you're on your destination, what I've done was get to a place without tall buildings around, to have the closest to 360º of clear sky as I could. In about 1min GPS signal was fixed.
From here, GPS was at "poor" while inside city streets surrounded by tall builds, but the navigation was very satisfying with a very small margin of error from time to time (2 to 5 meters).

It will not work for 2 reasons:

It would take a very long time to get a GPS fix without AGPS.
You have to be connected to the internet to download the map data.

There are a few offline map options on Google Play - you just have to look for them, this is one of them.
One other thing, make sure the tablet has GPS. Some of the cheaper ones don't.

You can pre-cache maps from within the GMaps app itself (check the "Lab" options). Though the area is restricted. And of course there are other pre-caching apps, as you already wrote (e.g. Maps (-) Offline Navigation). Sure GPS fix will take a bit longer -- but that could also be minimized by aquiring a fix before leaving the WiFi cover (and then keeping GPS on).

@Izzy The GPS fix would soon go, and one wouldn't be able to acquire another fix. Also, what if the pre-caching not far enough?

I've never seriously tested this, but I've never noticed a delay when getting a GPS fix without the network, either; I suspect that the benefit of AGPS is small.

That depends. When a fix is achieved, the current Almanach (with Satellite data) is up-to-date, so it does not need to be re-downloaded. That download is what obviously takes longer done from a satellite than done from the network (which is what AGPS does).

I'd love to somehow delete the almanac so that I could watch it re-download it, but I can't figure out how.  I tried clearing the cache and data for the Maps app, but I assume that didn't delete the almanac, since it deduced my location in about three seconds.

Thanks for the input. Still a little confused. Will any of the free suggested apps work if i'm in the US but the map is for London or Paris? I would like to test the app before traveling to the city.

@offby1 GPS Status & Toolbox does that (amongst other things).


text:
Android tablet won't reboot after rebooting using volume and power buttons
I am using a 7" Smartfren tablet called S7.
I was following this tutorial. When I got the last part about the bootloader, I turned my device off. I tried to reboot using the volume buttons and power button, but it won't open up. Also, it cannot be seen by using the command adb devices. Thus, I can't use any adb command to access it. What am I doing wrong?
It is recognized by my laptop as Android Bootloader Interface. So, it means that it can still be detected by my laptop, but not when using adb devices in cmd.
Edit #1: I tried the fastboot devices command, and it just returned an empty line. I guess it means that nothing happened.
Edit #2:
I'll tell you its current status. It can't be normally rebooted, but when you plug it in, it shows that it is charging. Then if I put it back on its case, complete with box and all it heats up meaning it is still functioning and is turned on.

Use use the fastboot command in boot loader mode. Try fastboot devices.

Btw: Best place to ask this question is in the XDA thread you've got the tutorial from: at least the one who wrote it (and most likely a dozen others) should be familiar with the procedure.

Why are you double-posting...this is the same question but worded differently as if expecting a quick response turn-around time?

This question has more detail, so the other question should be closed as a duplicate.

I tried asking it over at the forum but until now nobody has answered my pleas for help.

I was able to solve this problem by draining the tabs battery completely. After a day I was able to turn it on using the power button today while charging.


text:
Import more than 25000 numbers (more than the limit of Google Contacts) in Android
I have generated a list of about 300000 numbers with regex to a text file. I know all of them are valid (pattern I mean) and most of them (like 80%) are real numbers (from somebody). Now I want to import them to phone contact in NOX (the Android emulator), but the problem is if I use Google Contacts, it has a limit of 25000 numbers.
If anyone has an idea, it would be great.

I think I solved it myself:

I used MS Excel to change the format from TXT to CSV

And then I used Contacts from Windows to import the CSV
and then exported them to a folder that contains 300000 contacts of VCARD or VCF files. You can find it on C:\Users\USERNAME\Contacts

And using CMD to export them all to ONE VCF
copy *.vcf combined.vcf

And then used ADB to connect to NOX
$ adb connect 127.0.0.1:62001
connected to 127.0.0.1:62001

$ adb devices
List of devices attached
127.0.0.1:62001 device

Copying the combined file into NOX SD card
$ adb push contacts.vcf /sdcard/contacts.vcf
$ adb sync

And then using the Contacts app from NOX to import the file from SD card.


text:
Understanding partition size on /proc/partitions
I am trying to build a LineageOS ROM for an unsupported device. I need to get the partition size of the device. I have a rooted device and then went to /proc/partitions via root explorer, and I have like:
major minor    #blocks name

    7     0      65536 loop0
    7     1      98304 loop1
  179     0  122138624 mmcblk0
  179     1      16384 mmcblk0p1
  179     2      16384 mmcblk0p2
  179     3      16384 mmcblk0p3
  179     4       4096 mmcblk0p4
  179     5      16384 mmcblk0p5
  179     6      16384 mmcblk0p6
  179     7       2048 mmcblk0p7
  179     8       1024 mmcblk0p8
  179     9       1024 mmcblk0p9
  179    10      40960 mmcblk0p10
  179    11       8192 mmcblk0p11
  179    12      32768 mmcblk0p12
  179    13       8192 mmcblk0p13
  179    14      65536 mmcblk0p14
  179    15     262144 mmcblk0p15
  259     0     307200 mmcblk0p16
  259     1      32768 mmcblk0p17
  259     2    2359296 mmcblk0p18
  259     3  118931419 mmcblk0p19
  179    48       4096 mmcblk0rpmb
  179    32       4096 mmcblk0boot1
  179    16       4096 mmcblk0boot0
  179    64    7761920 mmcblk1li
  179    65    7757824 mmcblk1p1

I want to know under which format these block sizes are. Whether they are in bytes, Kb or Mb?
As I know, mmcblk0p1 is the boot partition and its block size is 16384, so what it will be in bytes?

Yeah the sizes are in bytes

@esQmo_ Do proper math? 16384B is just 16KB. // To OP: from my (admittedly shallow) Linux knowledge, reported block size is always 512 bytes. That gives 8MB for mmcblk0p1, and ~58GB for mmcblk0 (the entire eMMC). Is your device 64GB? If yes this would be the reasonable amount.

I have doubt as 1 MB is almost equals to 1048576, then it means here boot partition is of 0.016384 MB

@AndyYan i have an 128gb device

@Andy Yan The size is indeed 16 mb as 16384kb. Should've I just said approximately 17mb :p

@Rahul Sharma what device is it?

Besides, this looks like a MMC partition layout as they are read from /proc/partitions; eMMC's are read from /proc/emmc (I may be wrong thought)

@esQmo_ i have Asus Zenfone Zoom

As your device is rooted, you can install parted utility with ADB shell which will give you the sizes in MB instead

Comments have been moved to chat; please do not continue the discussion here. Before posting a comment below this one, please review the purposes of comments. Comments that do not request clarification or suggest improvements usually belong as an answer, on [meta], or in [chat]. Comments continuing discussion may be removed.


text:
Fixing "Unfortunately, DMG has stopped working" on Lenovo tablets
My Lenovo IdeaTab S6000H tablet running on Android 4.2.2 Jelly Bean had worked fine before yesterday when suddenly it turned off, and after a restart, it has shown this message periodically:

Unfortunately, DMG has stopped working

I also did a factory reset, but after turning it on, the same error message has been showing again.
How to fix this error?

I think some data got corrupted, I'd suggest that you flash a stock firmware. Should fix it

If you mean factory reset, I already have done it, but the message appears again

No, I don't mean factory reset. Flashing a device is programming it meaning reinstalling all the system stuff like installing Windows on a computer for example. So as one of your device components doesn't work properly, you neer to reinstall it hence flashing.

OK, I am going to try it.
But how do I flash it?

You need flash files and a flasher. Which model is your Lenovo Tablet?

the problem has been about the broken charge socket.

You should check the mounting state of sdcard, maybe it’s broken. Suggest to call the customer service phone for examining further.

it don't has any external sdcard

Its an malware app. Go to settings >apps>all apps>DMG>force stop>disable or uninstall

Any backing for that this is a malware app?

there s no uninstall option, but the disable , and force stop options,  haven't solved the problem


text:
Dot (.) symbol automatically added when pressing the space key 2 or more times
I have seen many times when I type in WhatsApp and press the space key 2 or more times, a period symbol is automatically added. But after I press backspace once, pressing space many times won't add the symbol.
How to remove that automatically added period (.) symbol in WhatsApp and other applications?

My theory is that this seems like a function of auto-correct by the keyboard you are in. Auto correct could include punctuation rules. I have seen auto-correct to be superceded if an "edit" is initiated via backspacing and undos. Look into the active rules within "Language and Input" for your keyboard on the device.

That is not only on WhatsApp. It is everywhere when you double click space bar, a dot will occur. You need to configure it with your keyboard settings on Android, or simply reset your keyboard settings.

Thanks i found a option in preference-->Double space full stop when i switch to off that option my problem is solve

In Samsung:

Settings
Samsung keyboard
More typing options
Double tap space bar to add period.
And turn it off


text:
"Cold boot: snapshot doesn't exist" when running the Android SDK Emulator for the first time
I am just new to Android Studio and I tried to run the emulator from the SDK for the first time. When I click on the Run button, the emulator opens with an error:

Cold boot: snapshot doesn't exist.

How to solve this problem?

Try to uninstall Intel HAXM in SDK tools and then reinstall it. you'll solved your problem.


text:
Bought a phone on eBay, want to reinstall Android, but not sure which one to use
I bought a phone on eBay named XGODY 5.5" 3G 5MP 8GB, and I want it to go back to the stock version, but how do I know what is the correct ROM to install on this phone?
Here is what the "About phone" says:

Is there any OEM related information in Device Bootloader?

Not sure, how would i check that?

There is no such thing as a "generic" phone. ROMs need drivers that are specific for the specific processor, specific memory chip, specific camera module, specific cellular radio, specific Wi-Fi radio, specific Bluetooth radio, specific GPS chip, specific LCD screen, specific digitizer, etc.
From the eBay ad you linked to, the manufacturer of your phone is XGODY and the model is X15S. Here is a link to the manufacturer's website.
Now, you need to find a ROM that was specifically made for the XGODY X15S. You can use your favorite search engines with such keywords as xgody x15s stock rom.


text:
Cannot Restore Data for Signal Messenger 4.16 with Titanium Backup
I have backed up and restored Signal with Titanium for years without any incident, up until now. The other day I was encountering a boot loop playing around with an Xposed module. I did a re-flash of the ROM to regain access and then backed up my data with Titanium as usual. After a full wipe and re-flash all data was restored correctly (even for system apps), except Signal which force-closes instantly every time I open it. I've read about false UID re-assignments and tried the Fix Permissions app without any result.
Fellow member @Josh experienced the same issue and attributed it to changes in the most recent Signal version 4.16 which pointed me into the right direction to find a workaround. I installed version 4.15.5 from here and then restored data only from Titanium. Now Signal will start normally again, but my messages from about the last 2 weeks are missing. Of course this can only be
 considered a temporary solution. I wonder what can cause this kind of behavior in Titanium, and if there are any similar backup solutions available that do work with Signal.
Update: At last, the stable released yesterday (4.17.5) has finally gotten the long-awaited backup option:
https://support.signal.org/hc/en-us/articles/360001890291-Restoring-messages-on-Signal-Android
For rooted users, it would still be easier to backup and restore all apps in one batch after a ROM switch. Unfortunately, the upgrade from 4.15.5 caused Signal to crash instantly upon opening. All I could do was downgrade and export a plaintext backup which means I have now lost all media and group messages. Note that when you import the plaintext backup, you might need to use an earlier version. I couldn't restore with 4.17.5 since the app would always crash (10+ MB file). Only after going back to 4.15.5 the plaintext import was successful. Upgrading afterward went without problems.

I side-stepped the issue:

Turn on backups on old phone (the seem to happen daily)
When restoring, place the .backup file in the sdcard root diretory. Putting it under sdcard/Signal/backups will have the file NOT be read, and no error message given, either.

The 2nd point took me hours to work out.


text:
How do I view Google Camera's motion photos on my Windows PC?
I can download the JPGs from my DCIM folder in my Pixel 2 and I know that the video is encoded inside the JPG, but I don't know what image viewer I can use to see the motion.
I usually use Irfanview, but I haven't yet been able to find out how to make it show the motion. And I haven't found anyone talking about how to do it.
Does anyone know?

I did some experimenting based on the answer by James Henstridge and came up with a simple PHP script that successfully split every Google Camera's motion photo I threw at it.
2022-01-24 - Code has been updated. See the edit at the bottom of this post.  I'm leaving the old code here to avoid any confusion.
<?php

  $src_arg = $argv[1];
  $src_dir = realpath(pathinfo($src_arg, PATHINFO_DIRNAME));

  echo "Scanning for files...\n";

  foreach (glob($src_arg) as $src) {

    $file = realpath($src);

    if (!is_dir($file) && in_array(strtoupper(pathinfo($file, PATHINFO_EXTENSION)), ["JPEG", "JPG"])) {

      echo "\tProcessing: " . $file . "\n";

      $filesize = filesize($file);
      echo "\t\tFile size: " . $filesize . "\n";

      $handle = fopen($file, "rb");
      $data = fread($handle, $filesize);
      fclose($handle);

      $eoi_pos = strpos($data, "\xFF\xD9\x00\x00\x00\x18");
      echo "\t\tEOI segment position: " . $eoi_pos . "\n";

      if ($eoi_pos !== FALSE) {
        $output_base = $src_dir . DIRECTORY_SEPARATOR . pathinfo($file, PATHINFO_FILENAME);
        echo "\t\tSaving photo...\n";
        file_put_contents($output_base . "_photo.jpg", substr($data, 0, $eoi_pos + 2));
        echo "\t\tSaving video...\n";
        file_put_contents($output_base . "_video.mp4", substr($data, $eoi_pos + 2));
      } else {
        echo "\t\tSKIPPING - File does not appear to be a Google motion photo.\n";
      }

    }

  }

  echo "Done.\n";

?>

It should work on Windows and Linux.  You just pass a path as the first argument and it will split any files that it believes are motion photos.  You can use wildcards.  It's non-destructive - the source file(s) are not deleted.
Some example uses:
php google_motion_photo_splitter.php c:\test\file.jpg
php google_motion_photo_splitter.php c:\test\*.jpg
php google_motion_photo_splitter.php c:\test\*

2022-01-24
As j3App mentioned in their answer, at some point, Google decided to add debug data between the JPG and MP4 in some cases.  At the end of 2021, I also began seeing other variations (MP4s with varying start bytes - ex: 0000001C instead of 00000018, extra JPG EOI segments earlier in the image near XMP tags, etc).  Anyway, I modified the code to search for the MP4 header first and then work backward to find the JPG EOI segment.  It's worked on all variations I encountered.  Here is the updated code:
<?php

$src_arg = $argv[1];
$src_dir = realpath(pathinfo($src_arg, PATHINFO_DIRNAME));

echo "Scanning for files...\n";

foreach (glob($src_arg) as $src) {

  $file = realpath($src);

  if (!is_dir($file) && in_array(strtoupper(pathinfo($file, PATHINFO_EXTENSION)), ["JPEG", "JPG"])) {

    echo "\tProcessing: " . $file . "\n";

    $filesize = filesize($file);
    echo "\t\tFile size: " . $filesize . "\n";

    $handle = fopen($file, "rb");
    $data = fread($handle, $filesize);
    fclose($handle);

    $mp4_start_pos = strpos($data, "ftyp");

    if ($mp4_start_pos !== FALSE) {
      $mp4_start_pos -= 4; # the real beginning of the mp4 starts 4 bytes before "ftyp"

      $jpg_end_pos = strrpos(substr($data, 0, $mp4_start_pos), "\xFF\xD9");

      if ($jpg_end_pos !== FALSE) {
        $jpg_end_pos += 2; # account for the length of the search string

        $output_base = $src_dir . DIRECTORY_SEPARATOR . pathinfo($file, PATHINFO_FILENAME);
        echo "\t\tSaving photo...\n";
        file_put_contents($output_base . "_photo.jpg", substr($data, 0, $jpg_end_pos));
        echo "\t\tSaving video...\n";
        file_put_contents($output_base . "_video.mp4", substr($data, $mp4_start_pos));

      } else {
        echo "\t\tSKIPPING - File appears to contain an MP4 but the no valid JPG EOI segment could be found.\n";
      }

    } else {
      echo "\t\tSKIPPING - File does not appear to be a Google motion photo.\n";
    }

  }

}

echo "Done.\n";

?>

Thanks for a good solution. Since my Pixel 4a 5g addes debug info between the photo and the video, I had to make some small adjustments to your solution (see my answer below)

I haven't seen any software to view them other than on the Google Photos website.  I was curious about this so started pulling apart one of the photos from my phone, and here's what I found:

The image file appears to be a standard JPEG image, but continues on after the End of Image segment (0xFF 0xD9).
exiftool reports unrecognised MakerNotes.  I suspect this custom metadata identifies the file as a motion photo.
If transfer all the data after the EOI segment to a separate file, you'll have a standard MPEG-4 container.  I got a GStreamer crash when trying to play it, but ffmpeg seems to be able to handle it and displayed the following metadata:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'foo.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2018-07-07T20:37:57.000000Z
    com.android.version: 8.1.0
  Duration: 00:00:01.87, start: 0.000000, bitrate: 20283 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m/smpte170m/unknown), 1024x768, 20161 kb/s, SAR 1:1 DAR 4:3, 30.01 fps, 30 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2018-07-07T20:37:57.000000Z
      handler_name    : VideoHandle
    Stream #0:1(eng): Data: none (mett / 0x7474656D), 108 kb/s (default)
    Metadata:
      creation_time   : 2018-07-07T20:37:57.000000Z
      handler_name    : MetadHandle
    Stream #0:2(eng): Data: none (mett / 0x7474656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-07-07T20:37:57.000000Z
      handler_name    : MetadHandle
Unsupported codec with id 0 for input stream 1
Unsupported codec with id 0 for input stream 2

So, that's a 1.87 second H.264 video with resolution 1024x768, which seems to roughly match up with what I see from Google's apps/website (a drop in resolution and change in aspect ratio).

I know it isn't a complete solution, but it might be enough to get started on a tool to extract the videos.

Although the question is for Windows, I think it's appropriate to post my script to play it from command line on Linux here:
https://gist.github.com/vi/5de17bb8d4ea91b8c28e79e0bac6c3cb
#!/bin/bash

if [[ -z "$1"  || "$1" == --help || "$1" == "-?" ]]; then
    echo "Usage: mvimg_play MVIMG_20190806_183324.jpg [other files]"
    echo "Plays Google's Motion Photo using mpv. Depends on exiftool, mktemp, bash and mpv."
    exit 0
fi

FOUND=0
ARGS=()

TORM=()
TOKILL=()

function cleanup() {
    for i in "${TORM[@]}"; do
        rm -f "$i"
    done
    for p in ${TOKILL[@]}; do
        wait $p
    done
}

trap "cleanup" EXIT

for i in "$@"; do
    O=$(exiftool -t $i  | grep -F 'Micro Video Offset' | cut -f 2-2)
    if [[ -z "$O" ]]; then
        # wrong file? Just appending to playlist as is
        ARGS+=($i)
    else
        FOUND=1
        S=$(find $i -printf '%s')
        T=`mktemp`

        ARGS+=("$T")
        dd if="$i" skip=$((S-O)) iflag=skip_bytes of="$T" 2> /dev/null &
        TOKILL+=($!)
        TORM+=("$T")
    fi
done

if [[ $FOUND == 0 ]]; then
    echo "EXIF tag wasn't detected in specified files. Maybe exiftool does not work?" >&2
fi

mpv "${ARGS[@]}"

Maybe it can be used on Windows as well, with enough Mingw/Cygwin hackery.

There's also Motion-Photo-Viewer. Can either be self hosted or used online to play a single *.MP.jpg (and extract the mp4 through right-click-save-as.
You do not need a Web Server, so cloning the project and opening index.html will suffice.

I tried out the answer from Kory - thanks Kory. Since my Pixel 4a 5G adds a significant amount of debug info between the jpg and the mp4, my extracted mp4's didn't play.
So I had to add a little bit of extra functionality to Kory's solution
<?php

/** execute like > php motionPhotoSplitter.php "Camera Roll/*.MP.jpg" < */
const MP4_TYPES = ["avc1", "iso2", "isom", "mmp4", "mp41", "mp42", "mp71", "msnv", "ndas", "ndsc", "ndsh", "ndsm", "ndsp", "ndss", "ndxc", "ndxh", "ndxm", "ndxp", "ndxs"];
$src_arg = $argv[1];
$src_dir = realpath(pathinfo($src_arg, PATHINFO_DIRNAME));

echo "Scanning for files...\n";

foreach (glob($src_arg) as $src) {

    $file = realpath($src);

    if (!is_dir($file) && in_array(strtoupper(pathinfo($file, PATHINFO_EXTENSION)), ["JPEG", "JPG"])) {

        echo "\tProcessing: " . $file . "\n";

        $filesize = filesize($file);
        echo "\t\tFile size: " . $filesize . "\n";

        $handle = fopen($file, "rb"); // binary read
        $data = fread($handle, $filesize);
        fclose($handle);

        $eoi_pos = strpos($data, "\xFF\xD9"); // end of image in a jpeg file: #FFD9
        echo "\t\tEOI segment position: " . $eoi_pos . "\n";

        if ($eoi_pos !== FALSE) {
            $output_base = $src_dir . DIRECTORY_SEPARATOR . pathinfo($file, PATHINFO_FILENAME);
            echo "\t\tSaving photo...\n";
            file_put_contents($output_base . "_photo.jpg", substr($data, 0, $eoi_pos + 2));

/** an mp4 block starts with 4 bytes for length, then "ftyp", then a valid mp4-type as defined in the array MP4_TYPES */

            $mp4Pos = strpos($data, "ftyp", $eoi_pos);
            if ($mp4Pos && in_array(substr($data, $mp4Pos + 4, 4), MP4_TYPES)) {
                echo "\t\tSaving video...\n";
                file_put_contents($output_base . "_video.mp4", substr($data, $mp4Pos - 4));
            }
        } else {
            echo "\t\tSKIPPING - File does not appear to be a Google motion photo.\n";
        }
    }
}
echo "Done.\n";
?>

Thanks for posting this.  I've also seen this as well as some other new variations.  I updated my original post to work in a way that will hopefully be able to continue working with any future changes Google decides to make.

I studied Kory's approach, which I found very educational.  However, I was looking for a plain shell solution on Linux that doesn't require the installation of additional tools.  So I translated the PHP script to a bash equivalent.  I did lazily assume that the file extension will always end in .jpg, as I have not encountered Motion Photos with .jpeg extensions.  The only additional "feature" I added was to force the file timestamps to match that of the original file, just because I find it useful for other purposes.
I have successfully used this on files produced by my Pixel 7.  I'm a bit concerned about the reliance on such short demarcation sequences, {0xFF, 0xD9} and "ftyp", as it seems fragile, but it has been working fine.  I don't know enough about the file format to confidently suggest improvements for robustness.
Here it is my implementation for those who are interested:
#!/bin/bash

# Splits PXL_*.MP.jpg files (Motion Photos) into jpeg and mp4 pieces
#
# Based on https://android.stackexchange.com/a/203898/44325

if [ $# -lt 1 ]; then
    echo "Usage: $0 FILE1.jpg [FILE2.jpg] ..." >&2
    echo "Note that the filenames are assumed to end in .jpg" >&2
    exit 1
fi

for MP in $*; do
    echo "Processing: $MP"

    # The string "ftyp" will appear at the start of the MP4
    printf "\tFinding start of MP4 data...\n"
    FTYP_LOC=$(grep -oba "ftyp" $MP | awk -F: '{print $1}')

    if [ -z "$FTYP_LOC" ]; then
        printf "\tNo MP4 data found\n" 1>&2
        # Skip to next file
        continue
    fi

    # MP4 starts 4 bytes before the "ftyp" string
    MP4_START=$(($FTYP_LOC - 4))

    # The End of Image is demarked with the byte sequence
    # "0xff 0xd9", which is non-printable
    EOI=$(echo -n ffd9 | xxd -r -p)

    # Find the last match for EOI before the start of
    # the MP4 segment.
    EOI_LOC=$(dd if=$MP bs=1 count=$MP4_START 2>/dev/null | \
                  grep -oba $EOI                          | \
                  tail -1                                 | \
                  awk -F: '{print $1}')

    # Include the EOI bytes
    JPG_END=$((EOI_LOC + 2))

    # Names for output files. Assumes input files named *.jpg
    JPG_FILE=${MP%.jpg}_photo.jpg
    MP4_FILE=${MP%.jpg}_video.mp4

    printf "\tCreating $JPG_FILE...\n"
    dd if=$MP bs=1 count=$JPG_END of=$JPG_FILE 2>/dev/null
    touch -r $MP $JPG_FILE

    printf "\tCreating $MP4_FILE...\n"
    dd if=$MP bs=1 skip=$MP4_START of=$MP4_FILE 2>/dev/null
    touch -r $MP $MP4_FILE

done

If you have already downloaded the jpg and MP files to your PC, all you need to do is edit the extension. Change it from filename.MP to filename.MP4 or .MPG and play with any media player like VLC, or import into any video editor like Premiere or EDIUS

I am not a fan of the solutions I have found so far, so I created my own Motion Photo Utility /exporter. https://www.3d-i.com/motionphotoutility/ it is free, closed source (for now), in alpha, and works on most platforms.  It does a lot more validation, meta reading, update meta tags and detects some malformations… See website for more.
All the solutions I have looked at so far seem to follow the pattern of read whole motion photo jpeg file ~3,000,000 bytes long and look for EOI marker of jpeg anywhere in the file aka 0xffd9. Take a hacksaw and chop it there, and assume all is okay.  You might get lucky and the corrupt info can be read by some robust software.
Warning the following is a verbose explanation, it may put some of you to sleep!
These new jpeg files are complex.  Old jpeg version has 11 tags describe everything: https://docs.fileformat.com/image/jpeg/
The simplest jpeg parsers generally read to tag/marker, read var = bytes[length] associated with tag.  Then consume the next var length of bytes in some defined manner.  At the end of that data block a tag is EXPECTED 0xFFXX, if it is not there then throw an exception…. But that is also not enough.
Today jpeg file format continues to undergo changes adding meta data Exif, XMP… In the last few decades, every camera company has had some say in putting all kinds of interesting data into these files. From shoving thumbnails, videos, gps , orientation …, often for good reason. Exif meta data has several hundred tags, when that was not enough XMP was added, which has unrestricted length for describing imbedded data.
Some of these programs completely violate the rules, forgetting to represent tags etc, or have incorrect information.
Those poor software engineers that write your media players etc (vlc/browser), over the last decades, have to navigate around the changes and display what they can.  The problem is they don’t know what the intent for a lot of the imbedded meta/data, and it is often just dropped.  Case in point, open up a copy of an android motion photo on windows, click the favorite icon (heart).  Observe the file size before and after, it is about half the size.  Windows will delete content (including video), add some of its own meta tags and largely keep existing meta that describe the very data that was deleted. Aka it makes a mess.  In my test VLC player (which is incredibly robust) will play motion photo as a video, but only render a still image.

An updated Motion Photo Utility to support newer android Motion Photos.  The previous version over cautiously did not correctly recognize newer motion photos.

I'm developing a motion photo viewer for Windows 10/11, compatible with various motion photo formats from Google and Samsung, including JPG and HEIC.
It also allows exporting of video as MP4 and still frames as JPG.
Install from Windows Store:  https://www.microsoft.com/store/apps/9NMBBHZ33KLM
Or download MSIX installer: https://phomo.cam
Please let me know if you have any issues. Thanks!


text:
WhatsApp can't use Google account for backup
My old phone just died on me yesterday. It used to back up the WhatsApp chat history to my main Google account, which I also used to register the device.
Now I have a new phone, and I registered it to the same Google account. After installing WhatsApp, I tried to restore the Google Drive backup to the new installation. However, when I try to enter my Google account, it tells me "This account already exists on your device"
Somehow after switching apps, WhatsApp assumed I don't want to restore a backup, and now I'm stuck with no history.
Also, when I try to set up the Google Drive backup on my new device, it gives me the same error when I try to enter my Google account; "This account already exists on your device". I can't figure out what I am doing wrong.
Is it just impossible to backup WhatsApp to an account already registered to the same device?

Nowadays, one can transfer the chat history without google backup, just by direct wifi/bluetooth connection and scanning a QR code on the new phone. The option for that is also available in the settings. See for example: https://faq.whatsapp.com/209942271778103/?cms_platform=android

I just encountered the same problem on Android 13.
I fixed the problem by deleting the Google account and then in the application settings Google Play Service > Permissions.
Make sure there are no more denied permissions.
I deleted all WhatsApp data and then made sure there were no more denied permissions.
Then restarted the application.
I was able to add a Google account and find my backup !

Did you already add that Google account while setting up the phone? Please check Settings > Users & accounts if that account is already added.
If it is, then try removing it and adding it again.
P.S: It may be called Accounts in older Android versions.

I had exactly the same "This account already exists on your device" notification without being able to actually select it. Removing the google account (with a reboot just in case), and re-adding, allowed WhatsApp to do backups to google drive again.

Just to be clear the tl;dr: this solution still works in 2022 (and has no data loss penalties, WhatsApp isn't affected and anything google resyncs immediately after re-adding) :)

After several unsuccessful attempts to get Whatsapp to use my main google account, I just left it as it was. After a few weeks, Whatsapp notified me by itself that I should set up a backup plan. At that time, it did allow me to select the account I wanted to use, without a hassle.
Looks like the problem fixed itself over time.

Not deliberately wanting to comment on a necro'd thread, BUT ... I literally just had exactly this issue, following a message from WhatsApp itself. However, the solution was quite simple:-
I forced a complete restart of the app by using the Android STOP option on the WhatsApp application; and Restarting it using the icon on the main screen.
Once that was done, it allowed me to setup the backup frequency on my existing Google account.


text:
Grant access to ADB on broken screen
My phone screen is completely broken and good thing is that its debugging mode is on and I can access my phone screen using Vysor on a PC. But I have another PC, and when I try to access my phone with that system, I have to grant access with the OK button, but I can't do that.
How can I access my phone screen on a different PC or grant debugging?

Possible duplicate of Is it possible to enable usb debug without touch screen?

I don't think this is quite a duplicate, because that question is about turning on debugging in the first place, while this question is about allowing access from a new PC.

This guide assumes that USB debugging was enabled on your device before you broke it. You can enable USB debugging via a custom recovery, such as twrp, using:
adb shell
echo "persist.service.adb.enable=1" >>/system/build.prop
echo "persist.service.debuggable=1" >>/system/build.prop
echo "persist.sys.usb.config=mass_storage,adb" >>/system/build.prop"
reboot

This method was used to bypass the secure USB prompt on a Galaxy SII with a shattered screen. I think it may work on another device too...
For this to work, you need another device running Android 4.4.2 or above with USB debugging enabled and the same computer authorised from that device. i.e. connect that device to your computer and press "OK" on the authorisation prompt that appears on screen for secure USB debugging. Let us call this device the authorised device.
adb_keys is the file we need from the authorised device which is located in /data/misc/adb/
Normally you must be rooted to take the adb_keys file from the device using Root explorer or ES File Explorer,  but let's assume that the authorised device is unrooted. You don't need to root it. However, if your authorised device is rooted then simply copy the adb_keys file on your computer and jump directly to Step 3.
Steps:

Connect the authorised device to your computer using USB (debugging enabled) and open a command prompt with administrator privileges (Minimal ADB & Fastboot is perfect here).
To get the adb_keys file, use this command:
adb pull /data/misc/adb/adb_keys /adb_keys

For example:
adb pull /data/misc/adb/adb_keys c:/adb_keys

The above command will save the adb_keys file to the root of your C: drive. You can change the destination folder to your liking.
Now the job of the authorised device is done. You can disconnect it and disable USB debugging.

Once you get a copy of adb_keys, reboot the phone with the broken screen into recovery.
Now connect the broken phone to the computer using USB.
We need to copy the adb_keys file to the broken device. Use the command below:
adb push  /data/misc/adb

For example:
adb push c:/adb_keys /data/misc/adb

After the file is copied, reboot your device using adb reboot et voila! You can now use adb shell on that computer.

Furthermore, if you want to have full control over your device even with a broken screen, the tool from this thread lets you use your device through your Windows PC even if your touchscreen doesn't work or you can't see anything. (It requires Java Runtime Environment and Visual C++ redistributable). Or keep using Vysor.
Disclaimer:
The above guide was not made by me and I did not test it myself, I just made minor changes. Just try it and let us know. Good luck.
Original source : XDA Developers


text:
Deleted thumbnail file but no space was freed
I'm using Sony Xperia Z3 and used File Commander to browse and found that I kept running out of space because of a 4GB thumbnail/preview file/folder that grows rather quickly.
I tried deleting the folder, but after deleting the folder, I saw that no space was freed and it was still there. So I tried moving the folder to my SD card which resulted in 4GB of space taken up on my SD card and no space freed.
I don't think I can find the thumbnail preview folder anymore, but I think new files are building up because I'm running out of space again.
Does anyone know what's going on?.

The .thumbnails folder has a file of the format .thumbdata4* whose size is shown to be really big usually. But in reality, it's not a big file and it's size is shown as such is because it's not a normal file.
It's a sparse file and its real size can be seen using du command from a terminal emulator. ls shows the file size from it's metadata like most tools do and it'll be a big number.
On my phone, it looks like this:
/storage/emulated/0/DCIM/.thumbnails $ du -h .thumbdata4--1967290299
172K    .thumbdata4--1967290299

/storage/emulated/0/DCIM/.thumbnails $ ls -alh .thumbdata4--1967290299
-rw-rw---- 1 root sdcard_rw 11G 2020-07-30 19:18 .thumbdata4--1967290299

So it's actually a small file, and you don't have to worry about it's size.
See the size difference. ls shows size to be 11GB while du shows it to be only 172KB.

It should be a comment but It seems I have enough reputation yet.
I have no knowledge how the space is taken, but echo -en > .thumbnailsX-xxx (*Anyone trying this should do it at your own risk. *) DOES set the size to zero and total free partition space LOOKS increased, while simply deleting files can't.
An educated guess would be these files are located somewhere else in the filesystem tree and linked here but that is just a guess.
I came here looking for a way to locate the the deleted files and empty them, if my guess were true.    If not true(say sparse file), I would be grateful if anyone can explain in detail.

Hi, looks like you actually have enough reputation to comment since the beginning due to the association bonus rep (+100). However, this looks like a proper answer (whether correct or not), so I don't think it should be posted as a comment instead.

Thumbnail folder is automatically created by android. It helps android to open pictures from gallery in a faster way. Even if you delete the folder, android keeps on recreating it.
Although there is a work around it. You can create a text file and save it with extension .thumbnail. Now replace .thumbnail folder with .thumbnail file.


text:
On Alarm Clock Plus, what does "Allow auto snooze/dismiss" mean?
On the Alarm Clock Plus app, what does "Allow auto snooze/dismiss" mean? How do I use these features? Can they both be used on one alarm?

Snooze - Instead of shutting the alarm off, it would pause it allowing you to sleep for few more minutes. If you see your settings, you could notice the snooze minutes viz - 5, 10, 15 minutes and you can also keep custom minutes.
When the alarm rings and you feel like having a quick 5 min extended sleep, you hit the snooze option. This comes handy since you dont need to wakeup, set another alarm for next 5-10 minute and doze off.
Dismiss - This cancels/shuts the alarm down for that day & time.
You click on the dismiss option when you are ready to ware up!
Auto Snooze
That means if there isn't any action (if you don't hit the snooze options) system automatically snooze and again the alarm rings after the x minutes as per the snooze interval. If this auto snooze is not set, you would probably get a notification as "missed alarm". I just updated the answer aswell.
Hope that helps!

Snooze means delaying the alarm to a certain time. For example, I set an alarm at 7am and the snooze time is 5 minutes. After ringing for some time (dismissed you may call it), it will turn off and snoozes till 7:05am for the next ring.
Dismiss means the alarm is completely turned off. If you do not interact with your phone for a certain while the alarm is on, it will be automatically dismissed (turned off).


text:
How to root Lava Iris 60?
I have Lava Iris 60 running on Android 7.0 Nougat with Mediatek MT6737m chipset. I'm trying to root this phone.
I have tried many PC software for rooting, but none of them work. I have tried to unlock the bootloader, but it is not working. I have installed all MTK drivers. In cmd, it's not recognizing the fastboot device.
How to root Lava Iris 60?

To root the Lava Iris Fuel, you must disconnect your device from the Internet and then use Kingroot. You can download Kingroot and find more detailed instructions on the official Kingroot XDA thread.


text:
Substratum themes not applying (Nexus 6P, Dirty Unicorns 12.1 Oreo)
I have the problem of Substratum themes not applying on my Nexus 6P using Dirty Unicorns 12.1 (latest version).
I can choose an installed theme in Substratum, choose all the settings I want, and hit compile - that's all going well. Substratum tells me it compiled everything correctly, then, when applying, it restarts the SystemUI and boom - nothing. Nothing has changed and when I check back in the Substratum app, it neither lists the theme as compiled nor as applied.
This happens for all themes, I've tried a dozen or two.
It's extremely sad, as themability is the reason for me owning an Android device with custom ROM.
Info about DU: AFAIK, DU 12.1 has native built-in support for OMS.

Switching off Play Protect (apparently, there is some kind of issue with the recent version of Play Service) and switching on Firebase did the trick.

Curious how you switch on Firebase, since Firebase is usually on the developer-side, not the client-side?


text:
Shuffle songs across albums on Google Play that have been downloaded to Android phone
I'm new to Google Play and have just downloaded a good bit of my music to Android phone. I like to shuffle but am dismayed to find the only facility for shuffling appears to be within album and not across albums (may be specific to downloaded tracks).
Is there a way to do it?

If you're looking to play all the songs you have, in shuffle, simply open Google Play Music. Open the menu -> Music library -> Shuffle all.
If you want to shuffle between specific songs, find the desired songs, press on the three dots next to the name of the song, and click on 'Add to playlist' -> New playlist. After adding all your desired songs or albums, go to the playlists tab, and next to your newly created playlist, press on the three dots -> Shuffle.

On Google Play Music version 8.16.7620-1.J
Menu -> Music library -> Songs -> Shuffle all
As far as tabs go, I only see a shuffle switch on the Songs tab. Would be nice on to have that ability on Artist and Genre, but I don't see it.


text:
Mobile phone internet USB tethering very slow
I have Samsung Galaxy S6 edge+. My download speeds on my phone is 33+ MB/s with my mobile carrier. I connect the phone to my PC and use the internet from the phone with USB tethering enabled. The download speed is now 30KB/s on my computer but still 33MB/s on my phone.
I have tried changing/updating the USB tether driver via Device manager to Microsoft:

Remote NDIS based Internet Sharing Device, and
Remote NDIS Compatible Device

but neither helped.
Why has the speed been very limited via USB tethering, and how can I fix this issue?

Mobile network carrier often have transparent gateways installed all mobile network traffic have to pass. Such gateways are able to "detect" (smart guessing) if traffic comes from the Smartphone or a tethered PC.
Depending on the data plan contract, tethering may be prohibited and in such a case the carrier can just forcefully slow down the tethered connection.
As only the tethered connections are slowed down you can end up in a situation where identical downloads get a totally different download speed.


text:
Strip /lib from installed apk
Most apks have a /lib dir inside with .so files that can be several megabytes. Some even come loaded with libs for different architectures (arm, mips, x86). Libs for relevant arch are copied in /data/app-lib/[package name] at install time, so they take double the space.
I tried to strip the apk from the /lib folder, rewrite, zipalign and put back to install location /data/app or /system/app or /system/priv-appto reclaim some space.
Tried with Chrome v78, it went from 45 mb apk to 15 mb...
Other apps too.
Everything seems to work.
Anyone thinks it's a bad idea? IMO the very Android system should perform this operation by default at install time...
edit 13 Nov
I wrote a script to automate the strip operation, just have to copy the apk to strip in a dir where this script resides, along with zip and zipalign binaries.
#!/system/bin/sh
for filename in `find . -name '*.apk'`
do
        ./zip -d $filename "lib/*"
        ./zipalign -fv 4 $filename $filename.new|tail
        mv $filename.new $filename
        chmod 644 $filename
done;

On my device I can swap original with stripped apks on the fly and they (usually) run fine  without rebooting, even system apps.

Based on my experience, modifying an APK file after the installation is not a big problem as long as you don't touch the DEX files. Especially the native libraries for other architectures than the one of your device can usually be stripped without problems as they are totally ignored after the installation.
However there are apps that implement extra security checks (usually banking, finance, streaming apps with DRM or otherwise extra hardened apps) that performs some sort of self-test to check whether they have been modified or not. Modifying those apps will end up in a non-working app.

How is this part handled exactly e.g. to not break future updates from original developer? "During validation, v2+ scheme treats the APK file as a blob and performs signature checking across the entire file. Any modification to the APK, including ZIP metadata modifications, invalidates the APK signature." Any thoughts? Retaining original META-INF folder and AndroidManifest.xml should work?

@Irfan Good point, however the APK v2+ signature is not the problem as the APK file is AFAIK not checked after it has been installed. However the Google Play Frosting signature will also be destroyed/removed by modifying the APK file. Therefore Google Play may complain that the modified apps are not genuine. But I am not sure what and when this Forsting signature is checked.

APK signatures are checked after app is installed: on update. To me that seems to be the only (or at least major) purpose of signing apps. Otherwise those are self-signed, can't be verified against a CA. And (if not downloaded from Play Store) there's no way to confirm if an app with certain package name is from original developer. Anyone can develop app with any package name signed with his/her own certificate. Contradiction occurs on update. Or am I going in wrong direction?

@Irfan I have not tested it but it in theory it is not necessary to verify an installed app before you update it. As Android already has verified the APK file at installation time you could simply extract the certificate without verification and compare it with the certificate from the update to-be-installed. Or even more likely the package manager uses the certificate data from it's cache e.g. /data/system/packages.xml.

Got your point. Updated version is verified against pre-installed app's signatures but the old app itself isn't re-verfied (most probably). It makes sense because pm would be using signatures from packages.xml. Thanks.