text:
Run an application in an unrooted sandbox on a rooted phone?
I have an application that refuses to start on a rooted phone.
I don't want to unroot my phone just for that application; is there any way to run an application inside an unrooted sandbox from a rooted phone (Nexus 5, Stock Android 5.1, rooted)?

Did you try adb logcat to see what's going on? If you have the access to the source of the app, then you may give it a try to see whether it's checking su's or a custom kernel's presence, or not.

You can temporarily disable root access (and then enable it anytime later you want). To do this, there are two most common and simple methods->
1) Turn off root access using the permission manager: Since you are rooted, you must also be using some permission manager like supersu or superuser etc. You can go into its respective settings and disable root access.
2) Turn off root access from Developer Options: Go to Settings->Developer Options and in the option Root Access select None. This will also disable root access for apps.
Besides these, if it still doesn't work, you can either try completely uninstalling permission manager (this wont unroot you, you can root again anytime by installing them again); or you can simply go to system/bin and system/xbin and delete/move somewhere else a file named su (its the main binary file responsible for root permissions. I suggest you atleast get a backup of it). Further, use these methods only if none of the above two work.

Thanks for your prompt response.
The application actually doesn't even trigger SuperSU, so I tried disabling entirely the Developer Options (as I didn't find a "Root Access" option) and it still refuses to start.
I get a popup at startup telling me that it doesn't work "because my operating system has received alterations or has been rooted".
Indeed, I have a custom kernel (for battery saving) and I am rooted (but developer options off). Perhaps the custom kernel is the blocking part then?

Can you please provide me with app's name? Perhaps I can test it out and some experimentation with it? It will enable us to get on root cause of this more easily.

This is not on the market (not on F-Droid either) and I am not allowed to share that application but I'll try flashing back the original kernel.

Woaw, I flashed stock kernel, stock recovery, disabled Developer Options, disabled SuperSU (SuperSU Settings > Unchecked Enable) and... still it refuses to run!
I guess the application has strong protections... I quit trying to run it as it's not worth it and accept your answer as I believe "in general" your solution works. Thanks, Thomas

Well then I guess it checks it in a similar way that whatsapp does. If you noticed whatsapp will always detect that you have a custom/modified system/rom, even without granting it root permissions. So I am guessing thats where you should begin your research (probably contacting developers if you can?). Again, almost every app has alternatives and its all upto you to proceed further or not ;) However, there is no way to run an app as in perfect "sandbox". I think its not related to rooting, rather custom elements in system

Just don't granr super user permission when prompted. If you get no SU prompt, then the app is doing nothing requiring root permissions

"refuses to start on a rooted phone" - you're talking about a different problem here.


text:
Are there any tools to sandbox a malware application even more than the granted permissions on Android?
Suppose I want to run some program which requests too many permissions. For example, record from the microphone or read IMEI of my phone. However, there are no practical explanation why recording from the mic or IMEI number is needed for this particular application, except for data mining.
I want to try this app, but restrict its permissions. For example, if it reads IMEI, it should get random IMEI (but the same every time). If it tries to read the mic, it should get silence.
Some other interesting permissions:

Phonebook read/write access -
returns zero contacts, pretend that
write is OK, but actually do
nothing.
Send SMS - pretend that SMS
is sent, but do nothing.
Get list of
visible Wi-Fi networks - return zero
networks.

Obviously the tool should require a rooted phone. Are there any such tools?

Could you use the emulator in the developer SDK to accomplish a lot of this?

Basically, yes. Using emulator as a sandbox is possible. But what if I want to run an app on the physical phone, but keep my privacy?

I know this question is old, but can you elaborate what context make you you want to test some malicious app on your own personal physical device and answer bogus personal data ? To me, current cyanogenmod solution (reject calls, do not produce fake data) seems enough.

XPrivacyLua is a module for Xposed framework which does exactly what you need. It is free and open source. Works on rooted devices. It's the successor of XPrivacy.
Install Xposed from here:
https://forum.xda-developers.com/showthread.php?t=3034811
You can then download the XPrivacyLua module from the Xposed repo through the Xposed Manager app, or manually from here:
https://repo.xposed.info/module/eu.faircode.xlua
Source:
https://github.com/M66B/XPrivacyLua

If you're running Android 5 or lower, you can use the legacy XPrivacy module.

Very good tool. Exactly what I was craving for.

MockDroid is another academic firmware with data faking capabilities.

It's a logical solution for a potential problem and a long time irritation of mine.
However, you must remember that whatever solutions are available for a security application would also be available for a malware app.  If a security app could block net access then a malware app could block it also, stopping a security app from updating data files for instance.
It needs to be done at the system level, not as another application.
See my post here for my thoughts.

Such tools would require root access to the phone, if you grant it, should have an ultimate trust in the tool, like "Permissions Denied". If you grant root access to a random application from the market, you just shot yourself in the foot :)

A translated version of the Chinese version of LBE is available on XDA developers, and it works very well on Jelly Bean. Apparently the Chinese version is still actively developed.
http://forum.xda-developers.com/showthread.php?t=1422479

There is an ongoing research on this this subject. A non yet released proof of concept is implemented for some of the privacy sensitive APIs exactly as I proposed. The privacy manager is called TISSA, short for Taming Information-Stealing Smartphone Applications.

Marshmallow (Android 6) has a new permissions model. Applications targeting Marshmallow can now be restricted to fewer permissions at runtime, and these applications should fail gracefully, rather than the all-or-nothing permissions model of prior Android versions. In Marshmallow, this is a feature of the standard OS, and does not require rooting or additional applications.

Hi mattm! It would be good if you go in-depth here. For example, the new permission model doesn't give any control on internet permissions. If possible, use screenshots for a more better way to make us understand what you're talking about.

https://island.oasisfeng.com/
Island does most if not all of this...

Welcome to Android Enthusiasts! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.

I'm fairly certain that tool that you seek doesn't exist yet. But your idea is great. Few point though;
ofc; app can freely read and write it's own app directory
giving fake read acces : for every possible read (and there's a lot app can try to read) default response should be generate; lot a work but doable
however; giving fake write access is lot harder;  what if it uses sd card to store big temp files; like bitmaps. On unrooted phone; only place app can write is sd card; and using content provider (for stuff like contacts, and calendar). And app desiger isn't expecting to fail in writing data; so app could crash.
Good thing is that the worst that could happen is that app might crash.

source: Stack Exchange

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

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

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

sort: votes


text:
How do I send this explicit intent from Tasker?
This adb command from documentation causes a CAPTCHA to succeed in my favorite alarm clock app:
adb shell am start -n com.urbandroid.sleep/.alarmclock.AlarmAlertFullScreen --ez captcha_result_success true

I tested this command, and it has the expected result. However, I am having trouble achieving the same result from Tasker.
I use the "Send Intent" action with the following settings:

Action -> blank
  Extra -> captcha_result_success:true
  Package -> com.urbandroid.sleep.alarmclock
  Class -> AlarmAlertFullScreen
  Target -> Activity

Unfortunately, this doesn't do the same thing as the adb command above. The CAPTCHA screen opens, but it doesn't get dismissed. I'm not sure what is wrong. The Tasker documentation says that the colon syntax is how extra boolean variables are passed.
I've tried a couple of variations, but nothing has given the same result as the adb command.
The adb command is documented here: http://sleep.urbandroid.org/cs/documentation/developer-api/captcha-api/

Here is how I fixed it.

Package -> com.urbandroid.sleep
Class -> com.urbandroid.sleep.alarmclock.AlarmAlertFullScreen

You must fully qualify the class and use the part of the package before the slash.

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


text:
Does the IP address over a mobile data connection (gprs, 3g/4g) change every time on new connection?
Is the IP address of a data connection assigned every time whenever a fresh connection is established (e.g after a  disconnect-reconnect scenario, reboot etc) or its preserved.
I have done a bit of research on this topic but there are slightly different views. The first one is affirmative:

Whether the IP address is reachable from the public Internet, however,
  depends on your ISP; most mobile ISPs operate a NAT that multiplexes
  several network-internal IP addresses through a single address visible
  to the public Internet. The externally visible IP address may change
  on the fly as you move around from cell tower to cell tower. Your external IP will, however, change when you reconnect to your network 1

On the other hand, some suggest that the same IP address is maintained even on reconnection after reboot but only changes when the lease expires

Phones use DHCP (Dynamic Host Control Protocol) to obtain new IP
  addresses from the carrier when the lease on the address expires. You
  don't get a new IP address every time the phone reboots, only when you
  restart the phone and the lease on the IP address has expired. 2

I do understand the concept of DHCP and that new IP  addreses are assigned whenever the lease expires (some suggest usually after 24 hours or so) but my confusion is that if the lease is still valid and I do disconnect and reconnect mobile data, do I get assigned a new IP or the existing one is kept?
References

Does my phone have an IP address when I'm using the internet, but not connected to WiFi?
Does my 4G mobile phone have a fixed IP address or does it change whenever I move to a different location or whenever I restart the phone?

The answer is this varies by carrier and can vary for any number of other circumstances such as market, locale, and traffic density... Both answers you referenced are correct for certain situations. I have also seen DHCP leases in crowded mobile network areas be under 4 hours... So does your IP address change every time you connect? Sometimes it will, sometimes it won't, there is no definite answer that encompasses all/most situations.

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


text:
Why is the SMS app crashing when sending SMSes to a three digits number?
The SMS application crashes when I try to send an SMS to a three digits number. With other "regular" numbers, works just fine.
phone-HTC desire
Rom - AOKP Rom 4.2 JB
I tried to replace phone.apk,mms.apk, but that didn't work.
My logcat
V/SmsReceiverService( 7599):
onStart:
#1 mResultCode:
-1 = Activity.RESULT_OK E/SmsUsageMonitor( 7089):
Parsing pattern data found null E/SmsUsageMonitor( 7089):
No patterns for "in":
using generic short code rule D/AndroidRuntime( 7089):
Shutting down VM W/dalvikvm( 7089):
threadid=1:
thread exiting with uncaught exception (group=0x41801930) E/AndroidRuntime( 7089):
FATAL EXCEPTION:
main E/AndroidRuntime( 7089):
java.lang.NullPointerException E/AndroidRuntime( 7089):
    at com.android.internal.telephony.SMSDispatcher.handleConfirmShortCode(SMSDispatcher.java:1241) E/AndroidRuntime( 7089):
    at com.android.internal.telephony.SMSDispatcher.handleMessage(SMSDispatcher.java:343) E/AndroidRuntime( 7089):
    at com.android.internal.telephony.gsm.GsmSMSDispatcher.handleMessage(GsmSMSDispatcher.java:116) E/AndroidRuntime( 7089):
    at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 7089):
    at android.os.Looper.loop(Looper.java:137) E/AndroidRuntime( 7089):
    at android.app.ActivityThread.main(ActivityThread.java:5233) E/AndroidRuntime( 7089):
    at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 7089):
    at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime( 7089):
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) E/AndroidRuntime( 7089):
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) E/AndroidRuntime( 7089):
    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:126) E/AndroidRuntime( 7089):
    at dalvik.system.NativeStart.main(Native Method) I/Process ( 7089):
Sending signal. PID:
7089 SIG:
9 I/ServiceManager(  152):
service 'iphonesubinfo' died I/ServiceManager(  152):
service 'simphonebook' died I/ServiceManager( 152):
service 'isms' died I/ServiceManager(  152):
service 'phone' died I/ServiceManager(  152):
service 'sip' died I/ActivityManager( 1137):
Process com.android.phone (pid 7089) has died. W/ActivityManager( 1137):
Scheduling restart of crashed service

Please provide more detailed information: Android Version, ROM type, Rom name, device name, etc.

4.2.2 it is a custom aokp Rom.my device is HTC desire. Other custom roms working fine.May be a file is corrupted inside Rom.

@jerry: It's better to [edit] that information into your post. Comments are, by their nature, impermanent.

Your SMS app is crashing because of an software bug, which is causing an uncaught NullPointerException resulting in a termination of the davlik VM and it's process.

any guesses to resolve this, I'm working on a custom Rom

Update the ROM to a newer version where the bug is (hopefully) fixed.

thanks for advice but I want to correct the error/software bug

You can't correct a software bug of the ROM without changing the ROM.

I probably can, I can decompile it, modify it. I just want to know which file causing that error so that I can replace with a good one .:)

It's usually easier to update the whole component instead of replacing only the faulty object code (although it certainly is possible).

...not to mention, programming issues (including creating/modifying ROMs) are off-topic here.

@krampus where can I,I thought it was the right place.

@flow I admit it.I don't know the component causing the error either.
I tried to replace sms app(it probably contains SMSdispatcher.java file) but that didn't work.

Please see the [help/on-topic]. You might also look at Where can I ask questions that aren't Android Enthusiast questions?


text:
How to backup/restore specific apps for factory reset?
I have a Nexus 7 2013 and now with Android 5.0 I would like to get rid of all the try and error I made with my first tablet through a factory reset.
I want to backup and restore most of my apps but not all. So I can't make a full backup, I must be able to select which apps to backup (and later restore).
Do you know any app or tutorial backup a selection of apps from your Android (without root please)?
I just don't want to loose my games' progress and apps' preferences.

Though you don't want to make a full backup, you might still wish to take a look at Full Backup of non-rooted devices to get an idea what is possible. That page also mentions some helpers for your issue:

Simple Backup runs from your computer and, as the screenshots indicate, can also be used to backup a single app (so you could use it for each app you want to backup)
Helium Backup (formerly known as Carbon Backup) is an app you can install to your device. Select the apps you want to backup, start the process – and it creates a separate backup file for each app. Which means, you can restore them separately/selectively.
It's also possible to do this via the command-line, which might be a little non-intuitive.
Not on that page, but making the latter a little more easy: Adebar is a tool I wrote (and am still on it – it's far from being complete yet). It creates you scripts for backup/restore (where you simply can comment-out/remove those apps you don't wish to take care for), plus more. Possible drawback: Adebar is written for Bash, so you will need an OS that has this (Linux, and possibly also Mac should do).

There's one thing all those have in common: they require ADB-tools to be available. For that part, you can take a look at Is there a minimal installation of ADB? to avoid installing too much with too much hassle ;)

EDIT: WARNING!
If you find another app promising easy backups without requiring root or ADB, be aware it might leave your apps' data out! To my knowledge, before Android 4.0 only root-apps were able to backup app data, and with 4.0 only the option via ADB became available. Make sure to read the description of such an app very carefully.
To pick an example (experience of the OP, sadly): There's an app called App Backup & Restore. On a quick view it sounds like a perfect match. But looking deeper into the description you will find:

App Backup cannot backup data or settings of apps for you, but it only backup the apk files.

Which means: It only cares for the apps themselves (which you always could re-install from their respective sources anyway – with the added work of looking them all up separately, and maybe some of them disappeared, or are no longer available in a specific version you might want for some reason – so this app still has a good reason to exist), but doesn't cover their data.

Thx Izzy. Meanwhile I found App Backup & Restore that enables me to select every app (even system apps) I want to backup and doesn't require root or ADB. Backups are exported as .apk files. Seems legit?

Almost – if you don't want the app's data. .apk usually is just the app without data. From the app's description: App Backup cannot backup data or settings of apps for you, but it only backup the apk files. So you'll lose your settings and all data entered into the app, including game levels etc., unless backed-up otherwise.

oh sh!t... too late. thx anyway

If it had been that easy, I hadn't left that option out of my answer. But I should have left a warning – my bad, sorry. Will edit that in, might save somebody else a lot of trouble.

I would upvote it again if I could :P Thanks again Izzy, it was really my fault, I'm an Android noob and I was trying to avoid rooting the device, so that application was really tempting :P

Understandable – but "lesson learned" I'd say: Always read the full description, especially in cases where your data is depending on it. I'm sorry you had to learn that "the hard way" – that's the trouble if one is "used to" something (to me the difference was clear). Well, past is gone – next time both of us know better :)

Without root it's impossible, the quickest way is to root your device and use titanium backup.

Not quite correct (see my answer). Though I won't say anything against TiBu :)


text:
Whats the best way to test android apk apps in an android virtualbox setting in windows 10?
I have alot of apk's I'd like isolated to test in a sandbox like environment. Is there something like this where I can duplicate the OS like a virtual machine? I want to test these new apk's on Android 8 Oreo.

I believe Genymotion is an excellent Android emulator. You can even drag and drop the APKs in it to automatically install them. I have been using it for many years now.

Genymotion cost $100+ per month. Not feasible for a hobbyist just messing around.

Yeahh didn't use to cost anything 1 year ago :(

Here are some alternatives though. Hope you find something that suits you. https://alternativeto.net/software/genymotion/


text:
How to connect new user to hotspot while vpn running?
I'm running marshmallow  (6.0.1) rooted. I run the following commands
iptables -F

iptables -t filter -F FORWARD

iptables -t nat -F POSTROUTING

iptables -t filter -I FORWARD -j ACCEPT

iptables -t nat -I POSTROUTING -j MASQUERADE

ip rule add from 192.168.43.0/24 lookup 61

ip route add default dev tun0 scope link table 61

ip route add 192.168.43.0/24 dev wlan0 scope link table 61

ip route add broadcast 255.255.255.255 dev wlan0 scope link table 61

So I can tether the vpn connection. My problem is once tethered no new client can connect it stays at obtaining iptables address. How can I fix this?

Did you mean "stuck at  obtaining IP address ?

Normally in plain hotspot mode (without VPN setup), clients will get
  an IP address from the phone's DHCP server.
However, when the OpenVPN client is running, by default it is
  redirecting all traffic to the OpenVPN server, meaning any client
  traffic is also being redirected. Hence, the clients aren't talking to
  the phone's DHCP server any more - they are talking to the OpenVPN
  server, and if that doesn't provide an IP address via DCHP then the
  clients connection attempts will "hang".

There are possible workaround to keep tethering functionality on other connecting clients:

Using postrouting and forwarding rules

You can just add just  post-routing  and forwarding rules i.e
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t filter -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE

(this is the solution I'm using currently),

Setup IP addresses manually

You may need to assign other clients IP manually (static IP
address) to bypass DCHP server.

Exclude hotspot subnet from tunnel

The fix is to identify the subnet used by the hotspot service and
  manually add it to Excluded Networks for the connection. i.e
  192.168.43.0/24.
Now when the tunnel is initiated the hotspot subnet is always excluded from routing through the tunnel regardless of startup
  sequence and tethering always works.

or simply excluding 192.168.43.0/24 (and including  0.0.0.0/0) rules from iptables.
Acknowledgements

Wi-Fi hotspot enabled on host device with OpenVPN connected... connected client devices have no internet


text:
Prevent app from knowing about root access (sandbox)
I'm running CyanogenMod 12.1 on a Motorola Moto G3. When I tried setting up some app, it failed on me with the message that it won't run on rooted devices, even though I disabled root access.
Now I'm looking for a way to sandbox said app, to prevent it from knowing about the ROM.

Due to changes in the SafetyNet API, which is a mandatory part of Google Play Services, most apps cannot have the fact you are rooted, or modified in anyway (such as running CM), hidden from them. Most financial apps, Android Pay, Pokemon Go and others use this API to check and there is no known work around at the moment, and according to some developers this may never be possible anymore IF the app is using the SafetyNet API to check for modifications.
Until recently (early October 2016), it was fairly easy to get around this check, but today it is almost impossible due to changes over the last month. The only known work around is to go back to stock. Be aware than starting with Android 7, even having an unlocked bootloader with no other modifications will cause a SafetyNet API check to fail.
If the app is just checking for su or standard root calls, then RootCloak or Suhide should work, but most apps are switching to SafetyNet now that Google is actively updating and enforcing it.
http://phandroid.com/2016/10/06/safetynet-update-no-longer-hides-root/
http://www.androidpolice.com/2016/10/19/safetynet-api-fails-unlocked-android-phones-android-pay-affected/
There are multiple other sources, but to see why this is nearly a foolproof method, or will be soon, see how SafetyNet works here.

+1 . You may like to add this if found appropriate

Coming back to check and found I forgot about the existence of SafetyNet (cuz we don't have Google here). +1, OP should just refer to yours for a more complete vision.

@beeshyams Nice find, I was unaware of that, but I think your comment is sufficient, since this seems to only bypass the bootloader unlock check on a specific device and Android 7, so it doesn't really apply to the situation of the original question.

Based on what you have right now, combining Xposed framework and RootCloak should work just fine.
Since you already have a custom recovery (for flashing CM), transitioning to Xposed should be painless, but still, be sure you download the correct framework version, and do a nandroid backup in case anything goes wrong.


text:
Are there sandbox apps that does not require the phone to be rooted?
There are many sandbox apps such as Permissions Denied (which was mention in one of the post) that can effectively control the permissions that apps which are installed onto your phone.
However, they require the user to root their phone.
So, are there sandbox apps that does not require user to root their phones and at the same time, allow user to control what permission to be given to the apps.
Would appreciate if the apps can run in Android 2 and above.

That would be a contradiction in terms: In order to disable permissions on-the-fly, root permissions are required -- no way around that.
For non-root users, there's only a different approach: Take the .apk apart before installing, manipulate the Manifest (remove unwanted permission's requests), re-assemble the .apk, and then install the modified package. Unwanted side-effect: No direct updates, as the signature on the package breaks this way. An app doing this is e.g. apktool, available for Windows, Mac and Linux.

There are no apps such as this that work without a rooted device.
This is because these apps make changes to system files - and you have to be root to do this.


text:
Why does Android OS data usage not count?
I have noticed that "Android OS" consumes a lot of data on my phone (LineageOS 14.1; Samsung Galaxy SIII GT-I9300; rooted). However, this data seems not to count for the overall data usage. As you can see in the picture below, Android OS consumed 36.72 MB so far. But that is more than the total data usage at the top (28.11 MB). This determined total data usage is the same as my provider says. Is there a particular reason why the data usage of Android OS does not count? Has it something to do with Nougat or even LineageOS?

On the other hand, My Data Manager, for example, seems to take Android OS into account:

Does someone know the reason for this issue or does somebody have an assumption at least?

As far as I can tell, Android OS (sometimes called OS + others) is not actually a real application to say. Basing this on one data application I've used it is explained;

It is a "catch all" pseudo-application accounting for the difference
  between global usage (displayed in the main screen) and the sum of all
  installed applications usages.

Initially it will be equal to global usage, but discrepancies can easily be noted in case when an application which previously had access to data connectivity is uninstalled.
On the other hand, the value can stay as a very small value (few MBs) perhaps if the applications that occasionally use data are not affected (remain intact).
The other reason, I can think of is, data used in some minor updates (to Android itself), connectivity checks etc  can be assigned to Android OS in data usage counter such that there is always a reading for such in data counters.

I don't think this has something to do with Lineage OS or Nougat but just a conventional way for counting data usage accross apps (regardless they were uninstalled in that particular usage period)


text:
What process happens when there is a system optimization?
My question is the following: Not long ago I was moving apk, data and .dex files to the directories / data, and they did not show the applications I had manually installed, if not until I rebooted on the device and a message appeared saying "optimize the system" from the moment I was curious about this.
My purpose is to learn what happens in this process and to know how to be able to repeat it manually.
If you know anything about this, I'll be happy to hear your comments and answers.

To repeat this process, install the APK file as you normally will. Odex-ing is part of the installation process.

It can be misleading that files in /data/dalvik-cache/ have the extension of .dex, because their actual format is odex and is different from what you extract from APK.

What is Android doing when it says “optimizing apps/system”?
Basically the android system will be creating an optimised version of each application. This process makes each app start as fast as possible with the new Android version.

While it says ‘optimising,’ operating system generates ‘odex’ files
  for your apps from scratch. As a simple explanation, odex files can
  help the system boot faster and reduces the time needed for launching
  applications.

Apk files and odex files

The longer story is that when an APK file is added to your Android
  system, it’s not actually stored that way. It’s converted to something
  called an “odex” file.

The Android OS does not store apps as is after installation (i.e., one single APK file). An optimized version of the app is stored in the Dalvik cache — called the odex file.”
What Is an Odex File?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex  (Optimized Dalvik EXecutable) files whose supposed function is to save space. These odex files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
Deodex
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files (Dalvik EXecutable).

By doing that, all pieces of an application package are put together
  back in one place, thus eliminating the worry of a modified APK
  conflicting with some separate odexed parts.

In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
There are several explanations on how this works:

In Android, applications come in packages with the extension  .apk.
  These application packages, or APKs contain certain .odex files whose
  supposed function is to save space. These ‘odex’ files are actually
  collections of parts of an application that are optimized before
  booting. Doing so speeds up the boot process, as it preloads part of
  an application.
Android OS uses a Java-based virtual machine for running applications,
  called the Dalvik Virtual Machine. A deodexed, or .dex file contains
  the cache used by this virtual machine (referred to as Dalvik-cache)
  for a program, and it is stored inside the APK. An .odex file, on the
  other hand, is an optimized version of this same .dex file that is
  stored next to the APK as opposed to inside it. Android applies this
  technique by default to all the system applications. Now, when an
  Android-based system is booting, the davlik cache for the Davlik VM is
  built using these .odex files, allowing the OS to learn in advance
  what applications will be loaded, and thus speeds up the booting
  process. By deodexing these APKs, a developer actually puts the .odex
  files back inside their respective APK packages. Since all code is now
  contained within the APK itself, it becomes possible to modify any
  application package without conflicting with the operating system’s
  execution environment.

How to do the process manually;
If you want to manually optimise your apks, there are some options:

You could try using  using applications like Lucky patcher
Alternatively with Windows you can zip-align them with
Apk decomplier (apk sign tool)

Acknowledgements

What Is Odex And Deodex In Android
What is Android doing when, after an upgrade, it tells you it's "optimizing" the apps?
http://alvinalexander.com/android/what-android-doing-optimizing-apps-after-system-upgrade-restart

Thanks for the info, but I have another question, I already copied the dex in the dalvik-cache directory, however the app icon is not displayed in the android launcher.

Because the .dex will not be "built" into te dalvik virtual machine as explained above, and this process happens during booting hence you have to reboot after movibg your dex file so that it will be optimised first in cache, and associated parts moved to respective locations.

But there is no way to activate this process at any time without having to restart the device. Thank you

Nevertheless, did the explanation help you understand what happens when android says "system is optimising"?. From the look of things, it seems that was the main question , I aplologise if I misquoted you

You are not right my curiosities, they took me off the subject. Thank you

The link you provided for Lucky Patcher is not the official site. It have the potential of containing malware. This link (above) is correct.


text:
Is it a Virus? : " HTMLViewer "
For one time in my live, I accidentally set the option "Always" (tick the box) when Android ask me the question "which application must be used  to open this type of file?"
Android suggested some text application and " HTMLViewer".

I found out this was not a good idea at all!
I tried to change the default application but " HTMLViewer" does not appear in the applications list, even if system files are displayed.
" HTMLViewer" is not known on Google as it seems, and I am now suspecting it perhaps is some kind of malware.
I only installed apps from "Play Store"..
Does anyone know something about this, and maybe solution to stop this behaviour?

Here are my device's specs. As you can see... We can not update more ☺

The inoperant changes done with "Better Open with" :

Whatever it is: if it's on Android, it cannot be a virus – as there are no viruses on Android. Malware yes, but no viruses. A virus can self-replicate. Malware on Android always needs the help of the user for that.

Sorry for that!  I wrote my first assembler program it was 40 years on a compter à have built myself... The difference between virus or   Mal are does NOT change anything to the facts. Thx

HTML Viewer is not a virus and you shouldn't be alarmed.
Actually it is a core application in most android versions (It's also present on my device running android 4)
HTML viewer (as the name suggests) basically lets you read HTML files stored on your device and it occasionally handles some .txt or related extensions of files present on your device and normally appears alongside other .txt handling applications.
Under normal circumstances you should be able to remove defaults of the HTML Viewer as an individual app:

Go to Settings → Apps → Tap 3 dot menu → Show system.
Select HTML Viewer → Open by default → Clear defaults:

You also can reset default applications by following this procedure:

Go to Settings → Apps → Tap 3 dot menu → Reset app preferences then click Reset Apps to confirm:

Alternatively as beeshyams suggested: using an app like Better Open With provides flexibility to choose the prefered app even if its one.
Update
Lib Caris is right by claiming that "even by clearing defaults/resetting preferences" HTML Viewer still opens .txt despite these interventions, and I agree with him.
Don't know if I can call it a bug, I reproduced this issue again and even if defaults are cleared the changes are not confirmed in android (Android 6).
Nevertheless I have two workarounds to bypass this "bug":
1. Temporarily disabling HTML Viewer

Go to Settings → Apps → Tap 3 dot menu → Show system.
Select HTML Viewer → Disable:

After disabling HTML Viewer, navigate to your device storage and look for any .txt file and open it.
You will notice it will open with any available text viewer (not HTML Viewer)
Next follow the above procedure and re enable HTML Viewer.
Then try opening the .txt file again, this time around the defaults are cleared automatically and you have a chance to choose your preferred text viewer:

2. Choose open as with file manager

Alternatively, directly navigate to any .txt file on your device storage with a suitable file manager e.g ES explorer .
Long press the .txt file and choose "Open As"  → Clear defaults

Final Update
Due to problems in language barrier, it was a challenge to provide a conscise solution, nevertheless I will express my sincere gratitude to Lib Car, in his quest to address the problem and identifying pointer that ultimately solved this issue:

I did not find it since the beginning because it's name is NOT "
HTMLViewer ".  The NAME is " Visionneuse HTML " :


text:
No data connection for 2G/3G on Xperia U
I have a Sony Xperia U. I had some problems with 2G/3G data connection when I bought it. After some configuration, power off/power, removing and reinserting SIM, things went all right.
Now I've updated the OS and I have the same problem. I've set the APN, then activated the data connection, but I do not see the H/E/G symbol to tell that the data connection is active. I've verified, and have the data traffic for my subscription.

How can I verify if the APN configuration is good? If there is an APN problem will I have the described behaviour?
Is there some way to do some more troubleshooting? I read logs (with aLog) but didn't find anything?
Is there any configuration/procedure to fix the problem?

Some update:
Network operator is French SFR (sometimes disappointing I must say).
So I managed to take a look at logs (using adb).
Main log:
I/ActivityManager( 1737): Starting: Intent { flg=0x18000000 cmp=com.android.phon
e/.DataTrafficSwitchDialog } from pid 1879
V/DataTrafficSwitchDialog( 1879): isDataTrafficEnabled? false
D/dalvikvm( 1879): GC_CONCURRENT freed 944K, 49% free 3585K/6983K, external 3880
K/4099K, paused 13ms+6ms
I/ActivityManager( 1737): Displayed com.android.phone/.DataTrafficSwitchDialog:
+404ms (total +13s268ms)
W/ActivityManager( 1737): Duplicate finish request for HistoryRecord{409aae38 co
m.android.phone/.DataTrafficSwitchDialog}
W/InputManagerService( 1737): Window already focused, ignoring focus gain of: co
m.android.internal.view.IInputMethodClient$Stub$Proxy@40a0bc20
W/ActivityManager( 1737): Duplicate finish request for HistoryRecord{409aae38 co
m.android.phone/.DataTrafficSwitchDialog}
I/TelephonyRegistry( 1737): notifyDataConnection: state=0 isDataConnectivityPoss
ible=false reason=apnSwitched interfaceName=null networkType=3
I/TelephonyRegistry( 1737): notifyDataConnection: state=1 isDataConnectivityPoss
ible=true reason=apnSwitched interfaceName=null networkType=3
D/Tethering( 1737): gprs0 is not a tetherable iface, ignoring
V/kernel  ( 1481): [  801.811279] gprs0: attached
V/kernel  ( 1481): [  803.178894] gprs0: detached
E/Tethering( 1737): attempting to remove unknown iface (gprs0), ignoring
I/TelephonyRegistry( 1737): notifyDataConnection: state=0 isDataConnectivityPoss
ible=false reason=apnFailed interfaceName=null networkType=3
D/GTalkService( 1869): ##### Network broadcast (connected=false) type=mobile, st
ate=DISCONNECTED
D/Tethering( 1737): MasterInitialState.processMessage what=3
D/PicasaSyncManager( 2906): active network: null
I/MediaUploader( 3052): No need to wake up
D/PicasaSyncManager( 2906): background data: true
I/fb_music_like( 3071): AvailabilityChangeReceiver : Availability change receive
d. Action: android.net.conn.CONNECTIVITY_CHANGE
I/fb_music_like( 3071): AvailabilityChangeReceiver : Network connectivity change
 received. No connectivity: true
I/fb_music_like( 3071): MusicLikeService.onCreate().
I/fb_music_like( 3071): MusicLikeService.onStart(): #1 intent=Intent { act=andro
id.net.conn.CONNECTIVITY_CHANGE cmp=com.sonyericsson.androidapp.fbmusiclike/.ser
vice.MusicLikeService (has extras) }, flags=2
I/fb_music_like( 3071): fireAvailabilityChanged(): available=true
I/fb_music_like( 3071): isNetworkAvailable: EXTRA_NO_CONNECTIVITY found!
I/fb_music_like( 3071): fireAvailabilityChanged(): available=false
I/fb_music_like( 3071): Starting downloading music likes from Facebook.
E/fb_music_like( 3071): downloadMusicLikes: false -> Value false of type java.la
ng.Boolean cannot be converted to JSONObject
W/fb_music_like( 3071): Get Error Code: 0 Error message: request failed
I/fb_music_like( 3071): MusicLikeService.onDestroy().
D/dalvikvm( 3062): GC_EXPLICIT freed 31K, 47% free 2878K/5379K, external 1681K/2
129K, paused 44ms
I/touchd  ( 1503): 'ab8500_usb' is online
I/touchd  ( 1503): handling_uevent: event is 1
D/kernel  ( 1481): [  810.299896] cyttsp-spi spi9.0: chg_status_work: Set charge
r mode to reg: 0x1
D/dalvikvm( 3071): GC_EXPLICIT freed 87K, 48% free 2818K/5379K, external 1681K/2
129K, paused 54ms

Radio log ( logcat -b radio ):
D/GSM     ( 1879): [GsmDataConnection-1] DcInactiveState nothandled msg.what=6
D/GSM     ( 1879): [GsmDataConnection-1] DcDefaultState: msg.what=EVENT_DISCONNE
CT
D/GSM     ( 1879): [GsmDataConnection-1] NotifyDisconnectCompleted
D/GSM     ( 1879): [GsmDataConnection-1] msg.what=25 msg.obj=apnSwitched
D/GSM     ( 1879): [GsmDataConnection-1] clearSettings
D/GSM     ( 1879): [DataConnection] Stop poll NetStat
D/GSM     ( 1879): [DSAC DEB] trySetupData with mIsPsRestricted=false
I/GSM     ( 1879): Preferred APN:20810:20810:[ApnSettingV2] SFR, 3, 20810, wapsf
r, 195.115.25.129, , , , 8080, -1, *, IP, IP
I/GSM     ( 1879): Waiting APN set to preferred APN
D/GSM     ( 1879): [GsmDataConnectionTracker] Create from allApns : [[ApnSetting
V2] SFR, 3, 20810, wapsfr, 195.115.25.129, , , , 8080, -1, *, IP, IP]
D/GSM     ( 1879): [GsmDataConnection-1] DcInactiveState msg.what=EVENT_CONNECT
D/GSM     ( 1879): [GsmDataConnection-1] Connecting to carrier: 'SFR' APN: 'waps
fr' proxy: '195.115.25.129' port: '8080
D/RILJ    ( 1879): [0173]> SETUP_DATA_CALL 1 0 wapsfr   0 IP
I/RILV    ( 1473): processRequest: SETUP_DATA_CALL
I/RILV    ( 1473): requestSetupDataCall() selected new Connection ID (1) and Int
erface Name (rmnet0)
E/RILVAT  ( 1473): --- AT+CGDCONT=1,"ip","wapsfr",""
I/RILVAT  ( 1473): AT(12)> AT+CGDCONT=1,"ip","wapsfr",""
I/AT      ( 1520): request_set_PDP_context: -> request
I/AT      ( 1520): psccclient_iadb_set: Setting psccclient_iadb_field_use_rel_97
_qos to 0
I/AT      ( 1520): set_default_req_qos_parameters: Default qos for cid =1
I/AT      ( 1520): set_default_qos_2G_parameters: Default 2G qos for cid =1
E/RILVAT  ( 1473): --- AT*EIAAUW=1,1,"","",001,0
I/RILVAT  ( 1473): AT(12)> AT*EIAAUW=1,1,"","",001,0
I/AT      ( 1520): request_set_PDP_auth: EXE_STATE_REQUEST
E/RILVAT  ( 1473): --- AT*EPPSD=1,1,1
I/RILVAT  ( 1473): AT(12)> AT*EPPSD=1,1,1
I/AT      ( 1520): request_activate_PDP_context: EXE_STATE_REQUEST
I/AT      ( 1520): request_activate_PDP_context: connection id: 1 ignored
I/AT      ( 1520): add_client_tag_and_connid_to_request: (pscc): CT=446 connId=0

I/AT      ( 1520): exe_pscc_setup_data_call: EXE_STATE_SETUP_DATA_CALL_CREATE
I/AT      ( 1520): add_client_tag_and_connid_to_request: (pscc): CT=446 connId=1
000
I/AT      ( 1520): exe_pscc_setup_data_call: EXE_STATE_SETUP_DATA_CALL_SET
I/AT      ( 1520): add_client_tag_and_connid_to_request: (pscc): CT=446 connId=1
000
W/RIL PSCC( 1515): psccd_log_func: no successful response of aol configuration h
as been received, so aol might not work!
I/RIL_MAL ( 1515): GPDS_LIB::->GPDS_CONTEXT_ID_CREATE_REQ
W/RIL PSCC( 1515): psccd_log_func: state change: disconnected->connecting
I/AT      ( 1520): exe_pscc_setup_data_call: EXE_STATE_SETUP_DATA_CALL_CONNECT
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_ID_CREATE_RESP
I/RIL_MAL ( 1515): GPDS_LIB::PIPE state CREATED
I/RIL_MAL ( 1515): GPDS_LIB::->GPDS_LL_CONFIGURE_REQ
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_ID_CREATE_IND
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_LL_CONFIGURE_RESP
I/RIL_MAL ( 1515): GPDS_LIB::Local link Config done to PLAIN mode
I/RIL_MAL ( 1515): GPDS_LIB::->GPDS_CONTEXT_CONFIGURE_REQ
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_CONFIGURE_RESP
I/RIL_MAL ( 1515): GPDS_LIB::PDP Context Configured
I/RIL_MAL ( 1515): GPDS_LIB::->GPDS_CONTEXT_ACTIVATE_REQ
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_ACTIVATING_IND
I/RIL_MAL ( 1515): GPDS_LIB::PDP Context Activating
W/RIL PSCC( 1515): psccd_log_func: pscc_bearer_event_activating
W/RIL PSCC( 1515): psccd_log_func: Sending event: pscc.message=event_connecting,
pscc.message_type=event,pscc.connid=1000
I/AT      ( 1520): psccclient_selector_callback_event: received event 26
I/AT      ( 1520): psccclient_selector_callback_event: CONNID Present
I/AT      ( 1520): psccclient_selector_callback_event: Setting event to record
I/AT      ( 1520): exe_pscc_setup_data_call: EXE_STATE_SETUP_DATA_CALL_CONNECTIN
G
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_ACTIVATE_RESP
I/RIL_MAL ( 1515): GPDS_LIB::msg id is GPDS_CONTEXT_ACTIVATE_RESP, hence not doi
ng proceed for activation
I/RIL_MAL ( 1515): GPDS_LIB::GPDS_Context Activate FAILED
I/RIL_MAL ( 1515): GPDS_LIB::Cause 21
I/RIL_MAL ( 1515): GPDS_LIB::PIPE disconnected
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_ACTIVATE_FAIL_IND
I/RIL_MAL ( 1515): GPDS_LIB::PDP Context Activation Failed
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-Unhandled MSG-ID 5a
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_STATUS_IND
I/RIL_MAL ( 1515): GPDS_LIB::PDP Context 0 Status
I/RIL_MAL ( 1515): GPDS_LIB::entered gpds_lib_response_handler
I/RIL_MAL ( 1515): GPDS_LIB::<-GPDS_CONTEXT_ID_DELETE_IND
I/RIL_MAL ( 1515): GPDS_LIB::PDP Context 0 Deleted
W/RIL PSCC( 1515): psccd_log_func: pscc_bearer_event_deactivated reason=1, cause
=33
W/RIL PSCC( 1515): psccd_log_func: state change: connecting->disconnected
W/RIL PSCC( 1515): psccd_log_func: Sending event: pscc.message=event_disconnecte
d,pscc.message_type=event,pscc.pdp_type=ipv4,pscc.reason=pdp_context_activation_
failed,pscc.cause=33,pscc.connid=1000
I/AT      ( 1520): psccclient_selector_callback_event: received event 29
I/AT      ( 1520): psccclient_selector_callback_event: CONNID Present
I/AT      ( 1520): psccclient_selector_callback_event: Setting event to record
I/AT      ( 1520): exe_pscc_setup_data_call: EXE_STATE_SETUP_DATA_CALL_DISCONNEC
TED
I/AT      ( 1520): add_client_tag_and_connid_to_request: (pscc): CT=446 connId=1
000
I/RIL_MAL ( 1515): GPDS_LIB::Removed pipe 33
I/AT      ( 1520): exe_pscc_setup_data_call: EXE_STATE_SETUP_DATA_CALL_DESTROY
I/AT      ( 1520): pscc_request_setup_data_call_scenario_1_step_12_13_14_receive
_pscc_destroy_response: executing in synchronous mode
E/AT      ( 1520): exe_check: Failure in file: vendor/st-ericsson/access_service
s/at/at_core_common/internal/executor/pscc/src/exe_pscc_requests.c       line: 5
52
E/AT      ( 1520): exe_check: Failure in file: vendor/st-ericsson/access_service
s/at/at_core_common/internal/executor/pscc/src/exe_pscc_requests.c       line: 3
292
E/AT      ( 1520): psccclient_selector_callback_request: request returned unsucc
essfully, failed!
E/RILVAT  ( 1473): --- AT+CEER
I/RILVAT  ( 1473): AT(12)> AT+CEER
I/AT      ( 1520): request_ceer: request_ceer
E/RILV    ( 1473): PDP Context Activate failed with SM Cause Code 33
D/RILV    ( 1473): requestSetupDataCall() errorhandler: Trying to remove account
 1
E/RILVAT  ( 1473): --- AT+CGDCONT=1
I/RILVAT  ( 1473): AT(12)> AT+CGDCONT=1
I/AT      ( 1520): request_set_PDP_context: -> request
D/RILV    ( 1473): requestSetupDataCall() errorhandler: Trying to unreserve list
 entry
D/RILJ    ( 1879): [0173]< SETUP_DATA_CALL error: com.android.internal.telephony
.CommandException: GENERIC_FAILURE
D/GSM     ( 1879): [GsmDataConnection-1] DcActivatingState msg.what=EVENT_SETUP_
DATA_CONNECTION_DONE
D/GSM     ( 1879): [GsmDataConnection-1] DataConnection Init failed com.android.
internal.telephony.CommandException: GENERIC_FAILURE
D/GSM     ( 1879): [GsmDataConnection-1] DataConnection setup result='Other erro
r' on cid=-1
D/RILJ    ( 1879): [0174]> LAST_DATA_CALL_FAIL_CAUSE
I/RILV    ( 1473): processRequest: LAST_DATA_CALL_FAIL_CAUSE
D/RILJ    ( 1879): [0174]< LAST_DATA_CALL_FAIL_CAUSE {33}
D/GSM     ( 1879): [GsmDataConnection-1] DcActivatingState msg.what=EVENT_GET_LA
ST_FAIL_DONE
D/GSM     ( 1879): [GsmDataConnection-1] DcInactiveState: setEnterNoticationPara
ms cp,cause
D/GSM     ( 1879): [GsmDataConnection-1] DcInactiveState: enter notifyConnectCom
pleted
D/GSM     ( 1879): [GsmDataConnection-1] notifyConnection at 1344278549550 cause
=Data Not subscribed
D/STK     ( 1879): BipProxy$DefaultBearerStateReceiver: onReceive(): Intent is :
  android.net.conn.CONNECTIVITY_CHANGE
D/STK     ( 1879): BipProxy$DefaultBearerStateReceiver: BIP network state : CONN
ECTIVITY_ACTION disconnected
D/STK     ( 1879): BipProxy$DefaultBearerStateReceiver: onDisconnected
I/RILV    ( 1473): onUnsolicited: +CIEV: 2,96
I/RILV    ( 1473): onUnsolicited: +CIEV: 2,90

Maybe the problem is PDP Context Activation Failed ?

My service provider has three APNs. One for MMS, another for their own portal access called 'live' and the third for Internet access.  Only if the third is selected I am able to connect to Internet.  I am not sure why, sometimes my default APN is set to 'live' on start up and it results in breaking my head about the same problem. I accidentally found this and I had to manually switch to the third APN to make Internet to work. Check whether you have this problem.

@Narayana123@123.com There is only on internet connection APN and one MMS APN, but the MMS one can't be selected (this is normal I guess).

Turns out the problem was actually wrong APN configuration. I configured the device using netowork operator automatic config mechanism, but turns out the parameters sent by the operator itself were wrong. Phone call to customer care solved the issue.


text:
How do I share latitude & longitute of a starred location in Google Maps?
The question title speaks for itself. How the heck do I do that in Google Maps. If I try to share a starred location, I get a link but not the coordinates.

This is bit long, round about and bit approximate way.  Other than this method, I do not know any other way.
In Google maps, press menu, goto Settings->About->Map centre.  The value showed as map center is the coordinate of the place at the centre of the screen.  So, you may have to align the starred place to centre of the screen and do this sequence to get it's coordinates.  This will only be as accurate as you can position the starred place at the centre. The accuracy can be improved by zooming in.
It will be nice if somebody comes up with a better idea.


text:
Get the first time Android device launched or used
I am about to buy a new nexus 4, the seller claims its never been used.
Is there any guaranteed way to check the mobile first time use?
Thanks

Simply go to the handset service menu and check the total call timer. Simple and easy.

Unfortunately service does not work on galaxy nexus

What do you mean does not work? There are several methods in the question. None of them work?

is "total call timer" is totally guaranteed? can it be reset in anyway? does not work means when I insert the code on the dialer simply the code reset to empty and nothing happen.

total call timer can be guaranteed. are you using it with a SIM inserted?

yes absolutely with SIM inserted

can you try ##786# ?

Connection problem or Invalid MMI code

@Sid What about factory reset? - Easy for the seller to do just that prior to selling used Nexus! There may be clues lying around, possibly a recovery.log within  recovery partition... as for the dial code that looks wrong!


text:
Is it possible to know how far away another phone is using bluetooth?
When connecting to another phone using bluetooth, is there any way to know how far away the other phone is (would be better if it can tell me the exact distance even though a estimated distance is fine with me)?

No more precisely than you already know: if it's connected with Bluetooth, it's probably less than ten metres away. It might theoretically be possible to use the round-trip-time between the two devices, and the finite speed of radio waves, to compute the distance, but in practice at these small scales the travel time is less than the latency in the Bluetooth stack. Radio waves take about 3 ns to travel a metre, which is about the time it takes a 2 GHz processor to execute one instruction.
You can get a reasonable approximation using the received signal strength indicator (RSSI) that the Bluetooth stack tells you. This number is available to apps, and it tells you how "loud" the remote endpoint's radio signal appears from the phone. A more positive number means the devices are close together; a more negative number means they are far apart. Some apps use this number when offering a list of devices to connect to: sorting the list by RSSI puts the closest devices at the top.
However, this is only an approximation. The RSSI doesn't simply vary with distance: it's affected by other factors. Reflections from other surfaces and objects can make it increase or decrease, and having objects in between the two phones makes it decrease. For example, if you're holding your phone, and the other device you're connecting to is behind you, so that your body is in between them, it will appear further away. Similarly, if the device is in your pocket or bag, it will appear further away. Even if you stay in the same place and nothing moves, the RSSI will still fluctuate a lot, because of interference from other radio sources.
Bluetooth LE beacons such as iBeacons use the RSSI to present an approximate distance, but it's only to categorise as "far", "near", or "immediate" (nearly touching), because you can't really get more accurate than that with RSSI.


text:
Low space on HTC Desire with CyanoGenMod 7.1: how to solve it?
I have an HTC Desire GSM.
This phone has the known problem of limited memory, so that it was impossible to install more than a couple of apps without running into the "Disk space low" problem.
So I rooted it, installed CyanogenMod7 and App2SD. I moved to the SD card almost all of the application (except those that needs notifications: those won'd work if moved to the SD).
Still, I periodically get the "Low space" message; it is as if the apps were storing their data on the phone memory. If I go to settings -> applications and clear some application's data, then clear the browser cache, I get rid of the message for a couple of days.
How can I definitely get rid of the "Low space" notification, while keeping my applications installed?
Please note:

I've read that it could be possible to repartition the SD card and "mount" it so that it extends the phone own memory. I've seen several conflicting instructions about the procedure (and, e.g. the order of the partitions on the SD card) and, while I managed to partition the card, I never managed to have Android "mount" the extra partition. I've also read instructions saying that recent versions of Cyanogenmod don't support the sd partition anymore.
The phone is already rooted, hence solutions requiring root are OK
I installed Cyanogenmod 7.1.0, but I have not particular preference to that mod. If necessary, I am open to install any mod that works on the phone and is stable for everyday use.

UPDATE:
This wiki page is the reference that says that the sd partition is not supported anymore:

Apps2ext (previously called apps2SD) moved all user installed apps to a secondary ext partition on your sdcard. This method had the advantage of being straight forward and simple, However, it had the drawback of being difficult to set up. This method is no longer officially supported by CyanogenMod

This is likely a duplicate of http://android.stackexchange.com/questions/5519/htc-desire-low-on-internal-storage-im-clueless-any-help . Could you have a look over there?

@ce4 my fault, I should have mentioned I had read that question before asking my own. I don't think it is a duplicate because 1) the other question is about using the original firmware and 2) the top answer is about using titanium backup to "integrate" app updates into the rom, but I have no such updates (I checked).

Many ways lead to rome:

Try a ROM that specifically fixes your problems: I use an ICS build, Sandvold's ICS for Desire which comes with 4 different App2SD methods included (XDA thread) which I find rather stable. You can have a look over to XDA's Desire forum, to search for more roms.
Use Link2SD, create a 2nd ext2/ext3/ext4 partition that a choice of your apps get moved to (manually) and symlinked from /data/ to. See app on Google Play, official FAQ.
CM7 also supports the standard move to sdcard method that you can also use (and might already be aware of. Downside: /data get's full anyway really soon)
You could try to flash a different bootloader (called hboot on desire, that has another partition layout. See Alpharev for instructions and downloads, there's data++ with 180MB and cm7r2 with close to 300MB free for apps at the expense of shrinking other partitions (/system, /cache/, ...). Not every ROM fits all of these though. WARNING: Not for the faint hearted! Read about the risks!

I also like DroidSail Super App2SD Lite. On my HTC Droid Incredible, the problem lies in the data partition, not the app. You should post that.

There is a post on the cyanogenmod forum that explains how to solve the problem.
I followed it and have had no more problems! It boils down to this:

use the Rom Manager to partition the SD card
Install S2E and use it to move the caches to the SD card

i was exactly like you but with cm7.2 i partitioned my sd and mounted it easily using terminal emulator writing only one line of on each boot and then quick reboot from link2sd then everything is completely fine that line is:
mount -t ext2 /dev/block/mmcblk0p2 /data/sdext2
but before all that you should open link2sd and select the ext2 then reboot

Does this mean that you have to do the mount each time you reboot your phone, or turn it off/on?

no. his rom doesn't support /etc/init.d/* scripts (where link2sd would place a mount script). Cyanogenmod supports this, so you just could give that a try. You have to repartition your sdcard though. Plus: You should not run your phone without that exact sdcard anymore (because apps have been moved in a non-standard app2sd way)

@fdierre well I don't reboot every day so it works fine with me

@ce4 he can use the sdcard without formatting or losing apps just use link2sd and it will do it all for you


text:
Why my apps are getting auto-updated despite "Don't auto-update apps" checked?
In Google Play Store, I have set "Auto-update apps" to "Don't auto-update apps". Still, I have apps automatically updated.
Why?

Still, I get notifications.

I don't use those apps but wondering if they have a setting that permits them to override Google Play selection?

I remember that Samsung devices also have an "Samsung App Store" that can automatically update apps. Therefore updated apps don't necessarily mean that Google Play Store has installed the update.

I found "Galaxy Apps" in the Samsung folder. There I could also disable autoupdate. Lets see if that will do any good!

Experienced this myself today. A new setting seems to have been added in Playstore or maybe it was there earlier but updates are affected by this, apparently.
Set App download preference to ask me everytime that seems to prevent it, though that wasn't the case earlier

Ok, it seems my phone ignores both settings in google play and in "Galaxy Apps". Facebook and Instagram are still automatically updated.

https://forums.androidcentral.com/general-help-how/841216-facebook-instagram-app-automatically-update.html

How does those apps manage to update behind the back of the system?

Now apps have separate auto-update option in Play store. So disable it, uncheck it.

disable Facebook services.
Instagram and Facebook are both auto updated by Facebook_services.
welcome to no longer having control over your own personal data collecting devices.


text:
Why Gallery and Music app are unable to read SD card storage while a file explorer can?
I checked my phone after a while (after 3 hours), and I found that all of my photos and songs were not there anymore. I checked my ES file explorer, because by default, I have  Google files (which is not a good way to manage files). I saw everything was fine in ES explorer.
I rebooted the phone a couple of times and even pulled out and reinserted my SD card but it didn't work.
How can the problem be fixed?

Run some media scanner to update Media Storage database. Make sure no .nomedia file exits in any of your media directories or in their parent directories.

Since you can access your music and pictures just fine from your file explorer, that usually means that it is being ignored by a .nomedia file.
Try to delete the .nomedia files from /sdcard, /sdcard/Music, /sdcard/Pictures, and /sdcard/DCIM.
If you have access to a terminal app on your phone, try the following commands:
cd /sdcard/ #Or  cd /mnt/sdcard or  cd /storage/sdcard0 if that doesn't work
rm -r ".nomedia"

(Note  that the above commands will delete ALL .nomedia files from your phone, so other files (from app caches) will also appear.) Alternatively, you could put your SD card in your computer, use the file manager to search for .nomedia, and delete all the .nomedia files it finds.
After deleting the .nomedia files, your Gallery and Music apps should see your pictures and music.


text:
How to connect to Android through SSH over 3G/4G public IP?
I am having an Android device and I want to connect in via 3G/4G and I am getting connection refused.
Any ideas how to do that?

Are you sure your device has a public IP address? The number of MNOs providing a public IPv4 per device is very very small and often limited to certain business or IoT contracts. Therefore most likely your device is behind a NAT gateway - therefore incoming connections are not possible.

Yes, it is behind NAT and I was hoping If there is a way to do this via reserve tunnel. Thanks Robert.

Duplicate: https://android.stackexchange.com/q/89019/218526

If you have a working SSH server running on Android device, you can connect to it on local/private network without any issues (after proper authentication setup obviously). Same may hold true for public network (internet) if your phone has a true public IP address (I don't think that happens on earth). However, when you need to cross networks i.e. traversing gateways and routers, there is Network Address Translation involved. You won't be able to access your device from internet if your SSH server can't be exposed to a public IP address.

WHAT IS NAT AND PAT?
In simple words, NAT is the translation of source IP from private address to public - routable; what they call it - address when an IP packet is leaving the router, so that packet could be sent back with identifiable IP address. Inverse happens when response for same packet is received back at router. It would mean mapping private IP of every host (phone, PC etc.) on local network to a unique public IP. But in usual cases, we just have one public IP assigned by ISP. So Port Address Translation comes in action. PAT translates every local IP address to same public IP address but with a unique port.
WHAT IS CGNAT?
To address the problem of IP Address Shortage, Internet Service Providers also perform NAT, called Carrier Grade NAT. It means that IP address assigned by ISP to you isn't either a public but private IP address. This is a definite situation with Mobile Data i.e. on 3G/4G but less common with DSL connections.
If the IP assigned to your phone by ISP (you can check by ip address | grep inet command) is different from the one shown here, you are behind a CGNAT. Similarly for Wi-Fi router, IP address appearing under PPP Connection Settings should match with the public IP.
DYNAMIC IP ADDRESS:
In order to maximum utilize the available pool of IP addresses, ISP's mostly assign dynamic IP address even when there is no CGNAT. So the public IP keeps on changing on daily, weekly, monthly or randomly basis, depending on the ISP's policy.

IPv6 is the upcoming protocol which won't need NAT and every network host on earth would be able to have a unique IP address.

SOLUTION:
Now coming to your question:

If there is no CGNAT, we can tackle the problem of DSL/3G/4G router's NAT by setting up Port Forwarding. But this option doesn't work if:

There is more than one hosts on local network that listen on same port (22 in case of ssh).
ISP firewalls don't allow you to receive incoming connections.
ISP locks you out of your router's Port Forwarding section or a 3G/4G router doesn't have a Port Forwarding settings at all.

Problem of Dynamic IP can be worked around by signing up a DDNS service. It assigns you a domain name that always resolves to your current public IP. DynuDNS is a free service that works perfect for me. You will have to install their software on your phone or PC to keep them updated of your public IP.
As far as CGNAT is concerned:

You can opt to buy a static public IP if your ISP provides this service but the price isn't "hearing friendly" in most cases.
Sign up for a service that lets you configure Port Forwarding on public VPN. There are free (for one port forwarding) solutions like portmap.io as well if you are not afraid of your traffic being sniffed :) Another specialized solution is ngrok that uses HTTP, TLS and TCP tunnels.
Setup a SSH (slower) or VPN (faster) tunnel from your phone to a personal server.

For best security and privacy, setup a self-owned server. You may use your broadband connection (if that has a public IP) for this purpose or may ask some friend to offer you this service.
Buy some trustworthy cloud VPS solution like AWS to host your personal SSH/VPN server. Setup is a bit technical but guides (1, 2) are available.

If you go with last option (setup a personal SSH or VPN server with public/static/dedicated IP address), follow the steps below to forward a specific port from SSH/VPN server to your phone:

SSH:
With an SSH server setup, you can create Reverse Port Forwarding tunnel from your phone. Note that you can't forward remote server's (default SSH) port 22 to your phone's port 22 if you are connecting to the server on same port.
Make sure GatewayPorts yes and AllowTcpForwarding yes are set in sshd_config on server, so that sshd allows port forwarding and accepts connections from public. Now on your phone create a reverse tunnel:
~$ ssh -NTR 2222:localhost:22 <server_user>@<server_ip>

You can make ssh tunnel persistent using autossh or some app like ConnectBot if you want.
For further options see this answer.
VPN:
From your phone connect to the VPN server using a VPN app. When on a Virtual Private Network (VPN), both server and phone become part of a local network, so just apply iptables DNAT to forward the specific port to your phone's IP:
~# iptables -t nat -I PREROUTING -p tcp --dport 2222 -j DNAT --to <phone_ip>:22

IP Forwarding is also required on server, which has probably been already set up during VPN server configuration:
~# echo 1 >/proc/sys/net/ipv4/ip_forward
~# iptables -I FORWARD -d <phone_ip> -j ACCEPT
~# iptables -I FORWARD -s <phone_ip> -j ACCEPT

Now you can ssh from any host on internet to your phone:
~$ ssh <phone_user>@<server_ip> -p 2222

You'll be logged in to your phone after authentication.

I explained here the SSH example. In the same way you can run any other server on your phone and forward its port from SSH/VPN server (with public IP) to your phone (with no public IP) so that your server becomes accessible from internet.

RELATED:

How to run SSH/SFTP server for multiple user logins with password authentication on Android?
How to connect two phones via SSH?

Just an addendum to the "VPN" section: Only the phone, the server is running on, have to use a VPN connection if the used VPN provides a public IP to the phone (often called static or dedicated IP). In such a case the client could use to the public IP offered by the VPN and reach the offered ssh service. There are public VPN providers offering such a VPN service.

@Robert sorry couldn't get the point. Can you elaborate?

You don't need two VPN connections. You wrote that they should be located in the same local network. But it doesn't have to be a local network, the Internet itself is also fine. If the serving device is located with a public IP in the Internet the second device don't needs a VPN connection.

@Robert got it. I couldn't explain it well I think. What I meant was that when two hosts are connected through VPN, they become part of a local network. E.g. if server's TUN interface has IP 10.8.0.1, the client would have something like 10.8.0.2. So their routing/firewall has to be handled like if they are on a local network. // SSH and VPN servers both make sense only if they have a dedicated/public/static IP. Otherwise they won't be accessible to phone.

I know this is an old topic, but I have a new follow-up. I run my own DNS as well as the firewall on a server that I also totally control. I can easily configure a domain which is dynamically updated to always point to my device's public address. However, I believe that my cell provider does not provide incoming IP-based connectivity to their devices. So, is there some way I could run a proxy somehow between my Android device and the host that I control whereby I can make some sort of rsync connection to some address, and have it access data on my device via normal rsync conventions?

@HippoMan couldn't understand how many hosts are involved; "server", "Android device", "some address", "my device". The "server" has a public IP address, right? And from which host you want to make an rsync connection to which host? And would this rsync access be through SSH? What are "normal rsync conventions"? "DNS" and "firewall" have to do something with rsync?


text:
How to find out what is causing vibration when sending and receiving texts?
After updating my LG V20 phone to 8.0, everytime I get a text message my phone vibrates twice. My phone has also started vibrating when I send a text.
I am using the message app that came with the phone.
How do I fix this?

Have you checked in the settings of your messaging app that there is no vibration related setting in it? Does the vibrations occur regardless of that setting?

Did you find a solution to this? My LG G5 is doing the same thing- vibrating after I send a text or after I hang up a call. It's really annoying because it seems like it's vibrating for a new notification. If I could even just change the pattern of the post-text vibration that would be better.


text:
Which option to choose in Redwolf TWRP Recovery for OTA update support?
I recently flashed the redwolf twrp recovery on my Xiaomi Redmi Note 4 (Snapdragon variant; code name - mido) which runs on MIUI10 (beta) based on Android 7.0 Nougat.
Now the reason behind the flashing is the fact that it supports the incremental OTA update.
But I have a problem in understanding which option I should choose to support the OTA updates. In fact, the redwolf twrp recovery I flashed is the latest build and there is no mention on the internet which option I should tick. Here is the image of the page:

Can anyone guide me?

Did you search on XDA thread for the recovery. Cursory search indicates you need to select the unselected option too

Here is a guide on XDA-Dev - https://forum.xda-developers.com/redmi-note-4/how-to/red-wolf-install-twrp-root-device-t3708337 But buddy i am sure about redwolf ota working with miui 10 beta, still googling, i'll update when i figure this out. Good luck.


text:
Chrome taking up lots of space on my Android device
I have an OnePlus 5T running Oxygen 5.1.4 (which is based on Android Oreo 8.1.6). According to the app DiskUsage, Google Chrome is using almost 15 GB of data.
(Click image to enlarge it)

Apart from this insane amount of space (which no app should ever use), I've been trying to figure out a way to backup the data (and remove the data I don't want). But I don't see a way of doing this without unlocking the bootloader and possibly flash the ROM.  I've enabled developer mode, I've tried backing up using the ADB drivers, but Chrome don't seem to let me backup it's app data.
Specifically asking to backup Chrome using adb backup -noapk -f Chrome.ab com.android.chrome only leaves a 1 kB .ab backup file.
But clearly the app data is there – and even DiskUsage can see it – and the device is not rooted.
So to summarize:
1. Is there a way for me to see the app data of installed apps, without having to root the device?
2. Is there a way to backup Chrome, only so that important stuff is backed up (open tabs, the state of each tab, history, saved passwords, browser settings, etc) and neglecting god knows what Chrome uses the space for. I'd imagine these would be stored in SQLite3-databases under /data/data/com.android.chrome/, but as I'm unable to access the files I cannot know for sure.

This is one of many reasons why I never recommend anyone use Google's Chrome web browser.  I wish Android device manufacturers would stop including it in the ROMs, as it is a big waste of precious non-volatile memory.


text:
Music player seekBar doesn't begin from 0
I have a Xiaomi Redmi Note 3 pro with MIUI 8 7.5.11. In the default music player when I try to drag the seekbar to the beginning it automatically releases at 00:04-05, not at 00:00. Is it a bug?
Here is the screenshot:

Please try to upload images directly (imgur)  and try not to provide an external link, this time I have edited for you.

Try Using Any other MusicPlayer.

your system has a bug, try to go on impostation(on the new dedicated section of the new miui version for system apps) and cancel all data of the application. If don't work go on PlaySotre and download another playmusic


text:
Move data (without cloud storage) from CM 13.0 to LineageOS
My current phone is running CM 13.0. I have a new phone ready, running LineageOS. What's the simplest way to move all data (most important: contacts, pictures, mail + configuration, SMS) to the new phone?
Both phones do not have Google services installed and I don't want to move my data to the cloud. I tried to make a adb backup on the one phone and a restore on the other phone. I did not run into an error, but I also did not see the data on the new phone. I would be happy to pay a small fee for a decent tool, but without access to the play store, most apps are not an option.

You want to move app data or media files (pictures files videos etc) ?

I want to move both kinds: I guess contacts, sms, ... are app data and pictures are media files.

First and foremost: provided that you trust 3rd-party APK provider sites (APKPure, APKMirror, etc.), no Play Store access is not a problem - you will only be restricted from paid apps. For trust issues read this question (and others related) on the site.
Contacts:

In the Contacts app, top-right menu - import/export - export to .vcf file.
Select items you want exported.
A .vcf file will be saved by default to the root of the internal storage - back it up somewhere.
Import later with the import from .vcf file option.

SMS: use the app SMS Backup and Restore. Been using the Pro version of the app since Android 4.x and it always worked smoothly. Backed-up content will be stored in the SMSBackupRestore folder under internal storage. APKMirror
Mail: your mail is supposed to be all up in the clouds, i.e. synched with your mail server, so there should be no need of backing them up in the first place.
Media files (picture, music, etc.): provided that you know the location, just copy them off the device. Use the details option in the Gallery app if you need help locating a specific picture.
App data: the free version of Titanium Backup is enough for backing up individual apps' data. Backed-up content will be stored in the TitaniumBackup folder under internal storage. Note that, before restoring app data, you might have to start them once. APKMirror
Copy backed-up contents off the device (keep folder structures intact), then after flashing LOS, copy them back in place, and use respective restore options.

What you can do is you can take entire backup of your phone using titanium backup it works pretty well if you use it correctly. It has two version one works with rooted phones and other without. You cannot expect much features in free versions though you can buy paid version if you need more info on how to backup in detail check out their official site for pro version : Titanium Backup Pro Official Site

Pictures and other media you can move by plugging both phones in PC via USB and manually transfer it. Since you "killed" all other options. Contacts can be transfered by taking backup on old phone (there is option for that in contacts app, don't know where exactly) and transfer file to new phone (example Bluetooth) and import contacts from backup in contacts app. For sms i'm not sure if it can be done like for contacts, but you can look in settings of messaging app (I personally don't have option but who on Earth backup SMS?) If you have something important in few messages just take screenshots and move with other pictures, or copy it and save in the file.
However I don't see other way to do this since you killed all options.

authors: Једноруки Крстивоје


text:
Identifying a white elliptical shaped icon in notification bar
This icon is not going away. I checked my apps, and no unnecessary app has been installed. I tried rebooting, and shutting down and booting. The icon is still there. It is annoying me.
Can anyone help me remove the icon?

If that icon appears on the notifications tab:
You could drag your notifications bar down, try clicking and holding to find out what application it is and click on the info button then 'uninstall'.


text:
How to spawn "sign-in to network" page for a captive portal?
How do I execute captive portal?
On a Z828 from ZTE, Android version 5.1.1, I'm trying to get something like:

While Starbucks generally works for me, all too often, other networks, when using public Wi-Fi, simply give a notice along the lines of:

See also:
Can I get a notification of failed WiFi connection for secured network?
Notify when connected to working Wi-Fi point
Only connect to certain Wi-Fi networks
Nearby wifi networks causing notification
How to disable the "sign in to wifi network" page?
Although nothing is quite on point, leaving me at:

Still can't connect?
If you still can't connect, please contact your Internet Service
  Provider, router manufacturer, or network administrator.

Which, simply isn't an option for most public Wi-Fi hotspots.  Perhaps, there's simply no solution.
Incidentally, my Kindle connects to the Wi-Fi hotspot, then, of its own volition, brings me to the captive portal through datavalet.  Seems specific to Android that I must first try to browse to a random website, which, sometimes, will then bring me to a captive portal.  Maybe.

no solution, but probably the same problem here:  My android can't log in to Wifi networks with Captive Portals

It depends upon the firewall vendor and how they implement it. If you're using a Cisco, such as one of the Meraki devices- the captive portal spawns best under Firefox versus Chrome/ium or Opera. And also another way to catch it, is to

Disconnect from the access point
Clear any saved credentials
Re-log in

Take care to notice the notifications you're likely to get a prompt. Follow the prompts. If your AP is as I have mine set up, it is likely a click through the walled garden, these pages include a check box radio form entry field, You need to fill in the check, then click 'continue'.

If you can not get the splash screen to appear, this will bring the login page to your browser: http://httpforever.com

Explanation: Android needs to intercept the connection, but it's impossible if the site is HTTPS. Thus, any HTTP-only sites might help.


text:
Why the "Sign-in error" notification appear on Xiaomi device?
Since yesterday, I've been getting this error message and I have no idea what application it is. I checked all of my installed apps and can't see it.
Can you help me identify this icon?

What does pressing and holding the notification show? In most cases you would be shown the app name a button to access its app info.

I pressed the notification and it took me to 'android system' notifications settings and when I tap on it it asks me to enter password

You must be using Xiaomi device with stock ROM.
When you first switched on device, you created an online Mi account similar to a Google account. Now, this device is attached to that Mi account to avoid misuse in case of phone theft. This phenomenon is similar to FRP implemented by other OEMs too.
The number starting with 178... is your Mi account ID. This error is appearing because the device is unable to verify your identity online due to no internet access or something like that. Go to Mi Account in Settings and login again.
Be careful! If you are unable to login, you won't be able to access device on reboot.
See this to know a little bit about how FRP works.

This works, I logged back into my MI account and the notification was gone.

Open the Settings app on your Android phone.
Locate the Xiaomi or MI account section (it might be under 'Accounts' or 'Sync').
Tap on your Xiaomi Or MI account and select 'Sign in'.
Enter your updated credentials and follow the on-screen instructions to sign in.
If you can't remember your password, you'll need to reset it. Here's how:
Go to the Xiaomi account sign-in page
https://www.account.xiaomi.com/ or https://i.mi.com.
Click on "Forgot password?".
Enter the phone number or email address associated with your Xiaomi account.
You'll receive a verification code to reset your password.
Once you've received the code, enter it on the password reset page and create a new password.

As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.


text:
How to keep playing online videos when screen is locked?
I want to listen to online videos with my mobile phone in my pocket, but there is always something to touch the screen and interrupt the stream.
The only solution I know is to download and save the broadcast or video on my phone before listening to it with a video player app which can be screen locked.
The issue is that I don't want to download any YouTube video before listening to it, so I'd like to find a way that can keep screen locked while playing a video.

You can try to use an alternative to the default YouTube app, a popular choice being NewPipe. Although I haven't tested this myself yet, one of the listed features is being able to play videos in the background - even just the sound, without having to waste battery by displaying something you dom't actually care about.

There is a solution, if you want to listen YouTube song even when your android phone is locked. To do that you have to use chrome browser in android phone. Open YouTube in chrome browser and request as Desktop Site and search for the song which you want to listen then minimise it. The song will be paused then, from the notification you can tap on the play(▶). By doing this you will be able to listen YouTube videos in your phone even if it is locked.
I hope this will help you.

There is no way you can play a video on YouTube and lock your phone or minimize the app (in case you are using its mobile app) unless you subscribe to YouTube Premium. https://www.youtube.com/premium

Wow, I wouldn't have thought of that option... youtube app with premium ? That said I followed your link, and it says YouTube Premium is not available in your country... So it's a definitive no no. I don't understand why mobile developpers put such obstacles in the way of usability !

To make money. LOL

@user276692 That's because YouTube is sponsored by the ads and when you run videos in the background, the ads are less effective as the advertiser expects you to watch it and probably also interact with it. So, to protect itself (Google) and creators from lost revenue, and to stop advertisers from turning furious, Google does it.

Firefox for Android had that ability. Due to Google making some requirements, it was disabled, but there's an addon which you can install in a second and that's all you need to continue playing YouTube in the background or when the screen is locked.

Download Firefox for Android
Install Video Background Play Fix addon.

Firefox should be able to continue playing videos after you have installed the addon and enabled it. Just to ensure that if your phone has a background activity manager (which kills background apps), you should whitelist Firefox so that it continues to work in the background.

Try Youtube Vanced. You can listen to any video while your phone's screen is locked.


text:
Connecting Samsung Galaxy Note to TV
I'd like to know what options there are for playing a movie on the Galaxy Note on my TV. The TV is a relatively recent Sony Bravia that sadly appears not to support DLNA. I gather the Galaxy Note doesn't support HDMI - so are there any other options?

Nowadays there is a plethora of methods to connect a smartphone to a SmartTV.
The following methods can be used:
Option 1 – Using HDTV Adapter
This is the certainly most preferred method, considering the fact that Samsung has dropped support for MHL wired cables (from Note 5, if not mistaken- however MHL is a cheaper method for older devices).
Usage

Connect one end of a universal HDMI cable into the HDTV Adapter.
Connect the other end to the HDMI port on your TV. If your TV has multiple HDMI ports you may use any of the ports. Ensure your TV input settings have the right HDMI port selected. See your TV owner's manual to get more information. (On most TVs you can select HDMI input by pressing the Source button on your remote control and then selecting HDMI 1 or HDMI 2 from the on-screen menu).

Note: Universal HDMI cables are sold separately.

Connect your Travel Charger to the HDTV Adapter.
Connect your Travel Charger to an approved power source.
Connect the HDTV Adapter connector into the Power/Accessory Interface port on your device. This is the same port you normally use to connect your Travel Charger. The TV screen will instantly display what is on your device Home screen.

Note: most digital rights management-protected content cannot be displayed using the HDTV Adapter. Please ensure the HDTV is compatible with viewing videos or other media stored on your phone using the HDTV Adapter. Refer to your TV owner's manual for correct HDMI settings. Your HDTV may not display an image when connecting the HDTV Adapter to a desktop dock.

Option 2 – Miracast
This option allows you to mirror any screen on your device wirelessly.
1.If you do not have a smart TV that supports Miracast, purchase one of the following items, and connect it to an available HDMI port on your TV.

Amazon Fire TV box or TV Stick
Roku 4, 3, or Streaming Stick
Miracast Video Adapter
Samsung Smart TV with Miracast support
Any other device that supports Miracast and connects to your TV

Usage
Requirements

An Android phone that is compatible with the Miracast Technology and
most android versions from 4.2 and above are Miracast or Wireless
Display enabled.
TV compatible with the Miracast Technology and yes, most of the
latest Television arrives with a Miracast enabled.
Firstly, turn on your TV and change or leave the display to “input mode”
Now, with your Android phone, goto Settings >> Display >> Cast screen
Select “Enable Wireless Display”
Wait for it to search and detect the TV Miracast screen, which when detected,   it will show it on your phone’s cast screen.
When it has displayed the TV Miracast on your phone is to select it and your    android device screen will then start displaying on your TV screen

Option 3 - Cable connection
TVs, monitors and projectors that support the standard HD resolution have at     least one special HDMI port which also provides power; all you need to do is  pick up a microUSB to HDMI (passive MHL) cable and plug it in. ( i.e from android phone to TV)
 - You can plug the MHL/HDMI cable directly to ports and start enjoying movies without need to copy them with a flash stick.

This method is a cheap, convinient for older devices

Option 4 -DLNA (with wired or wireless LAN)
Uses a similar method to miracast, but has slightly different requirements;

Android DLNA app ( choose one from playstore)
The TV is already  DLNA enabled.

Steps

Connect your TV(and/or) Android device to a same WLAN network. Under Network settings on TV choose automatic setup, however if it can't detect other devices then use static IP address.
Configure your DLNA server ( Android) and select the files/movies and enable sharing.
For example my setup looks like this:

DLNA android (click image for larger variant)
Android DLNA media server

After sharing, just go to your TV and select DLNA and you should see your shared movies (Ethernet connection is faster than WLAN connection)

Remarks: These methods are not just restricted to samsung devices only, but in my opinion any android device with supported technologies

References.

How do I connect my Samsung Galaxy Note 3 to my TV with an HDMI cable?
What is Screen Mirroring and how do I use it with my Samsung TV and Samsung mobile device?
How to Connect Galaxy Note 5 to TV
How to connect your Galaxy Note 7 to your TV

Samsung lists the HDMI Smart Adapter on their website as being compatible with the Galaxy Note.

Strangely that URL 404s for me, but it does seem to be the right URL (it's linked to from here: http://www.samsung.com/us/mobile/cell-phones/SGH-I717ZBAATT-accessories). Ok, thanks, I'll read up on it.

It turns out there are lots of third party versions as well. I bought one, and it works ok, with the limitation that it needs to be plugged into mains, while also draining the phone's battery. So it's not very practical (eg, coming home from work with the battery low, then trying to watch a movie doesn't work).


text:
Tasker to run scripts in terminal shell
I have searched for this but till now I have not found any tasker that would be able to do this, so I decided to ask here.
Till now I have been using Trigger Pro as my favorite tasker but it lacks in advance usage, like run certain scripts over shell when triggered. I have been just able to run one script over Terminal app, by running a command when it launches that app, but through this I am just able to launch one script =/.
So any of you knows way to do this?

Can you tell us, why do you want to run your script visibly? That is it say, why not deploy a method that would silently run the script? Tasker can do this well, so as Automate from LlamaLab.

This can be easily achieved by using Tasker.
Instructions:

Create a named task.
A1: Code >> Run Shell [Command: (insert any code you wish to run)  Store Output: (insert any variable which will retain the value of ouput - stdout) Store errors in : (insert a variable which stores errors - stderr)]
Tap back to exit
Link your task to your profile.

Note: for shell commands that require root you have to the tick the 'use root' option


text:
How to measure memory (RAM) bandwidth in Android?
I am looking for a way (preferably a tool) to measure the speed of RAM. There are tools which shows how much ram is occupied at a given point of time, but I couldn't find any tool which shows the speed (bandwidth) of RAM at any given point of time.
In windows 10, one can see CPU bandwidth (like 1.5ghz or 2.6ghz) in Task Manager. So how do I monitor RAM in Android like Task Manager does?

ru.andr7e.deviceinfohw shows generation of RAM used (like LPDDR3). It gives a close idea of what you are asking. https://en.m.wikipedia.org/wiki/Mobile_DDR#Bus_width. But it's a specification, not the value at any time when running.

I got the information here
One option to check RAM usage is to enable Developer Options.

So, just follow the steps and get your thing done. Just go to Settings > About Phone and tap the Build Number repeatedly until the notification pops up and says “you’re just 1 click away to become the developer,” or if it pops up “you’re now a developer,” this means you have successfully done the first step.
Now, go back to Settings where you’ll find a new option “Developer Options.” If you’re using an older version of Android, then you may see “Process Stats” option that will tell you the average and maximum RAM usage. This option also shows the list of currently running processes.
But, if you’re like me, running Android Oreo (or maybe Nougat), then you may not find the Process Stats option. This may be available as “Running Services” under the Developer Options.
Clicking a particular app will open a new window just as we saw in the first method in older versions of Android. Here, you’ll be able to check which app is eating how much RAM.

Also, the same site suggest a third party app. I didn't test it, but it seems to be good according to the reviewers...
However, if you are looking for strictly benchmark, these are some options:

AnTuTu Benchmark: Contains CPU, RAM, GPU and IO performance
Geekbench: This one is also multi-core aware
3DMark - The Gamer's Benchmark: Focus on device comparison of gaming performance
Neocore: Graphics performance benchmark (measures FPS, for old versions of Android only)

I'm not completely sure how acurate these apps are, since it is pretty hard to be sure. I would look into the user's comments to choose the best one (I've found other apps also, but checking the comments made me believe they were fake benchmarks).
I hope it helps you...

this is what I have mentioned in the question... there were tools which shows how much ram is occupied at a given point of time, but I couldn't find any tool which shows the speed(bandwidth) of ram at any given point of time.  So I didnt want a tool to show ram usage. I want a tool to show ram speed.

I've added some apps there. I hope it answers your question now...

thank you for the time man.. I have used those... but none of them have the one thing which I require! the ram speed... I too installed saw those fake apps :-) But I'm in need of a real app.. Thanks for your time and answer man...


text:
How to uninstall an app when "Uninstall" dialog is not shown?
How to uninstall this app where after clicking uninstall, only the picture of the app shows up and there's no "OK, cancel" prompt?
My device is Asus Zenfone 2 Laser 5.5 (ZE550KL).

Find the app from settings > apps /app information (varies as per Android version) and uninstall from there

That's the problem. After clicking uninstall it should show the prompt "Do you want to uninstall this app" with Ok or Cancel, but in my case just the picture above only being shown

See this answer by Firelord https://android.stackexchange.com/a/176249/131553

And avoid installing apps from "the wild wild web". You never know what you get (as seen). Use safe sources, such as F-Droid.

@Izzy ... or submit the .apk to VirusTotal before installing.

@DeathMaskSalesman that's one possible measure. But is it enough? Even for my repo I use multiple scanner (including VT) to see what's inside. And at F-Droid we only use that as indicator and do not trust the compiled APKs from "3rd parties" – not even libraries, all must be source for us to check and compile. You should only install from 3rd parties if you know what you're doing – and if you can help yourself in case you caught something.

@Izzy It's not enough, but it's better that nothing for the Android layman who can't/doesn't want to run a scanner on an .apk.

@DeathMaskSalesman it's better to wrap an axe in thick paper if you don't know how to handle it – but then, you shoiuldn't use it in the first place :) // 'nough said, we ain't no forum :)

Boot into safe-mode, go into Settings → Applications/Apps → find your app and uninstall it. This would work unless your device is a system app.
If it is a system app, disable it from Settings app. If you don't get the option to disable it, and you're certain that disabling it would not affect the stability of your Android (think of boot loops and crashes), then enable usb-debugging, setup adb, and issue either of these commands:

adb shell pm disable-user PACKAGE_NAME         # disables the app
adb shell pm uninstall --user 0 PACKAGE_NAME   # uninstalls the app for primary user account

Replace PACKAGE_NAME with the package name of the troublesome app. To  get help in finding it, see my answer here.