Android Build Process Using Robolectic, Maven/Gradle And Travis CI
Submitted by Shubham Goyal (@shubham1g5) on Wednesday, 25 September 2013
This session aims to give a complete in depth knowledge of the android build Process. Attendees will get to know about how they could unit test their android applications using Robolectric, how to write build scripts for automizing their build process using maven & gradle, how to setup Travis CI for the Android projects and and how to automatically deploy your application to amazon S3 buckets on succesful build. There will also be a live demo of the whole process starting from commiting our code, continuous integration with travis CI, building our appication using gradle, running unit tests using robolectric and finally deploying the apk to S3 bucket.
This talk will take you through the journey of setting up the Android Build Process. Build Process plays a critical part in deploying our application from one environment to another. An automated build process bridges the gap between various steps involved in software development. I will talk about our experience in automizing build process for our android application framework at Artoo. The session will be focussed on the solutions of the problems that we faced in setting up the build process using different tools like Robolectric, Maven, Gradle and Travis CI. I will go through the following steps involved in the Android Build Process telling about the specific challenges one face at each of these steps
- Automated Unit Testing Using Robolectric.
- Using different build tools like Maven and Gradle and integrating them with Eclipse and Android Studio.
- Continuous Integration using Travis CI.
We are using these tools for building and testing out our android framework at Artoo. I have spent some 2 months setting up these tools and figuring out what works best and how ! We faced a lot of problems integrating these tools with one another to have a seamless workflow. We travelled from using maven & eclipse to using gradle and android studio. Right now all we do is commit our code and travis automatically picks the latest commit, run the build , unit tests the code and finally deploy it to Amazon S3. So we don't need to worry about breaking existing features anymore while trying to deploy new ones. We can just code and the build process takes care of everything else.
If the participants want to try out the build process along with the demo, they need to have their systems with them. I will be making a github project for the session that will have all the prerequisites and setup in detail.
I work as an Android developer at Artoo IT solutions Pvt. Ltd. I hold a BTech in Computer Science and Engineering from IIIT-Hyderabad. I have worked as a summer intern at the Institute for Development and Research in Banking Technology, Hyderabad. I have been associated with BlrDroid Teach for quite a few months as a volunteer for taking hands on sessions on Android.