Posted on

Seamless Android Builds With Bitrise. Offload Your System


seamless android builds with bitrise

 Designed by Freepik

Are you annoyed by slow Android builds which slow down your system and make it unusable? I’ve just found a solution to some of those problems!

 

Now in my previous post, I talked about what minimum hardware you need for more or less comfortable development experience. Without it you better off sticking to web development, because you’ll hate Android for sure, just because of Android builds

Bitrise

So basically this service offers you cloud-based builds for Android, iOS based on git push to your repository (GitHub, BitBucket …), run tests, some integrations with services like Slack and more

One Person Team

So let’s start with single developer team, just like you’re alone developing your app and publishing it. What can Bitrise bring? Since it’s triggered by git push – it’s not a solution for incremental build during development, plus Android Studio does it better with Instant Run

If you have bad hardware and release build takes you forever – then you Bitrise is great for you! You can work in develop or some other branch and when ready to publish app – push to master branch and Bitrise trigger will be called to build signed release version of your app. Then you just wait and download apk from there

Building debug build doesn’t make much sense for you alone. Bitrise testing is great also. When you finished writing new feature, pushed code to develop branch and Bitrise makes sure you didn’t break anything by running tests

Multiperson Team

Now here it gets way more interesting. Let’s say you have a team of three developers: web, Android, iOS, few managers, QA testers etc

For Android, we can use debug on git push builds, because now we have other members of the team which might want to test the latest version of the app without you having to publish a beta version to Play Store each time. They can just install apk from Bitrise

Of course, Slack integration comes in handy here as well

So you excited? Ready to get started?

Setting Up

What you can certainly expect from latest startups – their products extremely easy and fast to use. It’s just the industry standard now. If you already have a GitHub/BitBucket account and a repo – you halfway done

Go to Bitrise.io, click Sign up, I signed up with GitHub, by doing this you grant Bitrise access to all your public and private repositories with just one click

After done setting up – click Add new app

seamless android builds with bitrise

Then you’ll be able to select GitHub/Bitbucket repo

seamless android builds with bitrise

You’ll go through small setup like which branch to scan, determining is it Android/iOS project and set a webhook to build once you pushed to your master GitHub branch. All of it you can change later

seamless android builds with bitrise

Build Your First APK

Then you’ll see your first build already started. Click on the message

seamless android builds with bitrise

And you’ll see it building

seamless android builds with bitrise

 

One thing you need of course to make sure is that this repo has no build errors, all the dependencies Bitrise will take care of. And when it’s done – click apps & artifacts, you’ll see all the possible debug build apk to download

seamless android builds with bitrise

I have two product flavors for different minSdkVersion : pre L and >=L for multidex faster builds, but I think Android Studio 3.0 got smarter and does this optimization for you already

And from now on anytime you push to the main branch – you’ll get your debug build triggered

Building Signed Release APK

Now the coolest thing is to have signed release apk being built every time you push master branch. You just use develop branch as your main branch, which does not trigger release apk build. Check how simple it is

First, of course, you need to create .keystore from Android Studio. In there you set Key store password, Key alias and Key password. Remember those, you’ll need them. So just create .keystore, no need to actually build signed apk from Android Studio

seamless android builds with bitrise

Then in Bitrise go to Workflow/Triggers, change * (all branches) to master and change primary to deploy (those are Bitrise scrips that you can edit)

seamless android builds with bitrise

Save changes and go to Code signing, upload the keystore file you’ve just created and fill out those three fields: Key store password, key alias, key password. Save changes

seamless android builds with bitrise

Finals step. You’re almost done, one thing is to include apk signing in deploy workflow, for some reason, it’s not included by default

Go to Workflow, select deploy and right after Gradle runner click plus button

seamless android builds with bitrise

Then find Sign APK, add it and save changes

seamless android builds with bitrise

That’s it, now every push to master branch will trigger signed release APK build. You’ll be getting emails every time your build succeeded/failed, you can download signed apks from there and even share the download link to non-Bitrise users!

What Else

Impressed yet? There’s a bunch of other features like automated testing and more. Take a look at Bitrise.io, definitely cool stuff. Also don’t forget to subscribe to get latest updates from my blog, follow me on Twitter, Facebook and G+