Bypassing User Isolation on Android with a Screen Reader

(opens in a new window)
How a missing security check in Android's NotificationManagerService let accessibility services leak private notifications across user profiles, and how the fix closed the gap.
AndroidSecurityAccessibilitya11yVulnerability
Read article

A Practical Guide to Flutter Accessibility – Part 2: Hiding Noise, Exposing Actions

(opens in a new window)
A practical guide to advanced Flutter accessibility patterns, covering ExcludeSemantics, BlockSemantics, customSemanticsActions, and live regions.
FlutterAccessibilitya11yTutorial
Read article

When Zero‑Width Isn’t Zero - Pagedout #8

(opens in a new window)
A seemingly harmless zero-width character turned into a real security risk hiding in plain sight.
cybersecuritycvejavascriptnodejssecurity
Read article

When Zero‑Width Isn’t Zero: How I Found and Fixed a Vulnerability

(opens in a new window)
A seemingly harmless zero-width character turned into a real security risk hiding in plain sight.
cybersecuritycvejavascriptnodejssecurity
Read article

A Practical Guide to Flutter Accessibility – Part 1: The Basics

(opens in a new window)
A practical guide to Flutter accessibility, covering the basics of the Semantics widget, MergeSemantics, and testing tools for Android and iOS.
FlutterAccessibilitya11yTutorial
Read article

How to Create an IoT App in Kotlin Multiplatform

(opens in a new window)
In this article, you’ll build a small multiplatform app for Android and iOS that blinks an LED on an IoT device. You’ll use Kotlin Multiplatform (KMP) for shared logic, Compose Multiplatform for the UI, and the Kable library for Bluetooth communication.
IoTKotlinSwiftKMPComposeBluno
Read article

Deep Diving Into AI_devs 3: What I Learned And How You Can Benefit

(opens in a new window)
AI_devs 3 course review.
AILLM
Read article

10 Ways AI Can Speed Up your Mobile App Development | Guide for Developers

(opens in a new window)
See how AI tools like GitHub Copilot and Stable Diffusion can streamline mobile app development by automating code generation, enhancing testing, and optimizing performance.
AITips&TricksGenAI
Read article

How to develop an AI app with a local model in Kotlin Multiplatform

(opens in a new window)
In this tutorial, you’ll learn how to integrate AI into a Kotlin Multiplatform app. We’ll use TensorFlow Lite for text classification and share code between Android and iOS with Compose Multiplatform.
AIKotlinSwiftKMPComposeTensorFlowLite
Read article

How to Provide Accessibility in your Android App | Part 4: List, Link Semantics and Testing

(opens in a new window)
Step by step – how to ensure accessibility in your Android app.
AndroidJetpack ComposeAccessibilitya11y
Read article

Concurrency with Coroutines in Android

(opens in a new window)
In this module, learners will be introduced to the problems of concurrency and learn how to juggle tasks by using Kotlin coroutines.
AndroidKotlinCoroutinesVideo
Read article

Fintech Cybersecurity: Challenges, Best Practices, and Future Trends

(opens in a new window)
Cybersecurity is a key aspect in fintech app development. The more secure your product, the more trust it builds among your users.
FintechCybersecuritybest practices
Read article

Utilize Control Flow in Kotlin

(opens in a new window)
This module teaches how to use Kotlin’s control flow features to branch code based on variable state.
AndroidKotlinBasicsVideo
Read article

10 Best AI Coding Assistant Tools – Guide for Developers

(opens in a new window)
Explore 10 top-notch AI-powered tools for developers
AIDevelopmentGPT
Read article

Kotlin Coroutines: Fundamentals - Video Tutorial

(opens in a new window)
Learn the fundamentals about threads and coroutines, along with the basics of the Kotlin Coroutines framework.
AndroidKotlinTutorialCoroutinesVideo
Read article

How to Provide Accessibility in your Android App | Part 3: Semantic Properties and Screen Orientation

(opens in a new window)
Step by step – how to ensure accessibility in your Android app.
AndroidJetpack ComposeAccessibilitya11y
Read article

Flutter vs. Kotlin: Choose the Best Fit for Your Project – Developers’ Guide

