×

注意!页面内容来自https://android-developers.googleblog.com/2026/04/the-fourth-beta-of-android-17.html,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

🔍
Platform Android Studio Google Play Jetpack Kotlin Docs News

16 April 2026

The Fourth Beta of Android 17


Link copied to clipboard
Posted by Dan GalpinDeveloper Relations Engineer


Android 17 has reached beta 4the last scheduled beta of this release cyclea critical milestone for app compatibility and platform stability. Whether you're fine-tuning your app's user experienceensuring smooth edge-to-edge renderingor leveraging the newest APIsBeta 4 provides the near-final environment you need to be testing with.

Get your appslibrariestoolsand game engines ready!

If you develop an Android SDKlibrarytoolor game engineit's critical to prepare any necessary updates now to prevent your downstream app and game developers from being blocked by compatibility issues and allow them to target the latest SDK features. Please let your downstream developers know if updates are needed to fully support Android 17.



Testing involves installing your production app or a test app making use of your library or engine using Google Play or other means onto a device or emulator running Android 17 Beta 4. Work through all your app's flows and look for functional or UI issues. Each release of Android contains platform changes that improve privacysecurityand overall user experience; review the app impacting behavior changes for apps running on and targeting Android 17 to focus your testingincluding the following:

  • Resizability on large screens: Once you target Android 17you can no longer opt out of maintaining orientationresizability and aspect ratio constraints on large screens.
  • Dynamic code loading: If your app targets Android 17 or higherthe Safer Dynamic Code Loading (DCL) protection introduced in Android 14 for DEX and JAR files now extends to native libraries. All native files loaded using System.load() must be marked as read-only. Otherwisethe system throws UnsatisfiedLinkError.
  • Enable CT by default: Certificate transparency (CT) is enabled by default. (On Android 16CT is available but apps had to opt in.)
  • Local network protections: Apps targeting Android 17 or higher have local network access blocked by default. Switch to using privacy preserving pickers if possibleand use the new ACCESS_LOCAL_NETWORK permission for broadpersistent access.
  • Background audio hardening: Starting in Android 17the audio framework enforces restrictions on background audio interactions including audio playbackaudio focus requestsand volume change APIs. Based on your feedbackwe’ve made some changes since beta 2including targetSDK gating while-in-use FGS enforcement and exempting alarm audio. Full details available in updated guidance.

App memory limits

Android is introducing app memory limits based on the device's total RAM to create a more stable and deterministic environment for your applications and Android users. In Android 17limits are set conservatively to establish system baselinestargeting extreme memory leaks and other outliers before they trigger system-wide instability resulting in UI stutteringhigher battery drainand apps being killed. While we anticipate minimal impact on the vast majority of app sessionswe recommend the following memory best practicesincluding establishing a baseline for memory.

In the current implementationgetDescription in ApplicationExitInfo will contain the string "MemoryLimiter" if your app was impacted. You can also use trigger-based profiling with TRIGGER_TYPE_ANOMALY to get heap dumps that are collected when the memory limit is hit.

The LeakCanary task in the Android Studio Profiler

To help you find memory leaksAndroid Studio Panda adds LeakCanary integration directly in the Android Studio Profiler as a dedicated taskcontextualized within the IDE and fully integrated with your source code.

A lighter memory footprint translates directly to smoother performancelonger battery lifeand a premium experience across all form factors. Let’s build a fastermore reliable future for the Android ecosystem together!

Profiling triggers for app anomalies

Android introduces an on-device anomaly detection service that monitors for resource-intensive behaviors and potential compatibility regressions. Integrated with ProfilingManagerthis service allows your app to receive profiling artifacts triggered by specific system-detected events.

Use the TRIGGER_TYPE_ANOMALY trigger to detect system performance issues such as excessive binder calls and excessive memory usage. When an app breaches OS-defined memory limitsthe anomaly trigger allows developers to receive app-specific heap dumps to help identify and fix memory issues. Additionallyfor excessive binder spamthe anomaly trigger provides a stack sampling profile on binder transactions.

This API callback occurs prior to any system imposed enforcements. For exampleit can help developers collect debug data before the app is terminated by the system due exceeding memory limits. To understand how to use the trigger check out our documentation on trigger based profiling.

val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java)
val triggers = ArrayList<ProfilingTrigger>()  
triggers.add(ProfilingTrigger.Builder(
             ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
val mainExecutor: Executor = Executors.newSingleThreadExecutor()
val resultCallback = Consumer<ProfilingResult> { profilingResult ->
    if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
        // upload profile result to server for further analysis          
        setupProfileUploadWorker(profilingResult.resultFilePath)
    } 
}
profilingManager.registerForAllProfilingResults(mainExecutorresultCallback)
profilingManager.addProfilingTriggers(triggers)

Post-Quantum Cryptography (PQC) in Android Keystore

Android Keystore added support for the NIST-standardized ML-DSA (Module-Lattice-Based Digital Signature Algorithm). On supported devicesyou can generate ML-DSA keys and use them to produce quantum-safe signaturesentirely in the device’s secure hardware. Android Keystore exposes the ML-DSA-65 and ML-DSA-87 algorithm variants through the standard Java Cryptographic Architecture APIs: KeyPairGenerator, KeyFactoryand Signature. For further detailssee our developer documentation.

KeyPairGenerator generator = KeyPairGenerator.getInstance(
        “ML-DSA-65”"AndroidKeyStore");
generator.initialize(
        new KeyGenParameterSpec.Builder(
                “my-key-alias”,
                KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
        .build());
KeyPair keyPair = generator.generateKeyPair();

Get started with Android 17

You can enroll any supported Pixel device to get this and future Android Beta updates over-the-air. If you don’t have a Pixel deviceyou can use the 64-bit system images with the Android Emulator in Android Studio.

If you are currently in the Android Beta programyou will be offered an over-the-air update to Beta 4. Continue to report issues and submit feature requests on the feedback page. The earlier we get your feedbackthe more we can include in our work on the final release.

For the best development experience with Android 17we recommend that you use the latest preview of Android Studio (Panda). Once you’re set uphere are some of the things you should do:

  • Compile against the new SDKtest in CI environmentsand report any issues in our tracker on the feedback page.
  • Test your current app for compatibilitylearn whether your app is affected by changes in Android 17and install your app onto a device or emulator running Android 17 and extensively test it.

We’ll update the preview/beta system images and SDK regularly throughout the Android 17 release cycle. Once you’ve installed a beta buildyou’ll automatically get future updates over-the-air for all later previews and Betas. For complete informationvisit the Android 17 developer site.

Join the conversation

Your feedback remains our most valuable asset. Whether you’re an early adopter on the Canary channel or an app developer testing on Beta 4consider joining our communities and filing feedback. We’re listening.