Tagged articles

Android

1864 articles · Page 9 of 19
Airbnb Technology Team
Airbnb Technology Team
Nov 4, 2021 · Mobile Development

Automated Screenshot Testing for Android Fragments Using MvRx and Happo

This article explains how Airbnb’s Android team extends its MvRx state‑simulation framework with a custom screenshot library and Happo integration to automatically capture, upload, and compare fragment UI snapshots in CI, detecting visual regressions, layout issues, crashes and memory leaks across commits.

AndroidCIHappo
0 likes · 11 min read
Automated Screenshot Testing for Android Fragments Using MvRx and Happo
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Nov 3, 2021 · Backend Development

How We Slashed Android Gradle Sync Time from 8 Minutes to 1.5 Minutes

Facing 8‑minute Gradle syncs, frequent GC‑over‑limit errors, and excessive memory usage, the team diagnosed severe memory leaks in Android build configurations, applied variantFilter filtering, tuned JVM arguments, and optimized daemon settings, ultimately reducing sync time to 1.5 minutes and cutting CI build time in half.

AndroidBuild OptimizationGradle
0 likes · 15 min read
How We Slashed Android Gradle Sync Time from 8 Minutes to 1.5 Minutes
Snowball Engineer Team
Snowball Engineer Team
Oct 28, 2021 · Mobile Development

Redesigning Snowball's Android Network Framework with OkHttp and Retrofit: Architecture, Issues, and Migration

This article details the redesign of Snowball's Android network framework using OkHttp and Retrofit, covering motivations, architectural layers, solutions for domain switching, custom annotations, data validation, migration strategy, and the resulting performance and maintainability improvements.

AndroidArchitectureKotlin
0 likes · 17 min read
Redesigning Snowball's Android Network Framework with OkHttp and Retrofit: Architecture, Issues, and Migration
ByteDance Terminal Technology
ByteDance Terminal Technology
Oct 28, 2021 · Mobile Development

MemCorruption Tool for Detecting Memory Corruption Issues in Android Apps

The MemCorruption tool, developed by ByteDance's AppHealth team, provides an online, low‑overhead solution for detecting Use‑After‑Free, Double‑Free, and Heap‑Buffer‑Overflow problems in Android applications by hooking memory allocation functions, sampling allocations, and performing invisible SIGSEGV‑based detection.

AndroidNative DebuggingPerformance Monitoring
0 likes · 12 min read
MemCorruption Tool for Detecting Memory Corruption Issues in Android Apps
Coolpad Technology Team
Coolpad Technology Team
Oct 26, 2021 · Mobile Development

Understanding ART Garbage Collection in Android: Fundamentals, Mechanisms, and Performance Optimizations

This article introduces the fundamentals of Android Runtime (ART) garbage collection, covering its historical background, key milestones, core features such as RegionTLAB, read barriers, pause behavior, generational support, target heap size calculations, multiplier impact, GC trigger thresholds, Systrace analysis, and parameter tuning strategies.

ARTAndroidPerformance
0 likes · 23 min read
Understanding ART Garbage Collection in Android: Fundamentals, Mechanisms, and Performance Optimizations
Yang Money Pot Technology Team
Yang Money Pot Technology Team
Oct 26, 2021 · Mobile Development

Encapsulating Retrofit with Kotlin Coroutines in Android: Two Approaches

This article explains how to combine Retrofit with Kotlin coroutines on Android, compares the traditional RxJava method with coroutine-based implementations, and presents two encapsulation techniques—using a DSL and leveraging CoroutineExceptionHandler—to simplify asynchronous network calls and centralize error handling.

AndroidCoroutinesDSL
0 likes · 14 min read
Encapsulating Retrofit with Kotlin Coroutines in Android: Two Approaches
Sohu Tech Products
Sohu Tech Products
Oct 20, 2021 · Mobile Development

Kotlin Network Request Wrappers with LiveData: Two Approaches, Code Samples, and Comparison

This article explains two Kotlin‑based network request wrappers for Android that reduce boilerplate by using LiveData, Retrofit, OkHttp and coroutines, compares their design trade‑offs, provides complete Activity, ViewModel, Repository and BaseRepository code samples, and shows how to handle loading, success, error and multiple data sources in a clean MVVM architecture.

AndroidCoroutinesKotlin
0 likes · 10 min read
Kotlin Network Request Wrappers with LiveData: Two Approaches, Code Samples, and Comparison
Sohu Tech Products
Sohu Tech Products
Oct 20, 2021 · Information Security

Overview of Android App Hardening and Unpacking Techniques Across Generations

This article provides a comprehensive overview of Android app hardening methods, detailing the evolution from first‑generation dex and so protection to advanced code virtualization, and outlines various unpacking (脱壳) techniques—including memory dump, dynamic debugging, hook‑based and custom ROM approaches—used to bypass these protections.

AndroidDEXFrida
0 likes · 11 min read
Overview of Android App Hardening and Unpacking Techniques Across Generations
vivo Internet Technology
vivo Internet Technology
Oct 20, 2021 · Mobile Development

Understanding AAPT2: Android Resource Compilation and the FLAT File Format

AAPT2, the default Android resource compiler, splits resource processing into compile and link stages, converting XML, PNG, and other files into binary FLAT containers that embed both raw data and metadata, enabling incremental builds, configurable options, and efficient merging into the final APK’s resources.arsc and R.java.

AAPT2AndroidBuild Tools
0 likes · 25 min read
Understanding AAPT2: Android Resource Compilation and the FLAT File Format
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Oct 20, 2021 · Mobile Development

Bypassing Android dex2oat Restrictions for targetSdkVersion ≥ 29: Analysis and Implementation

This article investigates the Android dex2oat compilation restrictions introduced for targetSdkVersion ≥ 29, analyzes their impact on app performance, explores SELinux enforcement, and presents a practical solution using system commands and binder calls to trigger dex2oat compilation for both primary and secondary APKs, improving load and runtime speed.

APKAndroidCompilation
0 likes · 19 min read
Bypassing Android dex2oat Restrictions for targetSdkVersion ≥ 29: Analysis and Implementation
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Oct 15, 2021 · Operations

OverlayFS: Mounting, File Operations, and Android Use Cases

OverlayFS is a stacking file system that merges lower and upper directories into a single view using mount options like lowerdir, upperdir, and workdir, supports copy‑up, whiteouts, opaque directories and configurable rename handling, and is employed in Android, OpenWRT, and container platforms to provide writable overlays on read‑only layers.

AndroidLinuxMount
0 likes · 8 min read
OverlayFS: Mounting, File Operations, and Android Use Cases
Java Architect Essentials
Java Architect Essentials
Oct 14, 2021 · Backend Development

Analysis of Alipay Android Wallet System Architecture and MetaQ Distributed Messaging Middleware

This article presents a detailed overview of Alipay's Android wallet system architecture, illustrating its core components such as settlement, customer service, fund processing, and accounting, and further examines the open‑source MetaQ (Metamorphosis) distributed messaging middleware, highlighting its features, advantages over Kafka, and suitable application scenarios.

AlipayAndroidBackend
0 likes · 5 min read
Analysis of Alipay Android Wallet System Architecture and MetaQ Distributed Messaging Middleware
Sohu Tech Products
Sohu Tech Products
Oct 14, 2021 · Mobile Development

Advanced Android 12 Widget Features: Reconfigurable Widgets, Default Configurations, Size Limits, and New APIs

This article explains how Android 12 introduces reconfigurable widgets, default configuration flags, new size attributes, responsive layouts, compound button interactions, and simplified collection RemoteViews, providing developers with richer, more interactive widget experiences on mobile devices.

AndroidAppWidgetKotlin
0 likes · 9 min read
Advanced Android 12 Widget Features: Reconfigurable Widgets, Default Configurations, Size Limits, and New APIs
Sohu Tech Products
Sohu Tech Products
Oct 14, 2021 · Mobile Development

Understanding Android ViewGroup: Concepts, Drawing Process, Measure/Layout/Draw, and Custom Implementation

This article explains the fundamentals of Android ViewGroup, its coordinate systems, the complete drawing pipeline from Activity creation to SurfaceFlinger, details the Measure‑Layout‑Draw phases, and provides a step‑by‑step guide to building a custom ViewGroup with custom LayoutParams and practical examples.

AndroidCustom LayoutDraw
0 likes · 12 min read
Understanding Android ViewGroup: Concepts, Drawing Process, Measure/Layout/Draw, and Custom Implementation
vivo Internet Technology
vivo Internet Technology
Oct 13, 2021 · Mobile Development

Jetpack Compose Animation Tutorial

This Jetpack Compose animation tutorial demonstrates how to create state‑driven, visibility, size, cross‑fade, single‑value, and composite animations using declarative APIs such as remember, mutableStateOf, AnimatedVisibility, animateContentSize, animate*AsState, and updateTransition, showing concise Kotlin code that simplifies UI animation development.

AndroidAnimationJetpack Compose
0 likes · 10 min read
Jetpack Compose Animation Tutorial
Airbnb Technology Team
Airbnb Technology Team
Oct 13, 2021 · Mobile Development

Airbnb’s Android Automation Testing Framework: State Simulation with MvRx (Part 1)

Airbnb’s new Android automation testing framework replaces flaky Espresso tests with deterministic UI rendering by simulating immutable State objects via MvRx, Epoxy, and a custom DSL, enabling fast, reliable tests, easy mock generation, and a launcher for instant screen inspection across multiple state variants.

AndroidAutomation TestingEpoxy
0 likes · 17 min read
Airbnb’s Android Automation Testing Framework: State Simulation with MvRx (Part 1)
Alibaba Terminal Technology
Alibaba Terminal Technology
Oct 11, 2021 · Mobile Development

How Android Handles ANR SIGQUIT: Signal Interception Explained

