Once you get the hang of creating and compiling a Maven project, it's pretty easy to convert an existing project to a Maven one. Just follow a few basic steps and make sure the code compiles properly before continuing.
You'll need a "pom.xml" file in the root of your project. Just use the generic pom.xml file I shared earlier in Part 2 - Compiling and building your APK .
- Part 1 - Installing Maven for Eclipse
- Part 2 - Compiling and building your APK
- Part 3 - Converting an existing Android project to a Maven project
- Part 4 - Share a library project using a local Maven repository
- Part 5 - How to debug your Android app with Maven?
- Part 6 - Sign your Android app APK for release
- Part 7 - Global properties and settings for Maven
Steps to convert your project
The first thing you should do is replace as many lib/jar files as you can with their Maven dependency equivalent as covered in Part 2 of the tutorial. Visit the project's website and find the details as most of them will be available on Maven.
If you're using a shared library project then skim the points below before reading Part 4, which explains how to share library projects. You'll need to convert library projects first.
Once the pom.xml file is ready:
- Right-click on your project > Configure > Convert to Maven project
- It will now do things to your project and touch it in strange places.
- Project > Clean to remove all the extra crud.
- Maven > Update project to sync the settings and download dependencies
- Run the mvn-debug script
- Build by right clicking on the project > Debug > Maven build
- As before, enter in "package" as the goal.
You'll probably get some project specific errors so fix them as they come. Keep at it. Make sure it validates within Eclipse before continuing!
I know these steps are fairly generalised, but that's the main things to look for.
Women, children and library projects first
The pom.xml file for your library project should be very similar to the pom.xml for an APK project, with two minor differences.
Rather than using the <packaging> type "apk", we'll use "aar" instead which compiles to an Android ARchive format.
The other small difference is that it doesn't need to be signed for release builds.
Once your library projects are compiling cleanly, skip forward to the next tutorial to Part 4 for a moment to see how to include them into your APK project using local Maven repositories.
The tutorial also covers how you should include Google's support library in your code from the Android SDK.