[G1 Android Development] jmhecker:
I just thought I would whip up a quick informational post here regarding people saying "this does not work", or "this app FCs", etc. Posting something that just says "this is not working" tells us absolutely nothing. We need more information, and that is why God (Google) invented adb and logcat.

I am going to assume that to get to this point, you at least have ADB configured correctly. If not, do it. You can find detailed instructions here: http://xdaforums.com/showthread.php?t=532719.

Once you have that set up and configured correctly, you can begin to post more informative posts in regards to something not working.

'logcat' is your best friend. Do not be afraid to use it. All you need to do is run 'adb logcat' from your command prompt. If ever I am at my desk, I have my phone plugged in and logcat running to see what is going on in the background. Normally, you will just see the standard items such as resource allocation, email queries, and things relating to applications you have running.

At the beginning of each line in logcat, you will see I/, D/, W/, or E/. They designate what type of message it is.

I: Information

D: Debug

W: Warning

E: Error

When an application crashes, you will see a lot of D/ and E/ lines, with some W/ thrown in for good measure. That is the information that is needed to help diagnose the problem, and hopefully create a fix for it.

Here is an example of a helpful logcat that should be posted when you say "it no workie":

I/ActivityManager( 277): Starting activity: Intent { act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.androi
d.apps.googlevoice/.SplashActivity }
I/ActivityManager( 277): Starting activity: Intent { cmp=com.google.android.app
s.googlevoice/.LoginActivity (has extras) }
W/ResourceType( 441): No package identifier when getting name for resource numb
er 0x00000000
E/JavaBinder( 441): *** Uncaught remote exception! (Exceptions are not yet sup
ported across processes.)
E/JavaBinder( 441): android.content.res.Resources$NotFoundException: String res
ource ID #0x0
E/JavaBinder( 441): at android.content.res.Resources.getText(Resources.java:
200)
E/JavaBinder( 441): at android.content.res.Resources.getString(Resources.jav
a:253)
E/JavaBinder( 441): at android.content.Context.getString(Context.java:149)
E/JavaBinder( 441): at com.google.android.googleapps.GoogleLoginService$Acco
untAuthenticatorImpl.getAuthTokenLabel(GoogleLoginService.java:586)
E/JavaBinder( 441): at android.accounts.AbstractAccountAuthenticator$Transpo
rt.getAuthTokenLabel(AbstractAccountAuthenticator.java:155)
E/JavaBinder( 441): at android.accounts.IAccountAuthenticator$Stub.onTransac
t(IAccountAuthenticator.java:123)
E/JavaBinder( 441): at android.os.Binder.execTransact(Binder.java:287)
E/JavaBinder( 441): at dalvik.system.NativeStart.run(Native Method)
I/ActivityManager( 277): Displayed activity com.google.android.apps.googlevoice
/.LoginActivity: 158 ms (total 158 ms)
I/DumpStateReceiver( 277): Added state dump to 1 crashes
D/dalvikvm( 894): GC freed 365 objects / 24000 bytes in 132ms

That information may not provide every piece of information we need, but it gives a good starting point as to where to begin to look.

EDIT: If this needs to be put into another location or shouldn't be posted to begin with, feel free to move/delete it.