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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post