text:
How do I install Cyanogenmod on my LG L65 Using a Linux PC?
I don't know if my device is supported, or how I install Cyanogen mod with a Linux PC (Kubuntu 14.04)
Edit1:
One year has passed now, and im wondering if this is possible now, with the same phone (LG L65). Using Kubuntu 15.10 now.

I just did it "using Linux". I followed this tutorial that is an English translation from this tutorial in Polish.
In fact, what I realized is that all commands I would use in a Linux machine I can use directly in a terminal in the rooted phone. So I used Linux to put all files in the SD card, and then used the terminal in the phone to mod it.
The steps I followed were:

Root the phone
Install BusyBox and a terminal emulator (not sure the BusyBox is needed, but I've installed it anyway because it was in the tutorial)
Copied all files to the SD card (aboot.img, TWRP recovery, CM, gapps, etc)
Used the terminal emulator in the phone to run the "dd" commands. It is annoying to type everything, and I checked the "if" and "of" paths several times before entering the command. The contents of the SD card were found in /storage/external_SD/.
To reboot into recovery mode I used "reboot recovery". This took me to TWRP recovery.
There I made the backup of System, Data and Boot to my SD card
Then I wiped Dlavik Cache, System and Data
Then I installed CM, and GApps. In my case I installed the Pico version of GApps, since the LG L65 doesn't have lots of internal memory.

A tip if you're new to modding like I am: the things you want to install should be copied to the SD card in their zip files. The first time I extracted them to the SD and then I couldn't install after wiping out the phone. Then I had to recover the system from the backup to be able to copy the compressed file to my SD card.
Hope it helps!

Seems like there's no support at the moment, the L65 is not not listed on CyanogenMod's LG supported devices section.

Will the windows installer warn me if it isnt supported?

Very likely, yes. Reason: Each device need it's own (different) ClockworkModRecovery (CWM) and CyanogenMod firmware build. The installer therefore needs to exactly detect the phone model and look up if there's support for it. While I haven't tested this (don't have a Windows PC) nothing else makes sense to me.

Hey @ce4 , a year has passed now, could it be possible now?


text:
Third Party Apps cant get wifi SSID
This is the my first time asking in this SE site.
I have a Xiaomi Redmi 6 Pro running MIUI custom from Xiaomi.eu.
The problem is that in every app (third party apps) that uses Wifi, the SSID is not shown.
It may look like nothing but I have problems with many DashCam apps that don't even connect.
I know I must open an issue to the site where I got the ROM, but I don't know if its directly related to the ROM modification or is a permission that needs to be fixed. I tried to wipe completely my phone but nothing. Even after several updates, same problem. This started when I got Android P.

What you are seeing is most likely the result of an update to the Android SDK that app developers haven't addressed.
Starting in Android P, there were changes to the way apps can retrieve WiFi information.
See: https://developer.android.com/about/versions/pie/android-9.0-changes-all

Similar restrictions also apply to the getConnectionInfo() method,
  which returns a WifiInfo object describing the current Wi-Fi
  connection. You can only use this object's methods to retrieve SSID
  and BSSID values if the calling app has the following permissions:

ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION
ACCESS_WIFI_STATE

Retrieving the SSID or BSSID also requires location services to be
  enabled on the device (under Settings > Location).

In your device settings, double check to make sure the apps in question are granted location permissions.  You can also go into app permissions and select "All Permissions" to view exactly what the app requests.
If you don't see the above permissions, plus location permission, then probably the app developer needs to issue an update to their app.  Don't be afraid to contact them through their support channels and inquiry about updates - sometimes they are fairly responsive.

This was all I needed to know, thanks

source: Stack Exchange

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

sort: votes


text:
Id3 Tags not properly recognised
I have so far tried a number of applications to listen to music on my Android phone, and I'm for now settled with Google's Play Music. However, it has the same issue of every other app I've tried. Let me try to explain with a real issue: I've got Anouk's Together Alone album. All the songs have the same album tags. However, Play Music likes to show 2+7 songs (9 songs in album) as 2 different albums, as seen in the below screenshot. How do I fix that?

If all apps have the same 'issue' then I'd guess that it's actually the ID3 tags that are the problem. They might look the same but any difference will be detected as a different album. Try editing the tags and make sure they are exactly the same.

I've  tried doing that a number of times to no avail.

The only fix I know is to delete the tags from both albums and then re-tag the songs from the two albums. Unfortunately that will need to happen manually.

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

authors: Андрей Зосимов


text:
Push notification over my phone dosen't work in my home only
I have an android phone that doesn't notify me with any events and or updates whatever it is in my home only. while when I use the "Data Connection" over 3G or when I use any open WiFi it notify me simply with no problem at all.
I thought it is a modem Issue. my modem is a Dlink modem and I tried to restart it but still facing this problem
Any Idea will be so greatfull.
Edited Information:
My phone is Infinix zero 2 running Android 4.4.2

Might be an issue with your WiFi router, more specifically ports blocked/firewall. Though I've never experienced that, and I didn't open any ports for that specifically. Are you using any firewall app or permission manager on your device?

@beeshyams I have just edited my question with the mobile model and android version

@Izzy I am sure it is an issue with my WiFi router, but I don't know what is the problem is? and how to solve it.and no I am not using any firewall nor any permission manager on my device.

To further narrow it down: Can you find out if it's only happening with your WiFi – do you have a chance to try it in some other WiFi at a friends/relatives house? Also, any chance to access the router's logs?

@Izzy its only happening with my WiFi . it notify me with other WiFi with no problem at all. But of course i cant access any others router log, except mine of course.

OK, in that case it's not related to Android, but rather a "networking issue" related to your router. And of course you only need the log from the router "breaking it".

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


text:
After upgrading to Android 6.0.1 (Marshmallow), can't send or receive SMS texts?
After upgrading to Android 6.0.1 (Marshmallow), I can't send or receive SMS texts.
I'm on a Galaxy S6 on Verizon. I tried rebooting in Safe Mode, disabling Google Hangouts, uninstalling Mighty Text, with no change in status. I used Samsung Messages, Google Messenger, all with no results. I don't have permission to edit my Access Point Names.
Help?

I had the same problem. I fixed it by doing this:
Go to Settings -> Privacy and Safety -> App permissions -> SMS
Turn off the Messages app and turn it back on.

Unfortunately I had to factory reset my phone in the meantime, so have been unable to check if the above worked! Shoot.

Settings>Privacy and Safety> App permissions> SMS> more (top right corner)> Show system> and finally turn on Message service. Helped for me. ;)

I Found the problem on my phone, uninstall all other messaging apps like (whats app,Telegram, imo , Facebook messenger ... ) then your phone starts to work, mine was Telegram app that cause the problem .

authors: Максим Федотов


text:
Last 10 days missing after I transferred WhatsApp messages to new phone
I've tried to transfer all my Whatsapp messages from an old Android phone to a new Android phone. I followed all the instructions at Whatsapp's website and previously on Stackoverflow, but am missing the last 10 days of messages in my phone. I've redone the process twice, but have had no luck.
Interestingly, the backups on my old phone grow larger for the first 4 days of backups, but then get smaller in the last two days. But this might just be because they changed from .crypt7 files in the first four days to .crypt8 files for the last two days.
Are there tools available to import specific .crypt* files, or to merge archived backups?

The first couple times I had tried to .zip the folder, share it on Google Drive, and unzip it on the new phone and import it. I finally got it to work by copying the folder through the SD Card and transferring the SD card between phones. Not sure if it was dumb luck or if something was corrupted in the zipping process!

I have just got this very same problem here and got it solved. Here is how I did it:
I got my previous phone that still had all messages on it and did a new backup on WhatsApp settings. Unistall WhatsApp on your new phone and remove the WhatsApp folder from it. After that, copy the whole WhatsApp folder to SD card and transferred to the new phone.
Here comes the difference: I deleted all the last backups from the copy I just made and left only the last one. Now I have only these two files on the database folder: msgstore-2014-12-26.1.db.crypt8 and msgstore.db.crypt8
Now copy the folder back to internal memory and install WhatsApp again.
To simplify: I just deleted the previous backups and kept the last one I just made and made the default message restoration process again

For those of you, who the other answers does not work for, here is how it worked for me:
In addition to deleting the older message.db.crypt files as described by Arthur, I also deleted the latest "date" file so that only one file (message.db.crypt8) was left.
Having those files in the sdcard/WhatsApp folder I (re)installed WhatsApp. Hope this helps.

This is what worked for me, leaving a backup "confused" Whatsapp


text:
usb to ethernet driver installation
I am following this thread to enable my samsung android phone to do usb to ethernet communication
http://forum.xda-developers.com/showthread.php?t=2039886
I copied the smsc75xx.ko generated by the user Brandi into system/lib/modules folder. But when i tried to do insmod or modprobe to load the driver, this is what i get
root@android:/system/lib/modules # insmod smsc75xx.ko
insmod: can't insert 'smsc75xx.ko': invalid module format
uname -r returns the following kernel version
3.0.8-perf-T769UVLH5-CL990184
Can you please help me compile for this kernel version? or suggest alternative paths to solve this issue.
I am completely new to android world and would appreciate step by step instructions with examples.
Best Regards,

your link is invalid. there are "...." in the url and results in a 404.

See my answers to: Is it possible to add a driver to my kernel without flashing a new kernel? and where kernel modules are installed?

You are trying to load a kernel module (noticeable at the .ko extension) as a software module (typically .jar or .so) Those .ko modules have to be compiled together with the kernel. You can't load them with a command, they have to be loaded by the kernel. If your kernel supports that module, then copying and rebooting is enough and the module should load and run. If it doesn't do so then you need a custom kernel with that module already built in.

Any idea where do i find the source code for kernel 3.0.8-perf-T769UVLH5-CL990184 and the steps needed to compile the source code against this kernel.Thanks for your reply.

If the device manufacturer himself hasn't published the sources or you can't find them, then there might be a custom kernel on xda-developers for your device with sources on eg. GitHub. If you're lucky then there might also be a tutorial on how to compile a custom kernel for your device. I don't own that device and also never tried to compile a custom kernel so you may want to ask some users on xda about that module.