This article explains how Android captures ANR events by intercepting the SIGQUIT signal, covering the relevant signal‑handling functions (kill, signal, sigaction, sigwait, pthread_sigmask), their differences, the SignalCatcher thread implementation, and how developers can create custom SIGQUIT monitors for ANR analysis.

ANRAndroidC++
0 likes · 15 min read
How Android Handles ANR SIGQUIT: Signal Interception Explained
Sohu Tech Products
Sohu Tech Products
Oct 6, 2021 · Mobile Development

Android Memory Optimization: Causes, Tools, Image Strategies, and Online OOM Monitoring with KOOM

This article explains why Android memory optimization is needed, introduces background concepts such as garbage collection and memory leaks, reviews common tools like Memory Profiler, MAT and LeakCanary, details image‑related memory reduction techniques, and presents the open‑source KOOM framework for online OOM detection and analysis.

AndroidImage OptimizationKOOM
0 likes · 23 min read
Android Memory Optimization: Causes, Tools, Image Strategies, and Online OOM Monitoring with KOOM
MaGe Linux Operations
MaGe Linux Operations
Oct 6, 2021 · Mobile Development

Automate WeChat Jump on Android with Python and ADB

This guide explains how to set up ADB on a Windows PC, capture screenshots from an Android device, analyze the image to locate the game piece and platform in the WeChat Jump mini‑program, and automatically perform jumps using Python code that calculates press duration and simulates swipe input.

ADBAndroidMobile Development
0 likes · 12 min read
Automate WeChat Jump on Android with Python and ADB
Tencent Music Tech Team
Tencent Music Tech Team
Oct 1, 2021 · Frontend Development

Tree and View Systems Across Web, Android, iOS, and Flutter

These articles compare how Web, Android, iOS, and Flutter represent UI structures—detailing the DOM and Virtual DOM creation, diffing, and rendering on the Web, and the XML‑based layout inflation, view hierarchy, styling, and drawing pipeline on Android—to help front‑end developers grasp each platform’s tree‑based architecture.

AndroidFlutterView System
0 likes · 11 min read
Tree and View Systems Across Web, Android, iOS, and Flutter
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Sep 30, 2021 · Mobile Development

Understanding ART Runtime GC Configuration and Heap Layout on Android R

The article explains Android R’s ART runtime garbage‑collection configuration and heap layout—including RegionSpace, ImageSpace, ZygoteSpace, non‑moving and LargeObject spaces—details concurrent, native, transition and blocking GC types, illustrates real‑world performance issues, and offers optimization strategies for developers.

ARTAndroidHeap Layout
0 likes · 19 min read
Understanding ART Runtime GC Configuration and Heap Layout on Android R
ByteDance Terminal Technology
ByteDance Terminal Technology
Sep 29, 2021 · Mobile Development

Bypassing Android 10+ dex2oat Restrictions for Performance Optimization

This technical article investigates the Android 10+ dex2oat limitation that blocks app‑initiated compilation, analyzes its SELinux enforcement, and presents a practical solution using system commands and binder calls to trigger dex2oat for both primary and secondary APKs, achieving significant load‑time and runtime improvements.

ADBAndroidOptimization
0 likes · 20 min read
Bypassing Android 10+ dex2oat Restrictions for Performance Optimization
BaiPing Technology
BaiPing Technology
Sep 28, 2021 · Mobile Development

Master NFC Integration Across Android, iOS, and WeChat Mini Programs

This comprehensive guide explains what NFC is, compares it with other short‑range wireless technologies, and provides step‑by‑step tutorials for implementing NFC on Android, iOS, and WeChat mini‑programs, covering chip data writing, NDEF formatting, App Clip integration, and universal link handling.

AndroidNDEFNFC
0 likes · 16 min read
Master NFC Integration Across Android, iOS, and WeChat Mini Programs
Kuaishou Tech
Kuaishou Tech
Sep 28, 2021 · Mobile Development

Understanding and Optimizing Time To Interactive (TTI) on the Kuaishou Android App

This article explains the concept of Time To Interactive (TTI) for the Kuaishou Android app, details how to quantify the metric using FrameTime instead of FPS, describes data collection methods, offline and online tracing, a performance lab, and comprehensive governance and task‑scheduling strategies to reduce startup lag.

AndroidFrameTimeMobile Development
0 likes · 17 min read
Understanding and Optimizing Time To Interactive (TTI) on the Kuaishou Android App
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Sep 28, 2021 · Mobile Development

Achieving Precise Vertical Text Centering in Flutter: Font Metrics Analysis and Android‑Based Solution

This article investigates why text in Flutter buttons often fails to vertically center, analyzes Android font metrics and NotoSansCJK details, explores native Android solutions like includeFontPadding and Paint.getTextBounds, and proposes a Flutter implementation using minikin layout to achieve precise vertical centering.

AndroidFlutterFont Metrics
0 likes · 15 min read
Achieving Precise Vertical Text Centering in Flutter: Font Metrics Analysis and Android‑Based Solution
Snowball Engineer Team
Snowball Engineer Team
Sep 24, 2021 · Mobile Development

