text:
Confused by the many locations of the virtual /sdcard/
Some devices (like my Nexus 4) don't have an external slot for an SD Card. Instead, there's a root folder called /sdcard/ that is treated the same way. But I also find other paths that all point to the same files -- there must be some kind redirects going on (I think this is called symlinks in Linux).
All these paths contain the same files:
/sdcard/
/storage/sdcard0/
/storage/emulated/0/
/storage/emulated/legacy/

Which path is the "actual" one? What about the other paths? What are they used for, why do they exist?

Recommended lecture: Why did /sdcard/ turn into /sdcard/0/ with 4.2?.
In short: It has to do with the multi-user functionality introduced with Jelly Bean:

/storage/emulated/0/: to my knowledge, this refers to the "emulated MMC" ("owner part"). Usually this is the internal one. The "0" stands for the user here, "0" is the first user aka device-owner. If you create additional users, this number will increment for each.
/storage/emulated/legacy/ as before, but pointing to the part of the currently working user (for the owner, this would be a symlink to /storage/emulated/0/). So this path should bring every user to his "part".
/sdcard/: According to a comment by Shywim, this is a symlink to...

/mnt/sdcard (Android < 4.0)
/storage/sdcard0 (Android 4.0+)

/storage/sdcard0/: As there's no legacy pendant here (see comments below), the "0" in this case rather identifies the device (card) itself. One could, eventually, connect a card reader with another SDCard via OTG, which then would become /storage/sdcard1 (no proof for that, just a guess -- but I'd say a good one)

Though one might get to the conclusion there should be a /storage/sdcard/legacy as well, there isn't (see comments) -- which completely makes sense with my assumption of the numbers here are not related to the user, but rather to possible multiple cards: "0" would always be the one in the card-slot of the device, so no need for a "legacy symlink" here.

Thanks! And no, there's no /storage/sdcard/legacy path.

Strange. But that might have to do with the fact there are hardly any permissions on a real sdcard (due to the FAT file system not supporting them). Noting the difference (/sdcard0/ versus /emulated/0), the "0" here might be intended for the case one attaches multiple SDCards via a card reader and USB host mode then. Just a guess, not a hard fact -- but I'd say a good one.

/sdcard/ is simply a symlink to /storage/sdcard0/.
On older version than 4.0.0, it is /mnt/sdcard/.

And I assume, on Android 4.0+, /mnt/sdcard/ is a symlink to /storage/sdcard0/? Since both are navigable on my Nexus 4.

I'd say so, yes.

Your comment about /storage/sdcard0/ contradicts the answer to the question you linked, where you say the "0" in sdcard0 is related to the user ID.

@superuser No. Read again – and take care for where the slash is: /sdcard0 is the first SD card, while /sdcard/0 is the first user's SD card's part :) Apart from that, here it's asked for 4.0+ – while those multi-user stuff was introduced with 4.2+ only.

In Android6 (Marshmallow), /storage/emulated/legacy turns empty (at least on Nexus devices), where before upgrading to Marshmallow it contained the same as /storage/emulated/0

Yea a bit confusing but these are alternate paths for the memory layout
/mnt/sdcard0/ (Internal Virtual SD Card)
and Izzy your correct if more devices are connected, but the naming could be different depending on device.
ex. /mnt/sdcard1/ (Physical SD Card in SD slot)
but other devices such as a Usb flash drive connect with an adapter could be called
/mnt/media_rw/usbdisk (android kitkat 4.4 and above?)
or /mnt/usbdisk (jellybean 4.1 - 4.2)

