Systems | Development | Analytics | API | Testing

Android Emulator Setup Guide for App Testing

The Android emulator is an Android virtual device that is used to test and debug Android code. It looks and behaves the same as a physical Android device, and while it has some limitations (more of which later), it provides real time and cost savings for developers. Unlike the iPhone, which is limited to one manufacturer and a specific number of iOS versions, there are thousands of Android device types out there.

Enhanced Environment Variables in Bitrise for intelligent automation

Scrolling through the build log to find what caused your CI pipeline to fail isn’t fun. Or even spending hours inventing custom logic to automate workflows based on who triggered a build or what files changed? There might be a better solution. Enhanced Environment Variables have recently arrived – a suite of new variables designed to give you better control over Bitrise CI.

Test sharding: elevate code quality without slowing down your team

Sometimes teams avoid introducing more tests (particularly UI tests) because they fear slowing down their CI pipeline. Should you have to sacrifice software quality for the sake of fast cycle times? Absolutely not. So, how can you introduce more tests without slowing down your CI pipeline? The answer: employ test sharding. In this post, we’ll dive into what test sharding is and why you should consider it.

App-level store connections in Release Management

Managing multiple apps with different store accounts just got easier. Bitrise Release Management helps developers distribute apps efficiently, whether delivering internal builds or publishing to the App Store or Google Play. It’s built to support teams at scale, with teams relying on it to release hundreds of apps across different platforms and accounts.

Jetpack Compose Fragments: How to Migrate and Integrate in Android Apps

Imagine you’re a toolmaker. You’ve got an old-school toolshed with loads of ancient equipment: hammers, pickaxes, all the stuff people used hundreds of years ago. And then one day you walk into your toolshed to find laser cutters, 3D printers and loads of other digital tools at your disposal. Life would suddenly seem a lot simpler, right?

Introducing Invocation Diffing: debug failures and performance issues in seconds

Troubleshooting builds just got a lot easier. The new Invocation Diffing feature in Bitrise Build Cache allows you to compare two command invocations side by side to see exactly what changed. Whether you're investigating a build failure or a performance regression, this tool gives you a faster path to understanding and resolution.

Chat with your builds, CI, and more: Introducing the Bitrise MCP Server

Have you ever wished you could just ask your CI platform a question instead of digging through logs or scrolling through builds? Well your wish has been granted: Bitrise MCP (Model Context Protocol) Server is here, a new, conversational way to interact with your CI.

A Guide to Flutter error handling

Learn how to gracefully manage and debug errors in your Flutter apps! In this session, we'll explore best practices, common pitfalls, and powerful tools to handle exceptions—from try-catch to error boundaries and custom error screens. Whether you're a beginner or pro, this guide will help you build more resilient Flutter apps.