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.
Now who can make changes to the framework without knowing how to play around with gnu make. I guess no one. There is no escaping the make language. This is one scripting language that every developer needs to understand, so as to make changes to the framework.
I’ll write this blog after I get some comments. No sense writing a complete tutorial, since you already have that in http://www.gnu.org/software/make/manual/make.html
As always, google has done a wonderful job on documenting the initial start up well. http://source.android.com/ is a very well documented site. I have been able to start off on building the open source code fairly easily with the steps mentioned. I’ll mention a few tips here that are over and above the documentation.
I am using ubuntu, eclipse and have hello world on android 2.1 working.
A few tips
– repo sync takes a long time, 6-8 hours with no progress bar. So give it time.
– importing the project, dont use “import”, do what they say in the doc exactly. New-Java Project-Import from existing files.
– you may get a error when the project is being created
An error occurred while creating the Java project
Build path contains duplicate entry: 'frameworks/base/vpn/java' for project
* to fix it, open .classpath file in your project home directory
* comment out any one of the following two lines
Your import and build should work. It took 20 mins on my box (core 2 deo, 4Gb Ram)