Yes, naming might depend on the device/manufacturer/ROM. But usually, /mnt/* is only a symlink in all those cases – with the "real mounts" residing below /storage :)

Well, I have a shell folder under mnt too. I switch device ROM frequently and thus, for those roms, which makes external SDcard as the default memory, the shell folder behaves as my internal memory, and for other roms which don't swap sdcard as internal memory, shell doesn't even comes into picture. It just stays there in the folder with all the data intact, but is not accessible by the local file manager. Wanted to know, what exactly it is.


text:
How do I access my phone (not my SD card) from my computer?
I have an MyTouch 4G from TMobile. It's running android 2.3.4. How do I put put a file and delete files from the phone itself, not just the SD card?

What do you mean the phone itself? Do you mean the internal sd card? Do you mean the root file system?

The internal memory of the phone.

Which is...? That could mean the root system area, or the Internal SD card. Please be specific :)

So if I take out the SD card out, the memory that the phone runs out then. I don't know what it's called, but just the hard drive built into the phone.

The thing is, that could mean the root system, or the internal storage SD card (normally /emmc or something). I will post an answer now though :)

You could install the Android SDK on your computer. This would give you the possibility to access your device's storage via the command line using e.g. adb push and adb pull. If that's not the level of comfort you want, there are also graphical tools utilizing ADB:
ADB FileExplorer is a minimalistic frontend to copy files from/to the device. It's freely available from the XDA developers (simply follow the link). It is written in Java, and thus should run on nearly all operating systems used on desktop computers.

If you want a little more comfort, then there's also ADBBrowser. Available for Linux and Windows (32-bit and 64-bit), it offers also an app-browser. And last but not least, there's QtADB available for Linux, Mac and Windows (again 32-bit and 64-bit), full of useful features like file manager, app manager, device information, SMS, shell, screenshots, logcat, backup/restore... Take a pick.

Of course, there are many more possibilities. If your device is rooted, there are several apps available on the Playstore which permit full access to the local file system remotely.

Why won't the ADBBrowser work? This: http://chipperyman573.com/Capture.PNG is what it looks like.

Because you have to install the Android SDK first, and the adb executable must be in the path (as it looks like). Please see the installation instructions of that application.

If you mean the Internal SD Card (where pictures etc are stored if they aren't stored on the internal SD Card), then this is mounted along with the external SD card when you connect your phone to the computer.
If you mean the root file system, (I.E where the Android system files are), then this can be done, but not directly.
You would have to do it using an app via FTP, and you would have to be rooted to see the vast majority of the files.
The app SSH Droid allows you to turn your device into an SSH/SFTP server, which allows you to use FTP to connect to the internal file system (where the main system files are stored) of your device, using an FTP client (Nautilus, Windows Explorer, Filezilla for example).
When doing this, be careful not to delete any files that could be important in the functioning of your device, and like I said - root will be needed to do most things here.

Alternatively, adb is another means of accessing the internal memory, though you'd want a level of comfort with the command line.

source: Stack Exchange

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

sort: votes


text:
Google Cloud Print from Android GMail
I have setup Google Cloud Print, and it works great.  I love being able to print to my home printer, from my phone no matter where I am.
However, the one thing I can't seem to print are GMail emails.  I'm using the GMail app (not website) on my Galaxy S3.
Everything else I can use Cloud Print and then just Share to it, and it will print.  GMail doesn't work like that however.
Regular email is a pain as well, as I need to save the email, then I can share it.
So my question is, how do I print email through Google Cloud Print, from my S3?

I was surprised there was no official Google app. I am using Cloud Print on my Galaxy S3.

The OP asks about printing from GMail using Cloud Print, just FYI, so your post doesn't answer the question.

oops, see what happens when i go off looking for a solution and wind up right back where the question started

@olore, no worries.  I've been using Cloud Print for a while, seems to work pretty well.

Looks like there is an official app now
https://play.google.com/store/apps/details?id=com.google.android.apps.cloudprint

authors: Ивайло Минков

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


text:
Service that syncs pictures only when charging
I've been using Dropbox camera upload to automatically sync my pictures to my PC using my data plan (this part is important, I can't use a wifi).
However, this autosync eats up the battery like crazy, so I'd like it to only
sync when the phone is charging. I always connect my phone to its stand as soon
as I'm home, so I'll still have the pictures synced to my PC merely a few
minutes after getting home (without having to do anything manually).
Dropbox, unfortunately, doesn't offer this option (syncing only when charging).
Is there another photo-sync service/app that does? (picasa, g+, facebook, etc)

I'll bet there's a Tasker (or equivalent) recipe that could turn off your Dropbox syncing if on battery power.

Google+ Instant Upload offers a setting to allow uploads only when the charger is connected.
Facebook's instant photo upload does not offer such an option.
The Gallery is linked to your Google Account and thus to Picasaweb. However, there's no option within the Gallery app to restrict data transfer only when the charger is connected.
Carbonite recently started offering a mobile app, and that includes backing up photos and videos. It offers an option to use battery or not for when uploading.
So Google+ or Carbonite Mobile are your choices. (At least from the photo auto-upload services I'm aware of.)

SugarSync is my photo syncing/cloud storage app of choice, and it provides such an option. Once installed, go into the app's settings and check the box labelled "External Power Only" to restrict the auto sync to only run when the device is plugged in.


text:
Where to get Flash Player for Android 2.2 Froyo
As everyone knows, the development of Adobe Flash for mobile devices was discontinued. I have an external device I want to access. It has a web server installed running a HTML script with an embedded Flash movie.
Since I am not able to download a compatible Flash version on Google Play and have a device that runs Android 2.2.1 Froyo and another device that runs 4.0.3 Android Ice Cream Sandwich, my question is: Where can I get an Android version of Flash Player that may run on Froyo as well as on Android 4.0.3 ICS?
I've downloaded the APK files here. NOTE: I am no way affiliated with chip.de

You can obtain the apks for Flash for all versions of Android directly from Adobe in their old version archives.
http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html
Scroll down a bit and you'll find "Flash Player for Android 4.0 archives" and "Flash Player for Android 2.x and 3.x archives".  These include the last versions of each released before Abode dropped Flash for Android.

Awesome, this helped me very much =) Thank you ;)


text:
How can I turn off speaking of incoming caller?
I can't figure out how to change the settings on my Samsung Galaxy S phone to actually have a ringtone when receiving a call.
When receiving a call a voice says "call from 123-456-7890" or "call from Fred". I know how to set the ringtone which has been set but I don't know how to take the voice off.
I tried accessibility and talk back, there are no option for driving mode but it is still speaking caller name.
What to do??

Please add a screen shot of your driving mode options and check whether Talk back is enabled in your driving mode.

Well, what you can do us head over to the Settings>Accessibility>Vision>Tap over Talkback>Tap on Settings over the Talkback window>Uncheck speak caller ID, that should fix your problem out.


text:
How to get Gmail-like/non-generic notifications with stock Android app?
When I get a email notification from the stock Android Email app I just get a generic notification on the line of:
+------------------------------------------+
| [Mail icon] New email                    |
| 1 unread (Account Name)           18:34  |
+------------------------------------------+
How do I get email notifications with the sender and subject like with my Gmail app?
+------------------------------------------+
| [Mail icon] John Doe                     |
| Yet another boring meeting blah.. 18:34  |
+------------------------------------------+
Is there some setting I've missed out on?
Has this been fixed in later versions of the Mail app (currently using 2.3.4)?
Saving the above, are there any third party apps, free or paid, available? (K-9 is no good was webDAV is disabled. My email account is on an Exchange server.)
My details:
I running Email.app version 2.3.4 on CyanogenMod 7.1.0 (Android 2.3.7) on a rooted phone.
I only have one (work) email account (an Exchange server) on the stock email app which I like to (and in any event have to) keep separate from my personal Gmail account.
Edit
Part of my question is what is other users experience of Android's stock email app like? Is it just my crappy phone or does everyone get the same notifications?


text:
How to delete a system app?
How can I delete any system app? I deleted a wallpaper app in my app folder but I don't see any changes? I want to delete some apps especially default factory-installed apps. Is there a simple way?

How can I uninstall applications that are locked by phone vendor?

How can I deal with unwanted system applications without rooting?

If you are rooted, then you can delete or hide them with the Titanium Backup app, but if you aren't rooted, I don't think there is a way to delete the system apps.

I'm rooted and I have full access.

Try just uninstalling the app from the app drawer, but if that doesn't work, you can disable, hide, or fully delete apps by installing Titanium Backup

Before uninstalling any system app, I strongly recommend to freeze it for a few days to see if nothing else depends on it. Then make sure to back it up (Titanium Backup is a very good choice for that) before you finally delete it. And keep in mind, you don't gain any additional space by deleting it (as it resides in system space, where user-installed apps have no access to).

But I'm root  can I delete all file from app folder?

I honestly don't remember. When I run a custom ROM I got rid of the bloatware anyways. That's why I told you to try it and then use Titanium Backup if it doesn't work that easily.

Root:
You can install Titanium Backup to uninstall unwanted apps easily.
Without Root:
I found an interesting article which helps you creating a script to remove certain stock APK files.
Check it out here.

Download the recovery flashable BloatKill script in zip. Do not
extract it: bloatkill.zip.
Download and install a zip manager program on your computer, such as
WinRAR or PowerArchiver.
Double click the bloatkill.zip to open the zip
Now browse over to META-INF\com\google\android\
Right click the updater-script file and extract the file to
desktop. You can also extract this file by dragging it to the
desktop.
Open the file with a suitable program like NotePad++, or Adobe
Dreamweaver. The opened script file should look like this:

ui_print("Unwanted stock apps remover.");

ui_print(" ");
ui_print("Partitions mount");
#Properly unmounting to avoid issues
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
#Then mounting
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");

ui_print(" ");
ui_print("Unwanted stock apps remover");
delete("/system/app/StockApp.apk");

ui_print(" ");
ui_print("Unmounting partitions");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");

ui_print(" ");
ui_print("Finish");

The line delete("/system/app/StockApp.apk"); being the app you want to delete.

When the editing is over, save the changes and exit NotePad++ or the
    editor you are using.
Now drag the updater-script file back to its place:
META-INF\com\google\android\ folder in bloatkill.zip
Now copy the bloatkill.zip file to the root/main directory of your
phone’s SD card (/sdcard/)
Open phone Settings and enable USB Debugging Mode from Developer
 Options.
Turn off your device and boot it into Recovery Mode. The method
 involves a special combination of hardware keys that are pressed
 simultaneously and differ from device to device.
In the recovery mode use the volume keys to scroll/highlight and
 the power key to select an option.
Scroll to an option called apply zip from sd card and select the
 bloatkill.zip file.
Confirm your choice by selecting yes.
Finally, select reboot system now.

you can not uninstalled them if not rooted,but you can disable some of them.not all!
go to Setting --> application manager --> then select application that want disable --> and disable it


text:
receive/make calls on my pc via my android phone
is it possible to receive / make calls on my pc via my android phone. if so how? i have been searching the internet for a while now to find a solution for this.
I have a rooted HTC Desire and i live in Denmark if that changes anything.

do you also mean by routing your PC's mic and speakers to work with the android's phone call?

Your PC / laptop needs to connect to your phone via Bluetooth. In Windows 7, provided your phone supports the relevant Bluetooth connections, you should be able to use your computer to listen to /speak with calls received on your phone.
You need to PAIR your phone with your computer via Bluetooth to enable this functionality.
In Windows 7, click the Bluetooth icon in the notification area (system tray) and choose your device.

and..? so the mic and speakers of the headphone automatically connect to the android after that?

I believe so. Depends on your device and bluetooth stack. Try and see. :-)

That's weird.. my generic laptop built in bluetooth on windows 7 shows my android device (paired) but it greys out.. (should I open a new question)?

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


text:
"SD card is damaged - You may have to reformat." How do I fix this problem?
I had this before, formatted it and now it's happened again.
I suspect it's the problem mentioned here but I don't understand how to apply the fix from that thread.
I thought I had to download the file, rename it to update.zip, stick it on the phone's internal SD card, go into recovery mode and run "apply sdcard:update.zip" but I get an error when I do that which says:

E:signature verification failed / Installation aborted.

I'm not even sure if the fix is the right fix or the process is correct either, but if they are how do I get around this signature error?
It's a Galaxy S, running Froyo.

That fix is only for the Vibrant US variant model of the Galaxy, with this specific problem the internals may be different enough that applying their patch won't work, or could even cause you more problems.

Have you tried another Micro SD card in your phone. It would rule out there being a fault with the phone.

I just put my dads SD card into my phone and it says damaged as well. but when it is put back into his phone it works fine. looks like an issue with my phone :/

it must have to be something with the connector then. Can you read it on the PC after you 'formatted' it on the phone? (Just see if you can at least still write to it via the phone). Has the connector some visible problems from forcibly inserting/removing?

Please also check Micro SD card physically damaged?. Some of the answers there are comparable to advices given here, and some more might prove helpful. If so, please let us know.

This problem started for me after installing "Clean Master Lite" and now I'm wondering if an Android app can damage my boot sector? It appears Clean Master Lite deleted my entire SD card...twice. I'm using Android 5.x. Purchased a new SD card, installed antivirus (found nothing) and encrypted my phone, and I'm hoping my data is safe again. I'm now planning to switch to Cyanogen (or something else) if Android can't protect my sdcard. Lost several hours of work and hope to recover my work templates today after repairing the boot sector.

@PJBrunet Cyanogen is Android, based on AOSP :) Your problem rather was that app you've mentioned. Better keep your fingers off those Cheetah placebos (the guys behind cannot even explain what it does, having been in an interview twice and failed).

Have you tried removing your SD card, putting it in a SD card reader and plugging into a PC? Windows will auto-detect and repair a lot of file system errors if you let it. See also this previous question.

This sounds like the partition entry in the Master Boot Record (MBR) of the SDCard is damaged.
The best thing to do is, to do a low-level destructive format of the said SDCard in question, by using a partition manager such as GParted or Acronis, delete the entire partition on the SDCard, and recreate it again. Once the partition is created then perform a format on it.
Its difficult to pin down where the source of the issue is, the Camera uses FAT32 filesystem, Android uses FAT16 so that could be part of it despite being "compatible" in the sense of the word.
For future reference, go into Settings > Storage > Unmount SD Card, this will take a few seconds, the Android OS will safely eject the card for removal.
Alas, by force removal (intentionally or unintentionally) without unmounting can be catastrophic, because behind the scenes, the Android OS is caching the filesystem's buffers in RAM so it gets out of sync physically.
This explains why, if not, in all desktops, such as Windows, Linux, Mac, you have to safely eject it in order for the filesystem's buffers to be flushed to the disk. This applies also to all kinds of medium, be it hard disks, flash, and yes, it did held true back in the days of 5.25" floppies.

Faced a similar problem with Motorola QUENCH. May be caused due to overcharging of batteries.
Solution
a) Remove microsd card and connect it to a PC using cardreader and copy data on to computer.
b) Mine failed the first time midway during copying.
c) So took a small sandwich snap bag (new and totally dry) wrapped my microsd card in a couple of paper towel or tissues (dry ones, put this tissue wrapped micro SD card in the snap bag and click locked it and put it in the freezer.
d) Took it out after 8 hours.
e) Was able to copy the full contents into PC.
f) Need to try it in the phone tomorrow, or else go for a new SD card

Did you try turning your phone off then back on again?
My Mom's SD card kept saying "damaged card, reformat", but then when I hit reformat it didn't work. So I turned off the phone and then back on and it is now working just fine.
She had a 8GB micro SD card and her phone is the LG Marquee.

Looks like you have the same problem as from this question.  I recommend using ROM Manager to flash the update.zip instead of the device recovery.  You need root!

Put the update.zip in your downloads folder (/sdcard/downloads)
Install ROM Manager
Open it and choose "Flash ClockworkMod Recovery"
It should prompt for your device, select it
Choose "Reboot into Recovery"
It should reboot the device, select "reinstall packages"
This should boot into Clockwork, you may have to do step 6 twice to get there
Choose "install zip from sdcard"
Find and select /sdcard/downloads/update.zip
Let Clockwork do the update!

Following Step 5, I don't have an option to reinstall packages.

Interesting ... perhaps you have the newer version of device recovery, I don't believe it works with Clockwork yet.  You could try the following: 5) Choose "Install ROM from SD card" (or similar) in ROM Manager and select /sdcard/downloads/update.zip 6) Let Clockwork do the update.

If everthing else fails, I would try to do a factory reset of the phone - you might be in luck and it's just a software glitch that appeared when you removed the SD card the first time, rather than a hardware problem. Otherwise, you will have to send the phone back to Sprint for repair :-(!

The problem with the Signature Verification Failed error is as a result of attempting to flash an unsigned .zip file with the stock recovery.  Installable .zip files such as the one in that thread normally require a custom recovery, one that doesn't check to verify that the .zip file is signed with the phone manufacturer's unique key.
The problem with the SD card may just be exactly what it's telling you, it needs to be formatted.  Try popping it out of the phone and into a computer using an adapter, see if you can back up the SD Card's contents to a temp location on your computer, put it back in your phone, let Android format it (which will erase all data in the process) and test it out, make sure you don't get any more errors.  Once that's been verified, you should be able to copy your data back onto the SD card.
If it CONTINUES to happen, you may have the beginnings of an actual hardware failure on the SD card, and you might want to look into getting it replaced, or at least swapping with a known-good card for a while to see how it works.
Good luck!

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


text:
rooting Samsung Galaxy Note 2
How to root Samsung Galaxy Note 2? I have no experience with rooting. Model number is GT-N7100. Android-version 4.1.1.

I added your question to our rooting index. You might want to have a look there, maybe another device/method gives you a good starting.

@PatREllery If you don't say what's wrong with the existing answers, or what further information you'd like, then nobody will add a new answer, and your bounty will automatically go to the existing top answer.

This will work on the following Galaxy Note 2:
1.International Galaxy Note 2 GT-N7100
2.T-Mobile Galaxy Note 2 SGH-T889
3.AT&T Galaxy Note 2 SGH-I317
Other carriers
Sprint Galaxy Note 2 SPH-L900
Verizon Galaxy Note 2 SCH-I605
(Given a link to video and more description at last sentence)
Step 1.

Put your Galaxy Note 2 into Download mode by turning off your phone
first then holding down Volume Down, Center Home, and Power buttons
together.

Step 2.

Once you see the warning screen, hit Volume Up button to enter ODIN
Download Mode then connect a micro-USB cable from your Note 2 to your
computer.

Step 3.

If you  have to install Samsung USB drivers

Step 4.

Next, download GalaxyNote2Root.zip

Step 5.

Unzip the files. Next, open up the ODIN program by double-clicking on
the .exe file.

Step 6.

You should see a yellow-highlighted COM box with a random number. If
you don’t see it, double-check your Windows drivers (the Samsung USB
drivers you installed in Step 3) and unplug, plug your Note 2 back
into your computer.

Step 7.

DO NOT TOUCH ANYTHING ELSE and click on “PDA” button then find the
file cwm6-root-note2.tar(in unzipped folder).

Step 8.

Hit Start and let ODIN flash the custom CWM Recovery. When it’s done,
your Galaxy Note 2 will reboot and you should have a fully rooted
Galaxy Note 2.

Your phone will boot into newly installed CWM Recovery automatically once and install Superuser app and su binaries then reboot.
You should find a new Superuser app called “SuperSU”.
You can easily verify you have root by downloading Titanium Backup app (free on Play Store) and running it. (a Pop up will appear)
In here they described with details and video that "How to root Note 2" .
You have to just go for the carrier name, under which you are now.
Good Luck
NOTE:I'm not responsible if you mess up your phone. Make sure you know what you are doing before following any instructions. Go here .Just read it.

Just to reiterate something on the above: read, read and then read more. Things often go wrong, I've made some seriouisly basic mistakes and it's always a fright when an expensive piece of tech fails to boot! Make backups on your SD card, then copy the backups on your PC (nandroid backup in custom recovery). You never know when you'll need them!

I've used the following guide on XDA Developers:
http://forum.xda-developers.com/showthread.php?t=1923956
And did the same for the S3 (for which they also have a toolkit and a thread)

My GT-N7100 was rooted successfully after watching this video and following these steps.


text:
How toolbox symlinks work
On my Android emulator, the /system/bin folder contains several symlinks that point to the toolbox binary:
# ls -l /system/bin
ls -l /system/bin
[SNIP]
lrwxr-xr-x root     shell             2012-08-23 07:01 ls -> toolbox
lrwxr-xr-x root     shell             2012-08-23 07:01 lsmod -> toolbox
lrwxr-xr-x root     shell             2012-08-23 07:01 lsof -> toolbox
[SNIP]
-rwxr-xr-x root     shell      181002 2012-08-23 07:01 toolbox
[SNIP]
#

My understanding is that 'toolbox' is a binary that is able to do everything that ls, lsmod, lsof etc... can do, and that calling 'ls -l' ends up calling 'toolbox ls -l'.
But what I don't understand is how this works: if 'ls' is indeed a symlink to 'toolbox', then 'ls -l' would become 'toolbox -l', which of course doesn't work.
What am I missing ? (or said differently: what makes 'ls -l' become 'toolbox ls -l' ?)

What you're missing is: The application (in your case toolbox) can evaluate how it was called. To make an easy Linux-example: Say you have a script called myscript, and call it with the parameters para1 para2 (i.e. myscript para1 para2), and the script has a line:
echo $0 $1 $1

It would output exactly what you called it: myscript para1 para2. Now make a symlink: ln -s myscript mylink, call mylink para1 para2, and guess what it will "echo": the command line you called. So parsing the command line, based on the symlink your toolbox was called by, it can determine which functionality you were pointing at.

OK, now I get what I was really missing: I was thinking that when calling mylink para1, then $0 would be equal to "myscript". Of course, it doesn't work that way at all: $0 is equals to "mylink", so the script can indeed know what the context is. Thanks a lot !


text:
Application missing from Settings > Apps > Running
After deploying an application in the Android emulator (I'm targeting Android 4.1.2 - API Level 16) and running it:

the application is not displayed in the Settings > Apps > Running list
the application is displayed when holding the home button for a long time
the application process is listed by the "ps" command (ran from ADB)

Is it a normal behavior ?

It is normal if the application has been started and then closed instantly!

Not only "instantly". Long-holding the home button shows "recently started" apps, which are not necessarily "currently running". Check the processes list with either ps in a terminal emulator, or some process listing app, to see whether it is really running.

Well the thing is that the "ps" command indeed shows that the application is running (I edited my question to mention that). In fact, I know that it's running... since I can see it on the emulator screen !


text:
How to migrate applications to other user account without downloading the applications again?
I created a new user in Nexus 7 but it doesn't have any applications already installed in primary user. I don't want to move/share any app data like scores/progress. I want the apps/games to appear as newly installed in new user. The reason for this is to create a guest user so that I can safely give my tablet to friends/kids who just want to play games.

If you have root, I have created an app – AppShare – that will do exactly what you want, similar to the app suggested by Izzy but a bit more polished and user-friendly (at least I think so!).
Paid apps will most likely require you to add the Google account that you purchased the app with to the secondary (guest) account or else they will probably fail the licence check. This may vary from app to app though.

You will have no problems with free apps though, and you should even be able to disable system apps such as Gmail etc.

If your device is rooted, you might want to take a look at Multi-User App Share. This app permits the owner to "share" installed apps with other users (which shares the apps only, not their data), so they don't need to be installed again. According to the app description and comments, this even works for paid apps (at least partly -- this feature is not yet fully tested).
For the other part (without root), see the answer of Penguinolog.

If application installed to you main profile, install on second profile will be with fake downloaded, but second profile requires market.
If second account hasn't market, you can manually backup apks to PC and install to second user, but it's illegal for payed apps and some apps will not work because of license issues.

Go into the new profile and enter play store...hit the top left 'play store 'icon go to my apps.... scroll to the one you want ..hit it and it gives the option to install.. hope this helps... took me ages to work it out.. :-)


text:
How to upgrade Android 2 to 3 or 4 on GT-I9000?
All is in the title. I have got a GT-I9000 (samsung galaxy S) and I do not understand why I cannot upgrade the android version ?
Why an android version is linked to a specific phone ?

This answer might have some helpful information for you.

Try to specify what you have tried so far.

First, you probably cannot update to Android 3.x as that version was only intended for tablets.
Second, no Android version is linked to a specific phone. But each phone needs specific adaptions due to different hardware elements used, so each Android version must be adapted to be usable on the device.
Third, for "How can I..." and "Where do I find..." and "When is it available...", please check the questions (and answers) already dealing with this:

How do I update the OS on my device? (includes links to "When does my device get the Android x.y update" for most Android versions)
Can every Android device be updated to the most recent Android version?
What is involved in upgrading Android to a later version, if the manufacturer no longer supports the device?
and others (check the "Related" and "Linked" sections of the questions)

You can use not official builds (because no oficial updates), like CyanogenMod, but before flashing it, please, read CyanogenMod forums and XDA-Developers!
Flashing new ROM will require to delete all your data from phone. And yes, by incorrect actions, you can easily break it.


text:
MTP file transfer: request to proceed, because "device can't play this" - how to fix permanent?
I have Nexus 7 and often copy vide to see on it, but every time windows asks for proceed with reason "device can't play this file format".
Supported file formats is declared by media device, but when I copied video, I can play with standard player and with 3rd party.
How permanently fix this?

I think there is nothing to be fixed, just simply ignore the Windows alert and proceed copying your movies, then watch them on the device. What is the problem?!

Problem is minor: device provide incorrect info.

But I think it is not the device which provides incorrect info, but Windows thinks that a device connected through MTP, is capable of playing only 3GP and MP4 videos!

MTP standard says: device provide info… At developers site I foud only docs, how to provide info from my app.


text:
How can I make it so that any user can chmod in my fuse-mounted ext4-formatted /sdcard?
I have an ASUS Transformer Pad TF101. I finally got round to rooting it just now.
Important: /sdcard is not FAT32. It's a fuse filesystem based in ext4. So it is capable of using chmod.
So that I can work on it optimally, I'd like to be able to place executables in /mnt/sdcard. (Note that while it is called sdcard it is not, in actual fact, an SD card; it is internal storage.) I'd also like chmod in general to succeed, as it causes problems with certain things in Mercurial when it fails (even when I've patched the things in the main codebase to make it work at all, a few things in Python standard library calls still break).
I presume that the problem is something to do with the mount flags, but I don't know what, so here they are:
$ mount
...
/dev/block/mmcblk0p7 on /data type ext4 (rw,nosuid,nodev,noatime,nodiratime,errors=panic,user_xattr,acl,barrier=1,nodelalloc,data=ordered)
...
/dev/fuse on /mnt/sdcard type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
...

I'm not sure what happens with the FUSE stuff, but I know that /sdcard's contents are stored in /data/media.
Here, then, is the baffling thing about it all:

As 10126 (terminal) in /sdcard, I can't chmod.
As 1023 in /sdcard, I can't chmod.
As 0 in /sdcard, I can chmod.
As 10126 in /data/media, I can't chmod.
As 1023 in /data/media, I can chmod.
As 0 in /data/media, I can chmod.

Having applied chmod a+w /data/media, 10126 can then chmod appropriate files in /data/media, but still neither 10126 nor 1023 can chmod in /mnt/sdcard, which is what I ideally want. (Because it sorts out all the rest of the permissions so that you don't end up with fragmented file ownership.)
Also, if I create files in /sdcard, they will be owned by UID/GID 0/1015 (1015 being sdcard_rw), while if I create them in /data/media, they will be owned by the UID/GID of the user (0/0) rather than 1023/1023 in /data/media (they will still be owned by 0/1015 in /sdcard—I don't understand that but am not drastically worried by it).
So then, my question: how can I make it so that any account can successfully chmod in /mnt/sdcard, rather than just root?
I have been using /mnt/sdcard and /sdcard interchangeably in this question; /sdcard is symlinked to /mnt/sdcard.

I suggest that you edit your question so that it states in the title that it's in fact a ext4 formated SD card (e.g. "How can I make it so that any user can chmod in a ext4 formated /sdcard?").

@Flow: thanks, that's a wise suggestion. Done.

It's not implemented, you have to live without it (or patch the fuse implementation yourself)

Chmod will never be supported. That's on purpose according to comments in the source code.
Here's a reference to the FUSE implementation on Github pointing to a comment that says this.
And the original head on Googlesource (a bit harder to navigate than Github).
Even root cannot bypass it:
shell@android: # id
uid=0(root) gid=0(root)
shell@android: # touch /mnt/sdcard/x; ls -l /data/media/0/x
-rw-rw-r-- media_rw     media_rw        0 2013-01-05 17:35 x
shell@android: # chmod 777 /mnt/sdcard/x; ls -l /data/media/0/x
-rw-rw-r-- media_rw     media_rw        0 2013-01-05 17:35 x
shell@android: # chmod 000 /mnt/sdcard/x; ls -l /data/media/0/x
-rw-rw-r-- media_rw     media_rw        0 2013-01-05 17:35 x

Note that ownership is hardcoded to media_rw:media_rw (below /data/media). PS: /data/media is another story, all the regular permissions apply here, it's ext4 and root is allowed to do whatever it wants.

The implementation has a few further shortcomings, e.g. setting time stamps doesn't work either (yet, see bug here: https://code.google.com/p/android/issues/detail?id=25460).

How come it works for root, then?

It doesn't work at all in the /mnt/sdcard folder (only in the /data/media folder and that's clear why root may chmod here, it's just the regular stuff). /mnt/sdcard however just lacks the implementation, the calls silently fail.

:-/ Silly me. That's what comes of not actually changing the bits in the chmod call... well then, I guess I'm stuck with working in /data/media if I ever want things +x. Thanks for explaining.

It's dreadful, I know. But it's part of the SD card legacy hell that Google tries to abandon. Let's hope they improve it eventually...

I guess the same's true for symlinks. There, you get "Function not implemented". At least it works in /data/local once again. Actually, hang on—symlinks really aren't implemented, so if you try using one in /sdcard it'll be broken... better not do that, then. :-(


text:
Using an OTG cable while charging
Most Android devices have a single port for both connecting to the computer (USB) and charging. I have to use this OTG small cable to transfer data, but also to use a real keyboard. However, when I connect the keyboard, I cannot recharge my device while I work. Since they both use the same port, is there a way to split an OTG cable to introduce power on it, but keep the existing port so I can connect a keyboard ?

possible duplicate of USB charging in host mode

The linked answer has a VC with this as dupe already. Loop...

Yes, it is possible, at least technically.  What you need is a cable called a OTG host cable with power, which is a double-female cable with a male micro, a female micro (which only has the power and ground connected, no data), and a female A, like this one.
Additionally, you also need software support.  I know an appropriate kernel patch is available for CM10 on the Nexus 7 (here), but I don't know about any other devices.

Kali Linux's NetHunter project has support for this in its kernel and runs on Nexus 5, 6, 7, 9 & 10 devices and the OnePlus One.

Links to code are dead, but I managed to find two possible versions of what it could have been. Idk if nowadays this support comes out of the box, but I think that all the device specific adjustments should go in the relative Host Controller Driver if any.

It's possible, some phones support Battery Charging Specification 1.2 and can utilize USB ACA (Accessory charging adaptor) which support OTG + Charging at the same time. (the Acasis H027 is one such adaptor)
My phone (Motorola Moto G XT1032) is not able to auto-detect such an adaptor out of the box, but after modifying the kernel, I was able to charge it and use USB Flash Drive + USB Ethernet at the same time.

Is there a way to tell what devices can do this? I tried Lava SimulCharge on Galaxy Tab A 7" with no luck, my Nexus 5X doesn't work either.

Excellent @Tal Alone. Awesome that you posted this here too. Madushan as he stated you have to modify the android kernel code to make it possible. Follow his link.

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


text:
What are my options for connecting my Android to Ubuntu?
I have a Samsung Galaxy S2 running rooted Jelly Bean 4.1.2. My computer is running Ubuntu 12.10.
Before, in Android 4.0, I simply plugged the USB in, and a notification would pop up, and I was offered a button to Turn on USB storage, and then my 12GB internal SD card and 16GB external SD card were both mounted as external drives. Nice and easy.
Now, to get the same thing, to connect my Android as a mass storage device, before I connect the USB cable, I have to go to Settings -> More Settings -> USB utilities and press Connect storage to PC, then plug in the cable, then press Turn on USB storage. It's a hassle and a half.
If I don't do it this way, when I connect the USB, it tries to connect with MTP. Which causes this error:
Unable to mount SAMSUNG_Android
Error initializing camera: -60: Could not lock the device

If I switch the connection mode to PTP, I get two devices, both called SAMSUNG_Android, only one of which (12GB internal) actually ever displays the contents. The other hangs.
In either case, MTP or PTP, if I have Banshee running when I connect my Android, it causes Banshee to crash. I use Banshee to sync my music collection.
The short story being that currently, connecting my Android to my computer is either complicated or doesn't work very well.
I've been told that USB mass storage is being deprecated, and MTP is the standard going forward. At the end of the day, I don't care if it's MTP, PTP, or mass storage that's used to connect my device. All I care is that it's as easy as it used to be. Plug it in, press a button, both drives are mounted and usable like any other drive.
How do I get this ease of function when connecting my Android to my USB.

As for MTP, you will need some special packages on your Ubuntu workstation (suggest to go AskUbuntu for that part). To switch USB mode automatically, you might want to take a look at Tasker (7 day trial on homepage) plus SecureSettings. Not sure if that specific setting is available, which is why I post this as comment ;)

@Izzy: Thank you for the suggestion. However, it seems that Tasker and SecureSettings have USB tether options, but no USB connection options.

That's a pity! I didn't see them mentioned explicitly (so I was already afraid of that), but thought there might be hope... As there are plenty of Tasker/Locale addons around: Maybe there's another one that can do? There's a list of apps supporting Tasker (plus other material on this) at this AndroidPIT thread (German), to make it easier to isolate/find them on the playstore...

Asked about this on AskUbuntu as well.

Make sure to let us know when you've found an answer, Dave! I just got an Ace 2 last week, and now I'm sitting with the very same problem: It always connects via MTP as soon as the cable is put in. To make it using UMS, I have to go to settings->wireless & networks->usb, select UMS, and then plug in the cable. Each time! No way to make it default... :(

A developer on the XDA forums provided a script that changes the default behaviour so that connecting by USB mass storage is the default behaviour:
#!/system/bin/sh
setprop persist.sys.usb.config mass_storage,adb

I had to use a file manager app that gave me access to the root directory, I placed the script in /system/etc/init.d/, changed the script's permissions to rwxr-xr-x, and then rebooted the phone.
Now I have the full functionality and ease of use I hoped for. I'll probably eventually have to use to something like MTP or whatever, but hopefully in the meantime while proper support is developed by all relevant parties, I won't have to suffer.

New to android - do I have to root the device prior to editing a file in /system..  Shady isn't seeing the root file system.

With the problems I had with different devices and versions of Android, I found that the most effective and the easiest way to access files on my device is to use AirDroid. Although this will not mount the Android device as a file system, but will allow an easy file transfer. All you need is a wireless connection of your phone to your local network. Once AirDroid is started, you get a web interface that you can access from your desktop computer's browser, using the port 8888. AirDroid is a free application on the Play Store and received great scores so far from everyone.

By the way: Your device does not need to be rooted, as far as I know.

Thanks for this tip, but if I connect by Airdroid, can I also sync my music files in Banshee? I'm looking to have all the functionality I had with USB mass storage previous to upgrading to 4.1.2.

AirDroid is a web-based management system for Android devices. There is no sync function as per se, but you certainly can transfer files as you see fit. And if your device is rooted, you have access to all directories and files.

For users who were out of luck with mtpfs, jmtpfs, go-mtpfs or any other libraries which depend on libmtp; try android-file-transfer.
It does not depend on libmtp and thus free from inherent bugs, is the most up-to-date mtp library I have seen on github (as of May 2018), and also can be used with FUSE, although I personally recommend to use its own Qt based GUI to avoid possible FUSE back-front interaction bugs.
Just make sure you DO NOT open your MTP device using any default mechanisms provided by your linux distro, e.g. clicking on Open when the device-connected notification pops up!
github: https://github.com/whoozle/android-file-transfer-linux
PPA: https://launchpad.net/~samoilov-lex/+archive/ubuntu/aftl-stable
Read about MTP on linux: https://wiki.archlinux.org/index.php/MTP
P.S.: I'm only a user of the this application.

As you post the literal same answer not only to multiple questions, but also on other SE sites: What is your association with the application? Note that you must disclose your association, if any.


text:
How do I remove the confirmation alert when choosing Silent mode?
SG2 with ICS 4.0.4: When I long press the power button and choose Silent mode, I get a confirmation alert stating that "Silent mode will be enabled".Then, I get to choose between "OK" or "Cancel", like I'm some clumsy child making bad decisions...
After long pressing the power button, and chosing Silent mode, I think that is one step too many, and it annoys me to have to confirm what I already confirmed that I wanted to do.
How do I remove the confirmation box ?
In a perfect world, I wouldn't have to go trough that extra step, and instead I'd just get a confirmation stating : "Silent mode enabled" or something in that line.

Have you considered using a widget like Widgetsoid so you have one tap access to toggle silent / normal modes?

Running Stock ROM?

This is not standard android behavior, it must be something added in TouchWiz or if you used custom ROM. In my stock Galaxy Nexus, toggling silent mode does not have any additional confirmation dialog.

This appears to be baked in to the stock ROM you are using.
There are widgets, like silentwidget which will let you toggle the silent mode without using the power button method, although this requires you to go to the launcher to do this - to get around this, have a look at a multitasking app like PowerStrip which will allow you to launch apps, see widgets and more from anywhere on your device without having to go back to the launcher.

In the new update this problem is luckily fixed. Additionally, you can now choose between silent, vibrate and sound. Whoever thought of it: Thank you!


text:
Access image file from home screen
I have Nexus 4 on Android 5.1.1, and I also have an image file with screenshot of my timetable. I'm trying to create a shortcut to it from the home screen.
I've tried 4 separate apps that claim to be able to do this, but all of them crashed.
Is there any way I can create this shortcut?

Are you trying to create the shortcut on the home screen? If that's the case then which launcher are you using? Could you mention the name or link of the four apps that you tried, so that the users don't end up suggesting them to you?

So, I bought a new phone (Nexus 5x) and Shortcut Image now works for me.

Using Google Drive:

Upload the photo to Google Drive
Open the Drive app and open the photo
Open the triple dots menu in the top right
Scroll down
Select "Add to Home screen"

Optionally, set the photo in Drive to be available offline. (Thanks @nealmcb!)

Strangely, I don't see "Add to home screen" when opening the three dots.
Samsung S10e with ADW launcher and Android 12.

This worked for me on a Pixel device. I guess Samsungs it might not work.

Still works on Google devices like a Pixel 7 pro. I also specified in the same menu that the file be available offline. Thanks!

If you have a Samsung device, go to Files and find the picture. Then long press to select it, click "More" on the bottom, then click "Add to home screen".

To add a shortcut of a picture to your home screen, there's no app needed on the Samsung Android:
Go to 'My Files' (not Gallery).  Find the picture you want to add to your home screen.   Long Press on that picture (a checkmark will appear over it).  On the top right of your screen click on the 3 dots icon.  Select "Add to Home Screen".
This method is similar to that listed in an earlier post, but some minor things have been changed in the OS to create this shortcut (probably due to a software update).  This is current as of May 2021

As commented above by Firelord, the launcher is important.
In Apex Launcher, if I add a widget for Gallery app, I can select a single image and the selected will be displayed as a 3x3 widget.

For people who are searching to display all pictures from an images folder, there is also this app : Nice Simple Photo Widget


text:
Determine Android N preview stage build
I have Nexus 6P and I'm on Android Beta Program for Android N Developer Preview. From its program overview, it's stated that there will be 6 stages:

Preview 1 (initial release, alpha)
Preview 2 (incremental update, beta)
Preview 3 (incremental update, beta)
Preview 4 (final APIs and official SDK, Play publishing)
Preview 5 (near-final system images for final testing)
Final release to AOSP and ecosystem

How do I know which Android N preview stage I have?

Android provides release notes for Android N Developer Preview on here (as of current writing):

Developer Preview 1
Date: March 2016
Builds: NPC56P, NPC56R, updated: NPC56W, NPC56X
Developer Preview 2
Date: April 2016
Builds: NPC91K, NPC91O
Developer Preview 3
Date: May 2016
Builds: NPD35K
Developer Preview 4
Date: June 2016
Builds: NPD56N
Developer Preview 5
Date: July 2016
Builds: NPD90G

You can compare your build number with the available release notes by going to Settings - About phone - Build number.

I thought I got Developer Preview 2 this morning and wanted to verify. But the build number is NPC56W, so that means I have Developer Preview 1 but updated. Thanks.


text:
Power consumption of audio over OTG cable
I recently found that if I connect a USB pair of speaker/microphone using OTG cable to a phone, it becomes the audio device by default, and I can actually play audio over that. It happens that the USB headset has much better quality than the earplug ones that I connect over audio connector.
My question is, if I use this OTG-USB-Headset trick, will it drains the battery faster than just having my earplugs connected on the audio connector?

What you have tried now is known for long as you can see from Google search - connecting usb headset to usb on the go

USB on the go wiki (see Protocols section) talks of ADP and SRP protocols relevant to your usage, to conserve on the mobile battery power - translated what it means is that power is drawn from the mobile battery and not from the USB headset, even if it has battery source

.... will I drain my battery faster than just having my earplugs connected on the audio connector ?

Depends on the power rating of your USB headset- if it is more than the earplugs provided by the phone (common case), then yes it will drain faster
Additional Information

See avs forum for more insight for audio use case
Maxim integrated application notes for electrical details


text:
Gboard 3x4 numeric keypad in text fields
How can I use the 3x4 numerical pad in an input field that allows for input other than numbers? For example, input fields that don't have <input type="number"> set in a browser.
Related resource: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number
Screenshot of ideal numerical pad:

If you are using gboard (like you have tagged your post), you can use a version of the 3x4 number pad on any application.

Open Google Messages (or any app)

Tap on the text field

Tap on the number/symbol pad labeled with "?123" on the bottom left of the keyboard

Tap on the icon with 4 vertical numbers labeled "1234" to the right of the comma

Doing this will have a result of a 3x4 number pad that is pretty similar to the one used in numerical input fields.

The 3×4 pad looks like that but mine has letters on the numbers. Like #2 is ABC #3 is DEF and so on. It allows me to type faster, since I'm old school. I also have the QWERTY keypad. I just want to know if gboard has that texting option since my phone is asking me to upgrade to the gboard.  I don't want to if it's going to make the 3x4 disappear or make it obsolete.  I can't find an answer anywhere on Google.

Thank you. My phone is asking me to update my messages, but I use the 3x4 text pad to text with. I like it better than the QWERTY keyboard, which I have. I just want to know if updating gboard will make my 3x4 disappear. I can't find the answer on Google anywhere.  Thanks for replying.

@Bruneman88 Upgrading google messages shouldn't change your keyboard. Your default keyboard is actually a seperate app on your phone. You should be able to upgrade google messages without changing your keyboard. If you change your keyboard to gboard, however, it will look like those in my above screenshot (meaning you won't be able to type 10-key text, which I believe is what you're referring to when you mean #2 is ABC and #3 is DEF).

Yes that's what I'm talking about. Thanks.  I thought every android phone had that keyboard option?  So basically don't change my keyboard to Gboard?

@Bruneman88 Yes, don't change your keyboard to Gboard, and you can upgrade Google Messages without changing your keyboard. Different device manufacturers usually also put different keyboards on their devices (For example, Samsung Keyboard is usually the default on Samsung Phones, Gboard is usually the default on Google Phones). This also allows you to download new keyboards from the app store if you don't like the default.

Well thank you. That definitely helps.   Appreciate the time you took.  Happy holidays!

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


text:
sudo: inaccessible or not found after chmod 755
I have android 12 and muiu 14. I rooted the device with magisk and I have the latest version of magisk installed. I connected to my phone with adb shell and ran these commands. Because I was getting permission denied at sudo su
I did what this  thread did.
chmod 755 /
chmod 755 /bin
chmod 755 /lib

Then this error started happening:
/system/bin/sh: sudo: inaccessible or not found

How can I fix this ?
full log:
surya:/ $ sudo
/system/bin/sh: sudo: inaccessible or not found
127|surya:/ $ su -
Permission denied

su is not accessible by default on non-rooted Android devices. You need to root your device first.

already done. i have magisk and root. but with adb shell no permission @AndrewT.

chmod commands you've run make no sense. And there's no sudo in Android. Magisk only provides su binary. You can investigate "Permission denied" yourself. Check Magisk app if it reports rooted successfully. Check if magiskd is running: ps -A | grep magisk or pgrep -lf magisk. See where su is located: type su or which su. See its permissions with ls -l /path/to/su. Use a terminal emulator app to check if su works there.

I ran the chmod commands, without knowing what I am doing. Now I get : sudo: inaccessible or not found after I did the chmod 755. How can I fix my system back to normal ? please help


text:
SMS backup apps, SMS Backup+, SMS Backup and Restore
I've been using SMS Backup+ and when I restore not all my messages are restored, even though I can see them there in gmail. I've used SMS Backup and Restore before but it doesn't have a feature to automatically do it. Does anyone know how to fix SMS Backup+ or any other apps that work properly and have can automatically back up? I don't care if the backups are done to the SD card or online. One benifit of having it in gmail is that I can easily check to make sure it was done right. What do others think?
UPDATE: As of April 10 SMS Backup+ still doesn't restore all messages for some reason. I'm using an Xperia Z2.

SMS Backup and Restore does have the ability to automatically backup SMS's on a schedule and can email the backup to you.

@ZnewmaN where?

see my answer it has a picture by picture step to getting there.

Configuring SMS Backup schedule in SMS Backup & Restore:

Open SMS Backup & Restore and click the Menu button in the upper right corner:

Select Preferences:

From the Preferences Menu, Select Schedule Settings:

Configure schedule settings however you want:

Ok thanks. Each backup is full so is it ok to select delete old backups because there included in each new backup?

I would think so or to select to keep a few.

I only wanted to find a tool that could transfer my 3100+ SMS messages. So two weeks ago, I downloaded AST Android SMS transfer to transfer SMS from old phone to the new Galaxy S3, and it works well. But it's not a free program. I also use it to backup text messages to my PC in a .csv file, it's so convenient to check my messages.

That's a big issue I have is that it's not at all easy with SMS Backup and Restore or SMS Backup+ to check the integrity.

None of the programs you mention will restore MMS messages. Perhaps those are the messages that are missing?

I think it was I needed to reboot my phone and give it time. But that's a very good point you made about MMS because I certainly do have those and didn't even notice they were missing. Do you know if Backup and Restore does incremental backups or full backups?

To backup/restore both sms and mms for Android, I use a paid pc tool called Backuptrans Android SMS + MMS Transfer. You need to connect your Android to computer via usb or wifi then the software will save your sms and mms messages with attachment files on computer. Restoring MMS messages from computer to Android is also simple.


text:
ClockworkMod Recovery makes corrupt backups
Four backups I made using ClockworkMod Recovery couldn't be restored because their MD5 hash values didn't match. Another one was successfully restored. What is the problem and is there a way to check if a backup succeeded or not?
I'm using Clock Work Mod Recovery 5.0.2.6 on Xperia Arc.

which is your phone model? and please specify CWM version.

Also note: TitaniumBackup Pro allows to extract parts of a backup, just in case you desperately need recovery. If you're lucky, the part you need is not damaged.

@ce4 what exactly is the difference between TitaniumBackup Pro and Clock Work Mod Recovery? TitaniumBackup only backs up apps and their data, right?

TitaniumBackup is an app for backup/recovery (of single apps, etc.) that you install from the play store while CWM recovery is an enhanced replacement for the stock recovery partition; it's a stripped down system that you boot into to do firmware updates and image based backup/restore.

You may have a bad SD card, try a new one (they're cheap anyway).
The MD5 sums are generally computed after the backup has been done (assuming everything went fine).
I.e. the process up to CWM 5.x is (CWM 6.x is different due to dedupcication):

CWM generates a backup and stores it
Then md5sums of all of the above files are computed
The md5sums are also stored in a single file

The hard work is all done in (1), steps 2/3 are just a single md5sum computation per file and a final store of those in another file.
If the MD5sums mismatch the backup files there must be a problem with your storage eventually (most probably). What is also possible: Don't rip out the battery and reboot, use CWM's reboot option (files may have not been written do disk fully yet).


text:
Keep getting "Error retrieving information from server. [RH-01]" from the play store
It used to work fine but now when I open the Play Store app it says "Error retrieving information from server. [RH-01]" and I can't do anything. I tried clearing the cache of the Google Play Store and Google Play Services but it still has the problem. Gmail still works from the phone so I don't think it's a problem connecting to my google account.
I have an Xperia Arc with custom rom, which turns out to be the problem. See accepted answer.

This is maybe caused by a buggy gapps package and/or custom ROM. At least it seems not to happen on stock ROMs. If I am wrong, please comment here.

@Flow It can happen to stock, but it is not too common

Apparently some custom ROMs do not come with any Google services and to fix this you need to flash gapps using a program such as Clock Work Mod. This page has a link to download gapps.

Custom ROMs rarely ship with Google Apps already integrated. So I wonder how you were able to a) run the Play Store app and b) clearing cache from Play Store + Google Services (as your question states) if those haven't been installed :)

Good point, too bad it's been so long now I've forgotten.

Thought so. Still added it for other confused people like us, so they don't think they've gone nuts and are the only ones seeing a discrepancy here :)

You said it. Read your own comment again (emphasis mine): You flash gapps. Separately. They don't ship with the ROM. If you just install the ROM, but don't explicitely flash GApps, there are no GApps. Clear? :)

This could be caused by flashing an incompatible GApps package. If that's not the case (and you are sure you have the correct/compatible GApps installed), try the following:

Open the "Google Play" app and press the home button to return
Go to Settings → Applications → Manage Applications
Select the "ALL" tab, Search for "Google Play Store" and press it to open.
Press "Clear cache"
Press "Force stop"
Return to Settings → Applications → Manage Applications
Press "Google Services Framework"
Press "Clear Data"
Press "Force Stop"
Start "Google Play Store" and it should give an error
Reboot. Once your device has restarted Google Play Store should work. Wait a minute or too if it doesn't.

This should help if a corrupt cache is the cause of your problems (a corrupt cache might lead to strange error messages, amongst others). If it doesn't help, you might try the same steps but include "Clear Data" for the playstore app.

What is a GApps package? I flashed nothing but the ROM itself.

Custom ROMs many times do not include the Google Apps (GApps: Playstore, GTalk, Maps, etc.), but offer them in a separate package/zip. That's the so called "GApps" package (Google Apps). I take it then your ROM already included them already?

It didn't have Google Maps and I really needed it tonight so I decided to flash a different ROM (so this problem doesn't exist anymore). Thanks for everyone's help though!

this worked for me in 2016, Asus ZenUI, Non Root Android 5.0

@Izzy does device need to be rooted for that?

@Maveň no root access needed for any of the steps. See Gaurav's comment right before yours, his device wasn't rooted either.


text:
Remote log out of Google Apps
I had to leave my phone at a repair store and give them them the lock screen password. Is there anything I can do remotely to secure certain apps, such as Google Drive, Keep and Gmail? I know you can logout of Gmail for other devices but I'm not sure if it counts on Android since it's so integrated. Also what about apps like Whatsapp and Snapchat?
I can log in with Airdroid.

Just change your Google account password. This will sign you out of your Google account on all of your devices, preventing the repair person from sending an email in your name, loading new emails, creating new Drive documents, etc.
In fact, there's a whole Google support page on your issue here.

but will that affect the gmail app on the phone?

@Celeritas Edited answer, check it again!


text:
Cyanogen mod 7.2.0 keyboard backlight not working properly
I have recently rooted my phone (HTC Desire Z A.K.A. Vision) and installed Cyanogen 7.2.0. I have noticed that my keyboard and softkeys backlight no longer work properly.
What used to be the case: The backlight of the softkeys lit up when turning on the screen. The backlight of the keyboard lit up when "sliding" open my phone. After dimming both sets of buttons would come back to life at use.
What is the case now: The backlight of the softkeys only turns on when I manually adjust the brightness of the screen. The same applies for the keyboard backlight but only when the phone is "open".
Does anyone know a fix for this problem?

After quite some time a friend of mine goofed around and actually found the fix:
CyanogenMod Settings > Display > Automatic Blacklight
In here enable 'Use custom' and then look at the values in 'Edit other levels...'. The levels you want to edit are either the ones under 'Buttons' which are the values for the backlight of the soft keys (Home, menu, back and search) and the values under 'Keyboard' is for the  keyboard backlight. A value of 30 is standard for the 'Buttons' and the values for the 'Keyboard' are only 0 or higher than 0. (Even though you can choose values between 0 and 255, it doesn't seem to matter visibly.)


text:
How do I get these toggles in my notification bar?
I was reading an article talking about the Galaxy Nexus vs. the Galaxy SIII, and ended up buying a Nexus (was a steal, and I knew it was getting JB).
Anyway, I've recently updated it to Jellybean, but I realised that I didn't have something that was showing in the article - the toggles they showed in the Notification bar (in the right hand image).
Are these provided in the standard ROM, by an app, or in a custom ROM? I can't seem to find them.

I'd have a shot at guessing it's on a custom ROM. If you're using AOKP, these toggle settings are located inside ROM Control.

You're looking for exactly this design -- or just the functionality of those toggles?

@Izzy In the long run, I just want GPS, WiFi and Data connection toggles that fit the ICS/Jellybean notification theme nicely.

So in the short run, you might want to take a look at Elixier2 -- which at least could place some toggles there (so you'd have the functionality).

So the long-term would be learn to write my own?

That would require modifying the SystemUI component of the framework which controls the status bar/pull down notifications

Something tells me that modifying that component isn't going to happen without flashing.

These toggles aren't part of Android. Third party ROMs like CyanogenMod and MIUI, and certain skins that Hardware manufacturers put on Android include that.
If you want to have this functionality on a Nexus running stock Android you might want to try these two applications, I have used them both, and they are quite stable and useful.
Power Toggles :
https://play.google.com/store/apps/details?id=com.painless.pc
More Quickly Panel:
https://play.google.com/store/apps/details?id=com.mabware.android.MoreQuicklyPanel

Looks like Power Toggles is SLIGHTLY off the theming I'm after, but otherwise it's perfect. Thank you very much.

The notification toggles are not part of standard Android OS (ICS, Jelly Bean, etc.)  Some 3rd-party apps give this feature, although they are usually not very stable.  Custom ROMs like CyanogenMod and AOKP provide this functionality as part of system settings.

I'm a developer, but I'm still trying to wrap my head around Android modifications. I did a custom flash to install Jellybean (local provider is slow off the mark), but otherwise I know nothing. Is there a good guide I can visit to work out which ROM I should look at? Do any of them do Jellybean yet?

The best (arguably) source for user guides and ROMs is xda-developers forums: http://forum.xda-developers.com/forumdisplay.php?f=1336

I know this question question was already solved, but I have found another app that does exactly what you need: SwitchPro Widget. Maybe other users will be more comfortable using this app. You can fully customize as you want it to be. I am using it for some time now, and I really love it

Another app I would highly recommend is Notification Toggle.

Please add a link to the app


text:
Recover Lost Voice Recording on EVO 4G
I was recording an hour-long meeting with the native voice recorder app on my EVO 4G. When I started the recording, I left it running in the background, hit the home screen, then shut the screen off. The meeting went slightly over an hour. I got a few email/sms notifications during the meeting, but none of them seemed to interrupt my recording.
Finally, when the meeting was wrapped up, I went to stop the recording, and noticed that it was indeed still recording (displaying the recording icon in the notification bar) when I went to stop it, but instead of accessing the Voice Recorder app via the notification bar, I flipped to the home screen that contained the app launch icon, and opened it that way. The next thing I knew, the voice recorder was set to record (it was no longer recording), and the last recording in the records was from two days ago.
I shut the phone off immediately, just in case. As I'm hoping that the recording still exists on the memory card or phone memory. Is there any hope for me of recovering this recording? Anyone ever had this happen to them, and did you have any success recovering the recording?
I'm at a loss for words to express how disappointed I am with my phone that this could have happened. You would think it would be constantly writing the recorded data to the device and have better error prevention, even if it may have lost a little of the recording at the end due to whatever error or bug caused this calamity, but I digress.
So what are my recovery options here?

I have not had this issue myself - but right now I am trying to replicate the issue and see what happens.

So I only tried to replicate the issue for a few minutes but even when I got the recorder to stop recording (opening the camera app forced the recorder to stop) it saved the recording.  I'm not sure if you already looked on the SD card but if you haven't try using ES File Explorer (or other file explorer) and go to "sdcard/My Documents/My Recordings" ... thats where I found my recordings. Maybe its still there.

You're right. I just found the recording. I decided to take the SD card out completely and I loaded it up on my mac and I was able to find it in the exact directory you mentioned. So even though the Voice Recorder app didn't list it, it was indeed there. Thanks!

@purefusion Welcome - glad you found it.

If the data still exists on the SD card, I've had some success with Recuva. It might even be able to help if the file is on internal storage.
The question becomes, then, how to find the file?

Recuva is indeed a good app. I just recently used it to recover files after I lost a partition. I just hadn't tried it on a flash drive or SD card though.


text:
Is It Possible to Know the Location of the Caller?
If I'm using an Android, is it possible to know the physical  location of the person who call me/ I call to?

yes if you're 911, there are laws all over the world restricting devices from broadcasting the owner's location information without their explicit permission, except for the emergency response services.

The emergency response authority does not have that feature in the EU IIRC, it was apparently bandied about in the media that they were going to implement it in 2015...and let's be honest here, as a individual average Joe User, why would you want to know the physical location of the caller?

Yes. I have not tried the WorldCallPlaceAndTime App but it looks like what you want. Below you can see the summary and screenshot from appbrain.
EDIT: Based on the comments on appbrain, this app just determines the caller's location based on the phone number's area code. If you want to know the phone's physical location, you'll need to use something like Google Latitude, which does not give you the caller's location during the call (yet).

This program shows a small
  CUSTOMIZABLE info window during
  incoming/outgoing call: country,
  region, city (or mobile operator) and
  LOCAL TIME in that place (worldwide)!
2.0: colors option for donators, bugfixes
tag: call location,calllocation,who's
  calling,wer ruft an,caller id,who
  called

I was going to say, the only way you'd know is by area code or public number listing.

This app flashes the info for half a second yes it technically meets the specification but is not particularly useful.  Do you know of a way to fix this?

Download Mobile Number & Phone Location form Google Play Store.

A brief description about the app and why  does the app is useful to question, both points are required in the answer. Consider adding them.

You can only do a lookup for a house phone. A mobile phone you don't know where they are most likely unless you have a subopena.

TrueCaller ($6.99) does area code lookups plus public directory lookups.  If the number is in a public directory it'll tell you the person's name & address (if available) otherwise it defaults to showing the location based on area code. I've never used it and it does not have very good reviews in the app market but it seems like a lot of those are from people with unrealistic expectations and people who don't want to pay for apps.

I was trying to get TrueCaller app and it says "This app is unfortunately no longer available on the Android market."

@swiftBoy updated link https://play.google.com/store/apps/details?id=com.truecaller


text:
Battery usage by certain applications
Can I find out how much battery takes running of certain application?
The goal is to minimize using applications that take a lot of battery and maximize battery persistence before having to recharge.

That question makes no sense as all apps and services will one way or another, suck up battery juice, and don't forget including wifi, bluetooth and 3G data. Mileage will vary from one user to the next. Screen display time, running services, what apps are active.. not to mention, is the cpu overclocked, what governor is running in the kernel, etc ... far too many variables in the equation that you just simply cannot pin down..

Whatever you do, don't even think of going down the road of killing the apps that you perceive to be sucking up the most battery juice either! ;)

If you go to Settings -> Battery(settings -> about phone -> battery in < ICS) . You'll see battery usage by everything running on your phone. If some certain application consumes very high battery, it will be listed there along with battery usage. You can then minimize use of such application.

That's strange but in settings -> about phone -> battery use there aren't any applications in my phone, but there are running applications.

I don't remember seeing any application until and unless it eats at least 2 % of the battery.

If you have a newer version of android (Ice Cream Sandwich) you just go to Settings > Battery, and you'll find a list of what's sucking the most battery.

I see.. Your main concern is to save battery life and identify which app consumes the most of your battery.
You can use the hidden built-in android battery usage monitor using the guide below.
Dial this code in your phone dialer * # * # 4636 # * # * then press on Usage statistics

From here you could see how long your app is running even if it's running as service ex.(update gps position, get movement xyz axis for pedometer, compass, wifi/network location, barometer, Ambient Light Sensor or etc).


text:
Google Voice Input special characters and symbols no longer working?
I use Google's default voice input all the time, for texting and navigation and searching and such. Previously, if a scenario arose when I needed to include a symbol (such as an exclamation point!) or a special case, like a smiley face ":-)", I simply said these into the voice input:
text mom i love you exclamation point smiley face

used to yield
Text to: Mom
Message: I love you! :-)

now yields:
Text to: Mom
Message: i love you exclamation point smiley face

I noticed the change after upgrading to ICS (AOKP, latest builds) but realized the issue now happens across OS usage, which I would attribute to Google's interpretation methods changing. Does anyone else have this problem or know how to fix it? I loved this feature!

This was fixed somehow after switching back to Cyanogenmod 7.1. Sorry I don't know exactly what caused it, but for anyone with the problem, I'd suggest flashing a more stable ROM (if you're rooted).

The keywords "period" "comma" "exclamation mark" and "question mark" have always worked for me using Gboard voice typing.  These can be fluently integrated into your dictation and Google should insert the appropriate symbols.
However, I have found this to not be the case for other functions like "new line" and "new paragraph".  I am now on Android 12 on my OnePlus 7T pro and when I hit the mic button (top right corner of gboard), the word 'Initializing' briefly appears (directly to the left of the mic button) followed by 'Speak now'.  The moment I start speaking, this changes to 'Listening...'.  Once I pause my speech, Google types what I said and the status returns to 'Speak now', but the microphone remains active for another second or two.
Now here's the trick:  Once you start speaking and the status changes to 'Listening...', you must pause and wait for it to change back to 'Speak now' before saying 'new line' or 'new paragraph'.  You must also say these by themselves without other following words.  If you say these along with your speech without pausing, Google will just write them out as words.  If you wait for 'Speak now', the action takes place.
I have experimented a bit and found that "enter" also works the same as "new line".  It also looks like this is global so this works regardless what app you are speaking into.  For example, it works in Google Keep when I want to