text:
Customising a custom ROM
I want to know is it possible to edit a custom ROM from zip and then zipping it again (flashable) to a device.  Will it brick the device?
Thanx

Depends on what type of customization you make to the ROM.

Depends on how the ROM is packaged and what you change in it before repacking. You should be able to unpack and make edits using suitable tools for unpacking the ROM.
A better option is to first flash it, then root and make your changes in the files as needed :-)
And yeah it can brick the device if you flash bad code

What possible ways are there to pack / compile a rom...  I mean there must be a universal way to extract the rom file the contents may vary within it...  Care to explain a bit please

Well, the best would be to first flash the rom, test all of its functions and bugs and then, after testing, you can unzip the rom zip, make your own changes and then just rezip the files.But be careful for all the changes you make, a few changes can be like changing and removing if you want any system apps, change the default wallpapers and ringtones, but you shouldn't never touch any other files.

Is it possible to make a significant change like removing / adding preinstalled apps to rom or like changing the default launcher,  status bar and other theming hacks...  I know how to do all these with magisk modules nd xposed but I'm curious to make these changes to the rom so that j don't need to waste hours on flashing and then molding stuff

@ghost_83 theming hacks need the core framework to be modified which requires rebuilding ROM

Can the rebuilding be done without syncing the aosp manifest or any other rom manifest?

No. You need source code obviously.

Yes it is certainly possible. You need a Linux system however
First determine the format that has been used
If the zip has a system directory it's the old KitKat format
Otherwise check system.transfer.list for the version
Anyway if it's just a system directory you can just extract the zip, add files, modify the updater-script and pack it back
The more complicated stuff:
Case 1: assume system.new.dat
This is actually a sparse (iirc, not really sure) system image that you can extract with sdat2img
You'll get a system.img
Mount this as an ext4 loop device
Perform your modifications
Unmount the system image
Use img2simg to convert system.img to a sparse image then flash it with fastboot like this
fastboot flash system system.img
Case 2: system.new.dat.br
This is just a system.new.dat compressed with brotli. Do not directly run sdat2img on this
First install brotli and decompress it to system.new.dat
Follow everything as said in case 1
There is no easy way to convert it back to system.new.dat. You could use the AOSP build system to do so but if you want to make a flashable zip use the edify command "package_extract_file()" to extract the system.img from a flashable zip onto the system partition.
Also be careful. Remember that any files you add this way will have incorrect selinux contexts. You will have to use chcon to set the correct selinux contexts. Use ls -Z to check what contexts other files have and apply a suitable context


text:
Monthly OTA update
When the monthly security OTA update is being applied, does the android system verify the integrity of the system partitions and system apps ?

I suggest you consider visiting our [ask] guide to know how to ask a good question. A good question shows effort on part of the asker to solve the problem on their own. Your questions consistently shows no efforts so far in that regard. For example, if you look for an answer for this question you would easily find one through a search engine. If you still don't understand what you find, let us know. We can help you out. :)

Depends. If it is an incremental update, then yes, it does check vendor, system, boot and other partitions to pass an integrity check before applying an update.
On the other hand, if it is a full update (1.5GB or so) then it will overwrite the main partitions and hence won't need an integrity pass.

source: Stack Exchange

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

sort: votes