(opens in a new window)
Explore the differences between Flutter and Kotlin in mobile app development
AndroidFlutterKotlin
Read article

Flutter Networking Tutorial: Getting Started

(opens in a new window)
In this tutorial, you’ll learn how to make asynchronous network requests and handle the responses in a Flutter app connected to a REST API.
FlutterTutorialNetworkingDart
Read article

8 Key IoT Security Challenges and Proven Solutions from the Field

(opens in a new window)
Prevent mistakes that could ruin your budget and reputation. Explore key Internet Of Things security issues and strategies to address them.
BusinessDevelopmentLegalIoT
Read article

How to Provide Accessibility in Your Native Android App with Jetpack Compose | Part 2

(opens in a new window)
Step by step – how to ensure accessibility in your Android app.
AndroidJetpack ComposeAccessibilitya11y
Read article

How to Provide Accessibility in Your Native Android App with Jetpack Compose | Part 1

(opens in a new window)
Step by step – how to ensure accessibility in your Android app.
AndroidJetpack ComposeAccessibilitya11y
Read article

SSL Certificate Pinning in Flutter

(opens in a new window)
Check how to configure SSL Certificate Pinning in Flutter and the pros and cons of pinning!
FlutterHTTPSSSL
Read article

State Restoration of Flutter App

(opens in a new window)
Android and iOS interrupt application processes to optimize resource usage by killing the app, losing the app’s state. Here, you’ll explore clever state restoration techniques in Flutter.
FlutterState restorationTutorial
Read article

Flutter for Windows Desktop: Getting Started

(opens in a new window)
Learn how to set up a development environment and create a simple Flutter calculator app for Windows Desktop.
FlutterWindowsDesktopTutorial
Read article

Edge Cases in App & Backend Development. Part 4 – Dates & Time

(opens in a new window)
Discover the most common traps and pitfalls related to dates and times you may face during your app and backend development. Learn about timezones, leap years, and formatting.
AndroidCuriosityTips&Tricks
Read article

How to Submit an App on Google Play? Guide & Checklist for Non-Developers

(opens in a new window)
5 aspects you have to know before publishing your app on the Google Play Store. Learn technical prerequisites, the metadata you have to prepare, store settings, content policy, targeting, and more. It’s a complete guide for App and Product Owners who want to submit their applications to Google Play successfully.
AndroidGoogle PlayDeploymentTutorial
Read article

Internationalizing and Localizing a Flutter App | How to Develop an App with Flutter – Part 7

(opens in a new window)
Learn how to develop your first app with Flutter. This time, we will make our app multilingual. I will show you how to go through the internationalization process and how to localize your app.
FlutterLocalizationl10ni18nTutorial
Read article

GIF App Development – How to Develop GIF Encoding

(opens in a new window)
Learn how to develop GIF encoding in your app and discover libraries that can help you in this process.
AndroidGIF
Read article

GIF App Development – Challenges & Tips

(opens in a new window)
Do you want to develop an app like Giphy Cam? Learn what challenges you can expect during your GIF app development.
AndroidGIF
Read article

How to Generate Proguard/R8 rules for Navigation Component Arguments

(opens in a new window)
Learn how to generate Proguard/R8 rules for Android Jetpack’s Navigation component arguments.
AndroidGradleProguardR8
Read article

Flutter Project Setup | How to Develop an App with Flutter – Part 2

(opens in a new window)
Learn how to build your first app with Flutter. In this part, we show you how to set your project up and configure the development environment for Android and iOS.
FlutterSetupTutorial
Read article

How to Distribute Android Libraries

(opens in a new window)
Discover how to distribute Android libraries to maven central repository.
AndroidLibraryDeployGradle
Read article

How to Add Chuck Norris Jokes to Bitrise Build Logs

(opens in a new window)
Continuous Integration can be a lot of fun! In this article, you will learn how to add jokes about Chuck Norris to the Bitrise builds.
AndroidBitriseCIChuck NorrisStep
Read article

How to Create Bitrise Step in Go – Flutter Example

(opens in a new window)
Discover how to write a Bitrise step in Go.
AndroidBitriseCIStepGo
Read article

Android Strings XML Tips & Tricks

