text:
I've rooted my phone.  Now what?  What do I gain from rooting?
This is a common question by those who have just rooted their phones.  What apps, ROMs, benefits, etc. do I get from rooting?  What should I be doing now?

Things that Require Root
Root File Explorers
You can remount your /system/ directory read-write, which will allow you to remove carrier-shipped applications you don't like and so on.  Root file explorers can allow you to view all folders on your phone, such as /data/ which is normally protected.

Mount /system RO/RW
Root Explorer
ES File Explorer

Patching Apps
With root access you can patch other apps to gain special access to functions, or removal of self-protection for some apps.

Freedom - Get iAP (in-App Purchase) for free! Buy diamonds, rubies and Pro unlocks without real money. Note: Legal restrictions may apply depending on your country/region.
Lucky Patcher - Patch apps so that they don't require Google Play Services / displays no more ads / automatically become Pro version / work at certain DPI... There's many you can do with Lucky Patcher and there's even a bunch of patches provided already.

Moving & Removing Apps
Access to /system also means you can move apps or updates to system apps from /data to /system (with caution!), if the partition has enough space.

Titanium Backup - Back up all of your applications and data.  Also allows you to uninstall or freeze system apps, integrate updates into your ROM to save space, move apps to SD, and more.
apps2rom - does for free what the pro version of titanium backup does: lets you move apps to the system partition.
Bloatfreezer - Freeze or remove system apps
Link2SD - Move (system) applications to a second partition in SD card, liberating loads of free space in /system partition.

Note that moving apps to the sdcard has risks and cons, and should be undertaken only if space is needed. Most modern devices have enough memory for many apps (16GB+), providing that photos/videos/music are stored on an external sdcard.
Tethering
Some devices already have Wi-Fi tethering out-of-the-box, like the Samsung Galaxy S, so this isn't such a big deal on them unless the carrier charges for the feature.

Android Wi-Fi Tether
Wireless Tether

Screenshots & screen recording
root is needed for screenshots before 4.0-Ice Cream Sandwich.
Most pre-lollipop screen recorders also require root.

ShootMe
Drocap2

Backups

Titanium Backup - Back up all of your applications and data.  Also allows you to uninstall system apps, integrate updates into your ROM to save space, and so on.
ClockworkMod Recovery (ROM Manager) - Usually requires root to install via ROM Manager.  Allows you to backup the entire device, including your ROM, as well as flash new ROMs and other advanced tasks.

There are also many apps that claim to make a full nandroid backup.
Application/Network Control

AdFree - Removes ads by changing the hosts file (so both ads in apps and in browser)

Adaway - Also blocks in-app adds.

Droid Wall - Firewall application.  Got an app that's using up all your data when you're not even using it?  Block it with this!

Orbot - Tor app

Cache Mate - Clear cache of all apps

Droid VNC Server - Connect to your phone via VNC

LBE Security Master - Selectively revoke permissions from app

Button Savior - Helps to add on screen button to compensate a failure of a physical button.

ClockSync - to automatically sync the device's time with few predefined atomic clocks.

Xposed Framework
The Xposed framework allows apps with advanced tweaking functionality to be installed.

GravityBox (for Android 4.2 4.4 5.0 5.1 6.0) - An app that provides many system tweaks.
XInstaller - Various tweaks for Package Installer.
XHangouts - Improved version of google hangouts.
XWhatsApp - Mod for the popular whatsapp messenger.
XPrivacy - Finegrained app control.

CPU Control