Custom Stock K-Line Chart with Jetpack Compose: Drawing and Gesture Handling

This article demonstrates how to build a custom stock K-line chart in Android using Jetpack Compose, covering the transition from traditional View drawing to Compose's Canvas API, detailed code for rendering, and implementing drag, long‑press, and pinch‑zoom gestures with state‑driven UI updates.

AndroidCustom ViewJetpack Compose
0 likes · 16 min read
Custom Stock K-Line Chart with Jetpack Compose: Drawing and Gesture Handling
Baidu Geek Talk
Baidu Geek Talk
Sep 22, 2021 · Mobile Development

Video Player Architecture Refactoring and Performance Optimization in an Android Short‑Video App

The article details how refactoring the Haokan Android short‑video client from a single global player to per‑holder multi‑player instances, combined with lifecycle‑lite event handling, pre‑loading, and dedicated thread operations, cut start‑up latency by ~150 ms, reduced frame‑drops dramatically, and boosted overall user experience and business metrics.

AndroidArchitecturePerformanceOptimization
0 likes · 20 min read
Video Player Architecture Refactoring and Performance Optimization in an Android Short‑Video App
IT Architects Alliance
IT Architects Alliance
Sep 21, 2021 · Fundamentals

Analyzing Android 6.0 Storage Architecture and Communication Design

This article examines Android 6.0’s storage architecture, detailing the roles and interactions of MountService, Vold, and the kernel, illustrating module and process structures, communication flows via sockets, and highlighting performance considerations such as thread blocking and ANR issues.

AndroidMountServiceProcess Communication
0 likes · 14 min read
Analyzing Android 6.0 Storage Architecture and Communication Design
Kuaishou Frontend Engineering
Kuaishou Frontend Engineering
Sep 17, 2021 · Mobile Development

How Kuaishou Optimizes Android TTI: From Definition to Real‑Time Monitoring

This article explains the concept of Time To Interactive (TTI) for Kuaishou's Android client, details how the metric is quantified using FrameTime instead of FPS, describes offline and online data‑collection methods, and outlines the scheduling framework and governance measures designed to reduce post‑cold‑start jank.

AndroidFrameTimeTTI
0 likes · 18 min read
How Kuaishou Optimizes Android TTI: From Definition to Real‑Time Monitoring
DeWu Technology
DeWu Technology
Sep 17, 2021 · Mobile Development

Design of the DeWu App ANR Monitoring Platform

The DeWu ANR Monitoring Platform replaces Bugly with a comprehensive internal system that collects ProcessErrorStateInfo, tombstone files, main‑thread stack samples, Looper message histories, and app state, parses and aggregates this data, visualizes trends and root‑cause details, and guides developers in mitigating ANRs.

ANRAndroidLooper
0 likes · 15 min read
Design of the DeWu App ANR Monitoring Platform
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Sep 10, 2021 · Information Security

Understanding dm-verity: Design Principles, Application Layer, and Kernel Implementation

dm‑verity is a Linux device‑mapper target that protects a data partition’s integrity by using a compile‑time hash‑tree stored on a separate hash device, with Android employing it for verified boot; user‑space creates the dm device, loads the verity table, activates it, while the kernel’s dev_create, table_load, and suspend handlers set up mapped_device structures and enforce per‑block hash verification during I/O.

AndroidLinux kerneldevice mapper
0 likes · 15 min read
Understanding dm-verity: Design Principles, Application Layer, and Kernel Implementation
WeChat Client Technology Team
WeChat Client Technology Team
Sep 8, 2021 · Mobile Development

Uncovering Hidden Android Thread Pitfalls: Memory Leaks, Monitoring, and Hook Solutions

This article explores obscure Android thread issues—including uncontrolled thread creation, stack memory leaks, and the impact of thread‑priority settings—while presenting monitoring techniques, a pthread hook implementation, and performance considerations to help developers detect and resolve thread‑related crashes.

AndroidThread Leakhook
0 likes · 15 min read
Uncovering Hidden Android Thread Pitfalls: Memory Leaks, Monitoring, and Hook Solutions
ELab Team
ELab Team
Sep 2, 2021 · Mobile Development

Mastering In-App and Third-Party Payments: A Complete Guide for Mobile Apps

This article outlines the various payment channels—In‑App Purchase, third‑party, H5, and mini‑program—across iOS, Android, and WeChat environments, detailing their flow diagrams, required API interactions, code examples, and best‑practice recommendations to help developers implement seamless mobile payments.

AndroidIn-App PurchaseWeChat Pay
0 likes · 16 min read
Mastering In-App and Third-Party Payments: A Complete Guide for Mobile Apps
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Sep 2, 2021 · Mobile Development

Upgrading Android Gradle Plugin from 3.5 to 4.1: Issues and Solutions

