Maven Android Plugin with zipalign and improved verification

With the latest release of the Maven Android Plugin a bunch of changes I did went out to the rest of the users of the plugin. As of version 2.5.0 the plugin has improved verification of the sdk platform and api level, a new zipalign goal and maybe the emulator start works on windows too. And the samples have been expanded and changed to use the Android jar artifacts from Maven central. But lets look at the changes of the plugin in detail today and maybe the samples another day…
Read more →

Android Artifacts hit Maven Central

It all started now quite a while ago when I got involved with the Maven Android Plugin and found that having to run a bunch of mvn install file commands sucked. I launched a ticket in the Android issue tracker that got rejected by Google even though there was clearly a community demand for the Android jar artifact to hit Maven central. As a next best step I created the Maven Android SDK Deployer and things cruised along okay for a bit. And then out of the blue Robert Manning, from the awesome SQuirrel SQL Client project, contacted me about the status and issues with getting the jars into Maven central if they are built from the open source code drop. And with Robert things really moved.
Read more →

Automatically starting the emulator in your Android build

In the beginning writing apps for Android is easy. Then the usual things creep in. You start getting beyond Hello World examples and answers on mailing list, you begin refactoring code and features and you really need to make sure it runs on all platforms. Luckily there are helpers around. For the testing side of things the whole test suite around instrumentation tests is really great (although I wish they used testng and not junit as the base) and now this is finally really well documentation on the site and not just in the samples code somewhere. However if you really want to use these you have to run your build against a device or an emulator (or better both). And thats where the Maven Android Plugin comes in handy.
Read more →

Attribute support for KSOAP2 on Android

So recently I have been doing a lot of Android development and generally having a great time. In general the Android API is very complete and offeres support for a whole lot of features and task. I did however have to find out that SOAP support is generally non existant. Given the widely known problems with SOAP and the trend towards simpler REST based services and the young age of the Android platform this is not too surprising. However in reality lots people still need to work with (legacy?) SOAP services. If you are in that situation you should read on.
Read more →

Recap Presentation about Maven and Android

So yesterday I went over to Vancouver to present about Apache Maven and how it can be used for Android application development. There were about 20 people in the audience with a very wide range of exposure to Android development and Apache Maven. From my impression and the feedback on the meeting site everybody has learned something and had a good time. Just in case you missed it the Apache Maven and Android Development presentation slides are now available in PDF format. There is definitely a desire to introduce more power in the build process for Android application development and Maven is able to deliver that to many users.:

I am pretty happy with feedback like

  • Great presentation, lots of details from a knowledgeable speaker.
  • Great technical presentation about developing Android applications with Apache maven. Lots of details, and very well presented.
  • Got useful tips on Maven and starting with Android dev setup
  • I was looking for a command-line method of building code, so this may be a solution. Good presentation
  • Interesting presentation, will definitely check out Maven a bit more now.

Learn about Android Development with Maven in Vancouver

AndroidThis week I will be travelling to the mainland and present about Vancouver Android Developers group and you can find more details about location more on the meetup announcement.

I will talk about the Apache Maven in general, the Maven Android SDK deployer, the Maven Android Plugin and the integration into Eclipse with M2Eclipse and the M2Eclipse Android Integration as well as a look at IntellijIDEA.

I hope to get lots of feedback about the tooling to be able to give it back to the developers. If you want to meet me earlier during the day in Vancouver it would be great if you ping me.

See you there.


How to contribute to the Maven books

Tim O’Brien recently invited me to write the Android development chapter for the book Maven: The Complete Reference and the first cut is in production on the site now. Since I aim to continue to help out with the chapter and John Yeary asked me for some help about contributing I thought I just jot a few pointers down. Don’t get daunted by my post here – it is really easy.
Read more →

Improving the mavenized JasperServer 3.7 sample webapp build

So in my last post I documented how to migrate the ant build from the JasperServer 3.7 Java sample web application to a maven based build and we got that happening pretty quickly. We ended up with an easier way to deploy the application, a much smaller checkout and clearer understanding of the dependencies. However looking closely, we can certainly improve matters. Lets see what we can do.

Read more →

Documenting Android Development with Apache Maven

Shortly after my first hack day with Android development and the conclusion that I really like where the platform and development is going, I started to look at building Android application outside the Android Developer Toolkit in Eclipse. I started using IntelliJ IDEA for Android development in parallel as well as wanted to investigate command line and later continuous integration builds. It did not take me long to shy away from the Apache Ant based build and look around for a plugin for my trusted Apache Maven that would help me along the cause. I found the maven-android-plugin and quickly joined the effort.

Read more →