The Google App Inventor team have just added the facility to add a custom icon to your AI projects. This is a welcome addition to the AI toolset.
In order to add a custom icon to your application you can follow the steps below :
1) Create a 48x48 pixel image
2) Save that image as a GIF, PNG or JPG
3) In App Inventor under "Media" click the "Add" button
4) Browse for your icon and click "Ok"
5) In App Inventor select the top of the tree under "Components"
6) Under properties you can now select your icon
7) Click the "Save" button
That's it, all done!
If you use an image that is a different size the aspect ratio of your image will be maintained but it will be resized to fit inside a 48x48 box.
It is better to resize your icon yourself in an graphics application as this will provide a better quality resize.
I use The Gimp to create and edit graphics. Its free and for most purposes just as good as any expensive commercial app.
If you want a huge library of good quality 48x48 icons I can strongly recommend the Everaldo Crystal Icon pack.
These 48x48 Free Time Icons are also worth a look.
If you are going to create your own icons then please take a look at the Android Icon Design Guidelines, Android 2.0. On that page scroll down for the section called "Launcher Icon".