Upgrading a project from Android Gradle Plugin 3.5 to 4.1.3 required applying official migration steps, adjusting deprecated fields, resource paths, manifest tasks, ASM version, disabling configure‑on‑demand and the new zipflinger packager, and fixing NDK configuration, which together yielded roughly 36 % faster builds and a 5 MB smaller APK.

AGPAndroidBuild Optimization
0 likes · 18 min read
Upgrading Android Gradle Plugin from 3.5 to 4.1: Issues and Solutions
Java Architect Essentials
Java Architect Essentials
Aug 31, 2021 · Backend Development

Open‑Source Architecture Tools: mpvue, Walle, SQLAdvisor, Leaf, and Robust

This article introduces several open‑source tools for software architecture—including the Vue‑based mini‑program framework mpvue, the Android channel‑packaging tool Walle, the MySQL index advisor SQLAdvisor, the distributed ID service Leaf, and the hot‑update system Robust—detailing their features, configurations, and GitHub links.

AndroidLeafRobust
0 likes · 7 min read
Open‑Source Architecture Tools: mpvue, Walle, SQLAdvisor, Leaf, and Robust
php Courses
php Courses
Aug 31, 2021 · Mobile Development

React Native and H5 Interaction: Communication Methods and Code Examples

This article explains how to enable two-way communication between React Native and H5 pages using WebView, covering message handling in both directions, code examples for sending and receiving data, and important migration notes from the built‑in WebView to react‑native‑webview.

AndroidH5JavaScript
0 likes · 5 min read
React Native and H5 Interaction: Communication Methods and Code Examples
21CTO
21CTO
Aug 27, 2021 · Mobile Development

When a Tech Influencer Demands GPL Source Code: The UMIDIGI F2 Story

A Chinese phone maker UMIDIGI faced public pressure after influencer Naomi Wu and a Polish developer demanded the GPL‑v2‑licensed kernel source of the Android 10‑based UMIDIGI F2, highlighting the obligations and controversies surrounding open‑source compliance.

AndroidGPLNaomi Wu
0 likes · 4 min read
When a Tech Influencer Demands GPL Source Code: The UMIDIGI F2 Story
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Aug 27, 2021 · Mobile Development

Analysis of Android ANR (Application Not Responding) Causes and Diagnosis

The article explains that Android ANR (Application Not Responding) arises when the UI thread is blocked beyond defined timeouts, classifies the various timeout types, details common root causes such as slow I/O, heavy computation, binder delays, deadlocks, CPU or memory pressure, and outlines a systematic log‑and‑systrace analysis process to pinpoint and resolve these issues.

ANRAndroidPerformance
0 likes · 8 min read
Analysis of Android ANR (Application Not Responding) Causes and Diagnosis
ByteDance SE Lab
ByteDance SE Lab
Aug 27, 2021 · Mobile Development

How ByteDance’s SmartEye Boosts Android Testing with Precise Call‑Chain Analysis

This article explains ByteDance’s automated precise testing solution, describing how method call‑chain analysis links code changes to Android Activities, enabling targeted test‑case recommendation, optimizing CI pipelines, and significantly improving test efficiency and coverage for large‑scale mobile projects.

AndroidMobile Developmentcall graph
0 likes · 17 min read
How ByteDance’s SmartEye Boosts Android Testing with Precise Call‑Chain Analysis
Tongcheng Travel Technology Center
Tongcheng Travel Technology Center
Aug 27, 2021 · Information Security

JavaTweakHook: A Lightweight Android Java Method Hook Framework without Xposed

The article introduces JavaTweakHook, a lightweight Android hook framework that avoids Xposed by directly manipulating ART structures, compares it with existing solutions, details the hook process—including method creation, ArtMethod copying, assembly trampolines, and native‑Java integration—and provides compilation, usage, and limitation notes.

AndroidJavaNative
0 likes · 15 min read
JavaTweakHook: A Lightweight Android Java Method Hook Framework without Xposed
Kuaishou Tech
Kuaishou Tech
Aug 20, 2021 · Mobile Development

Analyzing Android TextView ANR Caused by getOffsetForHorizontal Loop Using Frida

This article investigates an Android ANR triggered by a while‑true loop in TextView's getOffsetForHorizontal, reproduces the issue on Pixel 2, explains how to extract trace files, compares Android Studio debugging with Frida dynamic hooking, and provides step‑by‑step instructions to reproduce and debug the bug.

ANRAndroidFrida
0 likes · 11 min read
Analyzing Android TextView ANR Caused by getOffsetForHorizontal Loop Using Frida
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Aug 20, 2021 · Mobile Development

Android Vold (Volume Daemon) Architecture and Operation Principles

Android Vold is a standalone daemon that bridges the kernel and framework, handling storage hot‑plug events such as USB, SD card, and internal partitions by receiving kernel uevents via Netlink, processing them in VolumeManager, and communicating with StorageManager through Binder to mount, encrypt, and manage file systems.

AndroidHot PlugKernel Uevent
0 likes · 8 min read
Android Vold (Volume Daemon) Architecture and Operation Principles
ByteDance Terminal Technology
ByteDance Terminal Technology
Aug 19, 2021 · Mobile Development

