What’s New in Android 11 Developer Preview 3? Debugging, Wireless ADB, and More
Android 11 Developer Preview 3 brings new debugging APIs, system‑level wireless ADB, faster incremental APK installation, data‑access auditing, plus updates to CameraX, Dagger integration, Kotlin object usage, high refresh‑rate rendering, and the latest AndroidX library releases.
Android 11 Developer Preview 3
Android 11 DP3 introduces new debugging tools, wireless ADB, incremental ADB install, and a data‑access auditing API.
Debugging improvements
ActivityManager.getHistoricalProcessExitReasons() returns detailed exit reasons for recent process terminations, helping developers pinpoint crashes.
GWP‑ASan, a low‑overhead heap sampling tool, is now enabled by default in system executables and can be turned on for apps to detect native memory errors.
Wireless debugging
Wireless ADB is now a system‑level feature; developers can connect via command line and a pairing code without a USB cable. See the official documentation at https://developer.android.com/preview/features#wireless-adb.
Incremental ADB install
ADB incremental install speeds up large APK updates up to tenfold, but requires the new APK Signature Scheme v4 and works only on Pixel 4/4XL devices running the Android 11 preview.
Data‑access auditing
The new DataAccessAuditing API lets apps audit which code paths access user data, useful for large apps with many third‑party libraries. A Kotlin sample is available at https://github.com/android/permissions-samples/tree/master/DataAccessAuditingKotlin.
Related articles
CameraX preview
Husayn Hakeem’s Medium article shows how to display a camera preview with PreviewView, simplifying surface management.
Dagger navigation support in Android Studio
Android Studio 4.1 Canary adds automatic navigation to Dagger components, similar to the Database Inspector feature.
Kotlin object keyword
The article explains three uses of object:
Singleton classes – the compiler generates a static instance and a private constructor.
Companion objects – serve as a static substitute because Kotlin lacks a static keyword.
Anonymous objects – e.g., object : Xxx for creating ad‑hoc implementations.
Sample bytecode and decompiled Java are shown:
object Singleton {
private var count: Int = 0
fun count() { count++ }
} public final class Singleton {
private static int count;
public static final Singleton INSTANCE;
public final int getCount() { return count; }
public final void setCount(int var1) { count = var1; }
public final int count() { int var1 = count++; return var1; }
private Singleton() {}
static { Singleton var0 = new Singleton(); INSTANCE = var0; }
}High refresh‑rate rendering
Android 11 flagship devices now support dynamic refresh rates up to 120 Hz. The blog explains how the framework renders frames and how apps can request different rates.
AndroidX updates
Navigation 2.3.0‑alpha06
Introduces Kotlin DSL for building navigation graphs dynamically, enabling navigation to on‑demand dynamic feature modules. Example repository: https://github.com/android/app-bundle-samples/tree/master/DynamicFeatureNavigation/DSL. Documentation: https://developer.android.com/guide/navigation/navigation-kotlin-dsl.
Fragment 1.3.0‑alpha04
Brings significant changes to fragment communication; the new API for passing data between fragments is documented at https://developer.android.com/training/basics/fragments/pass-data-between.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
AI Code to Success
Focused on hardcore practical AI technologies (OpenClaw, ClaudeCode, LLMs, etc.) and HarmonyOS development. No hype—just real-world tips, pitfall chronicles, and productivity tools. Follow to transform workflows with code.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