text:
Android verified boot and custom ROMs
I'm trying to figure out how exactly works the Android Verified Boot process and its usage with custom ROMs. The documentation I found on it is unclear (or outdated) as there seems to be several ways to do it.
What I understood (please correct me if I'm wrong) is listed below.
Before flashing :

The bootloasder is initially locked, and has to be unlocked through the fastboot command (and a physical confirmation from the end user).
The user data are totally wiped in order to prevent unauthorized access through rooting process (e.g. if a device is theft and the thief tries to access private data).
The custom ROM public key is stored in the user-settable root of trust (alongside with the manufacturer's one) when the OS is flashed.

Boot process (after flashing) :

The systems is powered on (physical button)
The device embedded BIOS reads the public keys stored in the root of trust (manufacturer and user-settable) and verifies that the kernel image has not been tampered.
If the public key used to check kernel tampering is the user-stable one, then a 10 seconds warning is displayed in order to warn the end-user that the pub. key used to perform these checks is not the manufacturer's one.
Once the kernel integrity is confirmed, the initial ram image is loaded and the init process is called.
The dm-verity kernel module ensures that the boot process is not tampered through cryptographically signature checks, using a public key.

As I write these lines, several steps are still unclear to me :

Why are warnings displayed during boot if integrity checks pass ? I mean, even if the user-settable root of trust is used (instead of the manufacturer's one), integrity checks are still OK, don't they ?
Is the UNLOCKED state needed in order to set the user-settable root of trust, or is it needed to bypass Android Verified Boot ?
How is handled the "tamper evident" feature for the user-settable root of trust ? I mean : the user-settable root of trust should only be set by the end user (and not the manufacturer) but how can we be sure that It did not set one anyway ? Moreover, if the system is rooted, how can we be sure that the "new" OS has not reset the tamper evident flag ? Are one-time programmable memory used ?
What public key is used by the dm-verity kernel module in order to perform integrity checks ?

Thanks in advance !

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


text:
Add Multiple-Contact Messages Widget To Home Screen
Is there a way to add a messages widget to the home screen for a conversation with multiple contacts?

What do you mean by 'multiple contacts conversation' ?

A group text. Sorry, that was confusing verbiage; I used that phrase because when adding the text widget you select a contact, but as far as I can tell there's no way to select multiple contacts.

Which messaging app are you using?

Google Messages.

But now I can't find any widget provided by Google Messages app. Previously it was there, but after the recent update, I can no longer find any widget.

You're right, it's actually a contacts - direct message widget, which is using my default messages app, which is Google Messages.

What is the name of the contacts app?

It looks like com.samsung.android.contacts.

Sorry, but I don't use Samsung phone. So, please wait for the attention of a Samsung phone user.


text:
Fingerprint sensor on Nexus 6P stopped working
As I was using my Nexus 6P phone today, the fingerprint sensor was working just fine. However, just a few hours ago today, it stopped working, and I can no longer unlock my device using the fingerprint sensor.
Whenever I put my finger on the sensor, the phone would not respond. When I manually woke up my phone using the power button, it showed me a message "Fingerprint hardware not available".
I tried rebooting my phone, but now the phone doesn't seem to be aware at all that the fingerprint sensor exists. There's no longer even an option to configure it in the device settings.
How can I get the sensor to work again? I have the latest updates installed (Android 8.1 Oreo, with December 2018 patches).

Sounds more like a hardware defect. The only thing you can do is perform a factory reset. If the fingerprint sensor still does not work it is a hardware defect for sure.


text:
How to delete a date and time tab in setting to prevent user from changing it?
(Please understand me about my broken English.)
I am a student in South Korea.
I am making a quite restricted Lenovo tablet, to make it a perfect education device. The goal is to "help" students to study hard.
To do that, I have to prevent the users from changing the system time in the "Settings", Because changing system time is a easy way to pass my time-dependent application block.
So I am trying to delete the date and time menu from the system settings, to keep only auto time:

By an experience of deleting a guest mode in the system, I think I should use the Buildprop app. But I don't know, what I should delete and change in the system.
Of course it's okay not using Buildprop.
I have a rooted device and my Android version is nougat, 7.1.1.
I'm sorry for using broken English and thanks for reading this.
Have a good day!

Please understand my awkward English (I am writing with an English dictionary.)
As you can see comments on this question, I have solved this problem by FireLord's help, but it not perfect, because I am not good at Android.
This question is similar to this.  Refer to this first.
In summary, my simple solution is this:

Using Settings Editor (needs Xposed Framework)
Using My Android Tools or Elixrs 2 apk (needs root permission)
pm disable with adb

In my case, a approach of using 'pm disable' with adb is not working.
(adb asks me a correct package name. I command adb shell pm disable com.android.settings.˜˜˜.. I don't know correct reason)
And, I can't use the approach of 1. using Settings Editor, because my financial app blocks Xposed Framework.
So I have solved by (2) using my Android tools:

installed apk -> activity menu -> find 'Setting' apk under System tab

disable components you want by toggling these. Such as display, language ...(needed root access)

I think many Setting component is named 'setting$example'.
But you should learn by trial and error, disable 10 packages and test by opening Setting apk and again, again to get a result you want. (You should backup first before testing)
In my case, it's easy to hide display, language tab and etc (just disable one proper package).
But the "Date and time" tab is never disabled.
So I disabled 'SystemSettings' (I've hidden the whole system category in the Settings), 'SubSettings' to block approach of all menu from Search in settings (it blocks many Activity. Should check after disable!) and 'SettingActivity' in Clock apk to prevent the appearance of the date and time menu.
It is hard to say a correct and perfect solution because of my broken English and deficient knowledge about Android. What I want to emphasize is this: you should learn by trial and error, and then you can get a result what you want.
Thanks for reading and to FireLord.


text:
Chrome and keyboard minimizes
My phone is acting really weird today.
While browsing in Chrome, it'll suddenly minimize to the lower right corner of my phone. And, my keyboard continues to suddenly hide, about every minute or so.
Also, when playing a game that shows commercials when entering in it, has begun to show them suddenly while playing... at the same frequency as with the Chrome and keyboard problem.
Please help, I'm almost panicking, as it makes writing on my phone really annoying.


text:
Dirty Flash Android Kernel
Will it be an issue if I dirty flash android kernel? I am trying out a few kernels for my phone and I want to make sure that dirty flashing won't affect the efficiency of the kernel. If it does, what is the method to flash a new kernel without losing data and apps?

Booting a new kernel image on an existing system is quite usual, especially as fastboot allows to do so even without flashing the kernel image: Just execute fastboot boot <kernelimage.img> to boot a kernel image from your PC.

BTW, "dirty flashing" a kernel is quite normal... Flash the (I assume) custom kernel and follow any process the kernel dev recommends, which is typically no make than wipe caches. There should be no reason in most cases to have to wipe data when flashing a new kernel.

Use twrp to flash the kernels.
Always keep a flashable zip of the stock kernel, in case you face any problem.
I have seen requirements of many kernel developers that,
you need to be on stock kernel before flashing the custom one. So, before flashing another custom kernel, it is always recommended to flash the stock one, then flash the custom one.


text:
Is it possible to create shortcut in Android file system without root?
Android system doesn't provide ways to  create shortcut in file system.
I have tried using termux to create shortcut in my file system, but I don't have the authority.
Is there a way to create shortcut of files and directories in Android file system without root?

As much as I know, the Android OS supports symlinks by which it exposes the /data/media directory as /storage/emulated/0 directory. So, creating symlinks inside another symlinked file system is not possible. If you can access the /data/media directory, you can create a symlink, but accessing that directory requires root access.

@NiaBie by shortcut you mean symlink? From where to where you want to create shortcut? @Puspam Adak /storage/emulated/0 is not a symlink but emulated filesystem which doesn't support symlinks.

Thanks for correcting me !

Possible duplicate of How can I make a symlink (or equivalent) inside /storage/emulated/0?


text:
Does "Not Found" error always mean the app is unpublished or not active on Play Store?
I am having difficulty finding some apps in Play Store. A lot of times, when I come across a link on the older posts of this website and I load it, I get "Not Found" error on Google Play. I explicitly get:

We're sorry, the requested URL was not found on this server.

I do double check with the app on AppBrain and usually, it shows that XYZ app unpublished on some ABC date in the past, so I end up believing that the app is really dead on Play Store. However, sometimes, a user, whose post I deleted because of dead link tells me that the app is live on Play Store.
I do a check using Opera browser's free VPN service (regions: Europe, Americas, and Asia), and also with a Chrome Extension for American/British VPN service. I again and again get the same dead link. I also ensure using Private Browsing to rule out browser caching.
Recently, a fellow moderator notified me that while I was not able to load the link, he could easily load the app Google Goggles on Play Store. AppBrain still shows the app is no more active on Google Play though.
Similarly, I came across the app MyAndroidTools which does not load in Google Play Store, also seems inactive on AppBrain, but had a fresh beta version, as seen on APKMirror.
How do I ensure that the app is inactive on Google Play for everyone? Alternatively, if it is active on Google Play, how do I load the app's page on Google Play?

I cannot answer the question, but Appbrain isn't always up-to-date. I found cases where Appbrain showed the latest release being years in the past, while an app had released a newer version just weeks or months ago. It certainly helps, and if it says "unpublished" that app definitely was unpublished on that day. Facts are right, but just not always recent. // Then, if an app has a new release at <name.it> doesn't necessarily mean it has on Play. With G's sometimes stupid rules, some devs already decided leaving it alone.

From my experience I think that it does mean that the app is unpublished or non active on Google Play; which could be conditional.  This could be due to the users locale, the app was removed (made inactive or no longer published), not -- or no longer -- available for specific AOSP versions or device type/size/ect.
In my case I had a violation of something involving the payment policies and my app was removed (unpublished by Google) until I resolved the issue and uploaded and new version.
As @Izzy mentioned, I've also found that Appbrain is not always up-to-date.

Well here's something that I know since I have experienced it in the recent period. Apparently, it so works that when an app is "unpublished", then the app is still downloadable by existing users (those who own the app, either because they paid for it or because they acquired it when it was free).
The users who already own an app will see it in Play Store (app and web) while logged into the same Google account using which it was acquired.
It would be a different outcome when apps are removed (deleted) due to violations. Deleted apps should no longer be available for installation to any user. But since I know that Flamingo was unpublished because it did hit the API limit from Twitter, it is still there, regularly updated, but not available to the public if they never owned it before when it was live and available for purchase (download).
Screenshots (the flamingo example):
App direct URL - https://play.google.com/store/apps/details?id=com.samruston.twitter

As it is entirely dependent on the Google account and whether the app was owned by the user in the past, there will be no 3rd party api which can tell you if an app is still downloadable from the Play Store. Play Store throws a direct 404 for such apps which are not downloadable unless you are an existing user.
So, I believe you should remove such links because well, these apps are not available for new users to download and these are basically the ones who need the app. Existing users will already have it. With the exception that such apps do not appear anymore in Play Store search, even if you own the app and are logged into your Google account.
And as much as I know, apps locked to certain countries are still browseable in the web version of the Play Store and even within Play Store app. On the mobile app, it is not downloadable and marked as "This item is not available in your country". So, a VPN or location change will not help you to access a Play Store app which throw a 404. You should remove such links without thinking twice.

"NOT FOUND" means it is not active on Play store or by your country location. and if you want to download any app , try some mirrors like apkmonk, apkmirror, etc.

Would you please read the bounty note? I have explicitly mentioned what details an answer should have. Furthermore, please see [answer].

the details is always in answers and comments.


text:
WiFi stops working when connected to Bluetooth box
When I connect my Android 6 Huawei to my bluetooth box and play music my wifi decides to kill itself, while it is still on and connected.

Wifi and Bluetooth usually use the same frequency range. Therefore it is not unusual that the one can affect the other.

My phone uses 2.4Ghz, I don't know what my box uses, but can I change the freq. of the box?

Bluetooth uses by definition the 2.4GHz range. Usually devices are optimized for minimal side effected when using both Bluetooth and Wifi. For an unknown reason on your device the situation seems to be different.


text:
File recovery on bootloader unlocked Pixel without flashing
I have a first generation Google Pixel the bootloader of which is unlocked and is running stock Pie. I need to recover deleted files on it because a move operation got effed up by ES File Explorer with confusing dialogs. Performing file recovery requires root, but I don't want to install a custom ROM. Is there instead a way I can run one in RAM that is delivered to the device over USB?

Root isn't tied to custom ROMs. Just flash Magisk on top of your current ROM.

@AndyYan Thanks, but I know that. I said I am NOT looking to install a custom ROM. I want to run it over USB.

I still don't see why you won't. Installing Magisk on top of your current ROM is not installing a custom ROM, can be easily uninstalled, does not affect OTA (if installed correctly), and ultimately your goal is recovering files (admittedly installing has a small theoretical chance of overwriting deleted content, but so does powering up your phone and using it). // On the other hand, the possibility to run arbitrary low-level code over USB sounds too dangerous to be allowed by manufacturers.

Answer is too late but may be helpful for future visitors.
First of all, there are a number of factors which make data recovery impossible, particularly if you keep on using the device. See this answer for more details.
Secondly since you have an unlcked bootloader (but don't want to go with custom ROM), you can flash a custom recovery like TWRP (or boot directly from fastboot) and from there dump your /data partition to a PC using simply dd command or USB Mass Storage (UMS). Then you can apply any data recovery techniques on the partition image e.g. recovering from journal or by carving through sectors.
For detailed steps: How to recover a deleted file from /data partition?


text:
Unable to modify file permissions.xml, get error Read-only file system
I have a rooted Galaxy S5 SM-G900V, lineage_klte, ARMv7 Processor rev 1 (v71), Kernel: 3.4.113-lineageos #1 SMP, Oreo 8.1 that a friend asked me to modify.
I need to modify the platform.xml file to allow the system to write data to the external sd card. I need the ability to modify this file. The current permissions are:
rw-r--r-- 1 root root, however I am unable to save any modifications.
I am unable to modify the file permissions and would like to know how to do so. Note, I am looking how to change the file permissions and not how to or what syntax to use in the xml file, or if it will allow me to have the system recognize the external sd card for saving data. I am perplexed on why I am unable to modify this file.
> adb devices  <-- verify I have the device
> adb shell    <-- enter shell
> su           <-- super user
# ls -l
drwxr-xr-x  17 root   root      4096 2019-03-20 10:26     system
# cd system
#ls -l
drwxr-xr-x 20 root root     4096 2019-03-20 10:25 etc
# cd etc
 # ls -l
 > drwxr-xr-x  2 root root     560 2013-12-31 21:23 permissions
 # cd permissions
 # ls -l
 -rw-r--r-- 1 root root  9116 2008-12-31 18:00 platform.xml
 # chmod 755 platform.xml
 >> chmod: chmod 'platform.xml' to 100755: Read-only file system

So, how do I change the file attributes for platform.xml allowing it to be modified? I thought that there was a hidden immutable attribute on the file but there is not(at least that I can determine).
Related question, is there any other website to post this question? Any help is most appreciated.

Try remounting /system with mount -o rw,remount /system

I get: mount: '/dev/block/platform/msm_sdcc.1/by-name/system' not user mountable in fstab

Try installing a file manager that can get root access (MiXplorer, Root Explorer, ES File manager, etc), then check if the file manager can access read/write /system

@Nora you must be trying without root. mount works only with root access. And don't chmod any system files, you can brick your device. With root, you can edit files without chmoding or chowning too.

I've tried that route before, I use Root Explorer and after being granted root access I try to change the permissions and I get a error "Changing permissions was not successful. Please note...," I definitely have root, I can verify using Root Checker Pro.

Yeah I deleted that post, it was not specific enough. The bigger issue that I need to understand is the file permissions.

By root I mean root user, not Root Explorer. You should execute mount command when UID is 0 (check with id -u).

Try su -c before the command...

Also... It sounds like you have a root user ID, but not a su file in /system/bin   ... Als

@Zillinium, I am sorry for the slow reply, I had a family emergency. You are correct I do not have a su file in /system/bin. I am using Magisk. I tried using su -c as in: su -c chmod 777 platform.xml however the error I get is: chmod: chmod 'platform.xml' to 100777: Read-only file system

Please start adb shell and verify root. Please copy and paste the response to you typing 'id' at the prompt. Then enter this at the prompt: > mount | grep system Then paste that into your reply as well.

I was only able to remount rw after
- removing addonsu (by sideloading in TWRP "su removal" from https://download.lineageos.org/extras)
- installing Magisk (easy, sideloading current release from https://github.com/topjohnwu/Magisk/releases)
I was under the impression that addonsu does not fully grants permissions -- after all I found myself heading down this road when attempting to configure Titanium Backup.
By the way, TWRP has a commandline guide at https://twrp.me/faq/openrecoveryscript.html , all the above is as easy as adb reboot recovery, then adb shell twrp sideload which makes TWRP waiting for a file, so just serve it by e.g. adb shell twrp sideload ~/Downloads/Magisk-v19.3.zip

This issue relates to the fact that /system is absolutely read-only and the mount -o,rw is no longer allowed on recent versions of Android.
To modify anything in /system you need to use Magisk ability to replace files by creating a magisk module.


text:
Android Market app throwing "a server error has occurred" error message
I have Samsung I5500 Galaxy 5 running on Android 2.2. I don't know when this error started, but when I open the Market application, it throws the following error:

A server error has occurred. Retry, or cancel and return to the previous screen.

I have tried a factory reset, but it didn't solve the issue.
How to fix this issue?

TL;DR: Google has ended the support for the Android Market app. Users need to migrate to the Play Store app by installing the compatible version (skip to the last section).

Background
According to Android Authority, Google has ended Android Market support for Android 2.1 Eclair and below:

On June 30, devices running Android 2.1 Eclair or lower will no longer be able to access, or install other apps from, the Android Market.

In a different article, they also stated an opinion that the Android Market app would no longer be supported on "newer" versions:

Google also mentioned that it will continue to support “later versions of Android Market for as long as feasible.” Exactly what that means is anyone’s guess, but I think it’s safe to say that the company will eventually end support for Android Market on other versions of its operating system — and probably sooner rather than later.

The Play Store app is supported on Android 2.2 Froyo, and by default, the Android Market app should be automatically updated on supported devices when it's opened:

If you still have the Android Market on your device for whatever reason, it’s probably best if you upgrade it to the newer and much improved Google Play — provided you are running Froyo or newer. As soon as you open the Android Market app, a window will pop up saying that a new version is available for download. Then just follow the directions on your screen, and in a minute or two the Android Market will be replaced by Google Play.

The issue
However, according to some reports (1, 2), the Android Market shows an error message "A server error has occurred. Retry, or cancel and return to the previous screen." since at least 8 March 2018, preventing it to be updated to the Play Store app, and thus making it dysfunctional.

The fix
While the Android Market app cannot update itself, users are still able to install the Play Store app by downloading and installing the APK.
APKMirror listed all variants for the Play Store app, including for Android 2.2 Froyo. The latest version available on there is 4.9.13.

Version: 4.9.13 (80290013)
  Package: com.android.vending
  Min: Android 2.2 (Froyo, API 8)


text:
How to create app-like Chrome shortcuts?
I have a Chrome application which, at some point, I added to my home screen and it was behaving like a real application: there was no Chrome toolbar (for the URL and other settings). The icon was also a "native one" (the difference will be clear in a second).
For various reasons I removed it from my home screen and also upgraded to Pie (I am not sure if this matters).
I then tried to re-create the "app" by adding, from Chrome, a shortcut to my home screen. This is how it looks now:

Please note the Chrome thumbnail which was not there previously.
The app itself does not look "native" anymore:

The part between the status bar and the blue line used not to be there, completely hiding the fact that this is a web page running in Chrome.
What is the correct way to get back this "native app" behaviour?

You wait for the web app developer to implement Chrome's WebAPK on Android feature/requirements.
From the following post: How to Remove Chrome Logo from PWA App Home Screen Link (Android O Preview)
Digging through the comments on the accepted answer from Anand dated Dec 17, 2018:

If you are asking how to avoid chrome icon, as long as your went [sic] app is fully qualifies PWA to be installed as APK, new versions of chrome won't add that icon. I've tested with chrome version 70 in Android pie . If it's a mere web page, failing to meet key PWA criteria or non PWA, chrome might add chrome icon to indicate it's a web link(depending on chrome version again)

Further research on details led me down a rabbit hole of what features exist on Chrome vs Android and the meaning of 'install' to home screen, which while it does somewhat affect end-user behavioral expectations, the implementation details are off-topic for this site.
If you can live with icon badging, you may want to try your site/webapp with Firefox for Android and see if the app UI still retains the undesirable "header".

Thank you. Are you aware of changes in the API which would led to a page being PWA-compatible to lose this compatibility when going from Oreo to Pie?

Honestly I wouldn't know. Assuming that nothing changed on the site, looking through: https://developers.google.com/web/fundamentals/app-install-banners/ it does mention Meets a user engagement heuristic (currently, the user has interacted with the domain for at least 30 seconds) so you can try uninstalling, interact with site for more than a minute and try to reinstall and see if that helps. Otherwise its up to when you installed with x version of Chrome and now on y version of Chrome, Google has refined the requirements.

Thanks for your help - it pushed me to the solution (which I posted as well for completeness). It was my fault and your pointer to the PWA standards made me release my mistake.

The problem ended up being a lack of HTTPS. @Morisson's answer pushed me to the right direction and I realized, "temporary for testing purposes", that I have removed HTTPS for the site.
Back to HTTPS, I can create a PWA out of the site again.


text:
Why aren't my songs dowloading?
I use an Android phone, and I usually download songs by converting them from YouTube to mp3 through websites. This time, when I hit the download button, the downloading didn't start. It said "download paused", and when I hit resume, it disappeared. How can I fix it?
This is what it looks like:

Try using a different internet browser like Google Chrome or Mozilla Firefox, but I must remember you that this kind of YouTube video downloading method isn't legal and you shouldn't use it, you may be downloading viruses and other harmful components in your device.
If it didn't solve your problem, then leave a comment in my answer and I'll find a way to help you better.

After few days reseach, finally I found an app can download Youtube videos (up to 1080p), download mp3 from Youtube ( up to 180 kbps). It's named HBTube. You can download full version at HBTube Online
Youtube while lock screen

Download Youtube videos all format

Good luck!


text:
Deleted photos reappear after reboot, new photos dissapear
I try to delete all the pictures I have on my SD card. I just select all of them and click the trash icon. When I finish, I see an empty folder, as expected. I make a new photo. And then I reboot my mobile phone. When I enter the album I see all the photos I deleted, and the photo I created after the deletion is missing.
Why is this happening?
Edit no 1:
Phone: Sony Xperia XA1
Android 8.0.0
I deleted everything from the Album app
Edit no 2:
I unchecked cloud backup, but still have the same problem. I can erase all photos I have, but after restart they still return in seconds.
Where are they stored? Can I erase them manually?
Edit no 3:
Here's what I tried so far. Provided by someone from the talk.sonymobile.com forum:
settings > apps & notifications > all apps > album > storage > clear data > restart the phone > check again.
Did not work.

Would be handy to include a few more technical details. Which phone, version of Android and clarify where you're deleting the photos (are we to assume it is Google Photos or some file manager)

Well, it appears the SD card stopped recording new data. Here's how I get to this point:

I ejected the microSD card from the phone.
Using a MicroSD to USB I inserted it to my computer.
I tried to delete the data, the adapter, inserted it again - noticed nothing has changed.
I tried to format the MicroSD, ejected the adapter, inserted it again - noticed nothing has changed.

I bought a new SD card, copied the backup (applications and stuff) to the new one. Photos work as they should.


text:
How to block TCP connections?
I have an app, a replica of a shooter game in Android. It is just for experimental use only, me and my friends are testing it. I need to block all TCP connections so I can test my security.
But its servers change IP addresses of the domain, so no matter how many ways I use to block the domain, user still get connection with the server.
Is there a way to only block TCP connection for an app? But only TCP connection, because my playing server is UDP server.
Can I block all incoming TCP connections as well?

Is there a way to only block TCP connections for an app in Android?

Yes, if you have rooted phone:
~# iptables -I OUTPUT -m owner --uid-owner 10275 -p tcp -j DROP

This will block 100% outgoing TCP traffic of app having uid 10275. You can get UID from file /data/system/packages.list.
To block only UDP:
~# iptables -I OUTPUT -m owner --uid-owner 10275 -p udp -j DROP

Or to block both, don't mention any protocol.

Can I block all incoming tcp connections?

INPUT doesn't work with owner module. Better is to just block outbound traffic, incoming is automatically blocked because traffic is initiated from client end i.e. your phone.
See this answer for details.
Also you can use iptables based firewall app like AFWall+ or VPN based firewall like Netguard to block outbound traffic.

Thank you this worked perfectly


text:
How do I enable USB debugging from TWRP
After a series of idiotic events on my parts, I have ended up with full software wiped (including stock os) without USB debugging or any roms to flash. I am able to access TWRP but pretty much nothing else. If details on the events are needed to help, I will gladly disclose them. Immense thanks to anyone who attempts to help.

I also did not choose internal storage when wiping but chose all other options, but I think even that wiped anyway. I had miui (probably my best bet if I hadn't wiped) as my only flash able ROM.

Your concern right now should be to flash a working ROM in your device. That can be done easily using TWRP. Connect the device when booted into Twrp to PC, and the PC would see it in MTP mode. You can then copy flashable files to internal storage from PC. TWRP, in addition, comes with USB Debugging enabled, so you can do sideloading as well.
Alternatively, you may have to rely on some MI flashing tools, but I don't have an idea of how they work.
Regardless, if your OS is wiped out there is no point thinking about enabling USB Debugging there, because it cannot help you flashing a new ROM. ROM is flashed only via recovery or low-level boot environments, such as fastboot. Furthermore, the concept of USB Debugging assumes there exists a functioning OS (recovery or fully-fledged Android) which would receive the debugging commands. There exists no Android OS, so it is futile to think about USB Debugging.

Thank you so much. I just moved a rom back and will see how it turns out. All should go well!


text:
Remove app on my home screen
I have a Samsung Galaxy Prime 7 or vice versa and I can't remove a app on my home screen when I push the app there's uninstall or remove and there's a trash can but I can't do it

Good idea to show a screen recording of the issue.

Could you especify what error are you facing while trying to remove the shortcut? With more information, we'll be able to help you to solve this issue.
But you can try some of the steps below:
1 - Drag and move the shortcut to the "trash can" icon in the upper corner of your display.
2 - Long press the shortcut and it may show an popup with a few options like "uninstall and remove", if the remove option is available, the click on it.
3 - Try uninstalling the app which the shortcut belongs, and reinstalling it again, but make sure to disable the "Add Shortcut to home screen" option in the settings.
If those methods didn't work, follow the steps I told you in the first lines and send more information about what issues you're having while removing the shortcut.
Awaiting for your answer...


text:
Video freezes but audio plays on YouTube
For the past two days YouTube on my OnePlus 6 has been glitching. Everytime I click on a video I can hear the audio but the video doesn't play (it doesn't go black, it just freezes with the audio playing in the background). Also, the new update allows me to swipe right to see the next video, something which isn't there on my brother's phone even though he has the updated version of YouTube (as per Play Store).
I deleted cache and storage in settings and also restarted my phone. The app works fine but again goes back to glitching after a while. The glitch starts with the home screen and slowly stops the operation of all the other features on YouTube.
Can someone help me with this? The problem seems to be only on my phone because the app works fine on my friend's OnePlus 6. I have checked the answers for this question and they didn't work for me.
Note: I am using the latest software and an updated YouTube.

Try changing the video quality. Start from low quality to high and check if the issue remains.

What phone is it? Have you tried disabling and enabling the app?

@shamsul, I uninstalled and reinstalled the app. Not sure what you mean by disabling and enabling the app. I tried everything, I'm just worried if it's a bug that crept into my phone when I visited certain shady sites. Could that be a problem?

@shamsul, it's a OnePlus 6

I think, system app such as Youtube cannot be uninstalled completely (without root access). If you uninstall, it is essentially uninstalling the updates.I own a One plus 6 (oreo 8.1 OS). By disabling I meant, going to settings->apps, then click youtube, then find the disable button. Disable the app, then the button will change to Enable. Now, enable the app.

@shamsul, did that. Now do I update the YouTube app?

Are still facing the freezing problem?

@shamsul, I'm still facing the problem. The home page freezes but audio plays sometimes. Otherwise the whole thing freezes

@shamsul, so this is what problem is. After disabling and enabling the app, the swipe feature wasn't present even after updating the app. Everything worked fine. Once the feature came, the glitch arose when I used WiFi but doesn't when I use mobile data.

I guess, it is basically a bug. Until then, use the Old version. Also, you can find some recent version apk in the internet.

How did the bug come? Is it some virus or something? Should I be worried? And any chance when it'll correct itself?

I don't it is a severe bug/virus. It's just sometimes new version of an app shows some problems with limited mobile devices(there are numerous android devices out there). I hope it will get fixed soon.


text:
Have I been blocked?
My Whatsapp is showing a "Last seen" date for one of my friends, but my message didn't get delivered, as it's only showing one tick. Does this mean I've been blocked?

According to the Whatsapp FAQ:

There are a couple of indicators that you may be blocked:

You can no longer see a contact's last seen or online in the chat
  window.
You do not see updates to a contact's profile photo.
Any messages sent to a contact who has blocked you will always show
  one check mark (message sent), and never show a second check mark
  (message delivered).
Any calls you attempt to place will not go through.

If you see all of the indicators above for a contact, this could mean
  that the user is blocking you. However, there are other possibilities.
  We have made this intentionally ambiguous in order to protect your
  privacy when you block someone. Thus, we cannot tell you if you are
  being blocked by someone else.

I believe the fact that you can see a "last seen" status is an indicator that you have not been blocked.
Update: Per my own testing with a friend I have verified that once you are blocked, the "last seen" text completely disappears. It seems the person you are contacting did not block you and has simply stopped using whatsapp for the time being, since you can see they haven't been on since the 11th but your message hasn't reached them.


text:
TWRP loop after factory reset from stock android on moto m
I just used the factory reset from the android backup and reset option to reset my moto m. But there seems to be a problem.
It automatically restarted into TWRP, so I did a factory reset from there from the wipe section. But after all this, I cannot boot into the OS. I have stuck in the twrp loop.
What I have understood is that the OS is looking for a return code from the recovery after which it can boot up but the custom recovery is not able to return that code which could earlier be returned by stock recovery.
And the phone does not even power off now!
Please help me
Thanks in advanced.

it loops because it does not supports TWRP as the default android recovery of mobile. so try to flash the stock recovery image of your mobile after if you want to restore anything. and don't do any factory reset after flashing.


text:
Will "hiding" contacts on Google Contacts affect other apps' behavior?
I manage my contacts on my Google account. There is a feature in Google Contacts where one can "hide" selected contacts, as follows. If you go to contacts.google.com, click the three dots to the right of a contact, then click "Hide from contacts" in the menu, the contact will be moved to Other Contacts.

I prefer to keep my digital data organized, and shortening my contacts list will help. However, I'm not sure what the effect of hiding a contact is (other than it not displaying in the contacts list on a contacts app).
We're talking about a contact that I'm not likely to communicate with in the future, but it would still be better for me to save their details, for example in the unlikely event that they phone me. If a hidden contact phones me (on my Samsung Galaxy S8), will my stock phone app show me who is calling?

The name of the caller will not be identified if the contact is hidden in Google Contacts.
The contact will be removed from the contacts list in the stock Samsung contacts app.
I tested this by calling my mobile with my work phone. I hid my work phone number in contacts.gooogle.com, and I also had to remove the number from my personal information in my Samsung Account, as well as my Samsung Account in my secure folder.

"hiding" means hiding the contacts from the contacts app only , it will tells who's calling. I'm saying that it is only used by the app

Why do you mention "it doesn't mean hiding the details"?

My primary question is whether the phone app will tell me who is calling if the contact is hidden in Google Contacts.

it will tells who's calling. I'm saying that it is only used by the app.

Your answer needs to convince others who have the same question.


text:
Why can't Wi-Fi be enabled in Android-x86 inside VirtualBox?
If I enter the Wi-Fi settings of Android-x86 (currently v8.1-r1) inside VirtualBox (currently v6.0.4) and turn it on, why does it just immediately get turned off?
Some Android apps try to find devices inside the network so it's essential (e.g. if you want to use Chromecast and iRobot Home).

Turns out according to the official docs, "VirtualBox provides up to eight virtual PCI Ethernet cards", which means no Wi-Fi card is available to emulate. Even if the host provides Internet to the guest via Wi-Fi, all the guest sees is Ethernet.
But if VirtualBox is incapable of it, then how does Genymotion bypass it?
Major update:
thanks for using this very question as motivation, as of version 8.1-r2, Android-x86 simulates WiFi on its own!

so it's still only a simulation?  is there no way to use the WiFi adapter on the host (and, say, enumerate SSIDs and connect to wireless devices)?

It's a simulation because the question was about a simulation. Due to the new feature, nothing stops you from using WiFi in the host, simulated as a wired cable in VirtualBox, then simulated as WiFi via Android-x86 itself. I confirm I've used this scenario to connect to wireless devices in the network!

If you're running Android within a VM, I suspect the VM software is not allowing the Android VM to interact with your WiFi hardware directly, meaning that Android does not actually see that there is any hardware available for accessing WiFi. If you check your internet connection on the Android VM, does it show you're connected to the internet via ethernet?
There may be a way in VirtualBox's settings to give the VM direct access to your WiFi chip, but I highly doubt that would work based on the nature of running Android via a VM on desktop or laptop hardware.

Where can I check what you asked? Also, according to online searches, it seems even if you give direct access to Wi-Fi, the VM will still see it as Ethernet.

It would be in the VirtualBox settings somewhere (I don't use VB, so I'm not sure where exactly). Like you said, though, I'm pretty sure it will only bridge the PC's wifi connection so that Android sees it is a hard line connection (ethernet).

Just install it on Virtual Box software. After you install Android on VirtualBox, go to Setting and change the network setting just like this:

File - Host Network Manager
Choose the Adapter

Attached to: Bridged Adapter
Name: (select physical adapter)
Advanced:

Adapter Type: Paravirtualized network adapter (virtio-net)
Promiscuous Mode: Deny
MAC Address: (insert MAC address, or leave default)
Cable Connected: V

Press OK and wait while Virtualbox is creating a host-only network interface

That's still only a simulation.  I think what people want here is to use the Wifi adapter on the host to, literally, connect to wireless devices as if you're using a physical android phone. (enumerate REAL devices, see SSIDs, etc)


text:
where app's settings are stored?
Where are stored the settings of the apps in Android (6)? I'd like to modify something in Librera app:

Disable the bookmark box
Hiding words in top left corner

Under /data/data/com.foobnix.pdf.reader/

By design of the Android OS on a regular phone you can't modify settings of an app other than by the app itself. Therefore the best way is to search for an option in the "Librera app" itself.
If there is no option to change what you want you may have a chance if the app allows app backup via Android Debug Bridge (adb). In such a case you can perform a backup of the data of the app to your PC, decrypt it there (using Android Backup Extractor), modify it, re-pack it to a backup file and then restore it using adb.
Only on rooted devices you can directly access the app-private files in which the data is stored.
Update: I have checked the Libera app (com.foobnix.pdf.reader). It declares allowBackup="true" therefore the outlined way using adb backup com.foobnix.pdf.reader should work for this app. However you still need to understand the settings file format and last but not least there have to be a setting that does what you want.


text:
Kodi plays a completely different file
tl;dr: After 2+ months of using my Kodi 18.1 started to get a complete wako, by playing different movie than description, image, scoring etc. says. For example, it plays "The Hunt for the Red October" when I select "Zootopia".
Tried everything (rebuilding library, removing and adding the source), all for nothing.

My SMB/FTP server structure:

Movies:

Animated
Drama
Political
...

I have added two sources to my Kodi 18.1:

"Animated" --> SMB/Movies/Animated,
"Movies" --> SMB/Movies.

So, in fact, all animated movies can be listed / accessible through both sources (if that matters).
Now, in Kodi I am selecting first source ("Animated") and browse to the end of list ("Zootopia"). I see everything perfectly: description, movie poster, ratings, year, actors everything is correct.
The only problem is that when I start playing it, "The Hunt for the Red October" plays.
This problem occurs for most of the database entries in the "Animated" source (but not for all). For example "Jason Bourne" places when "Shrek" is excepted etc.
"Animated" folder in SMB/FTP is accessible both through "Animated" and "Movies" source in Kodi, but not the otherwise. I.e., if you open up the "Animated" source in Kodi, no movies from i.e. "Drama", "Political", "Action" etc. folders in SMB/FTP are accessible AFAIK.
And yet, Kodi gets wako and plays movies from different source than use is actually browsing.
Filenames are "purified" manually by me and files are named matching patterns "English title (Year)" exactly. So there is no way Kodi can get confused:

it claims that it is going to play movie "Zootopia (2006)" in "Animated",
it actually plays file SMB/Political/The Hunt for the Red October (1992).mp4.

I have tried everything that came to my mind. I have cleared the database (but this seems to be only deleting references to non-existing files, it does not recreate / verify references to existing files). I have removed "Animated" source and added it again. I have used "Look for a new content"-like options. All for nothing.
I have noticed that after removing the source and adding it back, Kodi still keeps information on what was watch and upon which time watching of given movie stop, i.e. still offers to "restart" watching from given position. So, it clearly suggests that removing and adding the same source again does not clear any cache or stuff like this.
Any idea what I can do in this situation except for throwing Kodi to hell and start looking for some alternative player for my Android-TV home player?


text:
Huawei does not accept password to unlock
I have a Huawei tablet it was reset  now when i try to sign in with Google it gives me a message shown on the image.

What can i do? Thanks.

Bypass this via any box which support your tablet cpu ,
i.e > maricle ,umt,z3x,volkano box etc according to my knowledge you need to bypass FRP.

Please sign in using one of the owner's accounts for this device


text:
find: multiple "-exec" for list of files not working?
I am trying to figure this out on an Android phone running Oreo / 8.0, with toybox 0.7.3-android.
I am trying to get a list of files inside a folder and their respective mtime. I am running this command:
find . -type f -exec stat -c %n {} \; -exec stat -c %Y {} \; -exec stat -c %y {} \;

or
find . -type f -exec stat -c %n "{}" \; -exec stat -c %Y "{}" \; -exec stat -c %y "{}" \;

In both cases I am only getting the result from the first invocation of "stat". Am I overseeing something or is this the way toybox works on Android?
The output file should look like this:
./file1.txt
1553516120
201903251315.20
./file2.txt
1549678694
201902090318.14
./file3.txt
1553541066
201903252011.06
./file4.txt
1553515882
201903251311.22
./file5.txt
1585138731
202003251318.51

EDIT: This is apparently a bug in toybox. I reported it and the working fix is currently awaiting to be merged into the source code of toybox.

Without knowing more about what you're trying to do, could you simply use ls?  Something like: ls -ld /path/to/directory --full-time | grep '^d'.  This will filter out directories and show the full timestamp of files in the specified path.

I am trying to backup the file timestamps using a script. Thx for your idea, unfortunately "--full-time" is not a recognized switch.

This should work:
find . -type f | xargs -I {} stat --printf='%n \n %Y \n %y \n\n' '{}'

But Android's limited toybox stat doesn't support --printf formatting. So either use stat binary with full options e.g. from Termux or statically built, or you need to do one step extra:
find . -type f | xargs -I {} stat -c '%n--%Y--%y--' '{}' | sed 's/--/\n /g'


text:
Can I flash magisk on encrypted HTC10?
Phone in question is european HTC 10 with Oreo.
Here is what I did:

Unlocked the bootloader following procedure from htcdev.
Flashed TWRP.
Sideloaded SuperSu.

Then I figured that I don't want SuperSu because of SafetyNet. (fails both basicIntegrity and ctsProfile)

I didn't changed anything on system partition manually.
Did full unroot in SuperSu.

Now basicIntegrity passes, but ctsProfile fails. I think its because
   bootloader is unlocked.

Now I want to flash Magisk, but TWRP can't mount data partition because disk is encrypted(password doesn't work). This makes me unsure if it is possible to flash magisk.
Can I ADB sideload Magisk? or flash it with fastboot?

Ideally I want to end up with rooted phone that passes both cts and basicIntegrity.

Question - do you know your PIN/password to enter the OS normally?  If so, make sure sure you have the option set in Android Settings (probably somewhere in Security) to ask for your PIN/password on startup.

It turns out it doesn't matter data is encrypted(click cancel on password prompt), I just put zips on microSD and flashed them via TWRP (install option), everything passed.
Safety net passes completely and root works.


text:
I am unable to unlock home screen on Android Pie
I've just updated my phone to Android Pie. While booting, I typed in my password PIN, and it unlocked to go to the home screen.
There when I type the same password, a "Wrong Password" error is being thrown. There is no "Forgot Password" option. How do I fix this with minimal damage?

didn't you configure another way to unlock screen? Face recognition, fingerprint, etc?


text:
Is it possible to run a bookmarklet on Chrome by selecting it from the bookmark?
I am using Chrome for Android. If I have a bookmarklet saved as a bookmark, then I am able to run it by:

Typing its name in the address bar until it shows.
Clicking the upward-leftward pointing diagonal arrow next to it to load it into the address bar.
Clicking enter.

I am not able to run a bookmarklet that I have saved as a bookmark by:

Opening Chrome's vertically-aligned three-dot menu.
Selecting Bookmarks.
Navigating to the bookmarklet's entry.
Clicking the entry.

I don't want to run my bookmarklets using the first method. I want to run them by going to them in the bookmarks menu (like the second method). If I click any other bookmark in the bookmarks menu, Chrome will navigate to the page. I expect to be able to run bookmarklets from the bookmarks menu.
Is it possible to run a bookmarklet on Chrome by selecting it from the bookmark?

TL;DR Either wait for the Chrome for Android team to fix it or find a browser which supports it.
I found this issue ticket for Chromium (base code of Chrome/Chrome for Android/ChromeOS) which was opened in 2015 for the Android platform:
Issue 480010: Enhanced bookmarks do not support javascript bookmarklets
The gist is that:

This is tricky because on phones BookmarkActivity sends intent to Chrome to launch the bookmarked url, and currently ChromeLauncherActivity rejects javascript urls.

https://bugs.chromium.org/p/chromium/issues/detail?id=480010#c11
Based on older comments the bookmarklet feature existed in a prior version, but disabled since then.

I have found selecting the bookmark does work on another Android browser - Firefox. Hopefully that helps.

Well, that's not Chrome, so that's not an answer.

This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post. - From Review

Chrome Android doesn't let you run Bookmarklets the traditional way, But, there is a workaround, you can call Bookmarklet from the address bar, Below Tutorial might be helpful.
https://paul.kinlan.me/use-bookmarklets-on-chrome-on-android/

FWIW, this is already mentioned in the question.


text:
Where are kernel modules installed?
I am trying to find Linux kernel modules on my nitrogen board.
I have unpacked kernel config from /proc/config.gz and I see kernel was compiled with a lot of modules.
I see only one in /vendor/lib/modules, zero in /system/lib/modules.
Can somebody explain where modules installed, what is procedure to install modules?

In theory they could be in a startup ramdisk.  It's also possible to build modules but not packaged them (in which case they would not be usable, but stranger things have happened).  If there is a particular goal you have you should edit that into your question - ie, are you trying to find a module you think is available, but which has not been loaded?

There are two ways Linux kernel modules are built: 1. as a part of kernel executable binary (compressed image) i.e. with CONFIG_*=y options at build time, or 2. as separate kernel object (.ko) files that can be loaded and unloaded with some conditions i.e. built with CONFIG_*=m options.
In second case the .ko files are placed on some standard location(s), usually /lib/modules/ on Linux and its equivalent on Android /system/lib/modules/ or /vendor/lib/modules/. These paths are hard-coded in binaries that load them e.g. insmod, modprobe.
On pre-Pie releases (1), by-default Android kernel is built without option CONFIG_MODULES=y, so there are no kernel modules built as .ko files which can be loaded or unloaded with insmod, modprobe or rmmod as is the case with standard Linux distros. Nor they are exposed through /proc/modules from where lsmod reads information. However each kernel component that can be built as a module has an entry in /sys/module.
Now those modules which are compiled and loaded as .ko file has a corresponding /sys/module/<module>/initstate file, others don't have. You can confirm this way if there are any loaded modules:
~$ ls /sys/module/*/initstate

Though default Android might not use loadable modules, many actual devices have for years.

Yes, I do have 20+ modules on my device.

@IrfanLatif I have been trying to locate the *.ko files on my emulator, but can't seem to find them anywhere. It is an API 30 emulator, and I can see the modules loaded (in /proc/modules), and the appropriate file exists for /sys/module/*/initstate, but no *.ko files exist (looked with find / -name "*.ko". Any idea where else they could be?

@WilliamReed OEMs / ROM developers might name the loadable module files differently. You may look into init configuration files (*.rc) in /system and /vendor to see how and from where modules are loaded on boot. grep -riI <mod_name> /system /vendor /odm /product or find /system /vendor /odm /product -iname '*<mod_name>*' (don't append .ko) should lead to some conclusion.

Official guidance for placing .ko files in fs: https://source.android.com/devices/architecture/kernel/loadable-kernel-modules#file-locations

Kernel modules is a piece of code which load into kernel memory. It consists of at least two functions like int, cleanup.
If you want to see which modules are loaded into kernel memory, just type the commands:
lsmod or cat /proc/modules.
If you want to find kernel modules in whole memory of system partition:
find / -name "*.ko".
Load kernel module into memory
insmod hello.ko

Remove kernel module
rmmod hello.ko

for more see dmesg log .


text:
LineageOS Update Failed: Unable to mount /data
I recently installed MicroG for LineageOS on my OnePlus 5. After downloading the latest update using the updater in settings, I clicked install. The phone rebooted into TWRP and started to update itself but showed multiple error messages in red which said failed to mount /data. The phone booted back into Lineage and said that the update failed to install. In the updater, the same update I had tried to install still had an install button next to it, also indicating that the update had failed. I tried installing the update again and got the same result.
Why is the update not installing, and what can I do to get it to install?
*Update: I've tried installing the newer April 1st, 8th, and 15th updates, to no avail. I also tried updating TWRP and installing the update again, but it failed to install again, with the same error messages in TWRP. I am no longer getting notifications that the update failed to install, but it is still showing in settings as ready to install, meaning it isn't installed yet. I read online to try an older TWRP version, which didn't work either.

Solved: Use TWRP Version 3.3.0-0.


text:
Lock bootloader with broken USB port
I bought a Xiaomi Mi A2 maybe 10 months from now, and from changing software, or some strange things, I broke the USB port.
The strange thing is that only the "OTG" part got broken. I mean, I still can charge the phone, and use the native USB-C to Micro-Jack convertor, but I cannot use USB-C headphones or correct the phone to my PC.
I sent the phone to the warranty service, but since I had unlocked the bootloader, they didn't cover the charges. It was in christmas, so they didn't even wanted to fix anything, the just sent me the phone back.
But as a developer, I really need USB Debugging, and I bought some nice USB-C headphones, and I can't use them, so I wonder if there's anything I can do to relock the bootloader, and maybe send the phone to them for a repair.
Any ideas? I'd be really pleased. Thanks in advance

Only thing i can think of is maybe it was dropped while being charged and the usb jack is slightly bent inside...
ALWAYS TRY ANOTHER  CONFIRMED WORKING USB CABLE FIRST !

Start Fastboot on the PC
Use wait-for-device or just devices first
fastboot wait-for-device or fastboot devices
You should see "waiting for device"

A worthy mention..
This will require your fastboot commands to be constructed as a script file.  .

write each command in a new text file, line by line
( one command per line )
Save the text document as a .bat file on Windows or a .sh file on linux
Run the script

if .bat ( Double Click )
if .sh ( use command sh -c /path/script.sh )

SCRIPT CONTENTS EXAMPLE
fastboot wait-for-device
fastboot oem lock

Script will vary slightly with linux ( !#sbin/sh)
Fastboot should wait for a connection and then execute the next command ( oem lock )
To Use All Of This ...

Start the script on PC
Plug in the USB to PC but not Device ( important )
Now the tricky part, Slowly plug in the USB cable to the device, try to apply a slight amount of pressure going in a circle to find the sweet spot ( the part where the terminals are touching - the angle that the usb is bent on.. )

Try to find the spot where there's a connection, and watch the script run...
You are trying to hold the USB connection for just long enough to run OEM Lock, Fastboot will wait for the sweet spot ( only just connecting ) and then run OEM Lock after it gets a connection...

P.S you might have turned USB Charge Only - On


text:
How to create a copy of a file immediately when it's created?
I have an Android app that will create a file in /data/ and immediately delete it. I want to know how can I catch this file or create a copy or even disable user permissions to delete a file? I have root access to the device.

You can achieve this using busybox inotifyd. Your kernel must be built with CONFIG_INOTIFY_USER=y for this to work. You can confirm with:
~# zcat /proc/config.gz | grep INOTIFY

Or the existence of /proc/sys/fs/inotify directory. /proc/config.gz may not exist on all devices depending on kernel build configuration.
Let's say /data/data/com.xyz/files/ is the directory you want to watch. Write a script to execute when a file or directory is created in the given directory:
#!/system/bin/sh

# remove first argument: EVENT
shift

# create directiry to backup files
mkdir -p /sdcard/backup/

# copy newly created file/directory
[ -e "$1/$2" ] || exit
cp -av "$1/$2" /sdcard/backup/

Place the script at /data/local/tmp/copy_it.sh and chmod a+x. Now execute:
~# inotifyd /data/local/tmp/copy_it.sh /data/data/com.xyz/files:n

Note :n at the end of line, which is the event that reports that a file/directory is created in watched directory. However watches are not established recursively.
For more complex operations, use inotifywait from inotify-tools as explained here.
RELATED: How to identify the app/process which re-mounts partitions R/W, creates files and changes file permissions?


text:
(MIUI 9.5) got "waiting for wifi" when tried to install apps using mobile data
How to download from Google Play without Wi-Fi setup ? I always got "waiting for wifi" when tried to install apps using mobile data.
Untick download using Wi-Fi doesn't help. BTW, I'm using MIUI 9.5 Chinese stable.

I downloaded then install the latest version of Google Play Store from APKMirror, After the installation, the problem is gone!
However, I still don't know why Playstore couldn't update itself.

Go to Play Store-> Settings -> App Download Preference and select 'Over any network'


text:
How to solve USB debugging error when connecting my mobile with my laptop?
When I connect my mobile phone to my laptop, it is not recognised by Android Studio

It happens because of the problem of software, just go to device manager option in system. Find the software related to USB , just update that software. After that just restart the android studio it will be fixed i hope so.


text:
How to install Split APK as system app?
I have copied it's APK to /system/app, but it crashes after a restart and also tried using Lucky patcher to move to system, but failed.
Android 7.0
Rooted with SuperSU.

Why do you want to use a split apk?

Some apps in playstore are split

Magisk provides a way for this systemlessly. https://android.stackexchange.com/a/208090/96277. I however do not think split apk would work.

It won't work with systemizer


text:
What are .vm files inside /mtklog/audio_dump folder?
When I walk through the system folders of my old Android phone to clean it, I could see that there was a mtklog folder containing an audio_dump folder, itself containing many files in the form VMLog_%Y_%m_%d.vm in the Internal Storage folder.
As the name of the folder suggests that I have to make audio files, I tried to play them as a PCM RAW file, without success. Despite several searches on the file format, I did not find any information.
Someone knows what these files are, if it is possible to read them to know what they are, or just if there is a risk to delete them because I would not like to make the system unstable by deleting them?

Deleting something from Internal Storage (/sdcard) won't make system unstable. Stock apps are habitual creating such type of junk. But if you are curious, you can try strings on those files to take an idea what they contain. Or you can watch the directory to track which and when an app/process writes those files.

Thank you very much for your time and your clear answer. What's is 'Stock apps' please ? I have use strings program with different encoding on .vm file but the files are binary file without usefull strings informations. I have also try 'hexdump' and the only usefull informations is two bytes (probably more) repeated in the file and other bytes also repeated in the files. But with this 'MAGIC header value' I have no found any result on search motors.

Stock apps are those shipped with original ROM (OS) by OEM. Usually there are a lot of bloatware among them. If strings and hexdump don't work, you can watch the directory to find out the culprit process.

A MediaTek SoC based Android phones usually ships with a lot of "MediaTek Apps" that much of the apps has logging turned on by default. Logging is used to debug or in layman's terms "Identify bugs, problem or issues easily" so that it would be ready for production use or "normal user's daily driver".
They didn't turn off logging when the phone ships because maybe they are plain lazy or they "forgot". It has been over a decade that MediaTek phones has this "mtklog" folder.
You can safely delete this folder as it has no use at all for a normal user. It doesn't affect anything in the phone's ecosystem and this option is supposed to only be used in factory or the manufacturer and deleted before a device is sold to normal users.
Technical Information (Advanced users only):
I have seen this folder everywhere when I use a MediaTek device. It takes up a lot of space because I think the logging level is set to "Debug" mode. It usually takes up to 70MB and it is basically useless unless you want to fix an app or the system's services or you want to study the MediaTek environment. Nothing is inside the "mtklog" folder besides "every single move that has been captured" and saved to a log file of an app or service. It might introduce vulberabilities if personal information are logged.


text:
Why is Amazon Shopping app showing 'null' after the product price?
I've heard that if a website or an app appears in a weird way, it means that your device might have been hacked. I have Android 8.1 Oreo, and below is the Amazon Shopping app showing 'null' after the product price.

What is the cause? Is my device hacked or infected with malware?

Looks more like an issue displaying the price...on Amazon's end.

It's working fine on website. Only on app I'm having this issue

Seems like an issue on Amazon's side, I would guess that the app was coded to add a currency symbol like $ or € to the end of the price tag. Since the currency currently used is on the beginning not the end, seems like the app is also searching for something to add to the end, but adds an unset variable instead causing it to display "null". That is my theory tho. On the other side if you are worried about getting malware, use a scanner to scan for malicious apps. But it is unlikely that you got Malware if you haven't downloaded any shady apps from outside sources or sometimes Play Store. There is no known way of bad people simply getting into your phone without running malicious code first, either packed in a "shady" app or using an exploit of another app...

Can a link that doesn't ask for credentials be a phishing link? I was sent a link by one of my friends. It didn't ask for my email and all. But it was a weird side. It wasn't legit I sure. It was something like a contest asking me to roll a wheel to stand a chance to win an iPhone.


text:
Why do the system apps show 0B memory space occupied?
I had noticed in my phone's applications manager, that the size of the system apps are displayed as 0B, which indicates that no memory space is occupied by that particular app.
Please see this screenshot in which the pre-installed Browser app is shown to have occupied no memory space:

But, I know that every app is composed of several files, so no app can have 0B size. But, the size of third-party apps are shown correctly.
Why does this happen ?

Is this the case with other system apps as well?

Yes, all of them. When the system apps are used, they create some data and cache, for which their size becomes a few kilobytes only.

Many system apps have their (original) apk's stored on the system partition, which as it is fixed in size wouldn't really count towards available storage.  Nor are they user removable.  So it doesn't make a lot of sense to show a size for them, when they are not consuming any fungible resources which a user could chose to put to a different use instead.
And if pre-dexed as is typical for things packaged in a system build, they don't need those lookup resolutions against the installed system libraries stored in a runtime-writeable place either, something that is ordinarily a cost of having a latent downloaded or sideloaded app installed.

When the system apps are used, they create some data and cache, for which their size becomes a few kilobytes only

Indeed, that makes sense, files created during use cannot be stored on the system partition, but only on the data or cache partitions, competing with what other apps need to store there.
All of that is not to say that some other configuration might not report this differently, or that some other system apps may consume fungible resources by the time the user can interact with the system, but only that what is being reported is an arguably legitimate representation of reality.

I couldn't understand why the system apps are shown to use 0B space. Is it just because their APK files are stored in the system partition?

That is the simple version, yes.


text:
Coding across the room while walking, possibly using AIDE, TeamViewer, Chromecast, or other mechanism
Why is it that only certain apps can Chromecast to a TV with a Chromecast device? I would like to open AIDE and cast my code onto the television so that I can code on my smartphone as I walk around the room and look at the code on the television. Is it possible to do this? Alternatively, I would like to cast my AIDE code to a laptop or tablet on my desk and let in the keys on my Android smartphone, using it as a keyboard, so that I can type as I walk.
Note, as I code I might only need to view the current line of code on my smartphone and look at the rest of the code on the TV, PC, or tablet, across the room, maybe even sitting down at my desk occasionally.
This way the smartphone is used mainly add an input keyboard for my other devices.
Is there a way to do this?
Thanks.

Yes, you can do it. Recently I had also thought of creating a seamless coding system like you.

May be, this site can help you: https://www.gearbest.com/blog/how-to/use-your-smartphone-as-a-mouse-touchpad-or-keyboard-884

For the screen casting part, read this page: https://www.airmore.com/mirror-android-screen-tv.html

These links are great. If I use the Remote Mouse I will need to also mirror my Windows Vista laptop to my television. Not sure if there's a version of Miracast that will install and work on my Windows Vista PC. That way I could use my Android smartphone for input and see the contents of the screen at a distance on my plain but relatively modern non-Android 1080p TV. Any ideas what i would need for this final step? Thanks.

You can mirror your device screen to a TV/monitor with the Google Home app (uses Chromecast).

The article @PuspamAdak mentioned states the difference between casting and mirroring. If I use my phone for keyboard input I will need to mirror, not cast, my laptop's desktop. AIDE does seem to support Chromecast at the moment, unfortunately.


text:
Moto g4 play is not eligible for bootloader unlock
I have a Moto g4 play bought from Amazon (no ads version) and was attempting to open bootloader by finding the device code and plugging it into the site. It is not eligible for bootloader unlock and I am curious why, and if possible, are there any work-arounds? Thanks in advance!

Is it a full retail version, or an Amazon version? Look in Settings - About Phone and tell us the Software Channel of your device, and I can likely provide an answer to your question.

The software channel is "retus". Thanks for your help!

Actually, that's not what I expected... You will need to contact Motorola then if you want to unlock. There are still no work-around or bypass, unlocking can only be done via official methods.

Thank you! Is that all I need to do? Only call Motorola and request an unlock code?

No, I never said call... The only way they support unlocking issues is via the office forums. Register and go to your device forum, there should be some pinned post about unlocking issues and follow it's instructions. I wish you luck, 95% if people get no response, most because to they don't read and follow the directions. Motorola under Lenovo is kind of a joke in this area, the reality is you probably will never get this unlocked.

Ahh I'll try but I thank you alot for this. I hope this does work!


text:
Notification icon text background has changed
If you see the image for ex the wifi name's background has changed to white. I might have unknowingly changed something, but I don't know how to change it back. This problem is there for other situation also. If you see second image you can get an idea.

This setting is called "Show button shapes" and you can turn it off from the "Settings > Accessibility > Visibility enhancements" menu.


text:
Fixing a kindle fire X43Z60
So I have a Kindle Fire. One day I was stupid and deleted a bunch of stuff in the /system folder. Now, it no longer boots. No ADB, no fastboot, no nothing.
However, it still shows the static boot screen (with the orange 'fire' text.)
It never moves to the animated boot screen.
Can I get it into fastboot without a cable, or can I get into recovery mode?

Without the original Kindle cable you will not be able to get it into fastboot/recovery mode,
If you'd like more information and even some suggestions on what you might like to try next to see if you can rescue this device, head over to xda developers forum on the Kindle Fire
https://forum.xda-developers.com/kindle-fire-hd

Put the device in fast boot mode: Power + Volume up buttons.
Select recovery option, then select safe recovery option.


text:
BBM Android chat lost after Android crash
I've recently been experiencing Android crashes (5.0), and the BBM app seems to be particularly volatile and could be the cause of the crashes.
I had a single contact and chat history with that contact, and both the contact and chat history have disappeared.  If I check the dedicated BBM folder on the device storage, the photos and documents from the chat are still there.
My question is: in BBM, if you delete a contact, will the opposing phone have both the contact and the chat deleted?  Or is this likely to be caused by a data-loss during the Android crash, and if so, where would I usually find chat history in order to investigate?

The problem was caused by the other user having an accident with their phone and losing their BBM contacts, which in turn deletes the chat.  I'm not entirely sure of the process, but they had to re-add me as a contact, and the chat remained lost.


text:
How do I move apps to Micro SD card in Nokia 6.1 (Android One) device?
I got a Nokia 6.1 for my son in an effort to get him out of the Apple world. One of the big advantages for him was the ability to store Netflix videos and large games in his SD card enabling him to expand storage when necessary. However, Nokia 6.1 does not have the option to format the Micro SD card as internal storage.
What other options do I have to move the apps for him?
I don't want to shell out money again for a new phone.

The Nokia 6.1 has a reported issue with using SD card as internal storage,
detailed on the XDA Forum.
To summarise:
The ability to use an sdcard as internal storage is avaiable with build 00WW_3_206_SP01
However, users have found files put on to the sdcard get corrupted at random 4096-byte boundaries.
In terms of options open to you, Google Play does have the instant app, which allows the user to use apps without installing them on the device. This might help in a small way.

Thanks for the link. So, it seems like the phone is not going to meet my primary purpose.

Yeah, shame not.
The Android one is a really decent scheme, the implementation on the nokia seems a bit hit and miss.
For similar money to the 6.1 theres the Xiaomi Mi A2, the second generation Android one device, comes with either
Processor & Memory (Internal Storage)
4GB+64GB / 6GB+128GB
If you sell the Nokia, you'd probably find this worth considering
https://www.mi.com/uk/mi-a2/specs/

Enable developer options by going to "About device", then tap on the build number 7 times. Developer options should now be enabled. Then, in the settings, search for "Force allow apps on external", then you should be able to install apps on your SD card. But you may need to format it as internal storage.
Note: If you format it as internal storage, all data on the SD card will be deleted. If you do this, back up any important data beforehand! Your internal storage will not be affected by this.
To do this, in the settings, go to "Storage", tap on the name of your SD card, then tap on the menu in the right-hand corner, and hit "Storage settings", then hit format.

I tried this based on inputs online. However, this does not work with the phone.

This does not work. Despite using the Developer Options toggle you describe, the card can still only be formatted as Portable Storage.


text:
Copy files from Linux to Android without any OS
I'm trying to install lineage 15.1 on my old Sony Xperia V LT25i, which has had a couple of other OS's since the original. When I started the process I could not access the internal memory at all, neither from the phone itself or from my laptop.
I downloaded the OS zip file and the Open Gapps zip I want and started to follow this tutorial. I managed to run the $ fastboot flash boot boot.img command using sudo but now I need to copy the zip files to the phone memory which no longer has a running OS.
I tried using the adb push command but I get an error saying that the device is unauthorized. Running adb devices confirms this:
List of devices attached
CB5A1MMV58  unauthorized

I then tried to find a way to change it from unauthorized to recovery and found a
YouTube tutorial which is supposed to solve it, however when I put the phone in recovery mode and run the cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys I get this:
adb: error: connect failed: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

I tried running adb kill-server and then running the above command but I still get the same result. As I do not currently have a running OS on the phone I can not enable ADB directly on the phone.
Any ideas on how I can solve this?

You need to use fastboot to flash more of the system first, for example recovery

@ChrisStratton, How do you mean? The boot.img already installed recovery on my phone.

Boot does not necessarily include recovery, it depends on the device.  Clearly you are not in recovery.  What you are talking to with adb is an old system image.

It clearly says recovery on the screen, with the options of reboot, apply update, factory reset and advanced. And it is not the old version of recovery that I had with my previous OS.

That should have been in your question.  Sounds like whatever you flashed is broken and you need to start over with good images.  Or just use fastboit to install all the partition images as developers normally do.  That is literally copying files without an OS - recovery is an OS.

OK. Then the issue is that trying to fastboot the whole zip says won't fit on the partition but I can't find a way to re-partition it. I feel like this could be because the internal memory is split into internal memory and sdcard. Could that be the case?

Of course, you can't fastboot zips, only partition images.  The zipfile may contain them, or it may be intended only to make minor updates, in which case it would not work in your situation anyway.  Most of the key information about your situation is missing.

Let us continue this discussion in chat.


text:
Enabling File-Based Encryption/Direct Boot Android 9 OP3T
I am trying to figure out how to enable file-based encryption on my OnePlus 3T with Android 9 Pie. The developer options from Android 7 Nougat are not present on my phone.
I have a custom ROM (Pixel Experience) installed.
I understand that I will have to wipe my data.
How do I enable the file-based encryption method/Direct Boot?


text:
VPN troubles on Galaxy S8
I have an ipsec/l2tp VPN server setup on a debian box back home, and it works very well. I can use it any time from any where on both my laptop and my ipad. But when it comes to my S8, it doesn't work for some reason. I've deleted and reconfigured it countless times, and I've tried looking through logs with a terminal emulator. It just seems to time out on the connection every time. I've also tried to use other VPN apps to connect to my server and they all have the same issue. What could this be?
Thanks,
Emanuel

Do you connect your S8 and your iPad via Wifi and/or via mobile network?

I use both wifi and LTE on both of them. The ipad doesn't seem to care. My phone works on neither of them.


text:
How to copy apk and data from old device to new device
I purchased an app via Google's play store about a year and half ago.
Basically, I got a new phone, transferred data from my old phone to the new one. The app I'm referring to is there but as the "free version" without unlocked features.
The app isn't available in play store anymore, so I can't purchase it again.
Is there a way to transfer apk and data from the old phone, or am I out of luck?

There is an app called Helium, which sounds like what you're looking for. Supposedly, it moves app and app data between devices, which should include the recognition that you have the premium upgrade. It does, however, require a desktop to complete the transfer. There are other options like oandbackup and Migrate - Requires TWRP, depending on your level of experience and whether you can make certain modifications to both/either phone.

Yes, if you only just want to copy over an .apk, that's certainly possible and shouldn't require root (except for certain settings or user app data that may be saved to a system directory).  The simplest method would be to use a file-browser that also includes an app management function.  These are typically free, and simple to use (I use X-plore).  With this app in particular, there is a function you can enable that will list all applications installed.  Simply navigate on the opposite viewing pane to a device internal storage directory (e.g., /sdcard/documents/), then return to the app manager.

Long-press on the app you want and copy it (not move); this will copy over the .apk file (and automatically appends the version to the filename) and also avoid any permission errors.  From there you can then share it to another device or external/network directory.
EDIT: You can also try searching F-Droid repository to see if the app might be there.
EDIT 2: Oh!  Apologies, I wasn't careful enough with reading the OP, for some reason I thought you were referring to the free version.  In that case, I'd suggest reaching out to the developer directly, as even if you do find a way to transfer it I don't think it would be wise to post such a method up, since others might abuse that knowledge.  For this particular app, it's almost as if they don't want to be found!  I've had some difficulty tracking it down (looked at the Play market archived page, then had a chat with Amazon and found this link as well).  There's two separate e-mails for you to try, good luck!  Oh, and here's a Twitter account.

If the app has been developed "correctly" (according to the Google recommendation) it connects to the PlayStore and checks if it really has been purchased on the current account. It only enables the "purchased" mode if the data received from PlayStore is correct. I don't know what happens if the app has been removed from PlayStore.

Well, after copying the apk from the old phone and installing on the new, I still had the same issue (app was in "free version mode"). I found that the app is available on Amazon, so had to download Amazon App Store and purchase it from there. Didn't want to do that, but I use that app a lot so to me it was worth the hassle. By the way, the app is called PitchLab Pro.


text:
Wakeup Android Oreo Go phone with broken power button
I have an Android Oreo Go/Nokia 1 phone which is fine, except the power on/off button is broken.
Right now, the only way I found to wake it up to type the PIN is either connecting it to a charging cable or removing the battery.
There is no setting under display to activate double tap to wake it up.
Volume buttons are fine, but don´t wake phone.
Until I repair the power button (if at all), how can I wake it?
PS: power button came miraculously back to life (after a day not using the phone). I imagine the question can still be useful for someone else.

Use Power Button to Volume Button. It turns the volume button into the power button. Thumbs up!


text:
Correct TWRP Build for Samsung J7 (SM-J727U)
I have a boot loop issue similar to this post, and would like to try to flash TWRP on to my device with Odin. The TWRP site has four variations of the J7. I'm pretty sure that based on this specs data I have an Exynos processor, which narrows it down to two TWRP options:
1. Samsung Galaxy J7 (2016 Exynos) (j7xelte) TWRP page
This one has a link to XDA that indicates it is only for various SM-J710xx models.
2. Samsung Galaxy J7 Exynos SM-J700 (j7elte) TWRP page
The changelog on that one references exynos7580 which doesn't match the processor number specified on that specs link I found for my phone.
My current recovery screen shows:
Android Recovery
samsung/j7popelteue/j7popelteue
7.0/NRD90M/J727UUEU3ARB1

Does anyone know what the correct TWRP build would be for this model of phone?

Neither. There simply is none for your device (not even unofficial).

I was hoping that wouldn't be the case. Thank you for responding though @andy. Any other methods of getting out of boot loop and recovering data?

here is the solution , this link https://forum.xda-developers.com/galaxy-j7/development/recovery-twrp-3-1-1-x-galaxy-j727p-t3692663 , have the codename as you shown. and you model is not J727U, it is J727P.

My model is J727P? The message from my recovery has 'J727U', and the label under my battery says "Model: SM-J727U"

Thank you for your help @Mukund - what is the codename you are referring to?

@Mukund NO - J727P is the Sprint variant with Qualcomm chips. Won't work like that.


text:
Is a Bluetooth laser Rangefinder seen as a keyboard?
I could not find the information online. There are many laser Rangefinder that comes with Bluetooth and an application. But I wonder if those device are/could be seen like a regular keyboard. I mean getting a distance will send it to the smartphone as if the user had typed it (what most barcode scanner does).
Is it the most common behavior ? Does only some of them do that? Or not any?
I'm working on a webapp and getting dimensions from real world directly into the app would be nice.
Please answer only if you have seen one working. Thx.

You can buy portable laser keyboards that work on this design.

because it has the capability to hold only one devices and it has a good battery talktime(life). Yes,it is a common behavior.

Have you tried one ? Which model ?

i have a samsung one. it also like that.

I try to find a Samsung rangefinder there are none. So I checked your profile. You just appear 2 hours ago and answered lot of question with crap. Please, stop polluting this website, you will earn nothing doing that. Read the questions, and just answer when you are sure it's a proper answer. Thx


text:
How to get rid of duplicates in my telephone agenda?
After installing Skype a week ago, my telephone agenda duplicated a lot of contacts, for many of them I have seven duplicates - therefore eight entries for each contact.
After installing WhatsApp, I had this problem too - many contacts had one duplicate.
But after installing Skype, the telephone agenda is a horrible mess. For each such contact, Skype added five or six more duplicated contacts.
I tried to delete one such duplicated contact and I got the message "This contact is read-only. It can't be deleted, but you can hide it." - and below this message I get the buttons "Hide" and "Delete", but I tried the "Delete" button and it works, so it actually can be deleted! Which is really inconsistent.
So the question is: how can I get rid of all those duplicate contacts? (without having to delete them manually, one by one, of course)
On other phones, you can access WhatsApp from the main contact, it doesn't have to be duplicated in order to send a WhatsApp message from the main telephone contacts list.
My phone is Honor 7s.
The Android version is 8.1.0
I am using the Nova Launcher but it acts the same with the Huawei Home launcher too.

There are several duplicate cleanup apps available. I cannot say how well they work as I never had to revert to them: I use neither Skype nor WA, and rarely give an app other than dialer/SMS access to my contacts…

The Skype duplicating contacts has been an issue for me and searching a solution in Google shows that the problem has existed for about 10 years, why the Skype developers can't resolve this is odd.
To try and reduce the problem then I left sync contacts off in Skype and never synced them, but still had many duplicates of the default phone sim entries i.e. customer services etc.
I've just found a method that has resolved the issue and all duplicates in my contacts (caused by Skype) have now vanished. The solution is to deny Skype access to the phone's contacts, you can still use contacts in Skype and add them there, even use Skype from a phone number link in a text file.
To deny Skype access to the phone's contacts (I'm using Android 10), then go to it's 'App info' page and select 'Permissions', select 'Contacts' and the deny option. I also Force stopped the App, cleared the cache and opened it again, all of which seem to speed-up the process of removing the duplicates.
To be able to update / sync my Skype contacts with the phone's contacts (could still be useful at times), then I'll temporarily allow access to contacts again, use the sync contacts in Skype, once done then disabled it and deny permissions again to avoid the duplicates re-appearing.
I've noticed after trying the above to temporarily sync my Skype contacts is that Skype just shows those contacts to invite and with the option in the address book of calling the number via Skype, all of which can be done directly with Skype and so I'll now leave it in deny access to the phone's contacts.
I had the contact duplicating issue on a previous phone as well running Android 6. In my case the issue is that Skype mainly duplicates contact entries from the phone sim card. I did remove the sim contacts but there are some permanent service entries there and so it had been duplicating those with over 10 entries for each. Great to see that the duplication has now stopped after denying Skype access to the contacts as per the details above.

in the contacts app, untick the "whatsapp, skype, etc.." from the "contacts to display" options, select "customize" and done!

Thanks but I don't have such options in the contacts app. In fact, on the Honor 7s phone I don't even have any options in the contacts app. I checked on a Galaxy A5 (2017) phone and it has an options menu (hamburger button) but it doesn't contain such options. What contacts app are you using? Can you show a screenshot with those two options please?


text:
How to stop embarassing images showing on my phone's screen when I try to tweet?
I have downloaded some images of an adult nature onto my phone. My problem is, they show up as preview images whenever I try to compose a new tweet in the official Twitter app. I can't find any setting to turn this behaviour off.

Your best bet is probably to use an app like Keep Safe to hide "adult" photos/files. This keeps other apps from being able to see/interact with them, so they won't show up in the preview section of any apps.

Create an empty file with the name "".nomedia" in that folder and new previews will be generated.


text:
Illegal option -o pipefail
I'm using termux and a git project to compile a git android apk source code the code is in bash command when i run the following command it says illegal option -o pipefail.

You're using the fast shell interpreter, sh, while apparently, as the file name suggests, that it's made for Bash. (In fact, set -o pipefail is a Bash-specific option).
To run that script properly, use bash as the "launcher":
bash buildOne.bash


text:
Android Whatsapp constantly notifying about web login
I tried Whatsapp web using chrome browser in Windows and it works great. But, I don't like my android app notifying often that 'there was an active web login'. I am using Samsung A7 and my other friend uses Oneplus. He says he don't get any notifications regarding whatsapp web. I believe it could be a settings issue but not able to figure it. Any idea?
We both are using Oreo.
Note: I am new to Android ecosystem

Android does give you the ability to configure the notifications you receive,
There is a nice guide on the whatsApp FAQ section of their website https://faq.whatsapp.com/en/android/26000003/.
Summary:
There are 2 areas that you can alter notification settings
1. Navigate to your phone's Settings app > Apps & notifications > WhatsApp > App notifications. Adjust settings here to your desired requirements.

Open WhatsApp > tap More options  > Settings > Notifications. Here you can set notifications for messages, groups, and calls