Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There is nothing special about the libraries that the ADK adds to the class path. If you want to be able to check in all of your project's dependencies, you can copy the referenced jars to a local directory and then point the class path to those instead of using the provided library groups. Because the android plugin has that new wacky system that automatically adds stuff in the libs directory to your path and to your apk, I wouldn't recommend putting these other jars in there. Normally what we'll do here is create a separate folder in svn named third-party or something like that, and then use <a href="http://svnbook.red-bean.com/en/1.0/ch07s03.html" rel="nofollow">svn:externals</a> to reference the necessary jars. Having one common place to store third-party jars makes versioning and configuration management easier. </p> <p>To illustrate things a little more clearly, this is what an example subversion repository would look like:</p> <pre><code>repo -android_project -trunk -your other project stuff (src, etc) -libs -android-support-v4.jar -bugsense3.2.2.jar -gcm.jar -third-party -annotations.jar (external) -android.jar (external) -maps.jar (external) third-party -android -v_X.XX -annotations.jar -android.jar -maps.jar </code></pre> <p>In your actual Eclipse project, you would add the stuff in third-party to the path manually, and the adk will add the stuff in libs to the path automatically.</p> <p><strong>EDIT</strong></p> <p>On the topic of this method vs. Maven, the first thing I'll admit is that I don't have an enormous amount of experience with Maven. From what I do know about it, I don't think it quite meets your criteria. When I used Maven, by default it would download your dependencies to a machine specific location, instead of to your workspace. To get Eclipse to pick up these dependencies, you then had to add an M2_HOME property to your workspace so it could resolve all the paths properly. It was pretty easy to set all this stuff up because there were mvn commands to automate the process, but to someone unfamiliar with the system it could cause a lot of confusion and slow things down when a new developer is starting on a project. Additionally, a big issue that we ran into was that it requires that dependencies be stored on some sort of central repository which made working in non-connected areas very difficult.</p> <p>Again, I'm no Maven expert so take what I've said with a grain of salt, but from my experience Maven works great in an open-source environment where connectivity is welcomed and almost guaranteed but not so much in a closed-source environment. It seemed like it caused more problems than it solved for us and therefor never really caught on. The nice thing about the system I described above is that after checkout, you have a single folder that contains everything (except eclipse) that is required to develop and build the project. That makes things very easy to get up and running on a new machine or unfamiliar environment. </p> <p>I will say that a big benefit provided by Maven is consistency. With the system that I described, the developer is in charge of every aspect of setting up a project. This means that between developers and projects you can get variations in how your svn repository is layed out. One developer could name a directory "third-party" while another could call it "open-source", or some developers might not use a trunk in their projects. Over time these little things can build up and leave your repository a mess. Since Maven is in charge of project's layout, you can be assured that your repository will stay consistent.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload