Android Articles

AGP 9 R8 Keep Rules: Fixing a WorkManager InputMerger Upload Failure

An AGP 9.0.1 migration removed a constructor needed by WorkManager 2.8.1. Analytics uploads fell back to disk scanning, distorting arrival-time ordering.

Android CompatChange: PlatformCompat Behavior Toggles and targetSdk Governance

A close look at Android's PlatformCompat framework: the CompatChange decision path, adb debug toggles, vendor overlay pitfalls, and the adaptation engineering methodology behind targetSdk version governance.

Android Transformer Optimization: Attention and Mobile GPU Bottlenecks

A walkthrough of porting FlashAttention into an OpenGL ES Compute Shader on Android, using tiled computation and Online Softmax to cut attention memory traffic from O(n²) to O(n). Measured on the Mali-G710, latency dropped from 120ms to 18ms.

Android gRPC End to End: Protobuf Code Generation to Bidirectional Streaming for Client-Cloud Collaboration

Starting from a real client-cloud voice assistant, this post walks through gRPC on Android: Protobuf contract generation, bidirectional streaming, and practical concerns such as threading, backpressure, and reconnection.

Android MQTT Communication End to End: From Paho QoS Semantics to Doze-Mode Keepalive Engineering

From MQTT QoS semantics and Paho acknowledgment retransmission to Doze-mode long-connection keepalive, a complete reliability chain and engineering practice for Android IoT communication.

How Android Private Space Works: Multi-User Isolation and FBE Encryption

Private Space is not simply hiding icons — it is a privacy container built from multi-user isolation, FBE file-level encryption, and system service coordination. This post walks through the full chain from user sandbox to key eviction.

Android Geofence End to End: Registration, Triggering, and Doze Failures

A full walkthrough of Android geofences from registration to triggering: PendingIntent callbacks, fused location, and how Doze power-saving causes trigger failures—with power optimization practices.

Inside Retrofit: Dynamic Proxies and Coroutine Call Adapters

Break down Retrofit network layer end to end: from JDK dynamic proxy intercepting interface methods, to annotation parsing generating request templates, to OkHttp lazy-execution bridging and CallAdapter coroutine adaptation, revealing the plugin-based design behind declarative HTTP architecture.

Android Audio Capture End to End: AudioRecord, Echo Cancellation, and On-Device ASR

A complete walkthrough of Android audio capture: AudioRecord buffer tradeoffs, AAudio low-latency input, echo cancellation, on-device ASR data adaptation, and a practical reference architecture for simultaneous playback and listening.

Android SurfaceView, TextureView, and SurfaceTexture: The Rendering Bridge from BufferQueue Producers to Surface Compositing

Starting from BufferQueue's producer-consumer model, this article breaks down the bridging relationships and compositing-path differences among SurfaceView, TextureView, and SurfaceTexture, and offers selection guidance for camera and video rendering.

Android Casting End to End: From MediaRouter Discovery to Google Cast Session Management

A breakdown of Android casting end to end: MediaRouter device discovery, the Cast Session state machine, and the pitfalls of background resume, so you avoid mixing Route and Session lifecycles.

Deep Dive into Android's Haptic Feedback System: From VibrationEffect Waveform Synthesis to Vibrator HAL Haptic Design Engineering Practice

From VibrationEffect waveform synthesis and VibratorManager scheduling to HAL drivers, dissect Android's haptic feedback chain and summarize haptic design engineering practices under power-save mode.

Deep Dive into Android JobScheduler: From Binder Scheduling in JobSchedulerService to Doze/App Standby Constrained Deferred Task Execution

Starting from WorkManager scheduling, this traces JobSchedulerService's Binder entry, JobStore persistence, the StateController constraint chain, and the interception logic and debugging methods for Doze and App Standby.

Android SELinux Access Control Architecture: sepolicy Compilation, Domain Transitions, and neverallow Auditing

Starting from an avc denial log, this article systematically walks through Android SELinux's sepolicy compilation pipeline, domain transitions, contexts mapping, and neverallow auditing, with native service troubleshooting and practical advice.

Android Telephony End-to-End: Call State Machine and SMS Flow from TelephonyManager to RIL

A full walkthrough of Android Telephony architecture: the TelephonyManager facade, the Phone process call state machine, the RIL sequence protocol, and the two separate SMS send/receive paths—plus how to localize issues by layer.

Adaptive Performance Scheduling with Android ADPF: From Thermal API to Performance Hints

How Android's Dynamic Performance Framework connects Thermal API, Performance Hints, and Game Mode to shed load before thermal throttling and flatten the frame-drop curve.

Android On-Device Stable Diffusion: From Denoising Principles to LiteRT Mobile Image Generation

From Stable Diffusion denoising to LiteRT mobile deployment: FP16 quantization, LCM distillation, and on-demand loading cut single-image generation on Pixel 8 from 40 seconds to under 3 seconds.

Inside Android SQLite: Connection Pool Reuse, WAL Logging, and Transaction Isolation

A "database is locked" investigation leads into connection pool reuse, WAL logging, and transaction isolation internals, with a practical checklist for concurrent read/write scenarios.

Android Reflection Under the Hood: Hidden API Greylist Bypass to Runtime Dynamic Proxy Metaprogramming

Starting from a NoSuchMethodException crash, this article examines how Android's reflection mechanism works at the ART layer, the filtering logic of the three-tier hidden API greylist, and the applicable boundaries of three bypass approaches — meta-reflection replacement, setHiddenApiExemptions, and clearing flag bits via JNI — then discusses dynamic proxy production engineering and the engineering trade-offs of metaprogramming.

Android Analytics SDK End-to-End: From Event Collection Design to a Reliable Data Reporting Pipeline

A systematic walkthrough of an Android analytics SDK's full pipeline: event modeling, exposure collection and deduplication, mmap persistence over SQLite, batch compression with exponential-backoff reporting, and privacy compliance and production monitoring.