Droidcon India 2013

What's your thinking on Android this year?

Android Build Process Using Robolectic, Maven/Gradle And Travis CI

Submitted by Shubham Goyal (@shubham1g5) on Wednesday, 25 September 2013

videocam_off

Technical level

Intermediate

Section

Systems

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +5

Objective

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.

Description

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.

Requirements

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.

Speaker bio

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.

Slides

http://www.slideshare.net/ShubhamGoyal12/android-build-process-1-26663021

Comments

  • 2
    Shubham Goyal (@shubham1g5) Proposer 5 years ago

    Hi Kumar Rangarajan,

    I have fixed the slide issue. You should be able to access them now. Let me know in case you still can't access them. Although I wonder why aren't they getting embeded in the propasal page itself. May be you can help me in this regard.

    I have also added an extra para about our experience of the whole process in the Description section. Please check it out and let me know in case of futher questions. I do not have much speaking experience being a newbie but I understand my subject in depth and can deliver this talk in a really fruitful manner.

    • 1
      Aravind Krishnaswamy (@arg0s) 5 years ago

      Might be useful if you share with Kumar & others videos or slides of the blrdroid sessions youve handled in the past.

      • 1
        Shubham Goyal (@shubham1g5) Proposer 5 years ago

        Hey. These sessions are for BlrDroid Teach which are just lab sessions for college students. It is not much big a deal and are meant to help students start with Android.

  • 1
    Kumar Rangarajan (@kumar) 5 years ago

    Hi Shubham,

    The topic looks interesting and relevant. But am not able to access the slides you posted. Looks like there is a redirect loop happening!

    Can you fix it and let us know the correct link?

    Also can you share if you have been using these tools internally in your organization or is it a theoritical interest in these tools and process?

    Also can you share any existing speaking experiences you might have?

    :-)

    Kumar Rangarajan
    Programm Committee

  • 1
    Soham Mondal (@soham) Reviewer 5 years ago

    Shubham, will you be able to quickly compare travis cl with some other continuous integration solutions, would be helpful to people who are getting started with continuous integration?

  • 1
    Shubham Goyal (@shubham1g5) Proposer 5 years ago

    Hey. I want to help participants to start really quickly with the android build process after this session. So I don't think I would be able to focus on comparing different tools considering the time limit. But yeah I would be covering CI from the start so that anyone who is new to CI won't face any problems.

Login with Twitter or Google to leave a comment