text:
How can I do development on my Android device?
I have a pretty long commute to work and own an android phone. I figure it would be nice to do some simple programming on the way. I'm not picky on which language to code on. I usually have an internet connection on the train.
I've been looking through the android market but haven't found any apps that offer a "development environment" or an editor with a compiler. Is any development ON the Android possible? Does an app for this exist?

This question will become a lot more relevant as more powerful and cheaper Android devices come out.

Two years on: I use AIDE, their brief summary of features states:

Edit-compile-run cycle:

Create a sample App with a single click
Run your App with a single click
No root access required
Incremental compilation for fast build times
Uses Eclipse .classpath project format for compatibility
Integrated LogCat viewer

Real-time error checking:

Real time error analyis throughout the whole project as you type
Automatic Quick-Fixes for many errors

Refactoring:

Rename
Inline variable
Introduce variable
Extract method

Code:

Code formatter
Organize imports
Out-comment code
Create setters/getters/constructors from fields

Code navigation:

Goto defintion
Find usages
Goto symbol
Goto class

Editor:

Very fast editor even with large files
Code completion for Java and Android XML
Android online help directly from the code
Syntax highlighting for Java and XML
Unlimited Undo/Redo
Pinch zoom
Smart expand selection
Keyboard support with configurable keybindings
UI optimized for small screens to show as much code/content as possible

Filebrowser:

Built-in file manager with the most common features: Rename, delete, create file or folder
Dropbox integration
Git integration with Commit/Dicard/Push/Pull and SSH support.

the link to AIDE is http://www.android-ide.com/, unfortunately I cannot suggest edits for some reason

@jay you're welcome. do you still use AIDE?

no, my lenovo laptop has better battery now than my old android tab :(

If you do scripting languages at all, check out SL4a (Scripting Layer For Android).  It gives you access to the android API in each language - Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell.
It comes with its own basic editor, but you can specify a different editor if you have others installed - I've used the Jota text editor with it.
Get SL4A here:
http://code.google.com/p/android-scripting/
I've build a few basic interactive android apps with this setup, and various console-only scripts.  You should be able to configure it to store the files in dropbox or similar to get auto-syncing too.

If you want to get all meta, there's Terminal IDE, a full Java / HTML / Android development environment that runs on Android.

I have an app called C# To Go in the Android market that provides a basic C# REPL. It's certainly not meant to be a real development environment, but does allow you to play around with the language and compile things on the fly.

Why not give Ruboto IRB (pulled from Play Store) Ruboto-IRB on GitHub a go.
From the app description:

Interactive Ruby running on Android. Edit, save, and run scripts on the phone. Great for learning, prototyping, and small apps. Ruboto IRB taps the power of JRuby to open up the Android API.

How is that different than SL4A?

Not availlable with your link

@kouty thanks for the information. Link is now updated.

I know you're looking for programming apps actually on the phone, so this might not be overly helpful.  I found an app called Splashtop Remote Desktop that with a WiFi connection, you can control your computer at home.  I've tried it for reading documents and playing around.  However; I think it could be used to write code using whatever utility you have at home.

There is retro language from Charles Childers and clojure REPL from sattvik software, although these are somewhat more exotic than the standard languages.

Aloha Editor runs within your browser. But I suppose it will not run in every Android browser, Firefox mobile seems most advanced when it comes to HTML5.

And if you are looking for a web development solution for e.g. PHP, you might want to take a look at PHP programming app with hosting?: PAW Server for Android -- amongst others -- offers you a web server with support for PHP (via a plugin), and comments in the linked question also mention some nice programming editors.

Check out - Android Web Developer. I am developer of this application.
It is developed special for web developers.

Features:

Support all major web languages and formats: PHP, JavaScript, CSS,
HTML
A lot of ways to reach your project ( FTP, FTPS, SFTP, WEBDav and growing)
Code highlighting
Code completion
Hardware keyboard support (e.g hotkeys)
Error checking
Code beautifying
Tablet ready UI
Line numbering
Quick preview of your page
Highlighting the current line
Search and replace with regular expressions
Unlimited Undo/redo
Full screen mode
Rename/create/delete/copy-paste files inside you project


text:
How do I press "Up" if I do not have an "Up" button?
Hi all I'm using a Samsung Galaxy Ace S5830 and I wanted to test a "Snake (Game)" app.
When I launched the app, this is what I have:

Samsung Galaxy Ace does not have an "Up" button, I was wondering what are the steps I'd have to take to simulate one?

As far as I'm aware no Android phones, other than the Xperia Play (Playstation phone) have an up button. Have you tried just swiping up the screen? There's a few Snake clones on the Market, do you have a link to the Market page for this game, so someone else could try?

@GAThrawn I've swiped it but it doesn't work. I can't seem to do anything to make the app respond at all. Btw it's one of the "sample apps" which came along with the Android SDK installation.

No VOLUME up button?

@Chance I have the volume up button, except that it isn't making the app responding

@GAThrawn lots of android phones have hardware keyboards with d-pads. It may not be the same key code, but they definitely have an "up" button.

GO keyboard also has an up button.
You'll just need to launch the editor.

1) If this game has to tested on your device and if you have the source code of the project you can disable or change the listener of button or what components it may be. The constants for catching the up button click event you may see in the Activity.class is the following;
KeyEvent.KEYCODE_DPAD_UP

OR
KeyEvent.KEYCODE_CHANNEL_UP

You can change this constant with other KeyEvent constants. See link : http://developer.android.com/reference/android/view/KeyEvent.html
2) If this game doesn't have to be tested on your physical device, then there is emulator option whose virtual keyboard has many buttons. While creating Android Virtual Device you have a bunch of screen options, ram storage, etc. You can create virtual device whose hardware is almost same with your physical device. after that you can push the .apk file by using adb-install command and test it on virtual device.

Im not familiar with your device, is the big thing in the middle on the bottom a trackpad type device? I.E. can you use it to scroll a long page if you rub your finger over it like you would a laptop trackpad?
If so then rubbing that thing with an upward motion should send the DPAD_UP event, which I assume that game is listening for. You might also try pressing on the top edge of this button thing, perhaps the whole thing is a dpad of sorts.
If that thing isn't able to scroll at all then Im afraid you're probably s.o.l. The game is listening for an event that your device is incapable of sending. If you are interested in development then let this be a lesson to consider all device types and input schemes when designing your interface.
{rant} What is with the trackball hate? The first several devices had trackballs on them, and it was an excellent input method, now they've moved them all to this optical / touch sensor crud {/rant}
EDIT: So even if your device doesn't have any type of trackball type device you aren't entirely SOL after all. https://market.android.com/details?id=com.pedrocorp.virtualtrackball&hl=en that is an app that will give you a virtual d-pad or trackball. There might be a free one if you search around.
P.S. if anyone with influence over hardware design happens to see this: Making a device with no d-pad type input is terrible, it makes so many interactions needlessly awkward. Please don't do it.

Do I actually need to pay for a virtual keypad?

If you use that one then yes(Sucks that samsung screwed you on that). If you search around there might be a free one on the market(I don't know for sure though). Note also this app is for rooted devices only.

Well, if you have cyanogen, you could download swype, and go into the settings of cyanogenmod to show the keyboard on menu hold. Then you could go into the edit menu, and press the up button.

adb shell input keyevent MENU, then press the "Start" on the menu

If you are testing snake from the Android applications examples,
you should modify the code in order to include  the gesture class.
I simply have done this by hooking the event_key manager by the gesture events.
Good training to get familiar with the gingerbread API :-)

source: Stack Exchange

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

sort: votes


text:
Is there a way to estimate building movements?
I wish to determine if, or how much, movement there is of the building in which I'm currently living. Is there any way for me to do this? Is it even possible at all based on phone hardware?

App shopping suggestions are generally off-topic, as per the FAQ.

Ooops... You are right. Should I delete this question or mark it in special way? Also, where Can I ask some application search related questions?

@Damian Are you really want to track the "movement" of a building (geological) or do you want information about in-house navigation?

@Flow "Movement" - if the building is moving when there is wind blowing from one direction.

You cannot track your building's movements with the GPS. Its accuracy isn't better than ~10m. If your house does move that much, you won't need any hardware to detect it.

I was thinking about phone accelerometers. Maybe they are sensitive enough?

@Damian Go and find out. Install an sensors App and place your phone on a table and see if the sensors catch anything.

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


text:
Why is my HTC Incredible's WiFi so slow?
I have a Droid Incredible rooted with Cyanogen 7.
When I use my network wi fi (on cable modem) the download speed is about 400kb/s, using SpeedTest.net's Droid app. When I test with my Virgin MObile LG Optimus V I get 8.5 Mb/s.
I've turned off bluetooth (which I hear uses the same radio as wi fi).

Do you see the same performance on other WiFi networks?