ByteDance's Android PLT Hook Framework bhook Open Source

ByteDance has open‑sourced bhook, an Android PLT hook framework supporting API 16‑31 and multiple ABIs, featuring a trampoline‑based hook mechanism, automatic ELF monitoring, and a robust native crash‑catching module for safe runtime function interception.

AndroidELFNative Hook
0 likes · 16 min read
ByteDance's Android PLT Hook Framework bhook Open Source
Sohu Tech Products
Sohu Tech Products
Aug 18, 2021 · Mobile Development

Android Four Major Components Communication Process and Interaction with ActivityManagerService

This article provides a comprehensive, macro-level analysis of Android's four core components—Activity, Service, BroadcastReceiver, and ContentProvider—detailing how each interacts with the ActivityManagerService (AMS) through Binder IPC, including code examples for startActivity, startService, bindService, broadcast, and ContentProvider operations across processes.

ActivityManagerServiceAndroidBinder
0 likes · 20 min read
Android Four Major Components Communication Process and Interaction with ActivityManagerService
FunTester
FunTester
Aug 15, 2021 · Mobile Development

Mastering Android Testing: Architecture, ADB Commands, and a Complete Test Checklist

This guide provides a comprehensive overview of Android system architecture, explains the ADB communication mechanism, presents a detailed Android app testing checklist covering UI, compatibility, installation, OTA, interaction, concurrency, database, interface, performance, security, and other tests, and lists essential ADB commands and monitoring principles.

ADBAndroidMobile Development
0 likes · 14 min read
Mastering Android Testing: Architecture, ADB Commands, and a Complete Test Checklist
Watermelon Video Tech Team
Watermelon Video Tech Team
Aug 13, 2021 · Mobile Development

Raphael: An Open‑Source Native Memory Leak Detection Tool for Android

Raphael is a native memory‑leak detection tool developed by Bytedance's video team, open‑sourced to address Android native memory issues through a combination of inline/PLT hooking, efficient stack unwinding, and optimized caching, offering low‑overhead, version‑independent monitoring across diverse native allocation APIs.

AndroidHookingNative Memory Leak
0 likes · 24 min read
Raphael: An Open‑Source Native Memory Leak Detection Tool for Android
转转QA
转转QA
Aug 13, 2021 · Mobile Development

Implementing UI Automation Regression for Mobile Event Tracking (埋点)

This article details a UI automation regression framework for mobile event tracking, covering background challenges, Android and iOS log collection methods, H5 integration strategies, performance comparisons, and practical recommendations to improve testing efficiency by about 50%.

AndroidUI automationevent tracking
0 likes · 8 min read
Implementing UI Automation Regression for Mobile Event Tracking (埋点)
Sohu Tech Products
Sohu Tech Products
Aug 11, 2021 · Mobile Development

Encapsulating Retrofit with Kotlin Coroutines in Android MVVM Architecture

This article explains how to integrate Retrofit with Kotlin coroutines following Google’s Android architecture guidelines, covering coroutine basics, OkHttp and Retrofit setup, generic response handling, repository abstraction, ViewModel usage, and lifecycle‑aware coroutine scopes to achieve clean, asynchronous network calls.

AndroidKotlin CoroutinesLiveData
0 likes · 13 min read
Encapsulating Retrofit with Kotlin Coroutines in Android MVVM Architecture
Sohu Tech Products
Sohu Tech Products
Aug 11, 2021 · Mobile Development

Applying Architectural Principles to an Android MVVM Project (WanAndroid)

This article explores software architecture concepts by drawing parallels with building design, explains the goals of architectural design such as scalability and maintainability, and demonstrates a practical Android MVVM implementation using WanAndroid with clean‑architecture patterns, Kotlin, and modular project structure.

AndroidKotlinMVVM
0 likes · 13 min read
Applying Architectural Principles to an Android MVVM Project (WanAndroid)
vivo Internet Technology
vivo Internet Technology
Aug 11, 2021 · Mobile Development

Cross-Platform Rich Text and Editor Solutions

The Vivo Internet Frontend Team explains why modern products need a unified, cross‑platform rich‑text editor and presents a JSON‑based data model and WebView‑embedded editor architecture that enable consistent rendering, seamless native‑web communication, media handling, keyboard control, and error‑retry mechanisms across web, mobile, and desktop environments.

AndroidRich Textcross-platform
0 likes · 13 min read
Cross-Platform Rich Text and Editor Solutions
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Aug 5, 2021 · Mobile Development

Design and Implementation of a Lightweight Startup Information Collection and Visualization Framework

This article presents a lightweight framework for constructing, collecting, and visualizing Android startup task information, replacing heavy systrace data with concise logs, Kotlin data structures, AspectJ instrumentation, and Python scripts that generate readable timelines and discrete charts to aid performance analysis.