where can i find the tool chain for this kernel 3.0.8-perf-T769UVLH5-CL990184 ?

This guide may help you out to build and compile your own kernel as I don't know what device you are searching the sources for: http://forum.xda-developers.com/showthread.php?t=2152819

Hi GiantTree. Here is the device information. samsung galaxy S blaze-4g sgh-t769,
android version = 4.04,
Basedband version = T769UVMB1,
Kernel version=3.0.8-perf-T769ULVH5-CL990184

Browse to Samsungs Opensource website and search for your device (model no.). I did this already for you so go here: http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=sgh-t769 and download the ICS file SGH-T769_NA_TMB_ICS_Opensource.zip, agree to their conditions and work with the source. I don't actually know if the kernel is included but it should as far as I know.

No problem, I'm here to help people who don't have a clue on how to move on.

I think your answer needs some corrections: "modules have to be compiled together with the kernel". That's the recommended way but may work otherwise too. "You can't load them with a command, they have to be loaded by the kernel. If your kernel supports that module, then copying and rebooting is enough and the module should load and run.". Modules are loaded with a command from userspace. Kernel doesn't load them automatically.

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


text:
Why can't install 15MB app when I have 180MB free?
I want to install an app from Google Play, where it's said it has 14.99MB.
However, when I click on Install, it says "Insufficient storage".
When I click View Storage, there says 180MB available.
Why can't I just download it to the SD Card?
As I see, this has been a persistent error, though in other posts people are talking about 15 MB of free space. I got more than 10 times that, so isn't it strange?
Also, the Storage screen don't show the available space as part of the bar "Device Memory", above. Does that happens with anyone else?
I'm using a Sony Xperia.
Thanks in advance.

Please take a look into our insufficient-memory tag-wiki, most of your questions are already answered there. And no, it's never 15MB free – it's at least 25MB free and more likely 10% (don't blame me, I didn't make that rule).

Thanks. What I meant is that, in the other posts I saw, people were complaining for having far less free memory than I have, and they couldn't install a small app (< 1MB in their case).

Yes, I know. This issue is asked about here almost once a day. See the "Related" section next to your question for examples, or click the insufficient-memory tag below your question (364 posts – and not all questions about this issue used this tag, so it's definitely more).

Give us the output (screenshots) of Diskinfo. Mention the exact name of Android model and Android version.

Diskinfo: 875KB on my device. Device memory available: 194MB. SD Card: 7.96GB available. It says there's no room to install Diskinfo! Android sucks, that's all! Android version is 4.4.2. What do you mean with Android model? Don't you actually mean the device model? It's a Sony Xperia E1 D2104.


text:
Is this the right way to use dd for a full backup?
Sadly my device (sm-g3185) isn't supported by either CWM or NANDbackup, so I am trying to do a backup manually. I found this thread which tells me to open a terminal (I'm on Arch Linux) and run:
adb forward tcp:5555 tcp:5555
adb shell
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0

And then open another terminal and run:
adb forward tcp:5555 tcp:5555
cd /path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw

I did all this and it seems to be working. However, there was a delay of a few seconds between launching the dd command in terminal1 and the nc command in terminal2.
Can I trust the backup I created in this way? Doesn't this mean that I've lost some of the output of dd? Shouldn't these be run concurrently or, at least, shouldn't the nc command be started before the dd one?

Can I trust the backup I created in this way?

Yes, of course! This is the most accurate backup method.
Data integrity can be verified by comparing the outputs of running md5sum(1) on both the /dev/block/mmcblk0 volume on your device and the mmcblk0.raw disk image on your computer.
Additionally, you can use parted(8) to list all the partitions on the backup file:
parted /path/backup/mmcblk0.raw print

There you will find your system and userdata partitions, among many others containing bootloaders, firmware and recovery images.

There was a delay of a few seconds between launching the dd command on the device and the nc on the host computer. Doesn't this mean that I've lost some of the output of dd?
Shouldn't these be run concurrently or, at least, shouldn't the nc command be started before the dd one?

Don't worry! When you run nc -l, it will listen for an inbound connection, blocking the pipe and keeping dd from sending data until you establish the connection from your computer.

Note: you don't need to run adb forward tcp:5555 tcp:5555 twice.
Warning
Most of the modern devices encrypt all your data. Make sure that you can decrypt the backup file and access your data before erasing the phone.

I let it run and after it finished, dd reported:
7818182656 bytes (7.3GB) copied, 1245.237601 seconds, 6.0MB/s

And ls -l mmcblk0.raw on my computer shows:
-rw-r--r-- 1 terdon terdon 7818182656 Nov 10 14:45 mmcblk0.raw

Since the file is the right size, presumably the backup was successful.

I am still interested in an answer that explain why that worked so I won't accept this for a while. Is there some sort of buffering going on here? How does it work exactly?

is the .raw the same as a .img?

@Alexis yes, the extension is irrelevant, I just chose .raw.

did it end up working for you?  Could you check out my question http://android.stackexchange.com/questions/129330/create-burnable-image-of-android?

@Alexis yes, it worked fine for me. At least, it created a file of the right size which is a good indication. Presumably, the dd output was buffered which is why nothing was lost. As for your question, please edit it and explain what you are trying to do.

Here's the output of busybox nc -h from the Kindle Fire HDX I'm working on:
BusyBox v1.20.2 (2013-01-21 11:34:41 CET) multi-call binary.

Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]

Open a pipe to IP:PORT or FILE

        -e PROG Run PROG after connect
        -l      Listen mode, for inbound connects
                (use -l twice with -e for persistent server)
        -p PORT Local port
        -w SEC  Timeout for connect
        -i SEC  Delay interval for lines sent
        -f FILE Use file (ala /dev/ttyS0) instead of network

So, the entire image is received because netcat waits for the connection to be established before running busybox dd if=/dev/block/mmcblk0, that connection being established by nc 127.0.0.1 5555 in the second terminal window.


text:
Uber Driver is crashing (not even start) on Android 8.1
I bought a new phone because my older was so old that Uber Driver was too slow, couldn't even use a different map service (like Google Maps or Waze). Bought a Redmi 6 (International Version), with Android 8.1.0 and MIUI Global 10.0.
So I installed Uber Driver, and to my surprise it crashed every time after the second screen of "what's new". I uninstalled it, and now after some two months I tried again. The problem persists. The first screens with instructions worked fine the first time (though the loud voice can't be turned off or lowered -- and the device volume is muted!). After these screens, came the "what's new" screens, and it crashed in the second. Now it just crashes before these screens, every time I try to open the app. The system is up to date. What can I do?
EDIT
Following @trishmapow comments, I managed to use adb logcat to create a log. The log file has 540 kB, and registered every information since the device was last turned on (I thought it would only register from the moment the command was issued). Should I upload this whole log somewhere? Should I extract only lines with some word in them?

Please share output of logcat.

This question might be better directed at the development team of the app... They'll have a much quicker solution than possibly modifying your device for compatibility.... Even if you change some settings ( most likely manually enabling permissions for the app in settings ) and everything works, I'm certain that such a large company would like to know of incompatibility problems especially a full crash, It'd be extremely helpful for them to supply the logcat and your specific device model... They can't test an app on every device in the world, so it'd be great to help them out with your test.

@trishmapow Thank you, I'm trying. No success yet, though.

@Zillinium I've sent an email to the address given here. Soon after I got the reply "We're sorry. You’ve contacted an address that does not accept incoming email (...) Please submit your request by tapping “Help” in the Uber app [impossible!] or by visiting help.uber.com from a web browser. There you’ll find answers to frequently asked questions and have the option to submit a support request." This last option, however, is nowhere to be seen. Great, huh? I'll try calling them tomorrow. Thank you!

Have you tried to enable the permissions using the system app ? ... I've seen many apps crash on 8.1 because of the way it handles permissions, usually the developer needs to implement the new permission system to ask for permission acceptance... If it's designed for or targeted toward older model 5.1 for example, it doesn't need to ask for permission acceptance.... The workaround is to manually enable the permissions using the settings app, then try opening it again ( sometimes clear data and then reopen it ) ... My guess is that after the What's New screen, the app is requesting GPS Perm's

The Setting you seek is probably under About the phone and then "System" (one step missing in that guide). 2) Thought about reporting that to the developers? They are much more likely able to help you than we are. 3) I second what @Zillinium just wrote: Had another app crashing a while ago because some access was not granted. So also check if you use some other protection app (like XPrivacyLua in my case). The guess with location permission sounds reasonable (and if it's that, the devs were sloppy and forgot to handle that exception).

@Izzy There's no "System" in mine. There's only "System update". I'll try the permissions thing, thank you both.

@Rodrigo look for something along the lines, like "Software information".

@Izzy On Redmi it's MIUI Version, not Build number.

Right! Just wanted to correct that (was answered on another question today). So glad you found it already yourself! Those manufacturer-specific adjustments make it really hard to help people (similar issues with Samsung)…

@Izzy Log created, now what? Please see my last edit. I'm also in contact with the developers.

Huh? It was @trishmapow who asked for it. I just chimed in for enabling USB debugging :) But I'd say put it on some pastebin and then [edit] your question with a link to it. You might wish to check the log yourself before that and "sanitize" it (replace personal details).

@Izzy Yes sure. But 4k+ lines? I wouldn't know what should I remove from them. Btw, Uber answered "we're working on the problem", though there's at least two months the problem exists, and they totally ignored when I said (three times!) I had a log. I think I'll just give up from Uber...

If they already admitted to know the problem, that it's theirs and they need to work to fix it, I guess you've got to wait for their update. Afraid there's nothing we can do to make it compatible.


text:
How to create manually create my own ᴏᴛᴀ update file to be used for adb sideload?
In my case, I don’t want to permanently root my own device and if possible, I want to modify the /data partition directly.
In order to do so, I want to add a single file to the /system partition or even apply capabilities on a single executable. That means no apk ; no new apps ; no bootloader changes.
But everything I found for creating my own ota for rooting explains how to use adb to apply it, not how to build such a file myself. Or suppose that I’m building for a firmware I designed myself for which I have the signing keys (whereas the aim is to do it for stock Samsung).
So how to create my own file‑based (with the aim to modify file permissions to existing files) ota zip file which can be installed through adb sideload on all devices as SuperSu does ?

If you you are targeting a stock rom and you know that the requirement is that you have access to the signing keys the system was signed with (which you don't have) why do you ask here? What do you expect from us if the task is impossible?

@Robert with oem unlocking, signing is only relevant for building the package. I want to create the same kind of package as SuperSu (The version of superSu which you can install as an ᴏᴛᴀ update).

I would consider OEM unlocking as a bootloader modification as it changes the bootloader configuration.

@Robert with samsung galaxy tab S3, this is something which is done from System Settings not related to the warrent or Safety Net.

Usually in system settings you can only allow OEM unlocking. The actual unlocking process has to be started by certain commands sent to the bootloader afterwards.

@Robert in that case this is the only thing to be done as nothing else is required.

Are you really sure? That would violate security requirements by Google as it would allow to unlock a bootloader without deleting the user data. If this is true it would be another reason to never by a Samsung device.

@Robert I just changed my device to the stock firmware of another region this afternoon that way. But with Samsung, you don’t have things like Gmail becoming the only way to use other e‑mail ɪᴍᴀᴘ boxes (but I don’t know how to modify it).

Hello @user2284570. Please mention what kind of OTA you  are targeting? Whether flashable through a recovery or via a system app (as is the case in A/B partitions supported devices)? Second, do explicitly mention whether your device has custom recovery or not, because stock recovery wouldn't permit non-OEM payload to be flashed. Third, you need to start from basics. OTA updates flashable via recovery mode are nothing more any other recovery flashable ZIP files. So start learning how to make a recovery flashable zip and then learn to modify it gradually to suit your needs.

@Firelord I said stock adb sideload. The ᴀᴅʙ command. I said this is for rooting so it implies plain stock firmware. In the SuperSu package, I saw there are hash xml files and signatures. I don’t understand the format but it seems dedicated to ᴏᴛᴀ.

I guess you misunderstood my words or I didn't write clearly. Let me try again. I know what adb sideload XYZ.zip does. It sideloads a ZIP. The commans works on both stock recovery and custom recoveries. The ZIPs that can be sideloaded can be done using both custom and stock recoveries. But that wasn't my question so I am not getting why you replied that as an answer.

@user2284570 sir you have some gross misunderstanding with the working of bootloader and OTA updates as other experienced members are suggesting. There exists no such SuperSU .zip file which can be flashed to all devices with locked bootloaders and which also modifies /system partition without breaking dm-verity or any other security mechanisms based on signing keys. Official block-based OTA updates are binary patches created from the difference of old and new signed system.img, vendor.img etc. Or is your device older than Lollipop which does file-OTAs without supporting dm-verity?

@IrfanLatif I was talking about that file. Though me I want something lighter ; I don’t want to get root through adding any files but to setcap existing executables.

@user2284570 alright. So where is it documented or how did you get the notion that this CF Auto Root flashable zip modifies files in /system without unlocking bootloader or without damaging dm-verity? // Secondly by setting file capabilities what's the final thing you want to achieve? XY problem can only be avoided by stating the actual problem.

@IrfanLatif I don’t understand you myself at that point. For raw flashing Samsung doesn’t use fastboot but Odin or Heimdall (Heimdall being the opensource clone of Odin which doesn’t have the restriction of erasing UserData after successful flash). This how oem unlocking is enough to modify /system since you flash directly straight after reboot and without root. The zip file isn’t realted with ᴄꜰ auto root and is to be loaded through adb sideload.

and this zip does pass sideload on your s3? on mine it doesn't

@user2284570 instead of blindly arguing and paying no heed to what others are saying, it'd be better if you open that zip file and see its contents, particularly what the update-binary shell script does. It's exactly the same zip file (even hashes are same) still available at CF-Root's official website: https://download.chainfire.eu/1013/SuperSU/SR4-SuperSU-v2.78-SR4-20161115184928.zip though the project was superseded by https://desktop.firmware.mobi back in 2017. And that too along with its sister SuperSU is almost an abandoned project. So please stop playing puzzles and do some research.

You can't create or modify OTA zip without the proper OEM signing key. However, there exist holes in older devices like Samsung Galaxy Y which allow flashing unofficial zip with test keys, but these kind of hacks are outdated (source)
if you want to create OTA zip you need update-binary for your device and write updater-script in EDIFY language
you can also replace update-binary with shell script which makes things easier and device independent
learn how to sign your zip (scroll down to Zip Signing)

Doesn’t seems realistic… How does SuperSu is able to produce an ᴏᴛᴀ update which can be installed over all devices through ᴀᴅʙ sideload ?

And I suppose that leaked key isn’t public ? I mean not available for the general public to sign their own ᴏᴛᴀ ?

The problem remains on how to build such file‑based zip packages. How to get the difference file to compare with ?


text:
How to pick up the smallest distance for car?
I’m in a situation where even with forbidding motorway I’m ending up with a 110 Km deviation to the north or the south for driving straight to the east.
I want the shortest path in Km even if takes way longer and burn more fuel (fuel economic routes also have such high deviation).
The best way to achieve this is to configure for pedestrian mode (I checked in that case the route is almost a straight line instead of a curve with car mode whatever the guiding software). The problem is I’m not find taking stairs with the car.
So how to get the shortest path which excludes roads where cars can’t go through ?

Dirt roads need to be in the map provider's database as a routable path else you are stuck to workarounds as you've described. Have you checked if the map provider can provide bicycle directions?

@MorrisonChang yes it can. The system can also use uses dirt roads in car mode provided it’s allowed to drive on them. The problem is it simply compute a route with a huge deviation even in fuel econmic mode instead.

@MorrisonChang because car mode always uses roads with regular speed in fuel economic mode or the highest speed if configured for the fastest route. Dirt roads, as well as roads with a lot of curve and paths through cities are used only as fallback.

Not sure how you are expecting an answer when you don't specify what map providers (Google, Here, OpenStreetMaps, TomTom, etc) you are using/tried or the area/region/country you are trying to navigate through in case a different map provider can give what you are looking for.

@MorrisonChang I don’t care about the map provider. If something works on Openstreetmap then I’ll switch to Openstreetmap.

Then at least list the country you are trying to navigate through, preferably with an example (image or drawing) of what you are seeing with xyz map provider and what you want to see.

@MorrisonChang France. But I don t see how this is related since all services I found only propose the fastest route. The description of the exact case can t be translated in English.


text:
How does carriers blocks Internet connections on phone…
I just changed my ISP, and whatever the tethering method (usb or Wi‑Fi or bluethooth) I’m using, I’m redirected to a captive portal of my carrier on my PC web browser’s stating that I’m not allowed to use my connection for tethering (everything from DNS to ping is blocked).
But when I use ʟᴛᴇ from my phone, everythings works fine…
I thought tethering works like setting up a router… How does my carrier can detect the data comes from my laptop instead of my phone ? Does rooting the phone would allows to bypass this restriction.

I didn’t installed any software from my ɪꜱᴘ. And tethering is working through the native capability of the android system.

Do realize that the data transmitted between the device and the carrier contains device identification info such as user agent - without spoofing carriers could easily catch that and respond to all illegal packages with a STOP page like what you saw.

Network operators have deep packet inspection firewalls which can guess the type of a system a request was made with. Typical PS OS additionally identify themself e.g. through the calls "home" (checking for updates...).

@Robert : DPI is illegal in my country (or at least when operated by private entities). So this isn’t that.

@AndyYan I do realize that dns requests and ping don’t have something like ʜᴛᴛᴘ user agents… So you’re completely missing the point. I finally solved the problem through changing my carrier generated ᴀᴘɴ settings at random (however internet does no longer works on the phone but at least I can perform Bluetooth reverse tethering after usb tethering).

True, my bad for omitting that part. That solution doesn't look ideal though... I know that flashing custom ROMs or even just replacing/removing certain parts of the stock ROM could eliminate the tethering restriction, but since you're asking how the restriction is done I have nothing more to show. (wrote a comment instead of an answer)

@AndyYan you can still upvote.

Does this answer your question? How can phone companies detect tethering (incl. Wifi hotspot)


text:
How to temporarily spoof ᴍᴀᴄ address without root?
There are many claims that it’s possible to change Wi‑Fi ᴍᴀᴄ address temporarily, but each time there’s a permission error when running one of the commands.
How to temporarily change ᴍᴀᴄ address without rooting the phone ?

Afraid that's not possible. All solutions I've ever heard of require root access. Can you link to some of those "many claims"? And were those just "empty claims" or are some of them backed?

@Izzy https://www.techpluto.com/how-to-temporarily-change-android-mac-address-without-rooting/ https://geekeasier.com/change-mac-address-in-android-devices-without-root/4792/ https://itechhacks.com/how-to-change-mac-address-android/ https://techprobsolution.blogspot.com/2016/09/how-to-change-android-mac-address_6.html. Typically, the explanation is the change is lost after reboot and that rooting is only required for making the change automatic on boot.

Well, the first article includes a description of how to do it. But I never saw any of the "apps available" it speaks of (all apps to change the MAC I saw explicitly mention requiring root). The other articles also describe the steps. As those articles are dated 2016 and before, my guess would be that Android 8 (and maybe even 7) made that impossible.

@Izzy I would even say I never got those steps working on kitkat. Those links are just claims.

if you were in a Mediatek Device, you could spoof mac address using MTK Engineering mode without root. Dialing ##3646633##* on the dialpad will take you to Engineermode. From there, naviagting to wifi and then changing the Wifi mac address is easy. I remember there was an app on Google Play named Samsung engineer mode or something like that, but that was quite a while back. Don't know if the app is still functional

MAC address is always spoofed temporarily since it's a read-only number burned-in hardware and a part of it uniquely identifies the manufacturer. However many network interfaces allow setting a spoofed address. In order to make the change permanent the overriding process has to be repeated on every boot.
Secondly, configuring network interfaces requires at least Linux capability NET_ADMIN if not whole root. So, as you have observed, it's not possible to change MAC address or IP address or do other similar network configurations without the said capability or complete root access.

For Android 10 and above randomized MAC address feature is available in Wifi settings of Settings app.
I have a Note 20 with Android 12 and this is how to randomize MAC address for a specific Wifi:

Go to Settings
Press on Connections
Long press on Wifi
Press the Gear on the selected Wifi Network
Press on View More
Scroll Up
Press MAC address type
Press Randomised MAC

And what about below 10?

@user2284570 - 4 years later, it is expected that you probably do not need an answer now.  Instead this is an updated answer for newer technologies.  Otherwise this question has no value to future visitors. Others answer address it for <10.  You may not like them, but they are what they are.

You need root to execute kernel commands to set non-default hardware addresses.
The MAC address can be spoofed with root, because you can force the kernel to mis-identify a network card.

I said without rooting.


text:
How to send an encrypted s/mime e‑mail?
Simple question, but I couldn’t find the answer anywhere…
I need to send encrypted e‑mails through using s/mime (talking about security, even most of metadata should be unknown). The problem is I’m not part of Google app organization (and I don’t need it since it’s not free).
How do I configure Gmail or the Samsung e-mail app to use the CA trusted certificate (which only contains public key) I installed on the device for sending enciphered e‑mails through s/mime ?
I also need to manually select the certificate which will be used for encryption (The company generate the paid certificate for me so it match my e-mail address and not company one).

You can't just configure an app to use S/MIME - it has to support it. Neither GMail nor the default Mail app support S/MIME AFAIK. Have you checked R2Mail2 and MailDroid?

@Robert yes I did. At that point, I wouldn’t mind about using the web interface, but I need to use my Gmail address for sending the messages. I heard the Google app for works supports encryption along acknowledgements but not with a Gmail address ending with gmail.com.

@Robert I also need to sign at the same time.

I am sorry I am giving up. Your question is still unclear. Have you set-up the Email client correctly to use use your S/MIME certificate - at least signing should be possible. If it not, you don't have to start trying to send encrypted mails.

@Robert no, simple I have a trusted cert matching my.email@gmail.com. But I have no public keys for department@company.com (but company.com has private key of certificate matching my.email@gmail.com). Most email client selects certificates automatically according to recipient, which mean they (softwares) try to find a public certificate for department@company.com, but since there’s no certificate verified for department@company.com, the e mail client refuses to encrypt the message and sending fails. What I need is to be able to manually select the certificate matching my.email@gmail.com.

@Robert It’s that simple ! Do you understand now ?

@Robert It’s that simple ! Is it clear ?

For the Samsung email app (on my Galaxy Tab A anyway) you need the following
▪An exchange activesync account - for some reason s/mime is not enabled for any other email type
▪Your public and private keys for your exchange account as a PKCS#12 cert uploaded to your tablet already or in your download directory ( root/sdcard/Download directory ) ready for import.
Go to the email settings > exchange account > security options screen and select the encryption certificate option then import. It should show you the PKCS#12 file and let you select it, enter any needed password and import it to your keystore with a friendly name of your choice. Repeat for the signing key - typicallly this is the same PKCS#12 file.
Set it to sign all outgoing mail if you wish - that'll help distribute your public key and maybe raises peoples awareness of s/mime.
It's probably not worth encrypting all outgoing messages by default as you'll get a warning for each recipient that you don't have their public key.
Send yourself test signed and then encrypted emails to prove this is working - preferably using a second device to test thoroughly. The three-dot menu on the send email will let you pick security options to sign and encrypt for individual messges.
The next stage is to try to exchange signed email with other real contacts - if you've defaulted to sign all this should just happen and they should be able to validate the signature.
The last stage is to send them an encrypted email, for that you need their public key / cert. If you've been exchanging signed email you should have it - hopefully you're also using exchange contacts and their record has their key else you'll need to add it from a received email.
Slightly concerning that you say the  recipient has a copy of your private key - this should never happen as your private key should always remain private to you. Officially you should revoke you key and get a new one. The practical upshot is things will get very confusing as to what's going on if you've got keys mixed up between public and private and sender and recipient. Good luck.
I don't think Samsung mail lets you easily swap your certs either - you can go into settings and change them but unless youre doing something interesting you should only have one email address on your exchange account.If you're trying to use encrypted group email I don't think Samsung email is going to help, and I don't know of any other mail client that can either.

I would definitely prefer using the offial ᴀᴘᴘ.

You need to use a mail app that supports, S/MIME. Check out Blackberry Hub app, K9 Mail, or others.
You can set up your gmail account as imap so that you send and receive using your gmail account.

Of course I already know that. The question is how ?

First you need an S/MIME certificate including private key for your selected E-Mail address.
If you don't have this you don't have to look for apps. AFAIK there is no "Let's Encrypt" for S/MIME therefore you have to buy the certificate for your e-mail address.
If you want to use your GMail account you have to enable IMAP on it.
Now you need an Android app that supports S/MIME signing and verifying. AFAIK the Google for enterprise apps are different form the regular apps, therefore the Gmail app won't work. As far as I know the following two apps should fully support S/MIME:

R2Mail2
MailDroid (not sure if S/MIME is supported in the free version)

The following apps won’t let me select a certificate manually. They complain that there is no certificates matching recipient. This is about using the same certificate for signing and encryption. If you found an app, also describe how to use encryption through the selecting the trusted certificate manually.

Do you have an S/MIME certificate including private key for your e-mail address (not for the recipient)? Because if not you can stop here. The rest only works if you have a valid S/MIME certificate for your account.

If you would have read my question correctly, you would have know that I have a trusted certificate for my e mail address. But I do not have a public certificate for recipient (recipient have a copy of my private key instead). so I can sign e mails but I cannot encrypt them.

So you have configured both GMail and the Samsung EMail client to use your S/MIME certificate? Note: S/MIME does not allow to send just an encrypted E-Mail to a recipient. Your own certificate also has to be installed (this prevents that you can't decrypt the mails stored in the sent folder).

Currently using Firefox extension. Yes, I installed my own (or rather third party provided and generated) certificate on system store. Again, that’s not fully certificate problem.


text:
How to download files to sd card from ftp without rooting
Simple question, but I couldn t find the answer anywhere (all answers requires rooting on android marshmallow because ftp clients doesn t include the permission to write on the sdcard).
I have a huge file which is too large to be downloaded on internal storage. So it can only be downloaded on the sdcard directly.
It also seems no ternal apps have the permission to write to the sdcard so I cannot use command line tools directly.
As the file is huge, I also need to be able to pause and resume downloads.

Does this answer your question? How to move files to external SD card on a non-rooted Android?

@IrfanLatif the file is larger than internal memory in my case.

Yes. That's why you can directly download to external SD card in private directory (inside Android/data/ directory) of the downloading app. You can use any FTP client GUI app or CLI utility. If the app uses SAF APIs, writing to SD card in any directory is possible.

I use Folder Sync.
But it depends on your android version,    If you have 5.1 or above then the application developers must include Environment.getExternalStorage.....
EXAMPLE FILE USAGE
File file = new File(Environment.getExternalStorageDirectory(), "myfile.txt");

instead of the old hard coded way.
File file = new File("SDCard", "myfile.txt");

For more information about pause resume with FTP, i have included a link to a development question regarding pause resume on Android Clients
Folder Sync Free
Developing FTP Client with Pause Resume on Android
For terminal emulator, you should run
getprop vold.path.external_sd

then try running the external directory as returned
NOT
sdcard/download/txt.txt

RATHER
storage/sdcard0/download/txt.txt

It's usually just one directory / legacy directory isn't accessible anymore. so you need to get the actual path with some command...
getprop

getprop will return all current system properties, this includes storage paths and network status results

So I need to use root for your app. but I am waiting the android 7 feature for that.

You shouldn't ever need root access to access the SD Card unless the Application uses an old hard coded SD Card Path .... I know that you can do a folder pick, then click Show SD Card, Then select the folder on SD Card to save to... It shouldn't be called SD Card, but something like E4-534/download/path   instead of SDCard/download/path.... This doesn't need root access just the correct coding

It doesn’t seems to support download pausing and resuming. I’ve only part time Internet access.

Ok, how big is the file ? .. I'm not sure about pause resume capability on most FTP Servers because of low security with raw data being sent, username, password etc...

You can pause and resume anytime with wget or aria2 on ftp servers (the connection is closed and on reopening the download starts with an offset). It’s 30ɢb large but as an xml file, it’s size can eventually be reduced before downloading..

It might be a client issue with android applications... here's the link i read https://stackoverflow.com/questions/32536854/android-ftp-download-pause-resume

wget and aria2c are Linux commands that requires a terminal emulator on Android. I saw no terminal emulator allowing to write to sd card.

It'd actually be pretty simple to make according to the previous link, but it'd take me half a day !

Terminal commands can be run with process and input stream then you could pull the sdcard encrypted directory name E4-686/ and then run a string command stringing together the directory with command to be run via process, then capture the input stream and return it back to user !

what ??? ??? ???


text:
Are there any Google devices that support file based capabilities in their default kernel?
If I systemless root (no modification done to /system partition) a Nexus device, would I be able to able to set capabilities on executables without changing the original kernel binary ?
I often want to manage files without restrictions from my terminal (requireCAP_DAC_READ_SEARCH). However, I also want to not use the superuser.
The required things are tools for setting caps along kernel support for using them (it doesn't rely on other user space things).
The problem is, I don’t own such device. So I can’t tell if it would work on any of Nexus 5X Nexus 6P Nexus 9 Pixel C.

I was also unable to find a nexus emulator…

I doubt it... Since Android uses Bionic libc and not the standard GNU libc (glibc) library, it is not even close to POSIX compliant. You might be able to compile your own kernel with a different libc like CrystaX NDK instead of Bionic, but I don't know if those features are in that either.

@acejavelin : the userland part is only required for setting extended attributes containing capabilities. Everything else is kernel side. I just noticed the/system/bin/pingcommand isn’t setuid on my real samsung device, suggestingCAP_NET_RAW. However, I won’t root a real device and I don’t know which tool I can use to see the relevant informations, so I can’t check.

Why would you not root a Nexus device? It is intended for that and does not void your warranty. It is very simple to restore any Nexus device to it's default, unrooted and locked state, the device is basically unbrickable.

@acejavelin : I don’t own a nexus device… My aim is security research and google only reward for it’s own devices. So I need to know if the kernel of one of the devices in my question support using capabilities xattr. What I’m seeing on my galaxy tab is probably only samsung related. If I don’t involve rooting in my question it might be closed as unclear.

OK, I thought from your question's verbiage that you had one but wanted to know if it also worked on all other Nexus models. I misunderstood that this was just a hypothetical or research question.

@acejavelin : I wroteThe problem of course is I don’t own such device.In my question.

Though the question is old, it keeps on appearing on top of Unanswered (my tags) questions. So I think I should answer this :)
AOSP'S SUPPORT FOR CAPABILITIES:
Question is specifically about Google devices, I have never used a Google device. However what I can say for sure is that Linux (process) capabilities must have been enabled on most of the devices (if not all) running as low as Android 1.6. Reference is found in init and system_server, both very primary components of AOSP. In Android 4.2, for instance, installd - another core component - was made to run with dropped capabilities.
Filesystem capabilities were one of the major Security Enhancements in Android 4.3 which removed set-uid/set-gid from binaries like run-as, setting file capabilities on them. This caused revolutionary changes in Android's rooting journey.
Support for Ambient capabilities was added in Android 8 which discourages the use of file capabilities:

File capabilities, in turn, present a security risk since any process executing a file with file capabilities will be able to gain those capabilities.

Many init services depend on them e.g. storaged, including my own sshd and dnscrypt-proxy services.
KERNEL'S SUPPORT FOR CAPABILITIES:
Coming to the kernel part, building kernel without capabilities isn't optional:

From kernel 2.5.27 to kernel 2.6.26, capabilities were an optional kernel component, and could be enabled/disabled via the CONFIG_SECURITY_CAPABILITIES kernel configuration option.

And:

In kernels before Linux 2.6.33, file capabilities were an optional feature configurable via the CONFIG_SECURITY_FILE_CAPABILITIES option. Since Linux 2.6.33, the configuration option has been removed and file capabilities are always part of the kernel.

The oldest common kernel version on Android repositories is 2.6.39 which includes support for file capabilities too.
Support for filesystem capabilities on kernel side must have been delayed from some OEMs but they had to switch, because otherwise functionalities would break. For instance surfaceflinger (Android's surface composer) won't work without file capabilities since Android 7.1.
Mainline Linux kernel 4.3 was patched in in Sep'15 for Ambient (process) capabilities, backported to Android kernel 3.18 and 4.1 in 2016. So they are necessarily a part of kernel.
CONCLUSION:
On Linux distros, a very few programs make use of Linux capabilities. Though there is pam_cap, mostly (or all?) distros still use set-uid on su, sudo, ping, mount, passwd and so on.  But on Android capabilities are deeply integrated in framework and core services. Removing them would require editing hundreds or may be thousands of lines in AOSP and kernel source. It makes no sense that an OEM (particularly Google, who developed AOSP and modified Linux kernel for Android) doesn't make use of this free-of-cost security feature when it's readily available in Android kernel. It's a pure OS related feature, doesn't demand any extra hardware support. So any phone from any manufacturer must have capabilities supported.

QUESTIONS:

would I be able to able to set capabilities on executables without changing the original kernel binary?

Yes, you must be.

The required things are tools for setting caps ...

I have been using capsh, getcap, setcap, getpcaps from libcap and netcap, pscap from libcap-ng without any problems. But I prefer Ambient capabilities, those are easy to configure and don't depend on any filesystem features like Extended Attributes as in case of file capabilities. You can also use listxattr, getxattr, setxattr and removexattr tools from xattr_syscall_wrapper to manipulate security.capability or any other XATTR directly.
From your comment:

I just noticed the /system/bin/ping command isn’t setuid on my real Samsung device, suggesting CAP_NET_RAW

Android's ping neither has set-uid nor CAP_NET_RAW. It creates a special non-RAW socket IPPROTO_ICMP which - unlike IPPROTO_RAW - doesn't require any privileges.

FURTHER REFERENCES:
In addition to 10+ references given above, here are a few other parts of AOSP code supporting and making use of Linux capabilities:

Core components: Bionic libc, init, trusty (OS)
External components: libcap, libcap-ng
Daemons / services: zygote (forked apps and system_server), hostapd, wpa_supplicant, dnsmasq, logd, netd (NetLink manager, private DNS), debuggerd (test), sdcard daemon, performanced, incidentd, mtpd, traced_probes (perfetto), racoon (IPSec), wificond, a number of HAL daemons including rild.
Executables: reboot (init), dumpstate, tcpdump, strace, iputils (ping, traceroute etc.)
Minijail: A dedicated sandboxing tool and library which revolves around capabilities. adbd makes use of this library to drop privileges.
SELinux uses capability class to grant / deny capabilities to domains.

It concludes that Android highly depends on Linux capabilities, it's not a little-used feature.

RELATED:

What special privileges “/system/xbin/su” does have w.r.t. root access?
Permissions, Root User and Linux Capabilities: Linux vs. Android

Doesn’t answer anything at all. Everything you stated is known. The point of the question is since it’s little‑used is wether Google branded devices include it.


text:
How to import large files to google drive from a public google drive shares without downloading?
I need to import that file to google drive.
The problem is I can t download it right now, and the file will probably be deleted in few hours as marshmallow for galaxy tab S is out.

downvotes, why?

Just click on Add to my drive. Download it whenever you are free.

I only have the download button at the leff of my profile. Even on chrome canary for desktop. What are you using

Google Chrome, Windows 7. I have logged into my google account

I dont think its possible using the Drive app but. If you are using a browser there is a link copy url to google drive.


text:
Firefox for Android: Download a video file
I've got Firefox running on the Nexus 10, and I'm trying to download a video from a URL. When I tap on the video link, it starts trying to play in the browser, instead of downloading the file. How can I download the file?
Long-pressing on the URL does not provide a download or "save" option.

I'd definitely say the browser is just detecting that the video is supported and playing it.  Potentially you could create an HTML form that would let you enter a URL and then explicitly launch it as a download.  You should be able to bookmark it and have it on your device to keep things simple.  I agree though that the browser should really support saving it.

Yeah, it should provide the option at least. I know some other people want it to play in the browser, but I'm trying to download it for offline playback in the future. Thanks for the comment.

As of December 2012, I don't see any way to get something like "Save link as" option in Firefox for Android. However, in some cases clicking on a video link automatically starts downloading the video, but in most cases it starts playing them. Best you can do is to request Firefox to add this feature. Meanwhile, you can try an alternative browser that has this feature for your video downloads.

As of 2020, the other answers to this question are outdated. When Firefox opens the video you can long press the video (the video itself, not the link to it!), you can press the "Save media" button. It will then save the video to your downloads. This will work for all videos that support saving in the first place, like by right click in desktop Firefox.

The strategy that DCking suggested of going into the config worked perfectly for me. I pressed reset for browser.download.preferred.video/mp4 and I was able to set videos to download.

As stated on https://support.mozilla.org/fr/questions/792670 this by design you can’t download videos without the required server‑side ʜᴛᴛᴘ headers.
The reason is dumb users get confused when they are too much options in the menus (I agree that I don’t understand the difference with desktop).
So the rule is always keep the user interface minimal.
Of course, extensions can’t triggers the android file dialog box.
Just use opera mobile classic or vivaldi…
Or learn the hard way that android is always less featured than a Windows® ᴘᴄ.

I opened https://bugzilla.mozilla.org/show_bug.cgi?id=1296931.

I'm not sure if it worked this way back when you asked the question, but this can be done without an addon.
Change Firefox settings to tap-to-play plugins if not already set.
Then click the video link to open the file. Firefox will not play the video if tap-to-play is set to on.
Instead of tapping to play, long-tap the video placeholder until you are presented with a menu which will include an entry to download the file.

I had to google a lot before finding this solution.
In firefox everything can be configured to the finest details using the
about:config link.
Just type in about:config in the address bar.
The resulting page will have a search bar on top.
Search for browser.download
and you'll see a lot of browser downloading window configurations.
The specific configuration might change for different versions of firefox.
But what worked for me was this browser.download.preferred.audio/mpeg configuration.
Set it to false or if you see the "Reset" button click that.
And thats it.
Hope this helps someone

browser.download.preferred.audio/mpegdoesn’t exist on Firefox for android.

Did you try chrome browser. It has the save link option in long press menu.

Good point, but the question clearly mentions Firefox for Android. There may be many other browsers which do that, but this question is about Firefox.

This should have been a comment, not an answer.

@SurajBajaj : but ultimately, this is the correct answer since Firefox chose to not implement this to keep the interface minimal.


text:
Any No Root Firewalls, from Major Security Vendors?
This question is "only" concerning no root firewalls, which are currently available from Major Security Vendors (such as Symantec, Comodo, Avast, McAfee, etc...) AND which can filter based on DNS/host name, ip subnet and ip addresses.  Also, the firewall must work on Android OS 4.4, or later.
Does anyone know of any such firewall products?
If not, you can answer the following related question instead.  Does it appear that it is not possible to have a good Android OS 4.4+ firewall, without root access (at least with the current Android OS)?

I don't know any and I don't think that this is actually technically feasible witout root.

A good firewall needs root access to monitor the network traffic and filter out incoming and outgoing connections based on rules. A normal user can only restrict network access for the user he is running an application as (see how users/user ids are working in any good linux wiki).


text:
How do I root my Vodafone Smart 4 Power?
I want to install some software like Cheat Engine on my Vodafone 985N (specifications are here) and they require rooting my phone.I heard that is very dangerous and I can brick my phone if I make a mistake,so I'm scared...I don't even know how to root it and searching on the internet for instructions is also pretty dangerous because the process of rooting is different from one device to another (I think...).So,if anyone succedded in rooting this phone (or others) please give me some step-by-step instructions and (if anything occurs) some sort of "escape" option,instead of bricking or breaking a part of the operating system.Thanks!

First of all: If you have a full backup (meaning a backup image of all your partitions, most important: efs or similar) then you might want to search through http://www.xda-developers.com for your phone. Also "Cheat Engine" like on PC does not work on Android because nearly all actions you do in any major game are checked and if you say you'd like to buy something that cost 1million gold and you use Cheat Engine to cheat the money for it, the server will simply say: "You don't have enough money". And will kick you from the game.

Welcome to Android Enthusiasts. Your question, as it stands, is very opinion based. It is ok to as "How do I root my Vodafone Smart 4 Power" as that will have factual steps, but "is it a good idea", that will be based solely on opinion. See the help center for how do I ask a good question and how to stay on topic


text:
Problem with internal memory of a S4 mini
I have 1 month old S4 mini with 32 gb of internal storage. . I have only installed 3 apps on it and now it tells me it has insufficient internal memory to install any more. I have 20 photos on it and no contacts. When I go to the storage section of the settings it tells me I have 32.00 of total space and 31.87 gb of available space. It says there is only 185 mb of apps and 13.63 kb of cached data. How can I correct this problem and download more apps? I do not have an sd card installed.

Welcome to Android Enthusiasts. This question seems to be a  duplicate of What is the difference between system memory and internal storage?. Check that question and answers and see if it helps solve your problem.

No, my problem seems to be different. The phone is virtually new, there is no sd card installed and only 3 apps are installed. By accessing settings/more/storage it tells me there is 31.87 gb of free space. Is this not the system memory?

No, all 31.87gb is not system memory. Most of that is internal storage. In short, Internal storage is like an SD card built in to the phone. (long answer in the question/answer I linked). You may have installed only 3 apps, but there are many other apps installed by the manufacturer/OS. Where apps are installed in part of "system storage", not internal storage. Think of system storage as where the OS and apps go, internal storage is where your pictures and music go.

Thank you very much! It is unfortunate then that I'll never be able to install more than a few apps onto my phone.

Brandon, you might wish to check with out insufficient-menory tag-wiki, which contains some first-aid and links to more. A "remote diagnostic" is a little hard; if you had a terminal app, I'd ask you to post the output of df. Maybe you could [edit] your question and include at least a screenshot of Settings › Storage plus names+links of those 3 apps? Also, what Android version is running on your S4?

It's possible that your internal memory is getting filled up with crash dumps.  These are saved in /data/log directory that isn't normally accessible.
If your phone is rooted, try clearing out the contents of this directory manually via Terminal Emulator or ADB.  The commands would be as follows:
adb shell
su
rm /data/log/*

If the phone is not rooted - try launching the SysDump utility by opening the Dialer app, dialing #9900#, and pressing Send.  This should open up the utility as seen in this screenshot and allow you to clean up the above folder by tapping the "Delete dumpstate/logcat" button.

Brandon...to find answer for your problem first you need to be sure does you have insufficient space because of full cache or because problem of specific app. If you have problems with every app, then you have cache problem probably. But before try to fix it, first try to download larger app from app you cant to install. if you can do it, then you dont have a problem with a cache.
I dont know you knowledge about working with android, but if you have fair knowledge, you should dont have a problem to fix it.
I dont search for solution for devices without root access, so I will write solutions for rooted devices only
You need:
- rooted device (google it how you can root your device, if it not rooted already)
- root checker (simple app to check if your device rooted correctly)
- super user app
- android terminal emulator
- es file explorer or root explorer (root explorer is not free, but it is very good app)
To fix cache problem, follow these steps:

You gonna need Android Terminal Simulator or equivalent terminal app. This will also require your Android rooted.
Type ’su’ (root permission request will be showned, you need to approve it).
Type ‘cd /’
Type ‘umount /cache’
Type ‘mount -o rw,remount -t rootfs rootfs /’ (to set the folder access to rw – read write)
Type ‘rmdir /cache’ (delete cache folder)
I personally using root explorer to do point 5-6
Type ‘mkdir /sdcard/cache’
Type ‘ln -s /sdcard/cache /cache’ (to link cache folder to /sdcard/cache – which shoud have bigger partition size)

(tutorial right goes to jimmy)
if you dont have cache problem, then check for any leftovers of that app at sdcard/android/data
for example I have "insufficient storage space" error when I try to install Shadow Fight 2 (about 90 mb), but I installed Soulcraft (about 200 mb) normally. I found .odex file of Shadow Fight 2 in data folder, and after I delete it, I was able to install Shadow Fight 2 again
However that mean does you already had installed that app before problem. As you said that your device is new and that you installed only 3 apps, then you probably have cache problem
Good luck


text:
WiFi disconnects in doze mode
Nexus 5x and Pixel with project fi. No antivirus installed.
OS 8.1.0
Regularly puts me on LTE connection both at home and in the office.
How do I force WiFi to always connect to known networks rather than surprising me every time that I just watched a video and used tons of data?
Is this related to the removal of Wi-Fi sleep options? And what "Sleep options are not relevant any more." means that the relevant commit message (via reddit) says?

Customer service explained me that my Project Fi SIM card is expected to kick me off from free Wi-Fi whenever it decides that the LTE connection is stronger. He said the customer should every single time manually put himself to airplane mode as a remedy. Complete bullshit esp. given that fact that it loses Wi-Fi in sleep even if data is off so waking the phone would not give me any connection, until I would force a reconnect by opening settings.
Finally, a device update from March 5 fixed it, so now my Wi-Fi stays on.


text:
Android reverse tethering is not working?
I have been trying to share windows pc internet to my android tablet( I Ball Slide, Jellybean) over usb, there is an option in "settings" to share internet, but I can't use internet in my device. When I open "Network and Sharing center", screenshot is given below
It shows two networks, firt one has access to the internet and the second one doesn't, also the second network is an unidentified network. From the Status of the unidentified network, you can see that there has been no data received, the device is sending no data, why it is so?
I haven't rooted my device for reverse tethering(and I do not know whether it is rooted or not), the option was there.
What should I do to make it work?
(win 7 ultimate 64bit)
UPDATE: Other users say that the option in the first image named USB Internet is for sharing android device's internet to pc, to clarify this, I am uploading these two images.  This is the first picture before connecting the usb cable
and this is the screen shot of the menu for USB tethering

Is your device rooted? If yes, there is an alternate way to get reverse tethering on Windows.

@ItsmePawan Whys another way?  The manufacturer has already given an option to do so. Meanwhile, I do not know whether my device is rooted or not.

On SuperUser, you have 77 Reputation and therefore, you can set a bounty if your question did not receive enough attention. On the other hand, if you feel the question belongs more here then ask a moderator to migrate the question. About Cross-posting : http://meta.stackexchange.com/questions/64068/is-cross-posting-a-question-on-multiple-stack-exchange-sites-permitted-if-the-qu

authors: สมหมาย ศรีรักษ์


text:
Browser opens play store when tried to load certain link
I just found that when I tried to visit certain page in firefox(also in the built in browser), it opened play store's page for a certain app which is related to the website.
The website I tried to visit was "flipkart.com" an the play store page was showing it's app. When I enter the link and pressed the button, ff says that "Couldn't find an app to open this link" and loads play store. Why it is so?
Because of this, I can't visit that website

Sounds like they've got some kind of redirect in place because they want you to use their app instead. If they redirect all Android browsers to a market:// link then it'll try to open the Play Store.

Some sites do that whenever they detect a "mobile client". A work-around is, if your browser supports it, to "request the desktop version" (or fake a corresponding user-agent string).

@Izzy I have requested the "desktop version", it works first, when I open another tab from the link in the page, it again goes to playstore. I have installed UC Browser but it doesn't work as well.

I'm not aware of any real solution you could establish. If it's just one site, I'd recommend contacting their stuff. If they are not "cooperative", stop using the site – and tell them they'll lose visitors that way (like they've just lost you). Forcing visitors to a specific app is not the way to go. // An idea, though: Browsers like Opera Mini, which use a proxy to retrieve "compressed content", might be a possible alternative.

@Izzy Their reply was this: Thanks for writing to us. We at Flipkart are continuously striving to provide a smoother, faster and better experience for our customers and we strongly believe the Flipkart Mobile App guarantees that. We have full confidence that after trying the app, you would agree with us and enjoy great shopping experience. With that in mind, we have disabled our mobile site. Do write in to us in case you have more feedback.

Well, that leaves the alternative pointed out. Writing them "thanks, but there are people who don't want to install an extra app for each page on the Internet, and so you've just lost a long-term user." Plus some facts from above, if you feel like. They don't have to maintain a separate mobile page, but should not force mobile users to their app. Pointing to is fine, but then there should be an easy way to say "no, thanks" and get the "normal web page" instead. That would be the approach I'd take – and I know more people feel like that (from experience on other sites which rolled back then).


text:
My Samsung Galaxy trend plus wifi wont turn on
I recently bought a Samsung Galaxy trend plus and and my wifi wont turn on evey time i try to turn it on it says turning on for abit and then turns off or a second and then says turning on again but it never actually turns on. Can anyone please help me im having the same problem with my bluetooth as well. I tried the factory reset already and it didn't work anyone else have any ideas?

Do you have applied any update(custom or OTA) ?
Custom: If you have upgraded your ROM before official release, high possibilites are there to face these type of problems.
OTA: Very rare but possible if your manufacturer provides an OTA and this problem is occurring after updation of device.
Solution:
• If you think it is occuring after update, you should degrade your Firmware version by custom ROM.
You have not updated device since a long time ?
In this case high possibilites of facing such problems.
Solution is please go to nearby custmore care or look for OTA update in you handset Software Update section which falls under About Phone .
[If your device is out of warranty and don't want to spend bucks on it now, please upgrade by custom ROM.


text:
Is it possible to use the phone’s hardware through Asterisk?
I would like to convert my android phone into a personal pcbx (being able to perform basic automated answering based on speech and who is calling and performs hang up). Something requiring the power of Asterisk (unless you know an alternative designed for android of course).
There are a lot of tutorials on how to this through sip on rooted devices, but in my case, I want to do it using the phone number of my sim card which of course is tied to a provider that doesn’t give such option (they gave sip credentials during years but this is something now terminated) in order to reach the public switched network without any additional fees.
This wouldn’t be a problem on Linux as virtually every Linux compatible phone modules have a bridge for Asterisk.
But for Android devices, I read (I fail to remember where) that not only the modules designed for android phones aren’t provided with an Asterisk bridge, but that almost all the drivers controlling them are so closed source that it’s impossible to compile a custom kernel using them (that building is still possible but without support for the modem) and that while everything related to telephony is controlled by a daemon (I don’t remember it’s name), it has to be patched by oem because the kernel interface exposed to userland is closed source too and undocumented.
So that no apps allow controlling the hardware phone besides calling numbers and that even being root doesn’t change it.
If not, how can I perform such advanced usage?

For those thinking about abuses, please note I want to perform this only over incoming calls, such that I don’t need to know how to send phone digits. The only reason the mobile provider ceased their sip bridge is in the name that peoples now uses things like WhatsApp (but which isn’t giving access to the switched network for those without Internet) so that such behavior should still be Ok under a faire use.

Ok I may have found it https://www.ictinnovations.com/using-android-phone-as-gsm-gateway


text:
How to decrypt a dumped android partition on a pc?
I chose to boot android on the from the sdcard in order to have more storage. So I dumped though dd the internal 32Gb storage to the 256Gb sdcard with the partition table included. By just changing the kernel command line and the ro.boot.bootdevice property, the device now boots from the sd card after loading the kernel from the internal storage.

I then put the sd card in a pc, fixed the partition table size to match the one of the sd and then set up the userdata partition (/data) to fill the remaining space.
Then I wiped the filesystem and performed a factory reset in order to hope it would create a 250Gb filesystem for /data. But while data was mounted from the sd card and that the mapped block device was 250Gb large, it was formated using 25Gb instead of 250GB (the original size on internal storage).

This means I have to grow the /data filesystem using an external computer. Now the question is, what’s the exact dmsetup command in order to create the block device for decrypting it for growing the ext4 filesystem using resize2fs?
Given also I forgot which is the file containing the decryption key.

Comments are not for extended discussion; this conversation has been moved to chat.


text:
How to adopt ꜱᴅ card as Internal storage on Android pie and above on devices without the option in the menu?
A well‑known workaround in such case is this (and as you can see with those command this didn’t worked for me) :
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
gts3llte:/ $ sm set-force-adoptable on
gts3llte:/ $ sm list-disks adoptable
disk:179,64
gts3llte:/ $ sm partition disk:179,64 mixed 50
gts3llte:/ $ sm mount private:179,67
gts3llte:/ $ sm list-volumes all
private:179,67 unmountable
private mounted null
public:179,65 mounted 3531-1DC7
emulated mounted null
gts3llte:/ $ reboot

C:\Program Files (x86)\Minimal ADB and Fastboot>

But starting with Android Pie, those commands were moved from vold to Binder and as sm only affects vold some of the commands above are now dummy..
This also affects the way to do it with root. Though in my case, now that I did this, going to storage settings systematically crash the settings app.
So how to use sd card as internal storage with newer versions of android ?

I don't believe it is possible anymore. See: https://gitlab.com/LineageOS/issues/android/issues/984

@MorrisonChang even as root ? It rather seems that with the advent of adoptable storage, the functionality is the same but the way to do it different.


text:
How to always resolve a domain name to a fixed IP without rooting?
The financial website https://wex1.in got it’s domain name deleted but it’s still possible to reach it by adding 104.25.31.35 wex1.in to etc/hosts files on a ᴘᴄ.
So how to access the website without editing /etc/hosts?

You need some DNS server that has this record.

@iBug I’m talking about a public website. So this isn’t possible.

Then you're out of luck

@iBug many users like me ended up trusting such website which had no problem between 2011 and 2017. So this a question worthing more than 100 million (literally) with more than 8000 for me.

I agree. I don't have time to write a detailed answer now, but with my experience and expertise I don't think it's possible without editing /etc/hosts, as said in your question.

@iBug and the answer isn’t for me but for authorities. So for more than 100 millions in money combined, you're out of luck is not an acceptable answer.

There are a few options you can go with:

Enter IP address directly (with port 80 or 443) to web browser's address bar instead of domain name. But this won't work if web server relies on host header or SNI for virtually hosting multiple websites on same IP address.

It's possible to use VpnService API of Android to capture all DNS traffic without rooting phone. That's how apps like this and this work. Then the VPN app may use a custom hosts file before making queries to configured upstream DNS server. Virtual Hosts is an open-source app to achieve this.

As suggested by @iBug, you can setup a DNS server (locally or on cloud) and configure your phone to use that for DNS queries. For instance if using dnsmasq, add address=/wex1.in/104.25.31.35 to “dnsmasq.conf”. Or on dnscrypt-proxy add wex1.in 104.25.31.35 to “cloaking-rules.txt”.
Similarly other DNS servers can be configured to return a predefined IP address for a specific name.

Configure phone to use a proxy or VPN and then add the entry 104.25.31.35 wex1.in in hosts file on proxy server or run a local DNS server on VPN server.

If you don't want to root the device but bootloader is unlocked (or possible to unlock) and a custom recovery is available, mount /system in recovery and edit hosts file there. Set proper permissions; ownership, mode and SELinux label.
If you don't want to modify /system partition (e.g. to not break dm-verity or OTAs), it's possible to bind mount a custom hosts file from somewhere on /data. But that would require some extra effort like defining an init service, modifying SELinux policy etc.

Make sure not to use Private DNS (on Android 9+) so that DNS queries always go on port 53 unencrypted.
PS: Same methods can be used to block ads without rooting phone.


text:
Finding which lte bands my Samsung galaxy tab supports without rooting?
Everything is in the title It’s not about the bands currently in use but those my device can supports (my cell phone provider is refusing to let me access full of their supportted bands)…
As I don t know the target region of my device, the only way to know is to find which ones are supported in practice.

While the question looks like on-topic, the question is a bit terse as of currently written. It'd be better if you can [edit] and add a clear example for your specific case, which device (the title says: Samsung Galaxy Tab, but the tag says: Samsung Galaxy S3?), the current LTE bands your device support, and the theoretical LTE bands the device should support.

@AndrewT. My device is in tags. I have no idea about what bands my device supports in theory. Really… Everything I know is in the question. I’m failing to see what I can add.

I assume you meant Galaxy Tab S3 (tablet), not Galaxy S3 (smartphone). Also, it's preferable to do some researches first so that the question is clear and unanswerable from the beginning. I made an edit for you this time, feel free to [edit] and improve it further :)


text:
How to limit car speed with a ELM327 converter?
There are plenty third party devices which allows to never go faster than speed limits.
But when having already a ELM327 ᴏʙᴅ2 converter, why not using it directly through an android tablet instead of purschasing a separate device ?

@SiXandSeven8ths it can work with android but this is just the converter hardware. It’s like a bluetooth to ᴜꜱʙ cable : without software it does nothing. And I don’t only to collect data but to write and act on commands.

@SiXandSeven8ths if there is an app which already exists, then no.

@SiXandSeven8ths or you can suggest an edit because it's clear that I don't want a programming answer as per currently written.


text:
Run adb command inside the terminal emulator or programmatically without root
Is there a way to run theadb backupcommand on the device itself without using a ᴘᴄ computer ?
Of course when I try to do it,adbcomplains the daemon isn’t started and it fails to find a device.
u0_a192@klimtwifi:/ $ adb connect localhost:9999
* daemon not running. starting it now on port 5038 *
* daemon started successfully *
unable to connect to localhost:9999:9999
u0_a192@klimtwifi:/ $ adb connect localhost:5038
connected to localhost:5038
u0_a192@klimtwifi:/ $ adb shell
error device not found
u0_a192@klimtwifi:/ $

Addressing Revision 4
You're still doing things incorrectly even though I noted in revision 1 of my answer that you would need adb in PC for once and once alone as long as no reboot or disabling of USB  debugging occurs.
Regarding your attempt:
u0_a192@klimtwifi:/ $ adb connect localhost:9999
* daemon not running. starting it now on port 5038 *
* daemon started successfully *
unable to connect to localhost:9999:9999
u0_a192@klimtwifi:/ $ adb connect localhost:5038
connected to localhost:5038
u0_a192@klimtwifi:/ $ adb shell
error device not found

adb connect localhost:9999 didn't work because you didn't do adb tcpip 9999 from a PC. The said command would set the property service.adb.tcp.port to specified port which in turn is read by adbd when it is started/restarted and used to listen for connections.
adb connect localhost:5038 didn't benefit you simply because either you got confused or  failed to understand the basics I noted in revision 1 of my answer.
First, clear up any confusion. Just because the term daemon is mentioned doesn't mean that it is adbd. A daemon can be for lots of things.  A description of protocol between adb clients and server is noted here. A good understanding of how adb client-server-device/emulator communication occurs is noted here. You're requested to read all the documents to gain understanding of how adb works.
Now, here are the details for your attempt: When you did adb connect localhost:9999, you actually instructed adb client in your host Android device to connect to a slave running adbd listening on 9999. Your adb client tried to look for adb server on your host Android device. Because it didn't find the server running, it started a server and bound the server to port 5038. Nowhere you instructed adbd to listen on port 9999 or even 5038. You can confirm this with root access. Do su -c 'netstat -natup' and you would find adb not adbd listening on port 5038 after execution of your command.
It should now be clear why adb shell resulted in the error.
I should stress that it is futile to even think about running adb client related command on a device without access to PC for once or without root access. I have already noted the procedure in regard to PC in revision 1. If you do have root access and still need to use adb on device then do:
su 2000 -c 'setprop service.adb.tcp.port  PORT'   # choose PORT greater than 1024.
su -c 'stop adbd && start adbd'                   # this would stop and start adbd.
su -c adb connect localhost:PORT                        # you shall now be connected and would be required to accept fingerprint to authorize USB debugging.

(Click an image to enlarge it)

Edited Revision 1
Looking for this?

You're doing things incorrectly. First, a bit of basics:

adb is a bridge which helps in communicating with a slave (an Android device) from a client on host machine (typically a PC) through a server running on host machine.
A slave has a daemon named adbd which has to running in order for slave to communicate back.

When you attempt to run an adb command which requires an Android device for desired output, the adb server expects a slave connected to host using USB. Since no Android device is connected to your Android device through USB, you get error: device not found. If you connect an another Android device through OTG and have USB debugging activated there, you would/might be able to run adb successfully. At least I was able to.
A simplest workaround is to have adbd listening on TCP as well. In that case, you can connect to localhost and get the job done. There is no way a process with ordinary privilege in Android can restart adbd  to listen on TCP. The official way on stock Android is to do adb tcpip PORT from host machine. In this case, you would need a PC with adb setup there. Connect the device to PC and execute from PC, the command:
adb tcpip PORT   # PORT is port number in your device to listen for and establish connection on TCP. Default port is 5555. Choose a PORT greater than 1024

You can now unplug the device. As long as you don't reboot the device or disable USB debugging from Developer options, adbd would continue to run and listen for connection on your supplied PORT.
Don't worry about security. While adbd would receive connection from local Wi-Fi network, one cannot successfully connect to your device unless you authorize debugging by accepting their fingerprint.
Anyhow, in your terminal emulator, execute
adb connect localhost:PORT

You would be required to accept a fingerprint. If you followed instructions carefully, you would get the output:
connected to localhost:PORT

Now you can run your backup command. But honestly, it is not clear to me what you're trying to achieve. If backup alone is the goal, then Helium app might be able to help, although it also requires root access or PC with adb setup.
In case you're not aware of this, not all the apps can be backed up using adb.

@Firelord : ok I finally found a way to do what I want : simply use the backup android service (called by/system/bin/bu) which will require user interaction anyway. So the definite answer is it’s not possible for obvious reasons.

@user2284570 I tried that before editing my answer but I noted that without adb or root access, running bu didn't work. Troubleshooting through logcat revealed that android.permission.backup wasn't granted to the ordinary user. Are you saying you successfully made backup without using adb or root access?

@Firelord : of course not.

I found that connecting to adb localhost let user shell access. Doing real adb through USB let me root shell :-(

First of all, Thanks Firelord for the detailed information. I have followed this answer and found that you don't need to use -c parameter and 2000 and '' stuff for getting the job done. First type 'su' (without quotes) for superuser then enter directly 'setprop' commands and other commands, it works fine!!


text:
Where do the exact locations of the phone buttons combinations stored?
Where do the exact location of the phone button combinations like power reset while holding Volume down + Power, booting to recovery by holding Volume up + Power + Home (if there is a Home button) is it on the system, system partition, boot partition, any other partition, etc.

Your device's primary or secondary bootloader would contain the key combination for booting into special partitions.

That's what I thought in the first place. But can we modify it?.

I don't know whether this is possible without having the source code. OEMs don't provide source code for bootloaders

It's not stored in the Android system, but somewhere in the phone's firmware that's not modifiable.
Such functionalities like hard poweroff or hard reset is controlled by the underlying hardware directly, not by Android system. Therefore the button combos are stored in the hardware controller and are usually not modifiable by software.

Cool thanks, it would be so cool if you can modify that where you can boot to your recovery in an emergency situation such as hardbricking or some other stuff.

There usually are internal ports for special rescuing devices to connect


text:
how to use downloaded firmware from firmware Finder
I have jsnL21 C432 4/64 version
I upgraded my phone by 3 button method from 8.2 to 9.0.1.158. Using Firmware Finder, I found a newer version of my firmware in 9.0.1.162 which has a lot of improvement and battery optimization. I want to flash it on my device. I downloaded the firmware but it has 2 files:

Update.zip 2.24GB
Update_full_jsn_l21_hw_eu.zip 643MB

I know I should extract update.app into dload folder but the problem is I have 2 zips and inside of each files has a separated Update.app. How to upgrade with these files?
Firmware Finder

You you are talking about third party apps and software like "firmware finder" you should provide a link to the software. Please edit your question and update it with this information.

yeah sure i did that

Have you read and act on the "Important notice" in the app description?: Before do anything with your phone i request you, read XDA or 4PDA threads about your phone and how install firmwares or go to telegram chat and give your question.

yeah i read that but its nothing there :| about 2 files its just a instruction to do it with 1 file

You must use both files to update your device.
First use Update.zip which is the full firmware image, then Update_full_jsn_l21_hw_eu.zip which is the data file.


text:
I want to customise my phone to forward SMS messages automatically
My goal is that I want to customise my own Android phone to automatically forward text messages from user defined phone numbers onto other user defined phone numbers. I tried updating a very simple app to do this:
https://github.com/EnixCoda/SMS-Forward
However I found that once I had updated to newer Android versions, the app started up and allowed me to set a forwarding number, but did not actually forward the SMS (I used my phone in USB debugger mode). The SMSReceiver class did not get the message that an SMS had arrived I found when I debugged it. I read more, and it seems that only the default SMS app is allowed to have anything to do with text messages. So now, I want to start from the source code of the stock/default SMS app that comes with Android so that I can add the features I am interested in to it.
I'm open to different approaches, but I don't want to download a crapware app with ads or pay nagging.
Doing a little more research, I found that Signal can handle SMS messages, but it seems like quite a big and complicated app.
Any advice appreciated!

google has changed rules back 2 years or so, don't use app from playstore because these all have removed this functionality. for example MacroDroid last working version is 3.30

Would you find a desktop script that you can run-on-click (or other triggers/conditions, e.g., when plugged in/docked, or by geofencing, etc) acceptable?  You could write them as .bat scripts (using ADB) and then bind them to, say, a Rainmeter skin, or use AHK to bind them to a hotkey, etc.  I tend to prefer using this method as it's less likely to be broken in some security update or another.

You can try to create the following flow with Automate and test if it accomplishes it.

Create a new flow by pressing on the + button
Press again on the + button, search for SMS. Select "SMS received" block
Press the "SMS received" block. Enter the phone number of the sender. Click on "Subscription ID" and select your SIM card (Network provider). On the Message box, enter the name of a variable, for example msg. Click on Save.
Press the + button. Select the "SMS send" block. Press it. Enter the phone of the contact you want the SMS to. Set the Sim card (network provider) under "Subscription Id". on the Message box, press on fx to enable it, then enter the variable create during step 3. In this case, enter msg. Click on Save
Link the blocks as seen on the first image below, then press back.
Give the flow a name and enable "send and view messages". Give the requested permission, then press Start.

When an SMS is received from the sender whose number you entered on step 3, it will be immediately sent to the contact number entered in step 4. The log on the second image shows that an SMS was received then sent (forwarded).
Note: You should be able to add more number during step 3 and 4 by enabling fx. But I have not tested it. Or, you can add more SMS received and SMS send blocks in parallel for each number.
Disclaimer: I am just a user of the app.

This works for my use case thanks! to forward from multiple numbers in the one workflow you can click fx like you mentioned and join quoted strings with the word or like: "123455" or "1234556".

The Receive SMS widget needs the "make and manage phone calls" privilege so it could be that that was what was the problem when using an app

Late reply but I've developed this app that would serve the purpose.
site link: https://forward-sms.com/


text:
How to Disable Screen Rotation Icon
I lock my screen rotation to portrait, and I have my navigation bar hidden to provide more screen real estate.
With the navigation bar hidden, I have come to experience the rotation icon appear in the bottom right corner just above the virtual keyboard enter/submit key. As it would typically be displayed in the navigation bar, it has its separate icon when it is hidden.
This is a problem because even when the icon is invisible, it blocks the touch to the vk key, albeit a tiny sliver of the edge still able to be pressed.
Is there a way that I can retain the hidden navigation bar and disable the rotation icon?
Additional information: My phone is stock, not rooted.
Edit
As of software update G965FXXU2CSB3/G965FOXM2CSB3/G965FXXU2CSB3, this is no longer an issue. However, I would still like to know how to disable the icon from appearing.

On LineageOS (Android 14) the icon looks like: https://i.sstatic.net/qQqq1.png (developer response)

There is indeed a way to disable it by ADB.

Setup ADB on your PC/Mac.
Enable USB debugging on your android
Connect your device to the PC/Mac
Run following command in shell/terminal:

adb shell settings put secure show_rotation_suggestions 0

You, sir or madam, are fantastic. Thank you very much, this indeed worked.

The command still works on Android 11. Thank you. I hated that little obnoxious button with passion.

In case you get a permissions error when running this command, it can be resolved.
Exception occurred while executing 'put': java.lang.SecurityException: Permission denial, must have one of: [android.permission.WRITE_SECURE_SETTINGS]
Solution: https://stackoverflow.com/a/72949330/2079618

Or you could do it the easy way.... I just figured it out with a lightbulb moment turning my flashlight brightness down

I have not tried this method yet, but it does seem like it would work, thank you. This saves having to use adb for average users.

Thanks a lot. Actually this icon disturbing me from 6 months while typing on SwiftKey.

Thank you.!!! I was bothered by this for an year

Probably, it is a Samsung-only thing. On other Androids I have tested, clicking that button just toggles auto-rotationbon/off, and long-pressing it just opens the Display settings.

Unless Google or Samsung bring out an update to give you the option to disable it, the icon can't be disabled.

How did you reach this bold conclusion?

This is a feature Google created in Android 9 and didn't add an option to disable it. CodeMonkey's phone is running completely stock so unless the phone is rooted there is no way to disable the icon. Even if the phone is rooted there is no guarantee that this can be disabled depending on how deep this function is built in to Android.