Zygote
API 37 · CINNAMON_BUN

Android 17 Cinnamon Bun

Android becomes an "intelligence system": AppFunctions expose app capabilities as tools for on-device AI agents

released
2026-06-16
runtime
ART
design
Material 3 Expressive
status
stable

The story

Android 17 is the platform's first release after Google described Android as an intelligence system rather than an operating system.

The problem

Apps were still built for a single form factor, memory use was unmanaged, and the platform's UI toolkit was split between two paradigms.

Android 17 removed the large-screen orientation opt-out, enforced strict app memory limits, added generational GC and a lock-free MessageQueue, introduced App Bubbles and Continue On, and declared Android Compose-first.

The one thing to remember

The release where Compose became the platform's UI.

What shipped

  • Android becomes an "intelligence system": AppFunctions expose app capabilities as tools for on-device AI agents
  • Adaptive-first: orientation and resizability restrictions are ignored on large screens
  • App Bubbles and the Bubble Bar for multitasking
  • Continue On hands a task from phone to tablet
  • Desktop interactive Picture-in-Picture
  • System Contact Picker and a system-rendered Location Button

Platform internals

What changed underneath the APIs. These are the changes this site's architecture modules explain in depth.

  • Strict per-device app memory limits are enforced by the system
  • Generational garbage collection is added to ART's Concurrent Mark-Compact collector
  • A lock-free MessageQueue for apps targeting API 37
  • Compose-first: new platform and Jetpack APIs target Compose only; View libraries enter maintenance mode
  • Hybrid APK signing (v3.2) combines classical and ML-DSA post-quantum signatures
  • Native library dynamic code loading must be read-only

What developers had to deal with

  • Activities no longer restart for keyboard, navigation, touchscreen and colour-mode changes by default; android:recreateOnConfigChanges opts back in
  • static final fields can no longer be modified by reflection when targeting 37
  • ACCESS_LOCAL_NETWORK runtime permission for local network access
  • SMS OTP access delayed for apps that are not the intended recipient
  • ACTION_PICK_CONTACTS gives session-scoped contact field access
  • ACTION_OPEN_EYE_DROPPER provides a system colour picker
  • Custom notification views are further restricted

Permissions introduced here

  • ACCESS_BIOMETRIC_SENSOR_STRENGTHSunknown
  • ACCESS_HIDinternal|appop
  • ACCESS_LOCAL_NETWORKdangerous
  • BIND_ALTERNATIVE_MESSAGE_TRANSPORT_SERVICEunknown
  • BIND_CONTENT_RESTRICTION_SERVICEsignature
  • BIND_CONTENT_SAFETY_SERVICEsignature
  • BIND_DATA_MIGRATION_FOR_PRIVATECOMPUTEsignature
  • BIND_PCC_EGRESS_SERVICEinternal
  • INSTALL_PACKAGES_AS_REGISTERED_APP_STORErole
  • LOCK_APPSinternal|role|recents
  • MANAGE_ASSISTANT_AUDIOsignature|preinstalled|role|appop
  • MANAGE_CONTACTSsignature|preinstalled|appop
  • MANAGE_DEVICE_POLICY_UNIVERSAL_CLIPBOARDinternal|role
  • MANAGE_PERIPHERAL_CUSTOMIZATIONinternal|appop
  • OVERRIDE_MEDIA_SESSION_OWNERunknown
  • PROVIDE_PRIVATE_COMPUTE_SERVICESsignature|privileged
  • QUERY_APP_USAGEinternal|role
  • READ_ASSIST_STRUCTURE_SCREEN_CONTENTnormal
  • READ_HOME_TIME_ZONEsignature|privileged|role
  • READ_UPDATE_ENGINE_LOGSunknown
  • REPOSITION_SELF_WINDOWSsignature|role
  • REQUEST_COMPANION_PROFILE_MEDICALunknown
  • SHOW_POWER_MENUunknown
  • SHOW_POWER_MENU_PRIVILEGEDunknown

…and 2 more.

Where this sits

Release 37 of 37 API levels, by date
Headline features
6
Architecture changes
6
Developer changes
7
Sources cited
6

Kernel

This release shipped on Linux kernel versions 6.18. Kernel versions vary by device.