AndroidAspectJPerformance
0 likes · 10 min read
Design and Implementation of a Lightweight Startup Information Collection and Visualization Framework
ByteDance Terminal Technology
ByteDance Terminal Technology
Aug 4, 2021 · Mobile Development

Achieving Perfect Text Vertical Centering in Flutter: A Deep Dive into Font Metrics and Android Layout Principles

This article explores the underlying font metrics and layout algorithms that cause text vertical misalignment in Flutter, analyzes Android native solutions like includeFontPadding and getTextBounds, and demonstrates how to implement a precise forceVerticalCenter feature by leveraging Minikin and Skia rendering pipelines.

AndroidCross-platform DevelopmentFlutter
0 likes · 13 min read
Achieving Perfect Text Vertical Centering in Flutter: A Deep Dive into Font Metrics and Android Layout Principles
WeChat Client Technology Team
WeChat Client Technology Team
Aug 3, 2021 · Mobile Development

Detecting and Fixing Android App Power Drain with BatteryCanary

This article explains how Android apps consume power, details the underlying BatteryStatsService, introduces the BatteryCanary tool for monitoring and diagnosing power‑drain issues, and shares practical optimization cases and benchmark results for developers seeking to reduce app energy usage.

AndroidBatteryCanaryPower Monitoring
0 likes · 27 min read
Detecting and Fixing Android App Power Drain with BatteryCanary
ELab Team
ELab Team
Aug 2, 2021 · Mobile Development

Mastering JSBridge: Two‑Way Communication Between WebView and Native

JSBridge (JSB) enables bidirectional communication between a WebView’s JavaScript environment and native mobile code, covering WebView basics, platform-specific APIs, interception and injection methods, callback handling, and practical demos for both Android and iOS, helping developers implement robust cross‑platform bridges.

AndroidJSBridgeMobile Development
0 likes · 14 min read
Mastering JSBridge: Two‑Way Communication Between WebView and Native
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Jul 30, 2021 · Mobile Development

Design and Optimization Practices for In‑Car Android App Development

The article reviews current car‑head‑unit integration models, proposes a channel‑agnostic architecture with voice and multi‑resolution support, details performance‑tuning steps such as size reduction and process consolidation, and shares common pitfalls and project‑management insights to help developers successfully port Android apps to automotive platforms.

AndroidApp DevelopmentMediaSession
0 likes · 21 min read
Design and Optimization Practices for In‑Car Android App Development
Meituan Technology Team
Meituan Technology Team
Jul 29, 2021 · Mobile Development

Improving Test Efficiency for Dynamic Layouts in Meituan App with XraySDK

The article explains how Meituan’s dynamic layout technology, which complicates automated testing, is tackled by XraySDK’s view‑ability transformation that captures layout data via a local HTTP server and custom listeners, boosting dynamic‑card test coverage from zero to over 80% and streamlining future WebView and compatibility testing.

AndroidAppiumAutomation Testing
0 likes · 15 min read
Improving Test Efficiency for Dynamic Layouts in Meituan App with XraySDK
Xianyu Technology
Xianyu Technology
Jul 29, 2021 · Mobile Development

How Xianyu Tackles Android ANR: Monitoring, Diagnosis, and Optimization Strategies

This article explains how Xianyu identifies, monitors, and resolves Android ANR issues by analyzing root causes, implementing SIGQUIT‑based detection, inspecting thread stacks, and applying concrete optimizations such as SharedPreferences replacement, network broadcast caching, and delayed component registration, ultimately cutting ANR rates by more than half.

ANRAndroidMobile Development
0 likes · 11 min read
How Xianyu Tackles Android ANR: Monitoring, Diagnosis, and Optimization Strategies
JD Retail Technology
JD Retail Technology
Jul 28, 2021 · Mobile Development

Applying Aspect‑Oriented Programming (AOP) for Privacy Compliance and Thread Optimization in Android Apps

This article explains how Aspect‑Oriented Programming is applied in Android development to achieve non‑intrusive privacy compliance checks and thread‑usage optimization, detailing the use of compile‑time ASM bytecode instrumentation and runtime Xposed/epic hooks, along with code examples and measured performance gains.

AOPASMAndroid
0 likes · 14 min read
Applying Aspect‑Oriented Programming (AOP) for Privacy Compliance and Thread Optimization in Android Apps
DeWu Technology
DeWu Technology
Jul 24, 2021 · Mobile Development

Why Rust Is the Next Game-Changer for Cross‑Platform Mobile Development

This article examines how Rust can unify client logic across Android and iOS, compares it with React Native and Flutter, and details a MVVM‑based architecture, binding mechanisms, and debugging optimizations that make Rust a lightweight, high‑performance solution for international mobile teams.

AndroidMVVMMobile Development
0 likes · 12 min read
Why Rust Is the Next Game-Changer for Cross‑Platform Mobile Development
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jul 23, 2021 · Mobile Development

Fastboot Protocol and Fastbootd Process on Android Devices