OK, this is embarrassing but I'll leave it here for posterity anyway.
Tried another network and got slightly better performance (probably b/c the hotspot had weak signal strength).
After more investigation I realized that it was connecting to my network then disconnecting. Turns out the password was wrong, but rather than actually telling me that, it just connected and then a few seconds later (after I'd left that screen) it disconnects.


text:
How do I start/join a G+ Hangout?

Possible Duplicate:
How to start a Google+ Hangout from android/mobile phone?

I recently got a Galaxy Nexus. The commercials for it tout the ability to do Hangouts with G+ Friends. When I start up G+ Messenger, a few things:

I don't see any list of online friends from my circles. How am I supposed to start a chat with someone if I don't know who is online and who is offline?
I started a conversation with a friend (who ended up being offline even though I couldn't tell). He later replied to me. I couldn't figure out how to start a Hangout with him. I've seen screenshots where there is a video chat icon at the top in conversations. But I don't see this icon in my Galaxy Nexus...
Should I be able to see a list of hangouts that I can join somewhere? If my friends started a hangout, how would I join it unless I was specifically invited to it?

It seems like this shouldn't be so complicated. The interface certainly isn't complicated, so maybe I'm missing something?

Make sure you have updated to the newest version of the G+ app.  You should have version 2.3.1.242969 that came out yesterday.
From there you need to go to messenger and find the person you want to hangout with and send them a message.  Once you send them a message you will see a hangout icon appear in the top right corner.  See here for more information.

You may tell whether your contacts are online by checking their online status via Google Talk. The online marker should be green (online and active) or orange (online but idle), but not gray (offline).


text:
Why does Google+ Messenger deliver messages with long delays?
Google+ Messenger conversations are supposed to take place in real time. Yet when I use Messenger with the Google+ app for my Nexus S Android 2.3.6 phone via 3G (Vodafone IT), the messages I send or receive from others are often delivered with delays ranging from a few tens of minutes to a few hours.
Does Messenger require push notifications, i.e. setting the Settings -> Accounts & sync settings -> Background data checkbox?

Google+ Messenger does require the Background data checkbox to receive messages/updates while it's not the active app. However your messages should be sent instantly since the app would be active then.
Are you experiencing delays with other messengers using background data as well? e.g. WhatsApp
A good discussion about background data, sync etc can be read here

I don't know about the receivers' background data settings, but I suppose they keep it turned off. I wasn't sure whether the setting was necessary because, while e.g. Google Talk does require it and prompts the user to activate it at startup, Google+ doesn't. If I understand correctly, even with background data turned off messages are delivered in real time, as long as Messenger remains the foreground executing app.


text:
difference between ninesky and ninesky cn
Ninesky is a browser for android. What is the difference between Ninesky and Ninesky CN?

I would guess the latter is a special version for China.  It doesn't mention the links to US news sites like the main version, for example.

The screenshots of the CN version are all in Chinese, also the language code for Chinese Simplified is "CN".


text:
Sub keys always lit
By sub keys I mean the two keys next to the home button on my Galaxy Ace. Even when the screen is off they are still lit up. Other than that the screen being off acts as normal.
So my question is: Is there a setting or way to get revert to the normal behaviour for the subkeys backlight? (e.g. off when the screen is off)

what is the question you are asking here?

@RyanConrad: How to stop the subkeys lights being on constantly. I know it's not right as that is not how it was a week ago, and I'm guessing it certainly doesn't increase battery life. Sorry, I didn't make it clear in the question, will edit now.

From what I have read, which could be wrong, these buttons light up where there are notifications, do they stay lit when you clear the notifications too and turn off the screen?

I don't have any notifications... But there are some things running in the background that add items to the notifications menu. Apps like IM+ stay open in the background and leave a status message there... I'll check.


text:
How can I get the Amazon Appstore to stop re-installing applications?
Whenever I install an app through the Amazon store, I usually set my phone down while I wait for the download, and pick it up afterward to hit the "Install" button when the OS prompts me.  Sometimes I won't do this immediately.
It seems that the Appstore assumes the install failed if it wasn't completed within a certain length of time, and tries again.  This is fairly short (a minute or two) and sometimes it might be hours before I go back to my phone.  Until recently this wasn't a problem; I'd either just hit Install twice, or Install once and Cancel once, and move on.
Now, however, the Appstore seems to get stuck in a loop.  No matter how many times I hit Cancel or Install, it just repeatedly asks me to install the app.  I have to kill the Appstore and/or reboot my phone, ruining any other updates I have queued.  Then I have to wait for them again, and I'll probably forget about my phone for a few seconds too long and run into this issue again.
Is there any way to make the Appstore behave reasonably?

Does clearing data for the app store do anything?

@BryanDenny Like a reboot, it will fix the immediate issue (the one app constantly trying to install) but it will just happen again later.

Try to clean out the /sdcard/Android/data/com.amazon.venezia/cache directory. This is where the apks are stored when initially downloaded, and they should be deleted when the application is installed. Seems for some reason, they are not always deleted, so it continued to ask to install it.

Wow, that folder had tons of stuff in it.  I got "There was an error parsing the package" when opening the Appstore the first time after clearing it, and got a notification saying the install was successful.  Thanks!  I wonder if there's anything I can do to help it keep the folder clear.  Obviously permissions aren't an issue with it being on the SD card...  Edit: After installing some new apps (without letting the install timeout, no issues) the .apks are left in the cache folder.  It seems it doesn't clean them out at all?  So perhaps the main issue is something else.

Mine had like 50+ files in it. Though I didn't get an error when I restarted the appstore after clearing it out.


text:
How can I purchase apps from the Amazon Appstore without downloading them?
I've been procrastinating on swapping out my full 2 GB SD card for a 16 GB one I have, so I can't install many apps at the moment.  It's annoying to have to wait for a download and cancel the install that the Appstore attempts, and when updating other apps it only downloads one in the background (needlessly prolonging the experience, which leads to other issues).
Is there any way I can buy an app, or add the Free App of the Day to "My Apps", without downloading and installing it?  I can't just wait and do it another day, since the daily deal obviously won't apply then.

You can buy them from the website without downloading them. Any apps purchased through amazon.com simply get added to your account. I think that's the best you can really do.

Hmm, does work.  I tend to forget to check daily things like this on websites so I hope they add an in-app method.

@MatthewRead: I'd prefer an in-app way of doing it, too, but I still haven't found one :(


text:
Galaxy Nexus randomly shut downs while streaming music with Pandora- how do I fix this?
While streaming music with the Pandora application (on the high quality setting) on a Galaxy Nexus over Verizon 4G, after any given time period the phone will completely shut down. This happens at unpredictable times. The phone doesn't get heated and no data/download limits are reached. I'm fairly certain this is a bug with the Pandora app on ICS or could be ICS in general, as it is not experienced during any other data streaming.

Has anyone experienced this random shut down while streaming with Pandora on their device, and if so..
Is there remedy for this type of bug?

Do you use bluetooth devices with your phone while using Pandora (whether they directly interact with it or not)?

@Mr.Buster No bluetooth devices at all.

For random shut downs, that's most probably a loose battery problem.
Stick some dental floss (I used Oral-B Glide floss) in the side opposite the battery connectors.  I used that floss because it's a bit spongy when you bunch it up but at the same time hard.  Used about 1.5 feet of it bundled up in my Nexus S phone.

When you push the battery in, make sure it is tight, but not too tight.
This will force the battery to remain contacted at the pins.  When the battery is loose and can disconnect from the pins (for even a fraction of a second), you get an open circuit and the phone shuts off completely (no power).


text:
How do I check tcp packets when they were blocked by droidwall?
I'm using cyanogenmod's rom with droidwall activated with whitelist mode, and nothing checked.
I've seen some strange ips being called, and droidwall blocking them. I wan to analyse these packets. Which is the best way?
PS: I dont have Android Market installed.

Cyanogenmod has tcpdump installed. You can run it from the shell, just make sure you select the correct interface:

tcpdump -i tiwlan0 -vv

Or, you can write the dump to a file on your sdcard, and analyze it with Wireshark on your desktop later:

tcpdump -i tiwlan0 -w /mnt/sdcard/tcpdump.out

There is also software like Shark for Root, which will capture the packets like tcpdump (it requires root, but does not require tcpdump, which is available on my Cyanogenmod 7.1, but I'm not sure if it is available in all versions of Cyanogenmod).

Thanks @haimg. The sdcard option is really interesting. If I stop the command, will it have all dumps from before stopping?

@SomebodystillusesyouMS-DOS: Yes, that's the idea...

I've disabled my adsl modem, and tried to do this command, but it didn't save any http packet. Is this command correct? Am I doing something wrong?


text:
How to prevent adb shell from exiting upon Ctrl+C
When I adb shell into my device (from Windows desktop), and run some command there, sometimes I want to terminate that command. The standard unixy way to do it is with Ctrl+C key combination. However, when I do that, the whole adb shell terminates.
How can I terminate just the current program inside the shell, not the shell itself?

I read a forum post claiming that Ctrl+] worked, but I tried it with no luck. Your mileage may vary. There appears to be no way to have adb pass Ctrl-C on, since it doesn't capture SIGINT. The standard Ctrl-V method doesn't seem to work for Ctrl-C, though it did convert Enter to ^J , unfortunately.

I found sort of a workaround for this (at least for a rooted phone). If a phone is rooted, busybox is most probably installed. stty is part of busybox.

stty intr ^x

Redefines Ctrl+X to act as a break command, e.g. what was previously Ctrl+C.

That's pretty awesome.

Alt-NumPad 3 + Enter works for me. Alt-NumPad 0-NumPad 3 + Enter also works and displays "^C".

i was able to stop the top process and still stay in shell by typing the following in this order:
C
CTRL+Z
CTRL+M
if I did not type all 3 of those combos it would not stop and I would have to CTRL+C to exit the shell. I found this by just trying different combinations of keys and found it by accident. YMMV

Ctrl+Z suspends a process, e.g. you have to kill it later with kill or killall. This workaround is better than nothing, though...

i realized that after when i did an "exit". funny thing, it wasnt the ctrl+z that did anything, it didnt actually go back to the shell until i did ctrl+m, and if i didnt type "c" first, it didnt do anything.

This doesn't work for me (I tried vmstat not top though).  Interestingly, when I press Ctrl-Z it looks like nothing happens but in fact my input starts being redirected straight to the Windows shell and not to adb.  adb's output (from vmstat) keeps showing up in the shell window but I could type cd C: (for example) and it would execute in the Windows shell.  If I then pressed Ctrl-C the output would stop and I would see the command I had typed into the Windows shell behind the scenes.  Very weird!

Ctrl+\ followed by Enter usually works fine.
This will send a SIGQUIT signal which may not be appropriate for a server (dumps a core file for example) but I don't think it's a problem using this on an Android phone/tablet (which doesn't dump a core file by default). Easy solution that works in most cases.

On Windows, you can just enter [Alt]+[3] via the numpad (don't forget to press enter afterwards).
This sends [Ctrl]+[c] to the shell thereby terminating the current command:
D:\Android>adb shell
$ cat
cat
♥
^C

$ exit
exit

D:\Android>
Note that [Alt]+[3] produces the ASCII-Char ♥ in Windows which equals the ETX-Byte.
You can also press [Alt]+[0]-[3] (hold the Alt key down while pressing [0] and [3] on the numpad) if you don't wand windows to display a heart ;)


text:
How do I root a Huawei X3?
I have a Huawei X3 (U8510) which I've purchased for testing Android applications I'm developing. I'd like to root this, but as I've not had any experience with rooting Android handsets, its something I'm approaching with some caution.
What is the recommended way to root the X3? I've found mention of a Windows app called SuperOneClick, which looks like it may be useful. My development machine is a Mac, but I'm not adverse to using Windows apps to do this if its easier.

Full rooting instructions for Huawei IDEOS X3 (U8510) are posted on this thread over at XDA:

Download the Automatic Root Enabler for the X3. For more recent versions I suggest checking original thread and the forum
  it's in as I may not be able to update this thread all the time.
Install the latest USB drivers for the X3. Search for the latest version of "HUAWEI Android Phones USB Driver" from the Huawei
  Downloads site.
Turn on USB Debugging from Settings -> Application -> Development on the X3.
Connect the X3 to your PC via microUSB.
Run the Automatic Root Enabler and it should start rooting your phone automatically.

I'd love to accept this answer, but I've encountered these instructions already, and have been unable to find a valid download link for the Automatic Root Enabler app mentioned in the steps. Are you able to provide this information?

Looks like that one was taken down. Try links from this post: http://www.android-hilfe.de/root-hacking-modding-fuer-huawei-ideos-x3/165642-automatic-root-enabler-von-0-auf-root-40-sekunden-7.html#post2489834

Thanks, we're getting closer. However when I run Automatic Root Enabler (v1.1) it seems to be stuck at the waiting for device stage. The phone has initiated a reboot, but is stuck at the Huawei logo and doesn't progress from there. I'm currently attempting this on a Windows VM hosted on my Macbook Pro, so if I have no joy, I may attempt it on my daughters Windows netbook instead, just so I can rule out any VM related issues.

Try a native Windows host. Also, make sure to check your Windows drivers and don't be afraid to give it a few tries.

It seems to have worked on my native Windows machine, but only after I prompted Windows to find drivers from Live Update, after failing to successfully install the drivers when the phone boots into Fastboot mode. Thanks for all the help. I'll mark this answer as the correct one, and will award the bounty.

I found this really good tutorial, but its german ... I translate:

prepare phone, go to settings > apps and disable "fastboot".
shutdown phone, completely (if you want to be safe, remove battery and plug it in back)
Boot into fastboot mode (press and hold VolDown + Power)
plug usb to phone, windows will show up a new device. If the driver is not installed properly, install it via device manager (Download driver here). Now the device should show up as Android Sooner Single ADB Interface
Download this and navigate to RecoveryClockmodByZaDkYn and start Instalador.bat
Now open a command prompt, press any button. Now the progress is started. If its finished, press any button again.
Now you have ClockWorkMod installed, download this file, copy It to your sdcard. Boot into CWM, select install zip from sdcard and chose chose zip from sdcard select su.zip and press power to flash it (you can navigate in the cwm with volumeDown and Up)


text:
Where did the internal space go on my HTC Desire?
I know this a common problem, but my experience has been a little freakish.  I am using an HTC Desire 2.2 and usually try to maintain approximately 40 MB space free.  I have installed the bloody gigantic Google+ which took up about 20 MB and there was an option to move it the SD card, which I did.  Apparently only some of the 20 MB was moved, I think about 12 MB. Okay no problem, I thought, used Google+ for some time, not my thing, so I uninstalled it and couldn't believe that I'm still short the 8MB of space!
My question is where did it go? And can I get it back?  8mb is precious on the Desire.

The problem with moving applications to the sdcard is usually not the application, the problem is their data. The google+ app is like 8mb or so, but if you look in the application manager it will show a lot more then that. Mine is ~40mb. This is because the amount of data that the application stores.
Android needs to address the /datadata and /data locations and allocate more in them or allow users to move this information to other storage locations. I have had to, on multiple occasions, go in to the application manager and clear the data for apps like google+, and I have a Galaxy S device. Granted, I do have over 70 applications installed total, but only a small percentage of them actually use up 95% of the storage.
A lot of people bring up, usually with tablets, the ability to support multiple users, this is one of the reasons this will not happen in the foreseeable future. If the devices can support the data storage needed for one user, how can they support multiple users.


text:
How to use Wifi re-installation code?
I've a Samsung Galaxy Ace but my Wifi is always not in range.
Google Helps state:

Use WiFi driver re-installation Code *#*#526#*#*...Reinstall the
  firmware for Wifi. Try it on other Routers as well  this is a common
  problem with Androids. as i see (seen in lot of forums people
  discussing Wifi problem of Androids) My cousin bought the same Handset
  and he is having same problem. If it doesn't help show it to your
  vendor from where you have brought it

How do I use the WiFi driver re-installation Code *#*#526#*#* ?

I had the same problem on Galaxy Ace but I dialed *#526# and not *#*#526#*#*. I don't know if it's the same thing. Also try with removing and renewing the Wi-Fi connection on your phone.

These are called dialer codes, so naturally try typing it into your Dialer as if it were a phone number.  I just did it on my Vibrant and got this:
WlanTest Engineering Mode
Status...
Unloading Normal Driver and Loading Mfg Driver

Driver loading successful

@Pacerier I know some other things like touchscreen drivers might have similar codes, but in general you don't want to mess with drivers.  Most of your installs will be apps, which certainly aren't done through dialer codes :P

Btw my Wifi still doesn't seem to be in range evne after installing the driver and restarting the device. Do you have any idea what may be causing the problem?

@Pacerier Sorry, no.  Have you tried it with multiple Wi-Fi networks?


text:
How do I root the Dell Streak 5?
I have a Dell Mini 5 (the original Streak).  As in the title, how can I root this device?

Disclaimer: "Safe" does not mean nothing can go wrong, particularly if you don't follow the instructions exactly.  I make no guarantees, and you take the risks of rooting upon yourself.  See this post for general rooting guidelines and an index of other devices for which we have rooting guides.

If you have the original Android 1.6 Donut firmware on your device, upgrade it to 2.1 or higher.  The official update page should bring you from 1.6 (or 2.1) to 2.2.
The Easiest Method (Still Safe) — 2.1 Eclair, 2.2 Froyo
The easiest method is with Gingerbreak.  (The 2.3.3 update patched the vulnerability used in Gingerbreak, so if you have Gingerbread then see the next section.)

On the device, go to Settings -> Applications and make sure Unknown sources and USB Debugging (under Development) are checked.
Download the Gingerbreak app via your PC and put it on the device's SD card, or use the browser on the device.
Install a file browser like Explorer since it appears the Streak doesn't come with one.
Navigate to the Gingerbreak .apk, install it, and run it to root your device.  You're done!

The Safest Method (Still Easy) — 2.2 Froyo, 2.3 Gingerbread
You can attempt to root via other vulnerabilities but the safest method is probably to replace the stock recovery with StreakMod and flash the SuperUser package through it, bypassing the need for hacks.  This might work for 2.1, but I haven't tested it.
(Wondering why this is safe?  The Streak replaces the recovery with stock on boot.  If you screw it up, it will fix itself!)

Install the Android SDK on Windows.  (You can use Linux, but then you have to locate the fastboot package put out by HTC at one point since it's not bundled with the SDK for Linux.)
Download StreakMod and extract recovery.img from the .zip file to somewhere easily accessible, say C:\recovery.img.
Download the SuperUser package and put it on the device's SD card.
Connect the phone to your PC via USB and put it into Fastboot Mode.

The easiest way is through adb on the command line (adjust the path if needed):
cd C:\Program Files\Android\android-sdk\platform-tools
adb reboot bootloader

Alternatively, turn off the phone and then turn it on while holding the Camera button.  When you reach a white screen, release the Camera button.  When it loads, tap the FastBoot text button in the top right corner of the screen.
You should see FASTBOOT_MODE in the bottom left of the screen when it's ready.

From the command line (adjust the paths if needed):
cd C:\Program Files\Android\android-sdk\tools
fastboot flash recovery C:\recovery.img

The device should show Download RECOVERY Done! when complete.
Continuing from the command line, enter fastboot reboot and immediately hold down both volume buttons on the device until you reach Recovery Mode.
If the device boots, go back to step 4!  The custom recovery has been overwritten with stock by the init scripts; you need to get into StreakMod before this happens.
Using the volume buttons, scroll down to 2. Software upgrade via Update.pkg on SD Card and select it by clicking the Camera button.  This will take you to StreakMod Recovery.
Using the same buttons as in the previous step, select apply sdcard:update.zip, then choose zip from sdcard.  Select Superuser.zip from wherever you put it (e.g., download/).  Choose Yes - Install Superuser.zip and let it install. Then back out (using the Back touch button) and hit reboot system now.  You're done!
If you want to keep StreakMod Recovery, use your new root powers to rename /system/etc/install-recovery.sh to something else like install-recovery.bak, then repeat steps 4-6a above.  Note that stock recovery can be downloaded and flashed just like StreakMod, so there's not much to worry about if you decide to do this.

thanks for the step by step instructions. but i have a question. i followed all the steps besides number 9, to the dot. Is my DS 5 still rooted? How can i confirm if its rooted because i cant see a superuser icon in my app tray.
thanks!

@cookie #9 has nothing to do with root.  If you can do anything that requires root, you know you're still rooted!  You could also install SuperUser from the Market or try something like Root Checker.

I think in step six you can just type fastboot reboot recovery instead of pressing buttons.


text:
How can I unlock and configure my Nexus One without a SIM card?
I have a Nexus One which I want to send to my mother.  Where do I go to have it unlocked?
Does it run the latest version of Android and can I install apps without a SIM card?

If you mean unlocked so any SIM can be used, the device comes from Google SIM Unlocked.
From Wikipedia Article:

The device is sold SIM unlocked (not restricted to use on a single network provider). Google offered T-Mobile USA and AT&T versions of the phone online in the United States before closing the online store in July 2010.

The difference between the AT&T and T-Mobile version is the bands that the phone uses for its network. If you don't have the right bands, the network will fall back to the common network, which is EDGE. For example, if you have a T-Mobile version, and you mother has AT&T, then when she is browsing the internet she will only get EDGE(2G) speeds. Voice there really is not noticeable difference.
So to answer your question, you don't have to take it anywhere, and it costs nothing extra. You paid for it to be unlocked when you bought it.
You should be able to install applications without having a SIM card. At the very least, you will need to have wifi available so you can download the applications. I would suggest a factory reset, then start the device and configure it how you want for your mother, with apps, and email setup, etc.

To address your second question, you can pre-configure the phone to your liking before sending it to your mother.
You may wish to factory reset it first (or reinstall the custom ROM you're using, if you are), and then configure a 'clean' image, depending on what you had installed on the phone.


text:
Can I safely remove "Android keyboard" if I have installed an alternative keyboard application?
I know it's potentially a Bad Idea (tm), but hear me out.
I've got an HTC Desire, and its internal storage space is severely limited (150 MB, barely), running Cyanogenmod 7.1. I'm not entirely happy with the supplied keyboard, and have tried Swiftkey X Keyboard, to a great satisfaction. Now, since keyboard apps cannot be installed on the SD card when they are used, this eats up more than 15 MB of that precious internal space and severely limits the number of apps I can install.
It occurred to me that I could convert Swiftkey to a system app and integrate it in the ROM, and after that freeze and remove Android Keyboard -- using Titanium Backup. Naturally, I'm not too keen to try it without asking around first, for it can have disastrous consequences.
So, my question really is:

Can I remove Android keyboard if I have an alternative input method application?

I would suggest no. Another way to get more space on the HTC Desire is to use an app to partition some of your SD Card as one of the heavier internal memory folders and so save up some space that way. There are several guides on this around the net.

@Ramengo: Yes, I'm aware of these, but such manipulations are not for the faint of heart. Besides, SD cards are not suitable for short-term volatile storage and can wear down quicker -- I've seen posts to this effect on the net, and maybe even on Android-SE.

I know, removing the keyboard is not for the faint of heart either so, I thought you wouldn't mind considering this type of avenue ;) .

Hi Martin Tapankov:  Yes.  It is safe to remove the stock Android Keyboard application if you have already installed an alternative IME (Input Method Editor) on your phone.  You may go to "Settings->Local and text->Text settings->Select input method" to select ONLY ONE preferred IME and then reboot your phone to ensure it automatically picks up your IME.  Please bear in mind you should NOT install or move your preferred IME application to the SD card because, after your phone is restarted, the default IME will revert to Android keyboard (if you still have the stock Android Keyboard application installed) or your phone will show a lot of ForceCloses (if you have uninstalled the stock Android Keyboard application).  Good Luck!
FYI, I have already done this before on my Samsung Galaxy S Epic 4G (SPH-D700) which comes with a hardware slide-out keyboard, so my risk factor has been much smaller than yours.  :-)

Just a tangential comment--turning off the spellchecker in settings really cut down on the "Android Keyboard AOSP" CPU usage (from 20% to basically 0%) maybe because it was over-scanning my 2000 contacts? No idea.


text:
Lots of "Input/output error" after connecting Samsung Galaxy S2 via USB
I'm trying to connect my Samsung Galaxy S2 (GT-9100, Android 2.3.4, I9100XXKI1) with my Linux box (Ubuntu 11.10 oneiric).
I'm using the USB storage mode (Settings ➔ Wireless and network ➔ USB utilities).
The device is recognized and two device nodes in /dev are created.
In the syslog, I see this output:
sd 9:0:0:1: [sdh] 62325760 512-byte logical blocks: (31.9 GB/29.7 GiB)
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 c8 00 00 08 00
end_request: I/O error, dev sdh, sector 1224
quiet_error: 98 callbacks suppressed
Buffer I/O error on device sdh, logical block 153
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
Buffer I/O error on device sdh, logical block 146
Buffer I/O error on device sdh, logical block 147
Buffer I/O error on device sdh, logical block 148
Buffer I/O error on device sdh, logical block 149
Buffer I/O error on device sdh, logical block 150
Buffer I/O error on device sdh, logical block 151
Buffer I/O error on device sdh, logical block 152
Buffer I/O error on device sdh, logical block 153
Buffer I/O error on device sdh, logical block 154
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
sd 9:0:0:0: [sdg] 24133632 512-byte logical blocks: (12.3 GB/11.5 GiB)
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:0: [sdg] Media Changed
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Unit Attention [current]
sd 9:0:0:0: [sdg]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 00 20 00 00 10 00
end_request: I/O error, dev sdg, sector 32
 sdg:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:0: [sdg] Media Changed
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Unit Attention [current]
sd 9:0:0:0: [sdg]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 00 20 00 00 48 00
end_request: I/O error, dev sdg, sector 32
 sdg:
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
quiet_error: 56 callbacks suppressed
Buffer I/O error on device sdh, logical block 146
Buffer I/O error on device sdh, logical block 147
Buffer I/O error on device sdh, logical block 148
Buffer I/O error on device sdh, logical block 149
Buffer I/O error on device sdh, logical block 150
Buffer I/O error on device sdh, logical block 151
Buffer I/O error on device sdh, logical block 152
Buffer I/O error on device sdh, logical block 153
Buffer I/O error on device sdh, logical block 154
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 01 a8 00 00 08 00
end_request: I/O error, dev sdg, sector 424
Buffer I/O error on device sdg, logical block 53
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 02 00 00 00 08 00
end_request: I/O error, dev sdg, sector 512
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 00 20 00 00 08 00
end_request: I/O error, dev sdg, sector 32
sd 9:0:0:0: [sdg] Device not ready
sd 9:0:0:0: [sdg]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:0: [sdg]  Sense Key : Not Ready [current]
sd 9:0:0:0: [sdg]  Add. Sense: Medium not present
sd 9:0:0:0: [sdg] CDB: Read(10): 28 00 00 00 10 00 00 00 08 00
end_request: I/O error, dev sdg, sector 4096
sdg: detected capacity change from 12356419584 to 0
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Media Changed
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Unit Attention [current]
sd 9:0:0:1: [sdh]  Add. Sense: Power on, reset, or bus device reset occurred
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
 sdh:
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
usb 1-1.5: reset high speed USB device number 10 using ehci_hcd
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 48 00
end_request: I/O error, dev sdh, sector 1168
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 04 90 00 00 08 00
end_request: I/O error, dev sdh, sector 1168
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 00 18 00 00 08 00
end_request: I/O error, dev sdh, sector 24
sd 9:0:0:1: [sdh] Device not ready
sd 9:0:0:1: [sdh]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 9:0:0:1: [sdh]  Sense Key : Not Ready [current]
sd 9:0:0:1: [sdh]  Add. Sense: Medium not present
sd 9:0:0:1: [sdh] CDB: Read(10): 28 20 00 00 00 18 00 00 08 00
end_request: I/O error, dev sdh, sector 24

When I try to list the root folder, I get:
ls: cannot access /media/3CB1-07D3/Samsung: Input/output error
ls: cannot access /media/3CB1-07D3/LOST.DIR: Input/output error
ls: cannot access /media/3CB1-07D3/external_sd: Input/output error
ls: cannot access /media/3CB1-07D3/usbStorage: Input/output error
...

I tried to reset the USB connection mode using PhoneUtil but that didn't help. I tried to manually mount the phone with the same result.
Then I tried to enable USB debugging. In this case, syslog says:
usb 1-1.5: new high speed USB device number 11 using ehci_hcd
scsi10 : usb-storage 1-1.5:1.0
Jan 11 10:24:23 host mtp-probe: checking bus 1, device 11: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5"
Jan 11 10:24:23 host mtp-probe: bus: 1, device: 11 was not an MTP device
cdc_acm 1-1.5:1.1: This device cannot do calls on its own. It is not a modem.
cdc_acm 1-1.5:1.1: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Jan 11 10:24:24 host modem-manager[1288]: <info>  (ttyACM0) opening serial port...
scsi 10:0:0:0: Direct-Access     Android    UMS Composite    00 PQ: 0 ANSI: 2
scsi 10:0:0:1: Direct-Access     Android    UMS Composite    00 PQ: 0 ANSI: 2
sd 10:0:0:0: Attached scsi generic sg7 type 0
sd 10:0:0:1: Attached scsi generic sg8 type 0
sd 10:0:0:0: [sdg] Attached SCSI removable disk
sd 10:0:0:1: [sdh] Attached SCSI removable disk

When trying to mount /dev/sdg, I get mount: no medium found on /dev/sdh
I dimly remember that this once worked using the USB storage mode. In the meantime, I installed a firmware update. Any idea what I could try next?
Unrelated questions:

Unable to mount Galaxy S2 on Debian Squeeze laptop as storage device: In my case, the device is recognized

Your Ubuntu is very outofdate. 12.03 12.10. 13.04. 13.10 14.04 are all newer versions of Ubuntu.Use 14.04 or newer when possible
Since 13 issues with my S2 sdcard are almost nonexistent

I don't have the phone anymore but I remember that since 13.xx, the USB connection worked most of the time. Of course, now I have an S4 and new problems (MTP support ;-)

@AaronDigulla Enable ums (universal mass storage I think) in settings storage.Ive this enabled and it works perfectly (but I dont know why I get option connect usb storage on android) but when USB debugging turned on (I reverse tether) I get a mtp error and i have to find it buried under windows and close it to access the phone storage on pc

@AaronDigulla HAHHAAHA LOL i just saw this is 2yrs old!

I'd need to root my device for UMS. I'm not that desperate, yet :-)

@AaronDigulla its worth rooting it

I barely remember similar symptoms caused by a defect SD-card but that doesn't explain the problems with both virtual devices. Did you try a different cable and a different USB-port on the computer side? Just to make sure the problem is not caused by a bad cable connection ...

Uups, should have checked the questions date first ... :-D

Hope you are enabling USB transfer mode in the S2 USB options. Works fine for me that way.
More settings > USB utilities > mass storage.

NOT IF usb debugging because of an mtp error message blocking you fromclicking open phone directory


text:
Prevent overheating when tethering
When I tether my phone and download big files or large numbers of them, and download is non-stop for a few hours, my phone (Nexus One) overheats. Is there any way to prevent that, except avoiding overusing the net?
This has happened in multiple devices, so it's not a hardware malfunction; it also happens both in the original ROM and CM7.

You could physical approaches, such as setting a fan blowing across the phone or other airflow maximization (e.g., if you can stand it up, then both the back and front are exposed to air).
Lastly, if it doesn't interfere with the radios, you could try resting it on an upside-down heavy-duty aluminum jellyroll pan ("cookie sheet") which will function as a heat sink.
You can combine approaches of course; a fan blowing over the jellyroll pan will be even better.
That you're getting several hours before overheat tells me you're close, so you probably won't need to do much to dissipate the heat. Standing the phone up may be enough. A fan almost certainly will be.

I've been maximising airflow, but it hadn't even occured to me to use a fan. It makes sense - after all, all non-mobile devices would have fans. Thanks


text:
How do I copy/move contacts from phone to my exchange account?
My contacts are stored on a (Open-)Exchange server, so they are synchronized between phone, the server and my other mail clients (e.g. on my desktop PC).
However, I have some "phone-only" contacts and I want to copy or move them to my exchange server contacts.
How can I achieve this?

This isn't very elegant...

Open the Android Contacts   app
Menu --> Display options --> Choose contacts to display
Under each account, expand the list, make a note somewhere of what was checked, and then uncheck everything
Tap Done.  You should now be left with phone-only contacts
Menu --> Import/Export --> Share visible contacts
You will see some options for sharing a vcard file (.vcf).  You could email it to yourself, upload it to Google Docs (if you have the Google Docs app installed), etc.
Once you've confirmed you've shared the vcard file, unless you're feeling extra brave, do a quick backup of your contacts to your SD card: Menu --> Import/Export --> Export to SD card
Delete all the local contacts from your phone (long-press --> Delete contact)
Import the contacts you shared in step 6 (not the ones you backed up to your SD card in step 7, which will include all of your contacts) to Open-Xchange using the instructions on page 193 in the Open-Xchange User Guide.  More languages available here: http://oxpedia.org/index.php?title=Main_Page_CE#documentation
Back in the Contacts app, go to Menu --> Display options --> Choose contacts to display
Under each account, expand the list and recheck everything you unchecked earlier
Tap Done.  All your synced contacts should be visible again, including the ones you just exported (the next time your phone does a sync)


text:
How to make a screenshot with Android 2.3.5?

Possible Duplicate:
How to take a screenshot with an Android phone?

How to make a simple screenshot with my HTC Desire S with the Android 2.3.5 version?

My HTC Amaze takes screenshots if I press the power button and the home button at the same time. You should hear a camera shutter sound and the screenshot will be in your Gallery App under "Camera Shots". Many of the HTC phones with the newer version of Sense have this functionality now.
If this doesn't work, there are a lot of apps you can get from the Android Market that allow you to take a screenshot from your phone without rooting it. I've used Shoot Me, Screenshot It and Screenshot UX with good results, although not all of them are free apps.
You can also take screenshots while the phone is attached to your PC or Mac if you have the Android SDK installed (doesn't need to be rooted), but this is a little more involved and you have to have the phone connected to the computer with the USB cable. You don't need Eclipse to do this, just search "DDMS" for some more info, although this is probably way more involved than most people want to get into.


text:
GPS not working on Galaxy S II
I have a Samsung Galaxy S2. My GPS doesn't work. It just says "Waiting for location" the whole time. At first when I bought the phone, I think it worked correctly, but now it doesn't. I tried: androidng.com/fix-galaxy-s-gps and similar stuff, nothing helped. How can I enabled the GPS function?
P.S. I installed a few apps for battery savings, I disabled them now, maybe it was a cause? But it still doesn't work. I could reset everything probably, but then my apps would be deleted, right?

I can't speak to the instructions you linked to, but @Ryan Conrad is correct in saying Galaxy S and Galaxy S II devices shouldn't be treated the same.
Whenever I've had GPS trouble the GPS Status & Toolbox app has helped me. In their tools menu you can use the reset or download A-GPS data options - those steps seems to reset my GPS when it hangs.

You may have done more harm then good running that "fix". The fix is for the Samsung Galaxy S line of phones, not the Galaxy S II. The Galaxy S has a horrid GPS in it. It takes forever to get a lock, or it never even gets a lock. There have been a bunch of "fixes" that were supposed to fix it, but none ever really fixed anything for me on my Galaxy S. These fixes usually do things like change the GPS server and the timeout or other things. But as I said, these are for the Galaxy S, not the Galaxy S II.
The GPS, AFAIK, is better in the S2. But GPS in general can be "flaky" depending on your location and if there is heavy overcast. If the device cannot get a fix on the Positioning Satellite it will sit there and "Wait for location".
You may want to do a factory reset of the device, that should put the settings back in the original state. Unless you are rooted and modified system files with the "fixes". If that is the case, you may want to find the "stock rom" and restore the device to its "true original state".

I tried the S2 GPS function today on my walk and at first it worked like a charm.  Half way through my walk I could not get a fix anymore.  At first I thought that it was due to my battery getting low but getting back to a full charge did not fix the problem.  I tried a number of thing without success.  I finally opted to power off, remove the battery and power back on and everything was back to normal.  I do not know if it was pure chance but I would be interested to know if other users experienced the same thing.


text:
How do I save sms messages e.g. to SIM?
Today have fired up my new Samsung Galaxy S II. To find that managing SMS messages is not as intuitive as on my old - non-smart Sony Ericsson. Cant seem to find a way to save messages to SIM - or anywhere else -  for example. And - I'm not up to android progamming!

possible duplicate of How do I backup and restore SMS Messages?

I don't know if there is a way to save them directly on the device, but I do know of a tool called SMS Backup + that I have been using almost since my fist android phone in 2008, and before I used SMS Backup +, I used SMS Backup.
This application will backup your SMS messages and Call Log to your gmail. It puts them in to SMS/CallLog labels so they don't clutter your inbox, but it is a very handy thing to have all your messages backed up. Especially when your wife says "I told you to get 3 loafs of bread", you can pull up and say, "Nope, see you said 30 loafs"...
SMS Backup + can not only backup your SMS/Call Log, but it can also restore them. The developer says MMS is also "coming soon". (but he has said that for a while not, not that I am in any rush for that feature). And, did I mention, the app is free.
Even if I was able to save them to my phone, I would have deleted them 100x over by now with all the times I have done factory resets, new sdcards, etc. Gmail also has way more storage available then my SIM, device, or sdcard. It is also more reliable. I have never lost data stored in my gmail, but I have had 4 sdcards fail on me.

For just backing up and restoring messages, you can try SMS Backup & Restore which backs up to an XML file on your SD card. You can use the XML file to view messages in a web browser or MS Excel, etc. as well.

you won't believe this - I discovered that if I just touch rather than tap the message, I get a box opening up offering me a range of options, like select text and save to SIM!!! Which is what I was looking for. The longer-term suggestions like those above I will explore - when I get more confident with the device!
Thanks to all for the suggestions


text:
Is there a task widget that only shows todays tasks?
Is there a task widget that only shows todays tasks?  I have a had  a few that I have downloaded, synced with my google account, and all was fine. I then added that task app as a widget and started completing tasks, and future tasks appear. For example, I have make;
Make coffee (due 1-11-12)
Make lunch (due 1-11-12)
Do laundry (due 1-11-12)
Make coffee (due 1-12-12)
Make lunch (due 1-12-12)
Now say I only see 3 tasks on the widget, so they all have a due date of 1-11-12. Great, all todays thing that need to be done, but as soon as I mark off make coffee, (due 1-11-12), it brings up make coffee (due 1-12-12), which I don't want. I only want to see todays tasks. Any help pointing me in the right direction would be greatly appreciated!
If possible, I'd like the widget to be about the size of the calendar so it doesn't take up the entire screen. I'd like to keep the task and calendar on the same screen.

Try Any.Do.
It's an normal task app with nice style, and the widget is only showing tasks for today, also several sizes are available.

ColorNote's "Today 2x2" widget will do this, but it unfortunately doesn't sync with Google tasks.
You can also do this using a combination of the Pure Calendar Widget (well worth the $1.99 for all the display options it gives you) and one of the many task applications it works with (I use Dato GTasks, which syncs with Google Tasks). Just make sure to set the search period to 1 day in the calendar tab (you don't have to select a calendar, it works just fine with only a task service enabled).

I use Astrid for all my task/todo management.  It has a widget which is the exact same size as the calendar widget (2x2), and when you create it, you can choose to only include certain tasks using a variety of criteria, among which is tasks due today.
It's also open source, ad-free, and syncs with Google Tasks, as well as a couple others.

If you are interested in today's Calendar events I have had good results with Smooth Calendar. You can configure it to show only events in the next 24 hours.
If you are looking for an easy to use to do list application with widgets that show only Today's tasks, I recommend my app Maniana To List.
Both are free and ad free.


text:
How to disable or remove Gmail account from my Android
I don't want to receive email on my Android device, so how do I remove my Gmail account from it?
I realize that I need to have my Gmail account associated to the device, and that I would need to reset the phone to factory settings in order to remove this main account..
So do I have any options?

Quickest way I found for Android 2.3 was to reset to factory settings.

Go to Settings->Accounts & Sync and touch your gmail account. It will show you options of what  you can sync (Books, Calendar, Contacts, Gmail, Music). Touch the Gmail one and it won't sync your gmail account with that device.

When I follow your steps Gmail does a sync.. these steps do not disable syncing, they initiate syncing.

Then syncing for gmail was already disabled.

Syncing was not disabled.. if you keep touching the Gmail button as you suggest doing then the account attempts to sync everytime. What version of Android are you using? I am on 2.2

I have 2.3 and 3.2 .. Maybe it's not possible with 2.2?

I believe this controls auto-sync, not sync during a Sync All operation.

For the record: I'm using 2.2, and when I go to Settings->Accounts & Sync and scroll down to my account under "Manager Accounts" and touch it, I get a control panel with several checkboxes for the sync settings for various Google services.  I personally have "Sync Gmail" unchecked, and this does prevent email from being downloaded...

Go to Settings > Accounts. Click on your GMail account for sync on / off.  It will take you to the sync settings in emulator. Then, click account settings, it wil show your mail again. Now, click on your GMail account. It shows all your account details. On dragging down, you will see remove your account button. Click it; you will be safe now.

This works! With the difference that my 'Remove Account' was on the 3-dot overflow menu.

If you have root, you can delete the account database (/data/system/accounts.db) which will delete all accounts managed by system including Google accounts and those ones registered by a third-party app (Facebook, Twitter, Skype, etc.).
However, this method may cause the system to behave incorrectly sometimes. You also have to note you can't use stuff like the Market without a Google account.

I want to be able to use the Market still.

To remove the account, I believe you can hit 'remove account' at the bottom after selecting the account to act upon in accounts/sync settings. De-selecting Gmail just means that it does not get auto-synchronized but is still affected by a 'sync all' operation.
Steps:

Select "Accounts"
Select "Google"
Select the account you want to remove.
Select "Remove account" below the "Sync now".

Won't work - you can't remove the account the phone was set up with without a factory reset.

Oh, nasty. I was able to… What form of Android are you on?

I tested it out on a fairly fresh install of Bugless Beast.

That's a custom ROM, so your experience and advice aren't going to match the average Android user's situation.

I had thought of it as very similar to stock, apologies if not.

Access "System Settings" by touching soft key lower left on phone (3 horizontal lines).
under Accounts, touch "Google" this will bring up your Google/Gmail accounts.
click the account you wish to delete.
touch the soft key again (3 horizontal lines) this will open a window with two choices,
Click "remove account"

If you're rooted, simply remove Gmail app using Titanium Backup (free).
Or, better.. freeze Gmail app using pro version of Titanium Backup. This way, you can always get back Gmail easily in case you've changed your mind in future.


text:
Devanagari typing
I want to buy a tablet basically for Marathi or Hindi document typing. Which tablet supports it? Will it be possible for me to type in Marathi or Hindi on Samsung Galaxy Tab or Sony Tab with Honeycomb, either with built-in support or an external app?

There are a number of alternative on-screen virtual Keyboard replacement apps on Android Market that support Hindi and Marathi languages.  Most should work on all recent Android OS version (2.2 and above.)

They don't work if Hindi and Marathi fonts aren't available.. And, it's impossible with 2.2.


text:
How is Anker battery for Android phones?
I've heard people talking about Anker on big forums about Anker battery, basically cell phone batteries and external batteries, and it seems people speak highly about it. So have you have any idea about how it works?

Normally general electronics questions are off-topic, but I think sharptooth's answer saves this.

The question is completely offtopic. The answer could apply to any kind of battery-using device, but is relevant enough for the android devices to afford a +1

I'll assume you actually want to know what ways are there to increase battery capacity of your Android device. There're three approaches to this problem.
Approach one is an internal battery with higher capacity. I don't have any details on whether Anker is worthwhile, but it's capacity for say HTC Desire S is 1600 mAh and standard battery capacity for the same HTC Desire S is 1450 mAh, so that doesn't look like a huge improvement to me - it will be drained in one day of usual use anyway. What is really important is battery reliability - you want a reliable battery with long lifetime (number of charge-discharge cycles and capacity retainment) and good safety so that it doesn't explode in your phone (that actually happens once in a while with cheap batteries) and you have to look for such information elsewhere, not on this site.
Approach two is a spare battery. It's not very convenient - phones are not designed to allow for fast battery swap and phones lose power and their state when a battery is swapped and also charging the spare is a problem, because you either need a charger craddle for that or you use your phone for that and the latter means more battery swapping.
Approach three is an external battery - there's a lot of such stuff, Anker sells that too, they come in a wide range of capacity, some can even be used with netbooks. Basically it's a box with a battery inside and a USB cable. You charge the box either of USB (your computer, laptop, USB hub, phone charger, whatever) or of mains - that depends on the model. Then you can use the box to power any USB device, phone included - the phone will think it is connected to USB and charge through it. This is a rather convenient option - you can temporarily connect your device to the box and charge it fully or partially, you can carry it conveniently in a bag or a pocket and have the device connected to it and use the device at the same time. One big advantage of this approach is that the box can be used with various devices, not a specific model only. One big disadvantage is the thing is relatively expensive. Again you need good reliability, lifetime and safety, you should search for that information elsewhere. Another disadvantage is that the box itself can be slow to charge - its battery capacity is usually rather high and USB doesn't provide lot of power, so charging current will be rather low, this might be important for your convenience.


text:
How to disable SMS preview displayed over a locked screen?
On an Android device (HTC Desire S if that matters) with a locked screen whenever an SMS is received it's preview is displayed over the locked screen. This is super inconvenient - anyone who is nearby can see it without even unlocking the screen.
Is there a way to disable those previews over a locked screen?

Is this a Sense thing or do you mean the status bar notification?

@onik: That's not status bar nofification, that's a huge preview box drawn right over the locked screen.

Ok, so it's a Sense feature. One pretty extreme solution would be to use CyanogenMod, which doesn't include this feature, but you'd also lose the other Sense additions. You can find more info at http://www.cyanogenmod.com

You can do so by going into the Messaging app, and pressing Menu -> Settings -> Uncheck "Received notification (Show  notification in status bar when messages are received)".
But you won't get the notification on status bar as said above.

Just to clarify, this is to be done in the Messaging app.

Edited the answer for clarity at @onik's suggestion.

Go to Settings > Privacy and uncheck Display Message Text.

This seems like the best solution to me.

This is the one it sounds like they where after, As i too was searching for how to stop message text of arrived messages appearing on lock screen for all to read.

If you're not terribly attached to the stock messaging app, install GO SMS PRO to handle your SMSes. It's better looking and infinitely more customisable than the stock app. Handcent SMS is another alternative SMS app.
Once you've installed GO SMS PRO, in the stock messaging app's Settings, uncheck everything. This should prevent double notifications.

Once you've disabled the in-built notification as in Roxan's answer, you could install an alternative SMS notifier app.
I use SMS Popup which still uses the in-built messaging app to handle all of your messaging, but gives a whole set of extra customizations to how you're notified. I have mine currently set to display the name and contact picture of the person that texted over the lock screen, but not show the message until the phone is unlocked.

Sweet! I'll also use this.

The only way in the stock messaging application is to disable SMS notifications completely.
As an alternative, you can install GO SMS. It has the option to disable SMS preview in the notification bar.

If you go to Phone Settings -> Privacy, there is a check box for displaying messages on the lock screen.

Why the downvote? My method doesn't require any additional apps or work.  Just use the setting that is on the phone...

It was downvoted because its only present on some versions of Android, eg. its not available on mine.


text:
Can the default browser be upgraded without upgrading the whole OS?
Can android 2.2 default browser be upgraded (without upgrading the whole OS) ?
Unfortunately, it is not available through Android market as far as I know.

You cannot update inbuilt browser even though your phone is rooted. Anyway you have some other good alternative browsers in market like Dolphin, Opera.

I am not sure if the browser can be updated, even with root. The best thing is to root your device and install a better ROM, if you are stuck on an old Android version and unhappy with the browser.


text:
Sharing computer internet connection with LG - P990 (Optimus 2x)
Is any way to connect the LG-P990 (optimus2x) to internet by sharing a computer connection? I am frequently traveling abroad and the data fees in roaming are very high and I have available the internet on my laptop.

The solution is called Reverse tethering, and it can be done with several apps, like Connectify. You can find a quick introduction to it here.


text:
Is this red star icon malware? How to get rid of it?
Every now and then a red star icon appears on my brother's notification bar, as shown below.  The message related to this notification is some advert like "Turbo Boost Your Battery". He has been installing software from doubtful places, so my guess it is some sort of malware he accidentally installed.
I'm not very familiar with Android, but my guess was to identify the process responsible for the notification. So I checked the process list, but nothing out of the ordinary was shown. I tried force-closing all processes (some returned although all of them originated from HTC or his carrier), but nothing made the star disappear. How can the malware be detected and removed?
Notification icon:

Notification message:

Time to hunt down the app, can be troublesome as they often appear a few days after you've installed it. Checking the comments of an app in the market is normally a good way to see if an app as Airpush, people give it hell!

See also Is there a reliable way to detect the app responsible for an Airpush ad?

Definitely looks like a case of AirPush. This is a particularly invasive form of in-app advertising that uses the notification bar, even if the app utilizing it is not actively running.  Technicaly it's not malware but adware, although the way it manifests itself certainly blurs the line between the two.  The only way to stop these ads from appearing in your notification bar is to uninstall the application that came bundled with AirPush.
There are several apps on the Market that can help you detect which app uses the AirPush, so that you can uninstall them.
[Edit]
Apparently AirPush gave in to the public outcry and are now providing ways to opt out of their invasive ads: http://www.airpush.com/optout  You can either download their "opt-out" app, or manually enter your device's unique IMEI/ESN/MEID on their site.  Personally, I'd still uninstall the bundled app, since both opt-out methods would most likely use bandwidth for connecting to AirPush servers to authenticate against their databases.

This seems to have done the trick, many thanks from my brother!

Find the "evil app"
There are several Detectors available:

Airpush Detector
Airblocker - Airpush blok
Addons Detector
TrustGo Ad-Detektor
Lookout Ad Network Detector

So what to do when the evil app is identified?

Leave a comment on the Playstore: rate very low, and point out: "ATTENTION! Invasive ads (Airpush)!!!"
Report to Google: As the playstore guidelines changed, these apps should be banned
Speaking about banned: Even if a pay-version exists, this app should be dead to you
Same applies for the dev of the app (maybe add this to your comment in 1.) -- I wouldn't use any of the dev's apps anymore, and say so loudly, giving them bad rep for bad deed. Hopefully, they learn from that
Uninstall the app, of course

How to protect you for future "attacks"?
You can scan apps in advance (before installing them), using e.g. AppBrain Ad Detector. This app can be combined with AppBrain App Market -- a slim and fast replacement for the over-loaded playstore, especially on small devices (do not fear: It is simply another front-end for the Playstore). You can search the market oops, playstore with this app, and have the other scan your findings before you install any other app. So you know what to avoid before you get annoyed...

Try to run Addons Detector (by denper, on the market). It detects agents included in apps.

The best app to find what is giving these ads is Airpush Detector. It's free and tells you what apps have Airpush.

Haven't checked to see if it worked long term but i uninstalled the last few live wallpapers and they went away without me even clearing them..

Maybe you have Android Battery Doctor Free? I'm not going to install and test it, but it seems they have this "Turbo Boost your battery" feature, whatever this means.
Of course, it all depends on what your definition of "malware" is -- it might be just a feature of another application that uses the bar for advertisements, even if you and I don't agree such behaviour is acceptable. Here are some generic instructions on how to go about removing an undesired application:

First, check what apps are installed -- go to Settings->Applications->Manage applications->All and see what kind of stuff is installed there. No guarantee that the offending app will be there, but you might be able to pinpoint some suspicious apps that might have brought this onboard. Kill them with impunity and check whether the notification goes away (careful with system apps!). The offending app will most likely restart soon, but at least you have found the culprit. Try to uninstall it, and if it works, you are done.
If you can't find the problem in this way, then you need to bring out the heavy guns: root1 your device, install Titanium Backup (even the free version should work), go through the list of apps and freeze the ones that you do not recognize. Freezing the app will terminate it and not allow it to start again, which is pretty much as removing it completely -- it still does take space on the device, though.
See the Titanium Backup wiki for more information how to use the application.
While you are at it, you can also freeze/remove some vendor applications, if they get in your way.
1 Standard disclaimer about voiding your warranty.

With Google Play's new Developer Program Policies any app must not display ads through system level notifications:

System Interference:

Apps and their ads must not modify or add browser settings or bookmarks, add homescreen shortcuts, or icons on the user’s device as a service to third parties or for advertising purposes.

Apps and their ads must not display advertisements through system level notifications on the user’s device, unless the notifications derive from an integral feature provided by the installed app (e.g., an airline app that notifies users of special deals, or a game that notifies users of in-game promotions).

If you find any app doing so you can report them from play store. You can see which app sent the notification by holding on the notification and selecting App info. You can even disable particular app's notifications by unchecking Show notification in App info.


text:
How to use volume keys for scrolling? (everywhere)
I would like to use volume keys for scrolling (lists, homescreens, icons, documents -  anything which now does require you to swipe finger in order to scroll - just like my old java phone where you could scroll using screen gestures AND volume rocker as well);
would it be possible?
I have Samsung SGH T679 (android 2.3.5)
I have tried ButtonRemapper but it didn't help (it did not show volume keys as customizable buttons)

Are you rooted?

yes, I am rooted

To my knowledge, there is no way to do this system-wide without heavily modifying the ROM, or at least system files. Especially if ButtonRemapper doesnt show your volume keys as programmable buttons, then it won't be easy. Some apps will, however, let  you customise their behaviour. For example, I know browsers such as Dolphin and Miren as well as Google Reader can change the volume button's behaviour.

This XDA post describes how to change the key remapping. However, as the file(s) are in the /system folder, I believe one needs the device to be rooted.

you need to edit the files english.us.kl and qwerty.kl found in /system/usr/keylayout folder.
Open each of the 2 files and replace:
  "key 115 VOLUME_UP" with "key 115 DPAD_UP"
  "key 114 VOLUME_DOWN" with "key 114 DPAD_DOWN"
Save the files and restart

On my Galaxy S2, I only found the qwerty.kl file. Haven't touched it as I'm not brave enough. :-)
Do report back if this works and of course, make a complete backup of your device before you attempt this.

Thank you, I will try it (once I'll get a reliable way to restore the phone in case it's bricked - or I'll get convinced this action will not brick my phone). Thanks again!

Perform a nandroid backup - that should get you a safety net.

You'd most definatly require root access for that. Then flash a ROM which supports volume key scrolling.

I've never seen a ROM with volume key scrolling.


text:
How to know if an app is ICS compatible?
I am thinking to upgrade my phone with Android 2.3.7 (Gingerbread) to 4.0.3 (Icre Cream Sandwich), but I would like to know first, if the applications I normally use are available and working on ICS.
Does exist a way to know it?

Android is written with backwards compatibility in mind. Apps written for older OSes should run fine on newer OSes (with a few exceptions here and there).

You can check the changelog and comments on the Market for information, quite many apps have recently been updated to be ICS compatible and there's usually a mention of this in the changelog. Also, if the app isn't compatible, there's usually a comment about this.
In my experience, almost all of the apps I use are compatible with ICS or have been updated. Some may not have all the compatibility features such as the new menu style, but ICS is backwards compatible with the old style too.
EDIT: Developers can also specify the parameter android:MaxSdkVersion in their AndroidManifest.xml which restricts the application from running (and AFAIK also from showing up in the market) on newer platforms. I haven't published any apps in the Market so I'm not sure if there are separate settings in there to restrict the apps from installing on higher version platforms.
You can try to check the AndroidManifest.xml of your apps by using android-apktool, but this requires you to know how to get the .apk files to your pc.

You could set up the android emulator with ICS, install the market on it, and try it for yourself.  Unfortunately all the instructions I've seen for installing the market on the emulator are for older versions of android, so I'm not sure if they'd work on ICS.  Here are a couple:
http://blog.varunkumar.me/2010/11/how-to-install-android-market-in-google.html
https://stackoverflow.com/a/4673964/399105
Edit:
This link seems to indicate it might be possible, using an android ICS VM instead of the official emulator:
http://vmlite.com/index.php?option=com_kunena&Itemid=158&func=view&catid=9&id=8838&limit=6&limitstart=84#8951

there is no such method to know whether all apps would work in ICS, I have seen some issues with hardware acceleration problem in old apps when running in ICS, it depends on application build, if any authentic applications like browsers mozilla chrome would update their application depending on OS which it has. no need to worry about applications which gets updated on time to time, still people are trying to fix all so should work on ICS,. let us C

Can you give example of some apps that you encountered HWA problem with?

Apps don't crash because of hardware acceleration. Unless you forced it in settings, the only apps that use it are the ones that are compiled against the SDK14 at least. Apps that break are the ones that make use of non public APIs (like the calendar pre-ICS, or apps like Titanium Backup)


text:
How to prevent shutdown when low battery?
When I'm using my hacky backlight modulation program which toggles screen off and on fast enough to simulate ultra-dim brightness Android sometimes gets wrong info about battery charge (it sees 0% 0V sometimes for a short period) and starts shutdown unexpectedly for me.
How to turn off that shutdown on low battery?
Expecting something like:

Changing settings to forbid this behaviour
Temporarily locking battery reporting to some constant
Temporarily making it think that it is charging

Root access is present.
Update: After updating from android 2.1 to android 2.3 it does not shut down anymore when I run that program.

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


text:
Is there an Android phone without proprietary code?
I want to buy an Android phone.
However, with everything that is happenning in the IT world today (all the backdoors, "Carrier IQ" stuff and so on), I am more and more convinced I want a trully open OS - that means, without proprietary applications, without proprietary drivers/"binary blobs" - or, at least, with at least of this as possible. (Stallman-style!)
I know that one fully open phone is OpenMoko phone, but that's not an Android and it has very outdated hardware. Is there another possibility?
(I see that this question on Android SE was marked as unconstrictive for some reason; I hope this won't be too)

Have you looked into CyanogenMod?  It's a ROM that has versions for most phones.  It doesn't unlock the device but has a version of Android without all the bloatware and model/carrier specific software.

I have to admit, I don't really know that much about Android and I thought you have to root your phone to install CyanogenMod, possibly breaking various warranties and such. If it's possible to install without any fuss on mobile phones, my problem is solved. EDIT: oh yeah, it voids the warranty on almost any phone. Well, I will think twice about that.

It voids your warranty, but is easy to install, and awesome. I've done it before, and it's easy to revert back if needed, too. It also meets all your requirements. I'd consider it.

Geeksphone started off with the premise of a completely open software and hardware stack.  So far they released two handsets, One and Zero.  Although both models are severely outdated specifications-wise compared to today's high-end models, the "Zero" model is quite comparable to current mid-range devices.
The company provides source code for the kernel and drivers of their "One" model on the web site.  I couldn't find the sources for the "Zero" model, but I'm sure they will if you reach out to them.

That doesn't look that bad; however, the site seems a bit abandoned until 2009 and the wiki - http://wiki.geeksphone.com/en/index.php?title=Main_Page - is quite spammy. But thanks anyway! I will think about that

Yeah, their wiki has been defaced quite regularly according to the history.  I haven't heard a peep out of them since they released the Zero model, which most likely didn't do so well in sales figures.

According to this thread - http://forum.geeksphone.com/index.php?topic=1767.390 - and poor Google Translate, they plan another model maybe in march 2012. It would be good if it happenned.

Geeksphone is making a new phone now, as you can see on their site.

There are at least 2 different free OSes aimed at smartphones - the replicant project and the SHR project - both of which are aimed at bringing free-as-in-Stallman software to smartphones.  I haven't used either of these yet, but it looks like Replicant is more strict about their definition of free software.  Both of them appear to be actively under development:
http://replicant.us/
http://shr-project.org/trac
Your choice of free OS will have a list of recommended hardware devices, so it may be useful to check out their supported hardware lists before making a decision.  It looks like the Nokia N900 and the Geeksphones are listed in both, and the Nexus series from google is at least partly supported.


text:
How can I root the Galaxy Tab 10.1?
How can I root the Samsung GT-P7510? I've tried z4root and many others, but they all seem to support Android 3.1 and not 3.2. I gather 3.2 is specifically designed to eliminate the exploit that z4root and others depend on.

You will need to flash a pre-rooted 3.2 ROM onto your Tab.
A Google search brings these instructions for installing a custom Recovery:

First, you will need Windows computer. If you don’t have one, borrow a
  Windows laptop from your friend or family member.
Second, make sure you’ve installed Galaxy Tab 10.1 Windows drivers.
  (Download it here)
Third, put your Galaxy Tab 10.1 into ODIN download mode by holding
  down both Power Button and Volume Down buttons. Right after the
  Samsung logo shows, you will see two menus, let go of both buttons
  immediately and then hit Volume Up button, you should be in ODIN
  download mode.
Fourth, download the tabrooteasy.zip file and unzip:   Download
  tabrooteasy.zip
Run the Odin3 v1.85.exe program, then choose PDA, choose
  “recovery-cwm_4.0.0.4-sam-tab-10.1.tar.md5″ and hit Start.
You can reboot your Tab 10.1 by holding down the Power button.

The instructions go on to rooting Android 3.1, so you will need to slightly alter those.  Instead of using the "root" ZIP included in the package, you will need to obtain a pre-rooted Android 3.2 ROM.  There are many such ROMs available on XDA-Developers forum, so take your pick (e.g. this one,) download the ZIP file, and copy it to the SD Card.
Continue on with the instructions to reboot into the ClockworkMod Recovery:

Reboot into ClockworkMod Recovery by holding down both Power Button
  and Volume Down buttons. Right after the Samsung logo shows, you will
  see two menus, let go of both buttons immediately and then hit Volume
  Down, then Volume Up button, you should be in ClockworkMod Recovery.

You will now need to perform a factory reset/data wipe to avoid any compatibility issues.  With the volume buttons for up/down, navigate to "wipe data/factory reset", and select it by pressing the Power button, and then scroll down to and select the "Yes" option.  Once that operation completes, you can continue with the instructions, substituting the file name they are suggesting with the one you've downloaded:

... choose “install zip from
  sdcard” (using Volume buttons) and hit the Power button.  Next, choose
  “choose zip from sdcard” and hit the Power button.  We are going to
  zip the Root/SU files again by going to “choose zip from sdcard” and
  hit the Power button.  Choose the [ insert file name of downloaded ROM here ]
  file and hit the Power button, the hit the “Yes” button.
When that is done, you just need to reboot your Tab 10.1 and you
  should have a fully-rooted Android 3.2 Galaxy Tab 10.1.

According to some comments this method should work on the WiFi-only model of the Galaxy Tab 10.1 (GT-P7510).  However, you might encounter issues transferring the downloaded files onto the Tab.  A comment suggests a work-around:

Ok folks. I got my Galaxy GT-P7510 wifi only tab (build HMJ37) rooted.
  Since I was not able to transfer the Samsung zip file to the root of
  the tab even tho Odin successfully installed the Clockworks recover
  file I decided to try a different approach. I transferred the Samsung
  zip file to the Alarms folder of the tab. I then shut down my tap and
  powered it back up in Clockworks recovery mode. When in recovery mode
  I selected “install zip from sdcard”. I then selected “choose zip from
  sdcard”. I selected the folder “Alarms” then selected the Samsung zip.
  I then selected “Yes – Install Samsung zip”. After the successful
  install I rebooted the tab, went to apps and BINGO…..SUPERUSER!!! I
  then successfully installed several apps that required a rooted tab.

Good luck!

It seems (from experience and forum comments) that the P7510XWKL1_odex.zip is NOT rooted. It loads fine but comes up without  root. Do you know another source? And THANKS for the help!!

The deodex version is supposed to be properly rooted, according to other comments in the thread. This is probably the version you'd want to use, since having the system apps de-odex'd gives better flexibility for skinning them.

Success! The deodex version was essential. Thanks again!

Yikes. I'm glad I didn't find this answer when I searched for a way to root mine.
This method

is idiot proof (although take care to avoid a misclick.  Some menus do not have a 'go back' option.), and
does not require a pre-rooted ROM, a data wipe, etc.

Otherwise it's similar to the other answer.  You can root your tab without losing anything.  This works fine for 3.2 systems - for probably Samsung's last 3.2 update, before their year 2056 release of the ICS update.
(If you then want to install CM9 or like, you'll do the data wipe anyway, but there's still this advantage to this method: after you root the tab, you can use ROM Manager to install CM9. When I first tried to install CM9, the script failed with a bogus error, and then the nandroid backup also failed, leaving me half of a stock install.  Very tense period there, before I installed ROM Manager and it Just Worked(tm).)


text:
Multiple gmails in Android phone?
Is it possible have many gmail -accounts in Android phone? I want to have 2nd verification gmail and some non-2nd-verification gmails in the same phone with different security settings -- like "onion-model" in networking.

Did you make an app-specific password within your 2 verification system for gmail, and use that as a password? That is how I have mine setup. Look here: http://support.google.com/accounts/bin/static.py?hl=en&page=guide.cs&guide=1056283&answer=185833&rd=3

The two-step auth does work, and with multiple accounts, I've got to Google Accounts on my phone both with 2 step auth. Have you seen this previous question: How can I get Google's two-step verification to work?

@DylanYaga: thank you, Dylan. I got the puzzle cracked, now the question in the title and clarified the question.

Yes, you can use multiple accounts -- did you try it?  I use 3.  Add them like any other account through Settings -> Accounts and sync -> Add account.

Please note that this feature is only available in Android 2.0 and forward.


text:
Customize Android 4.0 (ICS) Bluetooth HID
I have a Targus bluetooth presentation remote. It acts a mouse amoungt other things. I was hoping to find an app that allows me to capture the different buttons on the mouse and customize them. For instance one button just types "b" when pressed which has no use. I want an app that is able to capture the button and reassign it to something more useful.
Any Ideas?

My first thought was to a Wiimote app like Wiimote Controller. These talk to the Wiimotes via bluetooth and map the controller buttons to keyboard inputs in the OS. I doubt these apps would work correctly with your Targus remote, but this kind of thing should be theoretically possible.

Custom keyboard layouts is an official feature of Android 4.1 Jelly Bean.
It's called "User-installable keymaps", see more here.
If you don't want to wait/upgrade:
Besides this, Android uses  keymaps also for bluetooth HID devices (your device, some number keypads, Apple bluetooth keyboard, etc.). More info how to change this is here.


text:
Do favorite Dropbox photos automatically download to my Android?
When I tried Dropbox on the iPad, whenever I Favorite a photo Dropbox will automatically download it and it will show up in the Photos app's gallery.
Is this the same behavior for Androids? I have a Galaxy S2 and I have Favorited a bunch of photos, but they do not show up in the Gallery. I can only view them by going to the Dropbox app. Is this correct?
Thank you.
UPDATE: I did a little experiment. I Favorited a picture out of the Sample album and sure enough it downloaded and showed up in Gallery. Then I powered off the phone, and turned it back on, and it is gone from the Gallery even if the file is still in /data/com.dropbox.blabla/files/andsoforth. Ideas?

It is the same. At least in my setup (HTC Desire S). The image I favorite end up in a gallery folder with the same name as the Dropbox folder they are in.
Edit: The gallery app might play a big role in this. On some systems they are known to take quite a while to update etc.

Thanks for your answer. It's weird because I could have sworn the pics i favorited were already in the gallery since last week, but today they're gone. When I do a search through my file system the pics only show up under Dropbox/Scratch or something like that.. Why did they disappear from the gallery..

updated my situation in the original post. thanks!