One particularly important feature in IDE’s is dependent projects. In eclipse, you can create a common project for your server and client modules. That way you can have common project as part of dependent projects in client and server projects. That way you can share common class definitions.
In my case, I have a client (android), common (java) and server (java). 3 projects. Recently I screwed up, the common project needed to use some android specific api’s TelephonyManager so I made it a android project and hit Project->RightClick->AndroidTools->Fix Project properties. All hell broke loose. Common was no longer a lib, but instead eclipse thought it was a android project and expected a apk file to be installed along with the client module. Eclipse does not project any way to fix this issue, no undo. So I had to create a new project temp, copy all sources to that, delete the common project (from disk, is the only way to get this working). Finally copy it back to a new project with the same name common.
Also realized that my thought was flawed, common should have nothing to do with android per say. Right, I rather keep common clean on device specific’s so that I may add more devices in future, without change to common.