Although I searched a lot for Eclipse & Android development in a team methodology, I was not able to find a clear suggestion of a correct way to configure Eclipse and source control environment to work nicely together.
I am a C#
developer, and on Visual Studio everything is layed-out
nicely:
You Have a solution file (xml)
which contains a definitions for
the projects and their relations and configuration, in addition each
project has its own configuration in a project definition file (also xml
). You check-in to source control all the sources and the
projects and sln
file (the configuration files) and for each new
user you just have to checkout (clone) all the files and compile the
solution locally - everything is already configured, all you have to
do is double click on the solution file and rebuild the solution.
If you have any other dependencies (dll
files)- you just add them to
your project (could be folder in the project or common folder for
several project) and reference the required dll from the project
definition, and commit (push, checkin) all the dll
s` as part of you
source control.
In Addition a solution have virtual folders where you can group several projects together in a logical manner with no technical implications.
In Eclipse and Android specifically - everything is different and mostly not comfortable or logical at all.
You have a workspace with projects - where workspace is
not really a solution and its .metadata
files are truly
meant to be local and should NOT be checked in to source
control. What to check-in from an Eclipse workspace .metadata
So you have no solution level configuration to check-in to source control. (Checking out projects and importing them to a workspace and reconfigure everything per client is not reasonable) The only solution I found for that was Projects Set which I have to update manually each time I add project to the workspace (export the project set to a file and commit the changes to the file manually) and in addition this concept ties me to the source control (In visual studio I can copy a solution folder with its projects sub folders and dependencies folder, zip it and send by mail - and everything will work the same). How to organize “projects” and “solutions” in Eclipse? Project Set File Team Project Set
In addition to that in android - for example when using Google play services, the suggested way to reference their lib (jar file and some resources files) is to copy google_play_lib from the sdk and reference the project itself (that is due to resource which must be compiled to your apk file), this means I have to add the google play lib project to my source control - which seems a bad thing to do. References for that: Why do Google recommend copying libraries into your tree? should I check in the Google Play services library project to source version control for GCM support?
So I am kind of frustrated here from eclipse configurations for android and source control management (especially compared to Visual Studio).
Would love any team configurations and source control management tips/tutorials for Eclipse and Android development.
Thanks.