(opens in a new window)
Discover secrets of Android strings.xml file.
AndroidCuriosityTips&TricksStrings
Read article

Edge Cases to Keep in Mind. Part 3 – Time of Check to Time of Use Race Conditions in Android UI

(opens in a new window)
In this article, we’ll show how race conditions affect Android runtime permission system.
AndroidCuriosityTips&Tricks
Read article

Edge Cases to Keep in Mind. Part 3 – Time of Check to Time of Use Race Conditions in Android UI

(opens in a new window)
Take a look at 12 practical use cases when GDPR applies to mobile apps. Learn how to handle user data, consent, and privacy in compliance with EU regulations.
AndroidGDPR
Read article

How to Debug HTTP(S) Traffic for Android Apps with Burp Proxy

(opens in a new window)
Everything seems to match specifications but the app does not work? Discover Burp Proxy – one of the best ways of debugging HTTP(S) traffic! Neither source code access nor development skills are needed.
AndroidBurpTestingQADebugging
Read article

Testing Android Apps with Pseudolocalization

(opens in a new window)
Learn how to avoid UX issues, like truncated texts or undersized content space, in applications. Let’s try pseudolocalization.
AndroidTestingTextPseudolocalization
Read article

Edge Cases to Keep in Mind. Part 2 – Files

(opens in a new window)
Check out several edge cases you should keep in mind while dealing with files as an Android developer.
AndroidCuriosityTips&Tricks
Read article

Edge Cases to Keep in Mind. Part 1 – Text

(opens in a new window)
Check out several edge cases you should keep in mind while dealing with text as an Android developer.
AndroidCuriosityTips&Tricks
Read article

How to Connect Physical Devices to Bitrise.io

(opens in a new window)
Discover how to connect physical devices to Bitrise.io and run tests on them.
AndroidBitriseCIOpenSTFTesting
Read article

How to Create a Gradle Plugin in Kotlin

(opens in a new window)
Tutorial on how to create a Gradle plugin in Kotlin.
AndroidGradleKotlinPlugin
Read article

How to make generated Java test sources recognizable by IDE

(opens in a new window)
Discover how to fix an issue with generated Java test sources not being recognized by Android Studio.
AndroidAndroid Studio
Read article

Setting animation scale for Android UI tests

(opens in a new window)
How to disable animations for Android UI tests automatically? Check out this simple trick!
AndroidGradleTesting
Read article

/dev/full on OS X

(opens in a new window)
Check out how to make something similar to /dev/full on macOS!
bashmacOS
Read article

Unit tests with custom JUnit rules, annotations and resources

(opens in a new window)
Discover how to write unit tests with custom JUnit rules for JSON parsing
AndroidTestingJSON
Read article

How to integrate Gerrit with HipChat

(opens in a new window)
How to integrate Gerrit with HipChat? Check out this tutorial!
HipChatGerritCI
Read article

Differences Between minSdkVersion, maxSdkVersion, compileSdkVersion and targetSdkVersion

(opens in a new window)
Discover the difference between minSdkVersion, maxSdkVersion, compileSdkVersion and targetSdkVersion
AndroidGradleSDK
Read article

How to Generate Java Sources Using buildSrc Gradle Project and Codemodel

(opens in a new window)
Generate Java sources using buildSrc Gradle project and Codemodel. Check out these helpful tips.
JavaGradleCode generationAndroid
Read article

Android Gradle configurations

(opens in a new window)
Almost all Gradle projects (including all Gradle-based Android projects) uses some configurations. What does configuration mean in Gradle?
AndroidGradleBuildscript
Read article

How to Create PagerTitleStrip with Current Page Indicator Only

(opens in a new window)
Create PagerTitleStrip only with Current Page Indicator. Find out, how to do this!
AndroidPager
Read article

Using Processes to Avoid OutOfMemoryErrors

(opens in a new window)
Do you want to increase available memory (heap) size? Check out this simple trick and avoid OutOfMemoryErrors!
AndroidTips&Tricks
Read article

Combined Bayesian Classifiers Applied to Spam Filtering Problem

(opens in a new window)
Article about spam filtering using combined Bayesian classifiers.
Spam filteringBayesian classifierMachine learning
Read article