Fastbootd, introduced in Android Q, runs inside recovery to implement the full fastboot flashing protocol—supporting dynamic super‑partition management, USB FunctionFS communication, and OEM commands—by using source files in system/core/fastboot and recovery, triggered via adb or bootloader reboot‑fastboot.

AndroidFastbootFastbootd
0 likes · 7 min read
Fastboot Protocol and Fastbootd Process on Android Devices
Tencent Music Tech Team
Tencent Music Tech Team
Jul 22, 2021 · Mobile Development

Modular Architecture and ViewDelegate Design for QQ Music Playback Page on Android

To tame the growing complexity of QQ Music’s Android playback page, the team replaced the monolithic MVC/SubController design with a clean, layered architecture that uses lightweight, lifecycle‑aware ViewDelegates and LiveData, enabling on‑demand module loading, clear separation of concerns, reduced memory usage, and reusable UI components.

AndroidLiveDataMVVM
0 likes · 23 min read
Modular Architecture and ViewDelegate Design for QQ Music Playback Page on Android
Sohu Tech Products
Sohu Tech Products
Jul 21, 2021 · Mobile Development

Implementation of a Custom Progress View with Particle Animation on Android

This article explains how to build a custom Android progress view featuring random particle motion, radial gradient backgrounds, sector clipping, pointer color changes, animated color transitions, and a jumping number display, with complete source code and step‑by‑step implementation details.

AndroidCustom ViewMobile Development
0 likes · 13 min read
Implementation of a Custom Progress View with Particle Animation on Android
Baidu Intelligent Testing
Baidu Intelligent Testing
Jul 20, 2021 · Mobile Development

Understanding Gradle and the Android Build Process: Projects, Tasks, Dependency Management, and Packaging

This article explains why Android developers need Gradle, describes the structure of a default Android project, details Gradle concepts such as projects, tasks, and the wrapper, and walks through dependency configurations, conflict resolution, and the complete build and packaging pipeline for APK generation.

AndroidGradleMobile Development
0 likes · 17 min read
Understanding Gradle and the Android Build Process: Projects, Tasks, Dependency Management, and Packaging
WeChat Client Technology Team
WeChat Client Technology Team
Jul 19, 2021 · Mobile Development

How to Build a Complete ANR Monitoring Solution on Android

This article explains the Android ANR workflow, analyzes the system's appNotResponding logic, and presents a robust monitoring strategy that captures SIGQUIT signals, validates true ANR events, and hooks trace writes to reliably detect and diagnose ANRs in mobile apps.

ANRAndroidPerformance Monitoring
0 likes · 22 min read
How to Build a Complete ANR Monitoring Solution on Android
Laravel Tech Community
Laravel Tech Community
Jul 18, 2021 · Mobile Development

Running Windows 11 on Android Phones and Raspberry Pi: An Overview of the Renegade Project

The article explains how the Windows 11 preview can be installed on Snapdragon‑based Android phones and Raspberry Pi devices via the community‑driven Renegade Project, detailing the required tools, current device support, encountered limitations, and the broader implications for ARM‑based Windows deployments.

ARMAndroidOS porting
0 likes · 5 min read
Running Windows 11 on Android Phones and Raspberry Pi: An Overview of the Renegade Project
Sohu Tech Products
Sohu Tech Products
Jul 14, 2021 · Mobile Development

MotionLayout Tutorial: Creating Advanced UI Animations for Android Apps

This article provides a step‑by‑step guide on using MotionLayout in Android, covering dependency setup, layout and MotionScene creation, defining start and end states, adding keyframe animations, gesture handling with OnSwipe, and common attributes for building complex UI transitions.

AndroidConstraintLayoutMobile Development
0 likes · 22 min read
MotionLayout Tutorial: Creating Advanced UI Animations for Android Apps
Sohu Tech Products
Sohu Tech Products
Jul 14, 2021 · Mobile Development

Resolving IllegalStateException: closed During Android File Upload with RxHttp and OkHttp

This article details a real‑world Android file‑upload failure caused by the Android Studio Profiler’s OkHttp3Interceptor closing the request’s BufferedSink, explains the debugging steps taken, and provides code modifications to the ProgressRequestBody to prevent the IllegalStateException and ensure correct upload progress tracking.

AndroidNetwork InterceptorProgressRequestBody
0 likes · 14 min read
Resolving IllegalStateException: closed During Android File Upload with RxHttp and OkHttp
WeChat Client Technology Team
WeChat Client Technology Team
Jul 13, 2021 · Mobile Development

How to Accurately Detect UI Lag and ANR on Android: Advanced Monitoring Techniques

This article explains the relationship between UI stutter and ANR, critiques common monitoring tools, and presents three robust Android lag‑detection methods—WatchDog polling, Looper Printer replacement, and specialized handlers for IdleHandler, TouchEvent, and SyncBarrier leaks—complete with probability analysis and sample code.

ANRAndroidIdleHandler
0 likes · 17 min read
How to Accurately Detect UI Lag and ANR on Android: Advanced Monitoring Techniques