SetCPU - Control the processor speed of the phone, can also setup profiles.  It allows underclocking based on conditions, e.g. underclock to 125mhz when screen is turned off. It dramatically increases battery life without affecting performance (when you're actually using apps / the phone) or can improve performance via overclocking.
Overclock Widget - Similar to SetCPU but less functional

Enable swap file / partition

ROEHSOFT RAM-EXPANDER (SWAP) - Use SD card for more RAM.

Memory Swapper Free - support swap file.

Advanced and Miscellaneous

ROM Manager - Facilitates installing new ROMs with ClockworkMod Recovery, and allows you to back up your entire device (ROM + apps + data) and other advanced tasks.
Quick Boot - Allows you to reboot into recovery or the bootloader / Download Mode.
LED Hack - Disable LED on phone (no longer available on Android Market)
Lag fixes - Various tweaks and filesystem changes to speed up your phone or prevent issues with your phone pausing / freezing temporarily.  These are particularly useful on some Samsung phones that use an RFS filesystem.  An Ext4 lagfix like Voodoo is recommended, but there are also Ext2 lagfixes like RyanZA's One Click Lag Fix which also allows you to change advanced memory, Wi-Fi, and disk scheduling options.
TRIM - Some older kernels do not have TRIM.
StickMount - Automatically mount USB flash drives, keyboards, mouse via USB OTG cable.
BusyBox - Makes terminal emulators feel more like linux.
Sideloading apps.  Most carriers/phones allow this option but AT&T does not.

ROMs
Though root is not required for flashing new ROMs, many apps that make it easier do require root.
CyanogenMod is a very popular rom that many people put on their phones.  It is also easy to install via the ROM Manager app.  First install the Clockwork recovery.  Then run a backup before you flash any roms.
Also check out "Where can I find stock or custom ROMs for my device" or the XDA forums for other custom roms.  Most devices have a specific "Android Development" sub-forum where ROMs are posted.
Always do a nandroid backup before installing any rom or mod!  You may also need to wipe all data and cache from your phone before installing or upgrading a ROM.
Custom Kernels
One popular set of kernels is those provided by ChevyNo1. You can also download them via the premium version of the ROM Manager.  Make a nandroid (ClockworkMod) backup before using these kernels! You'll also want to get SetCPU to make the most out of these kernels.
Start with the low voltage kernels at the lowest speed and work your way up to the 1.2GHz.  If your phone is stable up to the 1.2GHz range, then try some of the ultra low voltage kernels.  If you start getting force closes, then switch back to a low voltage kernel.
Basically each phone (of the same phone brand/model) varies by which kernel it can handle due to the manufacturing differences between processors. So I may have a Motorola Droid that can run ultra low voltage kernels and yours may not be able to run them.  These phones weren't necessarily designed to run like this.

Ohhh, the VNC Server is making me seriously consider rooting my phone!

You've forgot Terminal Emulator with su command..

You could also add the ability to join ad hoc wifi networks.

@SachinShekhar said: "You've forgot Terminal Emulator with su command" -- See http://android.stackexchange.com/a/13349/13117 .

There is also wifi adb (which allows you to push and debug applications over wifi). Also, there is another benefit to Titanium Backup. If for some reason, a new app version removes key existing functionality, or increases the area an advertisement takes, Titanium Backup allows you to revert to the previous version of that particular application. And sometimes, rooting is great for installing unsupported features (for instance, the Note 1 initially didn't have support for NFC, although it had the chip for it, and a few years ago, very few official ROMs supported Netflix, etc).

Lollopop OS doesn't allow certain toggling apps like Power Toggles to toggle data/airplane mode etc..With root its possible to allow those apps work properly

With Lollipop out and Android M around the corner, I think this answer could use a revamping. Some of the links are down, and I think the answer itself can gain a lot by coming from a more neutral point of view.

FYI, ES File Explorer is not my go to anymore.  FX file explorer is maintain much more often. Same with Droidwall. AFWall is the new Droidwall.  AFWall is maintain often.  My primary reasons for rooting, have always been for Adaway, AFWall, and FX file explorer. EX Kernel is also great too  Apphider also comes in handy and is not just for those dating apps either. Good for hiding apps (Banking apps) from phone so a guest can use my spare Nexus 5x for casting.

I'd really love if we updated this answer to reflect more secure and maintained apps.  Droidwall has not been updated in years. AFWall is the droidwall but better and has recent updates.   Side note:VLC player on Playstore is outdated. You have to either get it from an apk mirror or xda full version.

If you're going to link Lucky Patcher you should correct your link. You can see ChelpuS tried to take down links to the fake site:  https://www.lumendatabase.org/faceted_search?sender_name=ChelpuS

The first link is broken.

In few words, rooting an Android system means overcome the limitations that were imposed over it by the manufacturer. People may want that for different reasons, but the main one is freedom. Having a rooted phone means you've got all the control over your device.
The main reason people root phones is to install a custom ROM. Custom ROMs are often known for improvements in performance and exclusive features that are not present on manufacturer ROMs, like installing apps on sdcard or taking screenshots. Custom ROMS can also become a system update alternative for those devices that were abandoned by their manufacturers. You can see a review of popular ROMS, as an example, here.
Rooting Android also allows you to uninstall stock apps that you don't use or don't want, besides those that violates user's privacy (see CarrierIQ). Another main reason for doing that is to gain more space on internal storage.
A rooted device lets you install almost any app that requires root access. Those apps generally aim to do something that would not be possible without that privilege. A lot of useful apps were shown on the previous answer, but you may find a lot more available on Google Play. You can find a list of good apps here.

Google is trying to reduce the need for rooting by improving the permitted system services. Nowadays screenshots, screen recording and tethering typically don't require root.The reasons I can think of to still root:

To uninstall and/or backup default apps.
To move files and apps around without restrictions.

Copy/paste/unzip anywhere with a root explorer.
Integrate/migrate apps from your /data partition to the /system partition in order to save space and preserve them from factory resets.
Edit your system hosts file to block ads (adaway). Edit your icon resource file (txt) to include a launcher icon for your favorite app. Etc.

To run programs with more power:

More Tasker functionality
Better power management with apps like Greenify.
Hook into any app or resource with Xposed.

Ricing (gravitybox)
Adding unofficial features to the Youtube (or other popular-) app.
Fine grained app permission management with Xprivacy.

Run command line utilities (busybox) like (re)mounting your filesystems, or scanning all partition files to see what takes up space.
Reverse tethering (use my laptop/desktop internet via usb or wifi)
Change CPU performance policies.
Online flashing of a new image to storage, or make a full backup. The non-root way involves recovery/fastboot methods.

source: Stack Exchange

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

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

sort: votes


text:
I installed another SMS application, now I get notified twice
I have a Google Nexus One with Android 2.2. I didn't like the default SMS-application so I installed Handcent-SMS. Now when I get an SMS, I get notified twice. How can I fix this?

You can turn off notification in your stock Messaging application by going into the settings dialog  (Menu button -> Settings) and unchecking Notifications

Beat me to it, eh?

The clearest answer I've seen is here: http://www.droidforums.net/forum/droid-applications/8328-how-guide-disable-double-notifications-when-using-handcent-sms.html
Quoting:

Open the "messaging" from the app drawer
Push the "menu" button(the 2nd button from left on the bottom of your Droid
Click SETTINGS
Scroll down and UNCHECK "Notifications"
To futher disable the mssaging app you can UNCHECK " Auto-Retrieve"(this prevents the "Messaging" App from even downloading messages.
Exit the app. Rejoice. Live long and Prosper. Yay!

Did not know about Auto-Retrieve. Thought that was what enabled all apps to get the sms. Oy vei.

Open the default messaging application, click the menu button and then Settings. Scroll down and disable Notifications.

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


text:
Moto Droid v1 disabling primary Wireless AP
I have a Motorola DROID v1 that is running Froyo (2.2).  I've noticed that if my device sleeps for a while, when I wake it up it will not attempt to connect to the wireless AP in my home.  When I go to the wireless settings section, I see a note next to the AP entry that says 'disabled'.  If I click the entry and select 'connect', it connects right away.  It will remain connected until the next longish sleep, when it is again marked as disabled.
Is there any way to prevent this AP entry from being marked as disabled?

Is your wireless network set to broadcast the SSID? I've heard of people having problems when this is hidden (and there is no real benefit to doing so)

No, it isn't hidden.  The security is set to WPA-PSK.

Did you ever find a solution?

No solution yet.

We just started seeing a similar issue on a droid 2 global today. For us, it won't connect the first time -- it just reads "disabled" rather than "connected". Using wpa2 psk, SSID is shown, NG mixed mode. I'll post if we solve it soon.

My wife's Droid 1 has problems connecting to our AP too.  Sleep Policy is set to "Never", but that hasn't helped.  Happens on all of the stock ROMs, CyanogenMod, and Sapphire.

Try this - go to SETTINGS > Wireless & Networking > Wi-Fi Settings. In this screen, press the MENU button and then ADVANCED. Click WiFi Sleep Policy and set it to NEVER.
Hopefully, that will retain a connection to the Wi-Fi Access Point.

I tried this, but it didn't appear to have an effect.  I think the root cause of the issue is that there are areas of my home with very poor WiFi coverage, and after making several attempts to connect, the OS is marking the AP as disabled to prevent further tries.

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


text:
How do I send a contact via SMS?
I would like to send two contacts (name+phone nr) to one of my contacts. This is a simple menu-option on my old Sony Ericsson.
How can I do this on Android?
I'm not in the same building as the receiver so I can not use Bluetooth.

For users with Ice Cream Sandwich:
Using the stock messaging app, you can attach contacts to the message either on "Text" or "vCard" formats.
When writing the message:

Touch the device "menu";
Touch "Attach";
Touch "Contact";
Touch the desired method.
You will then be presented with your contacts list to select the desired contact.

Screenshots taken from LG-P700 running Android v4.0.3.

Leaving this here since many users don't realize that this method is not available on early versions of Android. Also to the ones that may end up here searching about this regarding newer versions.

Surprisingly, you need a third party app.
http://www.appbrain.com/app/shareContacts.NS.com

On HTC Desire HD (Froyo) whilst composing an SMS: Menu > Attach > Contact(vCard)
Or is that a HTC Sense feature?

A new app from an XDA developer just hit the market: Share Contacts

Share Contacts is an application to Send and Receive Contacts via SMS.
  It provides facility to pic contacts from phone, customise it and send business card by SMS.
  It can recognize the messages having business cards and provide facility to save them in Phone.
Here are main features of application:

Send contacts by SMS.
Pick up contact information from saved contacts.
Send customised information.
Filter SMS with Business Cards.
Retrieve contact information from SMS.
Save retrieved contact information into Phone contacts.
Add contact with Google Sync.
Integrated with Phone application.

Is there an add text > contact option when writing an sms?
I can do that in Galaxy S 2.1

No, I can't find anything like that.

I know this isn't exactly what you are looking for but I have been using ChompSMS for over a year now, and it's super awesome anyway, if you use that then there is a little plus icon to the left of the text input, clicking on it brings you a list of picture emoticons, saved templates, and contact insertion.
Another option is going to view contact in your phone book and then clicking menu and then share, but I think you were looking to send the info via sms which this doesn't appear to do on my htc inc w/ cy 7.03

In your SMS app, click Settings => Add text => Contacts, then select your contact and press send.

What type of phone  are you using? I don't have this on my Galaxy Nexus, so it might be a non-standard function added by your device manufacturer (and if you can specify it may be more helpful for others with the same phone).

Another third-party app for this, which I prefer: Contacto's (share contacts)

Contact Share by SMS Lite may be for you.

It's a very convenient way to send contacts in text format. Try Contacts via Sms: this app makes it easy to do so:

Contacts via Sms enables you to send contacts and contact details as text via Sms (and via any other text application in next update ex: Skype, Viber, Chat, Google Drive, Dropbox, Notes etc).

Go to your contact list -> pull up your menu -> share -> then via email or SMS etc..

Friends,
First I would like to draw your attention that there are two application used while typing.

If you used option menu then there is a one tab named inserts contacts which is used for sending contacts as a test message.
Second function is directly appear when you are start typing as a attachments or insert which is used for sending contacts as a MMS.

Generally we are using second option because its appear on screen easily.
Just check this I hope you will find your answer.

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


text:
Do I really need to install a task manager?
Does one really need to install a task manager? My phone does slowdown on rare occasions but it's not something that hampers regular usage.

http://lifehacker.com/5862994/real-world-test-show-that-android-task-killers-are-still-useless

See also: How can I stop applications and services from running?

See this
http://geekfor.me/faq/you-shouldnt-be-using-a-task-killer-with-android/
FAQ: Why You Shouldn’t Be Using a Task Killer with Android (geekfor.me) - xda-developers

tl;dr version:

Android is hard coded to automatically kill a task when more memory is needed.
Android is hard coded to automatically kill a task when it’s done doing what it needs to do.
Android is hard coded to automatically kill a task when you haven’t returned to it in a long time.
Most services (while possibly running in the background) use very little memory when not actively doing something.
A content provider is only doing something when there is a notification for it to give. Otherwise it uses very little memory.
Killing a process when it isn’t ready only causes it to have to reload itself and start from scratch when it’s needed again.
Because a task is likely running in the background for a reason, killing it will only cause it to re-spawn as soon as the activity that was using it looks for it again. And it will just have to start over again.
Killing certain processes can have undesirable side effects. Not receiving text messages, alarms not going off, and force closes just to name a few.
The only true way to prevent something from running at all on your phone would be to uninstall the .apk.
Most applications will exit themselves if you get out of it by hitting “back” until it closes rather than hitting the “home” button. But even with hitting home, Android will eventually kill it once it’s been in the background for a while.

As Android was designed you don't need to kill apps.

This does depends on the apps you're running. As soon as you launch an always on cpu or disk traffic heavy app you might notice some slowdowns wich do go away after using a task killer.

It's only natural that some people find it hard to accept that this is something the system can really take care of for you. That is because no known systems currently work like this, mostly because of a historical legacy. But it really works like that. No need for a task manager! Let go of your fears... In fact all task managers are, to some degree, hacks, that create other side-effects.

No, and even more so with the latest 2.2 versions of Android.  I used to use them, but I've stopped and everything has been better since I stopped using a task manager/killer.  There is an app called Watchdog if you'd like to be notified about a process using a ton of CPU for a long period of time, which then will give you the option to kill that run-away process.

Yes. You should have a task-killer app, but not for the reasons you think.
I've had runaway processes (maybe watchdog can help) like google maps which then ran twice, once to kill my cpu/ram and once to actually work. I had to use the task killer to kill both instances and then run the normal one.
RARELY will you actually need to manually kill anything. But like all programs, sometimes stuff happens. I've had apps crash the entire phone and they were not running in root or anything.

Sometimes when an app crashes or gets to a state that it's not response it's nice to be able to shut it down manually . . . but as for slowness issues a task manager isn't necessary as the OS itself handles multitasking better now.

I will add that, sometimes apps do need to be closed but you can typically do that within the OS. You do not need a Task Manager to close apps, you can go to Settings > Applications > Running Services (may be different depending on OS version). From the menu you can press Force Quit.

no need for a task killer to do that Sheldon, just go into the normal settings :D

I found Advanced Task Killer (even with Ads) to be a nicer UI. However you don't need it. Stock android has all the necessary tools. Kinda same reason I use Uninstaller vs from the application menu, just easier.

@schwiz Sure, you can go to "Applications" and do a force stop and in fact that's all latest version of "Advanced Task Manager" does but it's nice to see the list of apps currently running instead of all apps. But for the most part the answer is you don't need a task manager.

This comprehensive, informative & easily readible article entitled "Android Task Killers Explained: What They Do and Why You Shouldn’t Use Them" will provide you with a quick overview of how Android handles process management on its own fairly well by default. (Essentially that a Task Manager/ Killer App is not required- it was more useful in early version of the Android OS)
The Article will explain:

How Android Manages Processes
Why Task Killers Are (Usually) Bad News
What You Should Do Instead, e.g.:

Watch for Runaway Processes
Uninstall Bad Apps
Possibly Root Your Phone (although not necessary)

When I was running Froyo, I installed task manager not to kill tasks, but to find an easy to review list of what is running and learn more about how apps work.   This seemed the easiest way to learn what was running quickly.
Now that I have Gingerbread, I just use the "running" list under applications in the settings menu.

In Gingerbread, the Running Services part of the "Applications" list in Settings tells you which apps have background services running, no need for 3rd party tools.

@GAThrawn Good point.  I answered before I had Gingerbread.

I upvoted because I don't think it deserves a downvote.  I don't think the answer is wrong, especially considering that some phones (i.e. Samsung Captivate) just got Gingerbread in the U.S. via official channels.

Ideally, you don't need a task manager for the reasons mentioned by Cristi.
Random slowdowns on Android are likely from one of two sources:

Badly programmed apps (mostly)
Android cleaning up the memory and unloading stuff to make room (this should be only temporary, but can be very annoying on older devices or with custom ROMs)

If you experience slowdowns, and can't or don't want to uninstall the apps that cause them (or you don't know which ones it is), then a task killer can really make a difference. The same applies for older devices that don't have enough RAM.
So: it shouldn't be neccessary, but you might try it as a workaround if you have misbehaved apps on your device.


text:
How do I stop from getting notified twice when I get a text to my Google Voice number?
When I receive a text message to my Google voice number, I get a notification from my text application, as well as the Google Voice application. It would seem that the message is being forwarded to my cell number, but I've turned off text forwarding in the Voicemail & Text settings.  Is there another setting that I am missing?

From Google Voice settings (on the web, not the phone app), under phones, select your mobile number, and Edit.  Uncheck "Receive SMS on this phone"

This is a bad idea. It will solve your problem but it will also make it so that if the Google Voice app ever crashes or you are in an area without data coverage, you will not get your text messages. It is much better to leave this unchecked and then uncheck the "Notifications via text message" box in the Google Voice app on your phone. This ensures that you don't get double-notifications, but still get text messages if the Google Voice app can't connect.

Didn't realize that. Voting your answer up, mine down.

Moto DROID v1 with latest GV.  Notifications via text message is unchecked, phone is set as Receive Text Messages in GV web settings.  This causes double-notification (triple if also getting e-mail notifications of new text messages).

@JadeMason: In the Google Voice app settings, there's an area where you can select the phone number of the current phone. Is that set correctly?

@Rohan: Yes, the number under 'This phone's number' appears correctly.

@Rohan: I think you have the option between the app's notifications or SMS, but it's a trade off.  With the former, as you said, you have to be where you have data and the app must be running.  But with the latter, you are using SMS counting towards your cell plan's limit.  Conceivably, you can use a cell plan with data but no SMS by using GVoice for texts.

Make sure you have updated to the latest version of the Google Voice application in the Market. Then open the app on your phone.
Go to: Settings > Sync and notifications. Uncheck the "Notifications via text message" box. Back all the way out, and just for good measure, reboot your phone.

After seeing JadeMason's comment on Paul Roub's answer I'm kind of unsure about this now. I know it works for me, but can't be sure it's the best way to do things.


text:
How do I keep my wi-fi on in sleep mode
When I am downloading large files I need to stop my phone from sleeping , how do I keep my wi-fi on when the phone is in sleep mode.

Go to: Settings > Wireless & networks > Wi-Fi settings.
Hit your Menu button and select Advanced. You should now see an option for changing the Wi-Fi sleep policy.

For Android 4.0 (Ice Cream Sandwich) and later upto Android 5.x (Lollipop)
Goto:

Settings > Wifi > Advanced (from options menu) > Keep Wi-Fi on during sleep > Always

For previous versions of Android(i.e. 2.x) please consider Rohan Singh's answer.


text:
Clock Replacements for Motorola Droid Docking Station
I have a Motorola Droid (v1) and a docking station. When the phone is docked, it automatically runs the Clock app, which isn't very configurable. Are there any alternatives to the Clock app, or is there any way to configure the phone to run a different app while docked?

After you install an app that takes over the Dock intent it will ask which one you wish to use as default.
The one I use is called Gentle Alarm which has a nice Dock display and some additional alarm features.  It is however a paid app.  I know there are several free apps out there as well.

Is there a good keyword to search with to find apps in the Market?

Probably the most obvious would be Clock or Dock and possibly replacement to narrow it down.  Appbrain is excellent for finding apps simply because you can search on their website.


text:
How do I properly install a system app given its .apk?
I removed a system app (com.android.mms) and I have the .apk needed to restore it, however it won't install through the standard channels (running the .apk gives me "application not installed"). What's the proper way to install a system app's .apk?

You will need to push the .apk to the phone to the System partition to the folder /system/app or /system/priv-app when using Android 4.3 using adb. You can find more info about adb here: http://android-dls.com/wiki/index.php?title=ADB.
In order to write to /system you likely have to remount it read-write:
adb shell
su
mount -o rw,remount /system

Or, do it entirely from the host's ADB:
adb root
adb remount

Now you can place the .apk:
adb push my-app.apk /sdcard/
adb shell
su
cd /sdcard
mv my-app.apk /system/app
# or when using Android 4.3 or higher
mv my-app.apk /system/priv-app

Afterwards if the flags are not already set change the permissions. All System-Apps need to have the permissions rw-r--r--. You can also change them via ADB with the command chmod 644 /path_to/your_file. Though it's quite old, this may help
After you have placed the .apk you need to reboot your device. For example with adb reboot.

Yea I figured this would be the way to go, tried it, says bad signature. I used the Mms.apk that is part of the .zip rom I used to install the current android running.

Beautiful answer. Thanks. One comment, I was not able to "mv my-app.apk /system/app". I got an error "failed on 'XXX.apk' - Cross-device link". I was able to CP and RM the apk as described in http://android.stackexchange.com/questions/75920/failed-on-cp-file-to-system-cross-device-link

Consider using cp instead of mv because you are moving between different file systems and it's not supported in all mv versions

this doesn't update the android permissions with the location of the apk, which is required for packages that use the apk

Carl Parker writes about it on Android Authority:
(partly reproduced here in case the original post goes down)

For Apps Installed on the Device

Assuming you have installed the app on your device, go to the app’s
  Google Play Store link and take note of the words after “?id=” and
  ignore the rest.
Connect your device to the computer via USB
  cable.
Open the command prompt on your computer and type the following
  commands:

adb remount
adb shell
su
cd /data/app/

Type the command ls appfilename* (where “appfilename” is the app’s ID on Google Play
  Store; make sure you include the asterisk at the end).  This command
  will display the app’s complete APK filename.
Enter the following command:

mv apk_full_filename_here /system/app/apk_full_filename_here
exit
exit
adb reboot

The device will now reboot. Your app is now saved as a system
  app.

For Apps Whose APKs Are on the PC Hard Drive

Open a command prompt on your computer and navigate to where the APK
  file is located.
Enable USB debugging on your device and connect your
  device to the computer via USB cable.
Enter the following commands:

adb remount
adb push apk-filename-here /system/app/
adb shell chmod 644 /system/app/apk-filename-here
adb reboot

Your phone will automatically reboot. Your app will now be saved as a system app.

note that when playing with adb you will install apps via their package file name (meaning, at the command prompt you will type >adb install myFile.apk)
but you will uninstall them via their package name (>adb uninstall com.this.that.otherthing)
You won't be able to install a package until you've uninstalled its predecessor.
It'll help to add adb to your PATH so that you can just go to the directory where the .apk file is and type adb install myFile.apk.

Thanks! Didn't know about the uninstall mechanics :)

Have not tried with system apps, but for usual apps /system/bin/pm (Package Manager) utility worked for me. Like pm install -r myFile.apk (-r for "replace"). This way you don't need to uninstall and to know package name.

You need to have the Android SDK installed (or at least a tool that's called adb).
Further you need to allow "Non Market installs" on your device.
After this is done you change to the folder that contains the file with a console.
Then connect your phone (via USB) and run adb install appname.apk

See other answers' comments. Already have non-market installs enabled since I had swype installed :)


text:
How to root a Samsung Spica
How do I go about rooting my Samsung Spica?

The main reference resource site for modders and "cookers" of Samsung Spica aka i5700 is at Samdroid forum board, here.
It contains all information you need to upgrade your firmware version, root your phone, etc.

Interesting... forum.samdroid.net came up in the Google search but I wouldn't have known it's the main resource. Good answer.

This rooting tutorial is much easier to follow than Samdroid's (it still uses Samdroid's method, but the tutorial is much less terse and have pictures): http://www.addictivetips.com/mobile/root-samsung-galaxy-spica-i5700-with-leshaks-kernel/


text:
How do I change the home screen's Email icon to go to GMail instead of the default Email app on the Samsung Galaxy S?
On the bottom of the home screen there is an icon for EMail. I don't ever want to use the default Email app. I only use GMail and would rather use the Google GMail app. How do I change where the icon goes and how do I remove/disable the other app?

at&t Captivate (Galaxy S)
Android 2.1

click "applications", click menu button, click "edit". You should now be able to drag the email icon away. Then just replace it with the gmail icon by dragging it to its place.
The other way is to configure the mail application to connect to gmail with imap or pop, but I wouldn't recommend it since gmail app is much better.
Hope this helps!

Actually after clicking the menu button I had to click View Type, then customizable grid. But otherwise those directions did it! Thanks!!!

@Adam: Ok. This seems to be different between AT&T Captivate and Samsung Galaxy S i9000 then. But nice that you got it working! :)

+1 Didn't know you could do that, thought the bottom row of icons were hard coded!

Worked exactly as you described with my captivate on Rogers. Just had you click-hold the icons before I could drag them.


text:
Where are custom kernels being flashed to in internal memory?
I've unzipped zip files for custom kernels and noticed that the majority of the files that are being applied are in a /kernel folder. However that folder is unlisted when listing the root directories using both Root Explorer and ES File Explorer. Where is this /kernel folder?

The kernel is part of the "boot image", which is stored in a separate partition in the flash memory, not in a normal file. See http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images

May be you can explain a little bit more on what you are trying to do..
Also, if you can list those custom kernel files, we can help better.
If I need to flash a custom kernel, I follow below process:

Get the source from the git repository
Make my changes to the kernel source. Change could vary from adding a simple debug printk statement to adding a new driver.
Build the kernel source using cross-compiler toolchain
Change the phone to Fastboot mode (I'm talking bout G1 phone)
Use 'fastboot' to flash the custom kernel (zImage) using command: 'fastboot flash:raw boot zImage ramdisk.img'
Use 'fastboot reboot' command to reboot the phone using the new kernel

Hope there is some clarity now.


text:
How do you remove pre-installed apps on a rooted phone?
I have a rooted Nexus One and want to remove some of the pre-installed applications, like Amazon MP3, for example.
What is the best way to do this?

Yeah, it annoyed me that there was no way to remove the amazon mp3 app

possible duplicate of How to remove pre-installed apps like Peep and Friend Stream from my HTC phone?

Check out the "Barebones" page in CyanogenMod's wiki.


text:
How to avoid expensive roaming fees when going abroad with my Android?
Usually I like to bring my Android phone with me when going abroad. But I use it very carefully because I know that it is very expensive to consume data traffic and roaming fees, when I'm abroad.
How do I best use my Android without getting expensive bills when coming home again?
Is there any specific settings that I should do? Any good applications or other tips that can be useful when going abroad?

Go to: Settings > Wireless & networks > Mobile networks.
Make sure the "Data roaming" checkbox is unchecked. That will keep you from roaming accidentally, since you will have to enable it.
If you want to enable it and use roaming lightly, there are some apps in the Market that will track your data usage for you.
However, in my experience roaming abroad has been so expensive that even roaming for a few minutes of data is not worth it. I usually either try to find a public hotspot or get a prepaid SIM card with data.

It is a very simple tool, but I like apndroid to totally disable data while leaving basic phone functionality intact. It has a nice toggle widget.
There are also settings that can help with this. On my Nexus One, there are settings here:
Settings -> Wireless & Network Settings -> Mobile Networks
Your mileage may vary depending on your model.  You can play with those settings to disable roaming or data.

make sure to use WiFi whenever possible.  No data is consumed when you're connected via the wifi antenna.

I realize this is a commercial plug, but I'm merely a happy customer, not part of the business ... anyway, I rented a SIM card from http://iphonetrip.com, and got data while travelling in Mexico (I live in the US).  It worked well!


text:
How do I change the name of my Android device?
My Android device is the Nexus One.  But this should apply to all current Android devices.
How do I change the name of my Android device?
When I connect to my wireless router's client tables, my android devices is listed for example as: android_1234567890abedfc.  I'd like to give it a more readable name.

It's also possible to configure the hostname via the DHCP server. But I haven't checked if android uses this configuration option. It's anyways just a cosmetic option.

http://blog.burrowsapps.com/2011/09/android-change-hostname.html.

@Flow (Varies but) Android DHCPCD does not have the dhcpcd-run-hooks for setting the hostname from DHCP. Atleast on my Samsung Froyo device. It doesn't have the ntp hooks either. DHCPCD does support it though.

for GNU Linux: http://askubuntu.com/questions/9540/how-do-i-change-the-computer-name , low level kernel methods will work

To change the hostname (device name) you have to use the terminal (as root):
For Eclair (2.1):
echo MYNAME > /proc/sys/kernel/hostname
For Froyo (2.2): (works also on most 2.3)
setprop net.hostname MYNAME
Then restart your wi-fi.
To see the change, type uname -a
some devices needs reboot for work!

Does this work on jelly bean?

This works, but does not persist on reboot.

uname -a doesn't show the hostname for me, though it does say localhost.  what do you expect it to show?

Summary:

getprop net.hostname (Android System Hostname, likely android_24412414 type name)
echo $HOSTNAME (shell/terminal/env hostname, likely ro.product.device from build.prop)
cat /proc/sys/kernel/hostname (Linux System Hostname, likely localhost)
head /etc/hosts (Linux System Hostname, likely localhost)
hostname (Command not always installed, if installed via busy box, will read /proc/sys/kernel/hostname)

Depends on which version of Android you have.
Android 4.0 and Above
Newer versions will use the right build.prop entry. Well, that is to say, Android reads the build.prop as it's normal boot process. Once the Connectivity Service runs, it checks to see if net.hostname is set in the Settings, then if empty, then it uses the "android_" + (permanent) android ID. So that's all you need to do.
Add net.hostname=HOSTNAMEHERE to /system/build.prop (Root may be needed). Leave a blank line at the end of the file.
Kitkat's ConnectivityService.java, notice the IF isEmpty statement:
    // setup our unique device name
    if (TextUtils.isEmpty(SystemProperties.get("net.hostname"))) {
        String id = Settings.Secure.getString(context.getContentResolver(),
                Settings.Secure.ANDROID_ID);
        if (id != null && id.length() > 0) {
            String name = new String("android-").concat(id);
            SystemProperties.set("net.hostname", name);

Android 2.3 and Below
Older versions, Gingerbread, Froyo, etc, just clobber it. It doesn't bother to check. It will set net.hostname to android_24412414... no matter what. So you will need to change it after that Connectivity Service has finished loading. Luckily, it only runs the startup once, not on every new connection. So we just need to run setprop net.hostname HOSTNAMEHERE after that for it to stick. Unfortunately, it runs fairly late in the boot process, so you need something that will make the changes on boot_complete. Most likely an App that runs by itself.
Froyo's ConnectivityService.java:
    // setup our unique device name
    String id = Settings.Secure.getString(context.getContentResolver(),
            Settings.Secure.ANDROID_ID);
    if (id != null && id.length() > 0) {
        String name = new String("android_").concat(id);
        SystemProperties.set("net.hostname", name);

But then there is another issue.
The net.hostname setting, is not copied to the entire system! If you use a console/terminal application, you might not get the same hostname. My phone, a Samsung Sidekick 4G (semi-Galaxy S based) has an init.rc which runs hostname localhost, so all underneath commands will not see either your build.prop hostname or the android_id hostname! So you need to set that too.

hostname HOSTNAMEHERE or echo HOSTNAMEHERE > /proc/sys/kernel/hostname

Note: Depending on how you are doing it, you'll need to run the above command as root in order for it to work. Init.rc is typically on the read only system partition, so root access is needed to edit it.
The dhcpcd command, which is run to get a dhcp address, will not update to a hostname provided by the server (That can be fixed by adding the right dhcpcd-run-hooks and dhcpcd.conf), and it will not provide a hostname to the dhcp server if $(hostname) (The hostname command) is blank or localhost, and it does not internally use net.hostname. libnetutils is used for calling dhcpcd with -h "net.hostname", but if for some reason it decides not to call with -h, DHCPCD WILL STILL SEND THE SYSTEM HOSTNAME via gethostname(), as long as it's not "(none)", "localhost", or empty. On Stock Froyo anyway. Samsung screwed the pooch on some devices like mine. No hostname pass through, forced network time, etc.
My Solution for Gingerbread and below Samsung, Edit the DHCP Client Daemon config:
The last thing you can do is edit /etc/dhcpcd/dhcpcd.conf. If you add hostname YOURHOSTNAME to the file, it will use that, unless a hostname is given on the commandline. This won't fix the android_234etc issue, but will if the hostname is localhost (My problem, since Samsung screwed libnetutils and localhost in init.rc). You will need Root, but this works across reboots. This won't work if dhcpcd is called with -h Hostname option.

Who uses Android 2.3? Does this version still work in 2020? The links from 2008 still work, this is backward.

@user3123159 well i did answer this in 2014...

I found a way to do this on my rooted Nexus 7 with 4.2.2. The setting is saved persistently and works throughout reboots.
Source: http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device

Note that the device must be rooted to use adb
Run adb pull /system/build.prop
Edit the build.prop file and append net.hostname=NewHostname
Run adb push build.prop /sdcard/build.prop (or /mnt/sdcard, if it fails)
Run adb shell and execute the following commands:
$ su
# mount -o rw,remount /system
# cp /sdcard/build.prop /system/build.prop (or /mnt/sdcard if you used that previously)
# mount -o ro,remount /system
# exit
Reboot the device

This was fixed in newer versions of Android. It checks net.hostname from build.prop. Older Android versions do not (Mainly Froyo, maybe Gingerbread).

ICS isnt 4.2.2, that would be JB

an easier way to do this is to use the setprop command via a root shell on the device:  for example setprop net.hostname NewHostName

@mark that would be clobbered on reboot. This answer is a permanent version.

This works on CyanogenMod and probably other modified ROMs but not stock AOSP ROMs:
Go to Settings > Developer Options and scroll down to Device Hostname. Root is not needed.
(Click image to enlarge)

Yeah, you can't do this on an Acer A100 tablet running Android 4.0.3.  In fact, it doesn't even have "Device hostname" in the Developer Options.

I have not ran stock in a long time but in Application Settings > Development you will see the option 'Device hostname'.

on what versions of Android? When I look at development options on my Droid 3 (Android 2.3.4), I don't have that option.

This works on CyanogenMOD and probably other modified ROMs but not stock AOSP ROMs.

Completely dependent on the manufacturer and builder, as well as android version.

Go to Google Play Store. Search for "hostname", and download hostname changer app.
Must be rooted.

Will renaming the device mess up anything internally?

Hostname is used to easily identify and remember hosts connected to a network. It's set on boot, e.g. from /etc/hostname on Linux based systems. Hostname is also a part of DHCPREQUEST (standardized as code 12 by IETF) which a DHCP client (Android device in our case) makes to DHCP server (WiFi router) to get an IP address assigned. DHCP server stores the hostnames to offer services like DNS. See details in How to ping a local network host by hostname?.
Android - instead of using Linux kernel's hostname service - used property net.hostname (since Android 2.2) to set a unique host name for every device which was based on android_id. This hostname property was used for DHCP handshake (as added in Android 2.2 and 4.0). In Android 6 net.hostname continued to be used (1, 2, 3, 4) in new Java DHCP client when native dhcpcd was abandoned and later service was removed in Android 7. Since Android 8 - when android_id became unique to apps - net.hostname is no more set, so a null is sent in DHCPREQUEST. See Android 8 Privacy Changes and Security Enhancements:

net.hostname is now empty and the dhcp client no longer sends a hostname

So the WiFi routers show no host names for Android 8+, neither we can set / unset / change it.
However on rooted devices you can set net.hostname manually using setprop command or add in some init's .rc file to set on every boot. Or use a third party client like busybox udhcpc to send desired hostname and other options to router. See Connecting to WiFi via ADB Shell.


text:
How do I uninstall an application?
If I want to completely uninstall an application from the home screen or list of applications; how do I do it?

You can uninstall an application from the Market or from the Manage Applications settings screen.
From Marketplace:

Start the Market app.
Hit the menu button and select Downloads.
Find the app you want to uninstall and select it.
Hit the Uninstall button at the bottom.

From Manage Applications:

From your Home screen hit the menu button and select Settings.
Select "Applications"
Select "Manage Applications"
Find the app you want to uninstall and select it.
Hit the Uninstall button at the top.

EDIT: I wanted to add a 3rd method that Rohan Singh had in his answer.
From your Home screen:

Tap and hold on the icon of the application you want to uninstall.
When the trash can appears near the bottom center of the screen, drag and hold the icon there.
After the tap & hold / drag & hold some text will appear indicating that you can uninstall by dropping the application's icon on the trash can.
Release your finger over the trash can and you'll be taken to the same uninstall screen you can get to through Manage Applications in your Settings.

The drag and drop method only works in some Home launcher programs, such LauncherPro.

Go to settings->Applications->Manage applications
Select the application you want to remove.
Click uninstall.
Not all applications may be removed (some are locked down by your carrier / phone vendor).

A quick, easy way to uninstall an application is to hold down on its icon, and then drag it to the trash can at the bottom of the screen like you would if you were removing a shortcut from your home screen. However, hold the icon over the trash can for a few seconds until "Drop to uninstall" appears.

This will remove the app's icon from your Home screen, but not actually uninstall the app.

If you hold the icon over the bin for a while , you get a "drop to uninstall" notification , the behavior may have been changed by the manufacturer.

@Matt Casto, while you are correct that simply dragging and dropping a home screen icon onto the garbage can will delete the icon from the homescreen, Rohan also stated that if you drag and pause for a few seconds over the trashcan, "drop to uninstall" appears, and will uninstall the application. Which is something I didn't know until he pointed it out. Thanks Rohan!

By using adb from command line:
adb uninstall <package name to uninstall>


text:
Where to find an original Android image?

Possible Duplicate:
Where can I find stock or custom ROMs for my Android device?

I have found many custom ROMs for download. But now I want to use the official ROM for my phone. Is there any way to do it without a NAndroid backup?

Download ROM Manager and go to the "Stock Images" section of "Download ROMs".
You should always do a Nandroid backup when messing with system files. There's always a risk of something going wrong. Also when installing new ROMs (whether custom or stock), it's recommended that you do a clean wipe of the system before installing.

Note that usually you only need to wipe when switching Android versions. This differs per ROM though.

Many times it would be safe to just install over your current installations. But I've personally had issues when installing one 2.2 ROM  (Sapphire) over another (Bugless Beast)


text:
Can I Update my T-Mobile G1/HTC Dream so it runs Android 2
Can I Update my T-Mobile G1 (Also known as the HTC Dream) so it runs Android 2?  Is it possible to do this without rooting the phone?

No.  You must root your phone and install a mod such as CyanogenMod to get your phone running a semi-equivalent of Android 2.1+.  There is no stock rom for Android 2.1+ for the G1.  Additionally, if you do go with CyanogenMod, not all features are fully supported due to hardware limitations, such as LiveWallpapers.

+1 gotta love CyanogenMod.  I believe they support 15 devices now with CM6.

There's no need to root the phone, it's possible to flash a non-rooted image of 2.x to a phone.

@Arda Xi can you post how that works?

You can run CyanogenMod 6.0, which is Android 2.2 aka FroYo.
A few tipps of mine:
If you don't want it to be terrible slow, disable dithering and all effects in the settings. Maybe enable the just in time compiler (jit).
With the app titanium backup you will be able to remove some "garbage" apps which come with the cm release which is also helpfull.

I've seen that, but you can't run havet google applications like gmail I thought

They won't come with the mod itself, but you can install the gapps package (a link is present at the installation tutorial of cm) after flashing with cm and then you'll have google apps also.


text:
How do I share my wifi with my ipod or netbook
If my home network is down or if I am traveling, how do I use my phone to access the internet. Basically how would I tether it to my other devices.

Could you indicate which handset you are using? Some have had that feature crippled

If you have Android 2.2, the functionality is built in so there usually is no need to install a separate app. Just go to: Settings > Wireless & networks > Tethering & portable hotspot.
However, depending on your phone, it is possible that your carrier has locked down this functionality. If this is the case, you can either root your phone and install a clean Android 2.2 such as Cyanogenmod, or you can call your carrier and pay their fee to enable it.

Unless you are paying for the service from your carrier, you can root your phone and install a tethering app from here. If you would rather not root your phone, you could go with PdaNet from the Market.


text:
How to monitor the amount of data traffic?
I would like to monitor how much data-traffic I use. How?

This is now built into Android in Ice Cream Sandwich. You can view usage per application, set limits and restrict background data.
Some more information: http://androidadvices.com/set-mobile-data-limit-usage-ice-cream-sandwich-devices/
NetCounter monitors mobile and wifi traffic.

Note that netcounter appears to be somewhat inaccurate

@AshtonBRSC: I think you should have added another answer, rather than radically changing this one.

I use Data counter widget
And 3G watchdog to keep 3G traffic under control.

3G Watchdog is another data monitor app; it has freely selectable time periods.

Another option: My Data Manager
Lifehacker reviewed it:

When installed it keeps track of your plan type (monthly or
  pay-as-you-go), amount of data included per month, and the 1st day of
  your billing cycle. You may also set your plan's roaming details. From
  then on it will log your use of mobile data, roaming mobile data, and
  Wi-Fi data used. You may setup notifications for each of the three
  categories when they hit a certain amount of data.

I especially like the ability to set the billing-cycle start date.


text:
What Lost Phone finder do you use and why?

Possible Duplicate:
Best lost / stolen device tracking app

I've used MobileDefense, but I want to make sure I'm getting the best protection. What lost phone finders have you used, and why do you like it?
I'm not using a rooted phone, so I'm not looking for features that require root.

Your question should be a little more specific.  What about MobileDefense don't you like or what feature are you looking for?  As it is now, your question isn't much different than "What's your favorite X app?", which is really more discussion based rather than Q&A.


text:
How to remove pre-installed apps like Peep and Friend Stream from my HTC phone?

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

Is there an easy way to remove pre-installed apps on my HTC Droid Incredible?

Amazon MP3
Car Panel
City ID
Footprints
Friend Stream
Skype mobile
Stocks
Teeter
VZ Navigator

Are there risks involved in removing them, such as a voided warranty?
Thanks.

I wonder if there's anything handset-specific about this question? I have the same question about a Droid X and it looks like the answers are equally applicable.

Unless you use a non HTC based ROM, I wouldn't recommend removing Peep and FriendStream. Devs that have always end up putting them back in because of the issues it causes removing them. If you are going to use a CM based ROM you should be fine for sure.

@Webs - Why? HTC Sense does not require those apps. I've removed them before.

I'm not really sure, but any ROM developer for the HTC Evo that has removed them from an HTC Sense based ROM has ended up putting them both back. For some reason they seem to be threaded in HTC Sense. Fresh, Damageless, and Virus have ended up putting them back in their ROMs and one of them stated on their XDA thread they put it back due to issues and FCs.

You can only fully uninstall pre-installed applications by using ADB. You need to find out what the package name is for the specific app, and enter this in the ADB prompt:
adb uninstall <package.name>

For example, to remove the Maps application:
adb uninstall com.google.android.apps.maps

So far I haven't found an easy way to figure out the package name for an app though.

Do this require a rooted phone?

@Chris - As @Bryan said above, yes, it does.

This isn't 100% true Arda. Many devs now have flashable zips you can run in recovery that will remove apps for you. In fact there is a whole thread for the Evo where someone wrote a script that allows you to create your own flashable zip and choose what apps it will remove.

@Webs - Guess what rooting is? Flashing a zip like that is basically running software as root.

My comment was directed toward your Answer, not comment, which states that "You can only fully uninstall pre-installed applications by using ADB." I was attempting to state that such a statement is not 100% true.

@Webs - Oh right. ADB is a lot less involved though.

Agreed, ADB is less involved for experienced users like us, but for people that know nothing about ADB, but have a rooted phone, flashing a zip in recovery might be easier.

@Webs - Less involved than flashing a recovery image, booting it and flashing a zip? It probably changed for some ROMs (what with ROM Manager and all) but most users who got their phones rooted some time ago will already have installed that rec-image using ADB.

True for older users yes. But most root methods that have come out in the last 4 months don't require ADB, but it does vary from phone to phone.

@Webs - It's pretty dangerous to let someone root their phone without having access to ADB though, especially if their rec-image's nindroid breaks for some reason and you need to do it manually.

I'm not sure one method is necessarily more dangerous than another, just depends on the exploit the root method is attempting to take advantage of. I personally like using ADB because I know exactly what is happening to my phone, versus Revoked, which does things in the background.

@Webs - Not being able to use ADB when rooting can result in not being able to recover when things go south.


text:
Is there a way to customize keyboard settings?
On my Samsung Captivate (AT&T) they have (for no reason that I can fathom) split the voice command key out of the Swype keyboard. So, I seem to have to make a choice, do I want to use swype or have easy access to my voice command mic.
I was hoping there's some way to add a custom keyboard where either I designate the keys when I set it up, or (more ideally) they are already set up in the obvious way, but with both the voice entry available on the Swype keyboard.

There is a nice (free) alternative keyboard on the Android Market - that is somewhere between Swype and the built in keyboard - called TouchPal.  It allows for three different layouts (16 key, 20 key and QWERTY) and you can set a default for different orientations - i.e. 20 key for portrait, QWERTY for landscape.  And there's a bunch of other things it does that make it nice and easy to use.
One thing to note is that it's made for Chinese and English input but there are options to turn off the Chinese input.  Also, some version of Android have a bug that sometimes prevents a newly added input method editor (IME) from showing up properly.  You may need to restart the handset after installing.
All that aside, I use it every day on my HTC Desire as a replacement for the stock keyboard and I couldn't do without it.  Have a look at CooTek's Site or search Market for CooTek or TouchPal.

It is possible to develop your own keyboard input method. However, this isn't a trivial thing to do. You can either code it yourself or wait for someone else to do it. Sorry :-(


text:
How do I get a full screen caller photo id?
What do I need to install/change so that when I get a call the picture of the caller is in fullscreen mode instead of the regular small image.

I think the dimensions of different parts of the GUI require changes in the framework-res.apk files in the internal system partition. This requires you to be rooted, of course. I haven't seen any custom themes for custom ROMs that have a full screen portrait however.

I've come across one such ROM, but I couldn't find it again after this question popped up.

Maybe you need something like that:

BIG! caller ID,
Full Screen Caller ID.

Notice: Both are free just for first five contacts. For more, you must purchase full version. Both require to assign HD photos manually (from SD Card, Camera or Facebook). None of them support images stored with your contacts on your Google account.


text:
Is there a shortcut to the taskmanager on HTC tattoo
I can never end a task easily on the HTC tattoo - is there a shortcut to it I can make, or an easier app to use?

The fastest way I know is from the home screen click Menu->Settings->Applications->Running Services.  There are some task manager applications, though from what I've read they may be more trouble than their worth as far as bugginess and/or eating through your battery quickly.

Though this is on an Incredible.  I assume the menus are similar, especially since they're both HTC phones, but it may be a little different on your Tattoo.

Personalize (lower right button on home screen)
Shortcut
Settings
Running services
This adds a shortcut to the Running Services screen to my home screen, HTC Thunderbolt with Sense 2.0 UI


text:
How can I change the default search box to use another browser?
I've installed Dolphin which I love, but the search box on the homepage always defaults to the regular browser.  I'd prefer it just go into Dolphin right away..how can I do this?

I had the same issue, it also meant that other apps such as Twitter, Facebook etc would launch the stock Browser app instead of Dolphin.

In settings, goto applications > internet > clear defaults. Next time you perform a search it should ask you which you would like to use and simply select dolphin.

Internet doesn't show up, I tried Browser, but defaults is grayed out

It should give you the option to clear defaults under Browser. If its greyed out try doing the same for Google Search.


text:
What is radio firmware?
When installing a custom ROM onto a rooted Android device, they often recommend to upgrade the radio firmware.
What exactly is Android's radio firmware?

While I can't exactly answer the question, I strongly suggest against upgrading your radio, for it's the easiest way to brick your phone completely.

Thanks for asking this question. Until reading the answers below, I somehow believed the Radio firmware referred to the firmware for the Radio transmitter/receiver, the Radio we use to listen to songs. :-)

The radio firmware controls basic low-level functions like network connectivity, Wi-Fi, and GPS. For several years, though, "radio" means "baseband", and controls network connectivity aspects only, while WiFi and GPS are governed by OS drivers, like any other devices.
Usually upgrading your radio will not give you any new features but will fix connectivity issues, increase range or performance, decrease battery usage, or the like. Some ROM's require you to have the latest radio versions to work.
While a botched radio upgrade can brick your phone, the process is basically the same as upgrading your ROM. Just make sure not to unplug or power down your phone in the middle, make sure you trust the person who released the radio firmware, and try to read some comments or reviews.

As a side note on radio firmwares beware of upgrading them without having seen a test of the version on your network.
Sometimes new radio firmwares add features for some network providers that result in worse bandwidth, disconnections and other disagreement if you use them on another network. Network operators don't provide phones with such broken firmwares (they wait for the next version or just provide the same radio firmware forever) but if you install them yourself it's a risk you take.
But if you want to use the latest firmware all the times before your network operator or phone manufacturer provide the update you may need to take this risk (Video crashed the HTC Desire when used with all but the latest radio rom on froyo...)

If you don't think it is necessary to flash a radio then don't do it. At least I heard that it will not make any difference to your phone storage and speed. But somehow if you have connectivity issues like dropped calls, WiFi connection not searching or GPS does not seem to work then surely you need to flash the radio to another version than you are using at the moment.
If you want to see which radio your phone is working on go to settings > About phone > Baseband version > See the last some digits and then search for your phone Like HTC desire latest radio etc..
Note: I Recommend you should read more about Radio before flashing it. Sometimes there is a chance to brick your phone but don't worry if you have searched enough of it you are not going to lose anything. At least give a weekend or two to search for tutorials on forums like XDA, Android Central, Google, Wiki etc..
Happy Flashing

Phone service carriers will sometimes update the firmware on your radio. For reasons unknown, improved radio firmware isn't always made available to customers.
The radio firmware will, through software, increase your service coverage, giving you better signal and battery life.


text:
How can I restrict the gallery to one folder on the Galaxy S?
When I go to the Galaxy S's gallery app, it shows me every JPG/PNG it can find on my SD card, including album art.
Is there a way of stopping this so it's filtered?

If you add an empty file called .nomedia to a directory the media scanner will ignore it.

Careful with doing this in music folders, it won't just hide the album art from the scanner, but also the music.

adding a .nomedia file block your music from showing in your media player.
I solved the issue by deleting all of my .jpg albumart files in my music folders then letting PowerAmp download its own albumart, it makes an albumthumbs folder on your internal SD card and saves the images as non-jpg binary files so the Android media scanner doesn't pick them up.
My gallery app is clutter-free now! :)

Or embedding the album art in the music files (with a mp3 tag editor) and then deleting the album art will work too.

Name your cover files "albumart.jpg", the gallery will ignore them.


text:
Is there a way to combine settings (Mobile/GPS/Bluetooth/etc) into profiles?
I'd like to setup some combination of On/Off settings and create profiles.  For example, when at home, I'd like Bluetooth/Wifi On, but Mobile Off.  When going to work, I want Mobile On and everything else off.  Is there an easy way to do this?

Check out Locale. It's not the cheapest app, but it is very well made and will allow you to do this. It switches to profiles automatically based on certain conditions too.
For example, when it detects that you are at home it can automatically switch to your Bluetooth/Wi-fi profile and turn off the mobile network.

Another possibility is Llama. It's similar to Tasker and Locale, but free. I don't know what other differences there are as Llama is the only one I've tried so far.

Check out Settings Profile - http://www.probeez.com/. I bought both and I prefer Settings Profile (it's also cheaper @ $3.95). There is also a free version that only allows one active rule at a time.
Setting up the profiles in SP is more intuitive (to me). The notification bar displays the active profile(s) and that interface allows you to easily change to a new profile. SP contains a few settings for free that Locale doesn't (i.e. Airplane mode, Dock mode). There are plugins for Locale ($1.99) that can handle this - not sure if there are any free plugins.
I'd recommend trying out the free version to see how setting up profiles work, in general.

I've used this on my old HTC Eris and my (now) Droid X and it rocks.

http://tasker.dinglisch.net/
Tasker is a bit complicated BUT it is insanely powerful. Check it out

Cyanogenmod 9 can do this. I think CM 7 also had this feature.
Unlike the other solutions, you'd have to switch the profiles manually. The upside is that it integrates into the OS more nicely.

Where? I could not find it in CM7 or CM7.2. True, CM offers profiles -- but not in the sense of this question (automatical location based switching).

CM doesn't offer automatic switching but the OP didn't actually specify that.

Hm, reading it again it seems you could be right. But as Wil explicitly bound his settings to locations, it seemed the logical conclusion. OK, let's leave it to Wil to decide :)

The question is two years old so I was mostly answering to the world at large :)

Ah, OK -- so never mind xD


text:
How can I use the Android Paid Market from a region where it's not available yet?
I live in scandinavia and the Market for paid applications is not available here yet. Is there any way I can enable it? Or a workaround?

Similar question is available at :http://android.stackexchange.com/questions/144/how-to-buy-apps-from-unsupported-countries-using-un-rooted-phone

You don't need to root if you get a prepaid sim card from a country where paid market is visible. Of course it's bit annoying to have to change the sim from time to time...

You need to install an application called Market Enabler, note this only works on rooted phones . You can download it from here

Both rooting and using a prepaid SIM seem a bit extreme.  I'd suggest looking at other App Markets to see if that will help before turning to such drastic measures.  I have started a question here about different App Markets and suggested two in the question.  Hopefully, there will be some replies soon and you may have your pick.


text:
How to share files through Bluetooth?
The only way I found to do it is by installing a 3rd party file explorer software. Isn't there a default app that does that? At least for media files?

Since this isn't really an answer to your problem (but it might be!) I'll leave it as a comment.  What do you need this for?  Would Dropbox do what you need?

@Bryan Dropbox wouldn't help if I have no internet connection

Certain apps like the gallery let your share content via Bluetooth (or any other number of methods).  The gallery handles video and images.  Highlight the item and hit menu to get the Share menu.

Bluetooth File Transfer provides OBEX FTP and OPP for android. It allows you to send a file via bluetooth to an android device or any other devices that implement these bluetooth profiles.

The BT stack on Android phones does not support the file transfer profile.  You may be able to add this by rooting your phone and loading a custom BT stack.


text:
Free location-aware todo list
Is there a free location-aware todo list out there?
I need something, that: reminds me to buy milk, when I'm near to my favourite shop.

New app Location Alert will do this.

Never forget another task with
  Location Alert - now available
  completely free! Location Alert is a
  cutting-edge application that reminds
  you to perform tasks based upon your
  current location, rather than time.
  Often there are tasks to which you
  cannot specify a certain time,
  however, would like to be reminded
  when in a certain vicinity. For
  instance, you don’t know when exactly
  you will leave work this evening, but
  whenever you do, and are crossing the
  grocery store on your way home, you
  want to be reminded to pick up milk.
  Location Alert to the rescue!

Don't know what time you'll be crossing the science department, but
  need to remember to drop off that
  assignment whenever you do?
Don't know what time you'll reach office but must remember to hand in
  that check to accounting?
Need a reminder to pick up the DVD you left at Sam's house whenever
  you're in the vicinity next time?

...

If you are already using Locale (which is not free), Astrid is a free task/todo list manager which can be configured to open a list of tasks with a specific tag.  Astrid also integrates with Remember the Milk.
You can configure the list to open by various Locale conditions, including location.
I use it to remind me of maintenance tasks when I'm near the hardware store.
Additionally, Remember the Milk is a free app which can trigger by location, but it does require a Pro subscription to Remember The Milk's website.

The developers of Astrid wrote a blog post on our website about how to configure Astrid with Locale.  Please take a look here http://blog.twofortyfouram.com/post/1576204148/improve-productivity-with-locale-astrid

Unfortunately Astrid no more supports RTM :(

Google Keep now supports location reminders.


text:
What podcast apps include variable speed playback?
I know about Astro Player. Any other apps that feature podcast managment and variable speed playback?

Speeding them up on the computer might be a very easy way to get this, but probably not what you're looking for.

If you'll pardon the "non-answer"...
I wrote Taffy to act as a proxy between your Android device and the podcast provider.  It speeds up the podcast before your podcatcher downloads it.  There are several undesirable aspects to this approach (hosting not the least among them, nor inability to change playback speed during playback), but I use it every day to listen to several podcasts on my Droid at faster speeds.
Here's to it becoming obselete soon.
My Droid uses BeyondPod, pointed to Taffy podcast feeds, to automatically download all of my podcasts straight to my handset during pre-dawn hours.  I wake every morning (and have for months -- Taffy's a pain to setup, but it's pretty smooth sailing from there) to no-hassle, "sped-up" podcasts ready for my commute.

That sounds awesome. Do you have Taffy hosted anywhere where anyone else could make use of it? I'd think that a site hosting sped up podcast feeds could pay for itself.

I don't have it hosted anywhere.  You think a hosting company would welcome it?  It's pretty CPU intensive (that could be tuned by the hosting company, I suppose).  Then there's the business of the LAME encoder runtime dependency.  Would that prevent my hosting it somewhere?  These are questions I've never taken the time to answer.  The biggest (darn near the only, IMHO) hassle with Taffy is getting it setup.  It would be really nice if folks could skip that step.

Looks like taffy has been obsoleted by Presto http://taffy.codeplex.com/discussions/272356

Correct. I no longer develop Taffy. I've been using Presto quite happily for over a year!

Today, Presto entered open beta.  Presto provides a background Service which allows other applications to play MP3 and Ogg Vorbis files on your Android device at faster or slower speeds and/or faster or slower pitches, so that any application can have variable speed playback, as long as the end user has Presto installed. Developers must modify their app for Presto to be used while playing audio, and I've released open source code to make that almost a drop-in replacement for the Android MediaPlayer.
BeyondPod, DoggCatcher, and PodTrapper have all been working with me in the course of development, so should have a version that can use Presto

AntennaPod recently included support for variable speed playback via Presto.

Astro Player Beta will go up to 2x I think.  Works pretty well.

Yes, but as the question mentioned, looking for a player other than Astro. Personally, I find Astro Player to be very lacking.

BeyondPod Podcast Manager (free trial, $6.99 unlock) will play at 1.5 and 2 times speed, however you also need to purchase the Presto Sound Library Open Beta ($3.99) to enable that particular functionality.
Works well once you've done that, though.

Have you tried doubleTwist? I have been enjoying this music app very much.

I downloaded doubleTwist and can't find any options for changing the playback speed.

Oh,  I see,  you want to make it go by faster.

as of today, there is no android application that supports podcast management and variable speed playback.

Not so. The question links to Astro Player, which includes variable speed playback and podcast management.


text:
How do I disable the 'click' sound on the camera app?
When I take a picture it makes a 'click' sound. As this is default behavior, I would like to turn it off. Is there a setting to do so; or if I find+delete the sound file, will there be repercussions?
**Please note I am looking for a basically permanent solution rather than one that I would need to set/unset with each use of the app. I like the idea of a root solution, or an app solution; but for the sake of non-root memory-hog slow-camera-app-starting people who can't afford to run another background service, let's make a...

Clarification: let's clarify that this is to do with the Motorola Droid (per the tag, sorry). I'm glad it works for other phone models, however to the best of my knowledge it is not a stock option (if I am wrong please point the way) from 2.0.1, 2.1, or 2.2 on the Motorola Droid. That is to say, unless you are referring to the overall volume controls, there is no volume control/mute for the camera application. (Settings options for camera are: zoom|flash|white balance|store location|focus/exposure settings).

I'd like to really tie this question's answer off with a bow: aside from the root option and app option, is there an option to turn off sound in the camera/system settings? [Temporarily muting the phone is a poor option.]

The 'click' sound is required by law in some areas to alert those nearby that a photo is being taken.  It is intended as a measure to prevent privacy violation.

Yeah, I thought I had heard something like that, but for telephone voice recorder apps.

@bryan & @wmitsuda : so what would be more effective on mem/speed (the droid is terrible at opening the camera app) - an app or deleting a sound or replacing the sound?

You'll need root to delete the sound file, but this should be it:
Delete /system/media/audio/ui/camera_click.ogg

Repercussions?  It won't play the sound anymore? :)
Alternatively, you could download another camera app that does not produce a camera sound.

As some history for why you just can't turn it off, digital cameras (and camera phones in particular) were starting to be used by peeping toms precisely because they didn't make any sound when taking pictures.

I am rooted, so thanks for the path. There's no internal setting to mute or change it? Maybe i will have to replace camera_click.ogg with light sabers or something

Works perfectly for me! You might also delete the VideoRecord.ogg file to disable the annoying sound when you start/stop recording a video.

Rename /system/media/audio/ui/camera_click.ogg  to /system/media/audio/ui/camera_click_1.ogg or something,when you feel like getting the sound back,revert to the orignal name.

you could also chmod 000 this file instead of deleting it

If you have "Tasker" installed, then

Create an application context for the camera app
Create a task to set system volume down to zero.

When you exit the camera app, the system volume is restored to its original state.

Oh boy. This made me discover tasker. Quite a nice app.

When you're in the camera, just use the normal volume to turn sound all the way down.  This worked for me on stock Nexus One running Froyo.

so you turn the sound all the way down just prior to taking a picture? Don't you find that if youre trying to take a picture that this method is less than ideal as it adds [time to zero volume] seconds to the moment you try to capture? Paint me impatient but I personally can barely handle the lag in bringing up the camera app.

No, I run CyanogenMod on my phone which removes the sound completely.

If you have a rooted phone you can edit the default.prop file to bring the "No Sound" back to the Shutter Sound menu.
Login to the shell using adb (part of the Android SDK), then switch to super user mode
$ adb shell
# su

Note - depending on how your phone is rooted you may need to confirm that "Unknown Application" can become super user - make sure your phone is unlocked and the screen visible before typing SU  then accept this when prompted or it will just echo the commands out.
Mount the System Drive in read write mode, and copy default.prop to your SD Card
# mount -o remount,rw -t yaffs2 /dev/mtdblock2 /system
# cp /system/default.prop /sdcard/

Copy the file to your desktop (I used SWIFTP), then change the line (I used Notepad++ so the line endings weren't mangled) which reads
ro.camera.sound.forced=1

to
ro.camera.sound.forced=0

Copy the file back to your SD card then
# cp /sdcard/default.prop /system/

Exit the ADB Prompt
$ CTRL + C

Reboot your phone.
When you next go into the camera app choose the settings menu and the "No Sound" option should be available.
Alternatively after mounding the /system partition overwrite the shutter.ogg by issuing the following commands
# cd /system/media/audio/camera
# cp sound0/no_sound.ogg sound3/shutter.ogg

Kill the camera app if it's already running, start the camera app, choose "sound3" and then you'll have a silent shutter.
Works on my T-Mobile-UK customised Sony Ericsson Xperia X10i, but should work on most (all?) rooted Android phones.
If you actually enable the "No Sound" option, not only does it disable the really loud camera shutter racket but it means when listening to music it no longer goes silent to allow the shutter sound to be played, and it seems to take photos much faster.  Changing the .ogg files doesn't gain you these advantages.
Thanks to zephyrix's hint at http://forum.xda-developers.com/showthread.php?t=713295 and for j4mm3r's note on how to make /system writeable.

Just for information, this trick does not work on Motorola Milestone. There is no setting "ro.camera.sound.forced", and there is no /system/media/audio/camera directory.

On the Motorola RAZR-i the setting is not in the default.prop but in the build.prop. Thanks to Kev and the xda-developers

I suppose this must be new for Froyo but in the camera settings there is an option to turn off the shutter sound.

Good to know, now im going to have to reupgrade to the non beta nexus build and use the appropriate moto-droid build; too bad i just bought SetCPU and the build VZW is passing out is the FR33 one that one-click root doesn't work for yet

I use an app called Silent Camera.

The option to turn the shutter sound off is not new in Froyo.  I am using 2.1 Eclair on a Samsung Vibrant (Galaxy S) and under Settings:[Wrench Icon] scroll to the second page there is the "Shutter sound" option where you can select one of three different sounds or "Off."

I did not have that option for either OS with my motorola droid; perhaps it is a setting for your particular model?

Are you using some kind of ROM? I have stock Nexus One 2.2.1, and I don't have it.

@kkap what is the build # of 2.2.1? Im running 2.2 FRG22D. Also, I am curious to know if all of these answers about an option are unique to the Nexus, or if the lack of an option is unique to the droid.

@mfg it's FRG83. I just suspect that that option is part of some ROM. Does anyone with a stock version of android have it?

Must be a regional thing, pretty sure I always had that setting on my old HTC Magic from Cupcake onwards, and I still have it on my Galaxy S (International) from Eclair to Gingerbread 2.3.3, stock ROMs on all, I'm in the UK.

Placing the volume level at silent (below vibrate) will eventually turn off all the sounds including the one for camera.
Note: I use SonyEricsson X10 series.

Without ROOT you can use this application it works on a range of phone's although not all of them:
https://market.android.com/details?id=com.blundell
Stock Camera / No Shutter Noise
The original silent camera app! :-)

If you are using a Lenovo mobile, please process should work:
Turn on your camera --> Go to Settings --> Click on the 3 dots to pull up more options --> Set Snap Sound to OFF

He specifically asked for 'Motorola Droid' and my dear friend, this is 6 years old question.


text:
Is there any way to listen to Zune Pass music on my phone?
I have a Zune and download DRM-ed music via the Zune Marketplace that I can listen to as long as I have a Zune Pass monthly subscription. Is there any way to listen to this music on my Droid?

There does not appear to be a way, no. (Some information in this forum thread: http://www.droidforums.net/forum/droid-audio-video/40610-zune-not-droid-friendly.html)
Apparently, DRM'd wma files require a Zune device. Since Droid ≠ Zune, it's not going to work. Unless and until Microsoft decides they want to build a Zune App (à la the way Amazon has a Kindle app) you're out of luck.
Only option appears to be to burn those tracks to a CD, then re-rip them as DRMless MP3s.


text:
Can I Theme the Messaging app's interface?
When my Droid updated to Android 2.2 the Messaging app changed to a very light colored interface and I can't find any settings that allow me to change it back to the light text on dark background theme. Is there any way to do this?

No. There are alternative, customisable SMS apps though, like ChompSMS or Handcent SMS.


text:
How to improve the security on my Android phone?
When I use Android in business I have some secret data on my phone. So if I lose my phone this can easily be stolen.
Is there any way I can secure my phone? E.g. adding password for unlocking it. Any recommendations? apps? or best-practice?

Check out a piece of software such as Mobile Defense which gives you remote tracking and wiping of your phone.

You should also be able to add a lock-pattern that makes it slightly-more-difficult to open the phone

lock pattern is ok but it should be turned off in case of steal. I say that because person who stole phone will faster make hard reset or install new rom than try to break it. Instead of locking you should install apk which tracking phone. Good idea is install application with that feature and.. also install i.e. dropbox which is able upload immediately taken photos on your dropbox account. This way, if your phone will be stolen by stupid person, he will make photos and.. maybe who know you will see his face :)

Don't store data on the micro SD card. It's easy to take out and insert into another device.

True enough, although a significant number of phones don't have enough internal storage to be useful.

"Easy" depends - some devices need partial disassembly before SD card can be manipulated.

The most common way to hack your phone is thru insecure WiFi spots. (Mark Zuckerberg was hacked that way.)
I'd recommend to install Y5 application, which enables WiFi only for spots you trust.

The best way to protect your phone is to encrypt the whole data on it.
I know Nexus devices have option to encrypt devices under security settings.
What this will do, is every time you boot up your device it will ask for your password, if you don't know it, you will not be able to recover any data on your phone.
You will need to set up some password or lock after you turn of your screen as well, so no one can access your phone if you leave it on table or somewhere else.
If you are often using public access points to connect to internet via your Android device, you should always use https sites.
Most common attacks against smartphone users are man in the middle attacks, this will allow attacker to intercept your session with the current server you are gaining informations from (for example Facebook) and it will be able to login to your account and make changes to your account, post on your behalf etc etc, there is no good defense against this, but you can use DroidSheep Guard.
It will detect if anyone on the network is using this kind of attack, and if so, it will automatically disconnect you from that network, therefor preventing an attack.
There are also some viruses being made lately against android devices, which can harm your device in different ways, I have found out that the best thing you can do against this is, use only play store to download your apps, and check what other people say about application, before downloading it,a lso latest android update has additional security, so if you are installing app from other sources, it can check that app for any malicious code in it.
I don't recommend installing antivirus software on android device, it won't help much, and it will slow your device.
I hope this will be helpful for you and others having concerns about  this kind of stuff.


text:
Running an over/under-clocking app without rooting
Can it be done?  I'd like to be able to set clock limits based on a number of conditions, such as battery temperature, charging/not charging, and what radios are turned on.  I'm aware that there are apps for rooted phones that will allow me to do this, but I'm wondering if there are any that don't need my phone to be rooted.

Sorry, but this simply isn't possible.  You have to have administrator access to your phone to control the processor's speed.

Shucks.  Looks like I may be rooting my phone in the not too distant future.


text:
Home Screen Takes a Long Time to Display After Removing Phone From Dock
When I remove my Motorola Droid from my docking station, my home screen is blank for a long time. It sometimes takes over 10 seconds for my app icons to display, and even longer for widgets to display. Is there any way to eliminate this pause? Am I doing something wrong?
NOTE: I am using the LauncherPro app as a launcher/home screen app, but I get the same behavior with the default Android launcher app.

I get the same thing with my Droid X. Even after the home screen comes up and I can use other apps, it takes a few minutes (sometimes up to ten) for the system clock to update.

I also see this behavior.  It sometimes happens on screen unlock as well.

As far as I've read, the reason this happens is because of the Android memory management, which I read was made "worse" because of a better internal task killer in 2.2 Froyo. The app is being marked as not needed in memory anymore and is being killed.
There are a couple things you could do to mitigate the frequency of this happening. There's an app on the market called MinFreeManager which modifies some system config files to change how the memory manager divides up memory to active apps. Get the app and load the preset Aggressive. Hit both Apply and Apply at boot. Also, you need to be ROOTED to do this.
Another thing I've seen suggested is in the LauncherPro settings, go to General Settings and check the box for Keep in memory.
Since doing both of these things, I have seen a reduction in homescreen redraws.


text:
How to undo Apps2SD
I have a G1 phone.  I made a partition to install applications on the SD Card using Apps2SD.  But I don't like it, I'd like to decouple the specific SD Card from being a requirement to using the phone.
How do I undo Apps2SD?  I'd like to have Apps only on the phone now.

Apps2SD may be able to do this, but I haven't looked too closely.  The long way to do it would be to go through Settings->Applications->Manage Applications and then manually move everything back to the phone.
==ADDENDUM==
ApptoSD doesn't give you the nice "Move all to Phone" like it does for move to SD, but it does list everything on the SD card.  There is also a "On SD" tab in the Manage Applications settings so you don't have to go through each and every app.

clarification -- go through everything in the "On SD" tab and select "Move To Phone"


text:
Why do new photos take so long to show up in the Gallery?
If I take some photos, and then go to the Gallery app, those photos do not always appear immediately.  I've tried causing the Gallery to refresh, but the images simply do not appear for more than 15 minutes.  I can open the Camera app again and browse through them, so I know they have been stored.
Is there a way to eliminate the latency between when a photo is taken using Camera and when it appears in Gallery?

How long is "quite some time"? I have an issue with the gallery also, but I don't think it's quite the same. Are you talking about minutes, hours, days?

It was in the range of minutes.  I would take a series of photos and close the camera app.  Moments (a minute or two ) later I would want to review those photos in the gallery app.  Sometimes they would not appear, and not until several minutes (>15) later would I be able to view them.

The delay is because the Android media scanner process doesn't run constantly. There's an app in the market to force it to run -- http://www.appbrain.com/app/com.addz.mediascanner
I haven't used this app personally, but it is highly rated.

Heres an alternative to the 3D Gallery its a 2dGallery they updates very fast!
http://forum.xda-developers.com/attachment.php?attachmentid=377221&d=1281435373
Enjoy!
p.s - if t doesn't work you might need to login / register on XDA and then download it but its worth it! I download this and then just remove the other gallery since its laggy.

IMHO there are these ways to decrease the latency:

Use CyanogenMod (it's much faster than stock Android)
Get a faster phone (i.g. Nexus One)
Remove Appkillers

Else you might just have to wait for an update of the Gallery app.

+1 on removing app killers. I noticed the same behavior until I stopped using app killers.

Actually, I don't think app killers have anything to do with this. I don't use app killers and notice the same latency.

-1, the OP is not talking about "latency" as in having a laggy gallery, instead he was asking latency as in "new photos not immediately appearing in the gallery"

There are certain actions that always set the media scanner running when you carry them out.
If you attach your phone to a PC and mount it as a USB drive, the media scanner will run after you unplug.
Most file managers will notify the media scanner if you use them to move files around.
A couple of the other apps I use, like Image Transfer set the media scanner runnning (presumably to check that they've got up to date info on what media has changed recently).


text:
Is there a way to turn off backlit buttons on Motorola Droid?
The four buttons at the bottom of the Motorola Droid (back,menu,home,search) are backlit when its dark and the phone is unlocked. The brightness of the buttons' back light doesn't adjust with the brightness of the screen, which can be a real problem when I'm using an app at night. Is there any way to turn off or dim these buttons?

I have the same problem with my HTC Hero and have searched for a solution in the past.  About a month ago I came to the conclusion that there was no easy solution.

I find this especially annoying when the phone is in clock mode in my dock (Moto Droid, 2.2).

Good question.  I'm surprised no one has figured this out yet.  Make sure to report back if you find the answer somewhere else because I'd love to know.

There's the LEDs Hack app if you've got the root thing going.

That's no longer available on the Android market.

There's an app called Screen Filter that will allow you to switch the menu button backlight off.


text:
How do I reset the launcher app?

Possible Duplicate:
I checked 'use as default' when choosing the default launcher, but now I can't start ADW.Launcher any more

I've installed and set up LauncherPro as a replacement launcher app. How do I reset the phone to use the Android default launcher app?

Go into your Settings -> Applications -> Manage Applications.  Find Launcher Pro and select it.  Hit the button that says Clear Defaults.

This has worked before, but today for some reason the Clear Defaults button wasn't enabled. I couldn't figure out any way to reset the launcher so I ended up uninstalling LauncherPro. Not the best method, but it was effective.

Go to settings, applications, manage applications, LauncherPro and click "Clear Defaults"


text:
How do I get to Alarms?
I know I can get to alarm setup through the Clock app, but I swear this used to be a separate app. How do you get directly to the Alarms app?

Quick look around shows that the Alarm function is most definitely part of the Clock app.

I know that with LauncherPro you can set up "actions" as shortcuts, rather than directly to apps.  You might be able to create a shortcut directly to the Alarm app.
There are probably other apps out there that do this.  I would be interested in the answer, as I have a similar gripe about all of the "sub apps" included with the Clock app.

You can indeed do this on LauncherPro. Long-press the homescreen and go to Shortcuts. From there go to Activities and it'll be under Clock -> com.android.deskclock.AlarmClock

I set my alarms by tapping the Current Time on Beautiful Widgets. The "Beautiful Smaller Home Weather" widget takes up 4 slots on the home-screen but allows short-cuts to 3 actions: Set Alarms, Calendar, and Weather Forecast. The widget also lets you see the Current Time, Today's Date, and Current Weather with a glance at your home-screen.
Beautiful Widgets has a 4.5 star rating from 22k+ ratings. It costs ~$2 but I am not alone in saying that it is worth the price.

On my Droid X, there was an app preinstalled called "Alarm & Timer". That's what I've been using for alarms. Not sure if this is the same thing you are talking about though.
Which verison of the OS are you running? My Droid X is still on 2.1.

I'm running 2.2 unrooted on Droid v1. The "Alarm & Timer" app sounds familiar ... maybe it was removed in 2.2?

That's what I was thinking. I'll check my wifes Droid 2 when I get home and see if she has the Clock app instead of the Alarm & Timer.

Just checked my wife's Droid 2 running 2.2 - she has the "Alarm & Timer" app.


text:
Are there any good firewalls available?
Does the android platform have any firewall application?

I'm pretty sure that Android includes iptables, which is the standard firewall for any Linux.
What I have no information about is whether iptables is compiled into the kernel used on all phones, but you might get more information out of this thread in the xda-developers forum.

DroidWall is pretty good, but it requires root, of course.
http://www.appbrain.com/app/com.googlecode.droidwall
It allows you to control on an app-by-app basis which applications can access the network, and has separate permissions for Wifi and 3g.

As per @TREE's answer above - DroidWall is no longer developed nor supported and is forked into a superior version called AFWall found on Github.
For those who do not wish to tinker with the code,  here's the direct linky to the Play Store
AFWall works very well with the newer Ice Cream Sandwich and upwards.
And yes it has the same requirement as the old DroidWall, i.e. requiring root.