Droidcon India 2014

Droidcon India’s fourth edition

Push to Play : A full CI implementation for Android apps using open tools

Submitted by Arnav Gupta (@championswimmer) on Oct 26, 2014

Section: Versioning – crisp talks Technical level: Beginner Status: Rejected

Abstract

Using three free to use tools/services, namely Github, Travis-CI and Google Play Developer APIs, we can automate the whole process from pusing changes in source code to compilation, signing, and finally publishing to Google Play Store.

I’ll give you a quick demo how you can set up continuous integration for your app in a such a way that even when someone sends a pull request to your repository, you can verify if it builds, and merge it, and publish the updated app to play store without opening up your IDE or even your laptop and performing a single manual step.

Outline

Github is service for hosting source code.

Travis-CI is a continuous ingeration service, freely available for Github public repositories. Travis supports seamless Android building on isolated VMs.

Google Play Developer APIs allow you to update your apk, and your store listing descriptions via REST calls from your continuous integration framework.

Combining the three together, you can almost eliminate the need of opening your IDE for minor changes to your app (like correcting a typo in a string).
Travis also builds pull requests to your repository, allowing you to verify someone’s patch before merging it, without having to do it manually.

Having such an integration in place, next time you wish to make that one-line change in your code, you can even do it from your mobile web browser on github, and your app on play store will get updated, all automagically.

In the links section you’ll find some of my apps/libraries that are integrated with Travis-CI. Their build status are very easily visible in this format.
Xperia FOTA Manager Build Status

EventFul Library Build Status

SubtleNews Build Status

SimpleFingerGestures Build Status

Speaker bio

Currently pursuing a Bachelor’s degree in Electrical and Electronics Engineering at Delhi Technological University, while also working at Cube26 as an Android Framework Engineer.
I have been a Developer and Device Maintainer at CyanogenMod and AOKP, making the latest Android source work on Sony Xperia devices, while adding awesome usability features that make users fall in love. A couple of features I have written have also made their way into Google’s Android Open Source Project, and can be found in Kitkat and Android L.
I have been a Open Source community partner with Sony Mobile for the last two years, which basically means I get the latest Xperias to hack around with as soon as they are launched.
At Cube26, I have been part of the team that made many contextually smart UI/UX enhacements for the Micromax Canvas A290, A310, A315 series of phones.
I am also an open source enthusiast with contributions to Linux, GNOME, Arduino, Android and other open source projects.
I was invited as a speaker at Mobile Developer Summit 2014 hosted by Saltmarch Media.

Links

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}