Android 17 Has Officially Landed — Google’s First “Intelligence System” Release
- Apple’s Native Linux Container Tool Has Arrived — But Can It Really Replace Docker?
- 60% of MD5 Password Hashes Can Be Cracked in Under an Hour with a Single GPU
- Dirty Frag: Root Access on Every Major Linux Distribution — No Patch, No Warning
- Proton Mail: Data Transferred to FBI Again!
- How Close Are Quantum Computers to Breaking RSA-2048?
- What is the best alternative to Microsoft Office?
Android 17 Has Officially Landed — Google’s First “Intelligence System” Release
Stable build ships to Pixel and AOSP simultaneously, pairing a mandatory large-screen overhaul with a new layer that lets apps expose their own capabilities directly to an on-device AI agent.
Google has finalized Android 17, pushing the stable build to supported Pixel devices and publishing the full source tree to the Android Open Source Project on the same day. The release lands alongside Wear OS 7 and the June 2026 Pixel Feature Drop, and Google is framing it as a turning point rather than an incremental update: the company describes Android 17 as the start of a shift from a conventional mobile OS into what it calls an intelligence system, echoing the platform-level AI push Apple outlined at its own developer conference earlier in the cycle.
01Apps as tools, not just destinations
The headline platform change is AppFunctions, a new Jetpack library (currently in alpha) that lets developers mark specific app capabilities as callable by the system-level AI agent, rather than requiring the agent to navigate the app’s UI to get something done. A note-taking app, for instance, could expose “create note” or “search notes” as discrete functions an assistant can invoke directly.
Functions are declared with a Kotlin annotation and documented in KDoc, which the on-device model uses to understand what each call does and what arguments it expects:
class NoteFunctions(private val repo: NoteRepository) {
/** Creates a new note from a title and body. */
@AppFunction(isDescribedByKDoc = true)
suspend fun createNote(title: String, content: String): Note {
return repo.createNote(title, content)
}
}
Google has also shipped an AppFunctions “agent skill” that scans an existing app, generates the Kotlin scaffolding, tidies up the KDoc, and produces ADB commands so developers can test the new hooks without writing the wiring by hand.
02Large screens stop being optional
Android 17 also makes good on a warning Google has been repeating for two release cycles: once an app targets SDK 37, it can no longer opt out of resizability, orientation flexibility, or aspect-ratio constraints on screens above 600dp. The system now ignores legacy controls like screenOrientation, resizeableActivity="false", and min/max aspect ratio attributes on qualifying devices — with an exemption carved out for titles listed under the Games category on Play.
Google is pairing the mandate with new window tools rather than just removing the old escape hatches: App Bubbles let any app — not just messaging threads — be popped into a movable floating window from a long-press on its icon; a dedicated Bubble Bar organizes those bubbles on tablets and foldables; and a new Desktop Interactive PiP mode allows picture-in-picture windows to accept input instead of acting as read-only overlays.
Most configuration changes — keyboard attach/detach, navigation mode, touchscreen state, color mode — no longer trigger a full Activity restart by default. Apps that depend on a restart to refresh resources now need to opt back in explicitly via the new android:recreateOnConfigChanges manifest attribute.
03Continue On: handoff between devices, with a web fallback
A new Continue On feature surfaces a continuation prompt on a second device’s taskbar when a user switches from, say, a phone to a tablet mid-task, deep-linking back into the same screen. Notably, it supports an app-to-web fallback: if the second device doesn’t have the app installed, the handoff degrades gracefully to a browser tab instead of failing outright. Developers enable it by calling setHandoffEnabled() and implementing a callback that returns the state to hand off.
04Compose-first, View in maintenance mode
Google has formally declared Android development Compose-first: new platform APIs, libraries, and guidance will be built around Jetpack Compose first, while legacy View-based components — Fragment, RecyclerView, ViewPager among them — move into maintenance status and stop receiving new features. A companion “Compose adaptive” agent skill is meant to help teams retrofit multi-pane layouts, FlexBox/Grid behavior, and dynamic window states into existing apps.
05Memory limits with no crash signal
Performance changes in this release carry real consequences for apps that mismanage memory. Android 17 enforces stricter per-app memory ceilings tied to total device RAM, and a foreground app or service that exceeds its limit can simply be killed by the system — without the usual crash callback. Developers can recover some visibility through ApplicationExitInfo.getDescription(), which now reports a MemoryLimiter:AnonSwap reason when this happens, and through ProfilingManager‘s new anomaly trigger, which can automatically capture a heap dump the moment the limit is hit.
ART’s garbage collector adds a lighter, more frequent young-generation pass that separates short-lived objects from stable ones, cutting full heap scans (and rolling out to older devices via Google Play system updates). Apps targeting SDK 37 also get a lock-free MessageQueue to reduce frame drops — though reflection access to its private internals will now throw. Static final fields become genuinely immutable at the platform level, and custom notification views face tighter size limits to close a memory-bypass loophole.
06Privacy moves from permissions to pickers
The privacy direction across this release is consistent: replace broad, standing permissions with system-mediated pickers and session-scoped grants. A new contact picker lets apps request a single field — an email or phone number — without ever touching full READ_CONTACTS access. The Photo Picker gains customizable thumbnail ratios for vertical-content apps. A system-rendered location button grants precise location for the current session only, and a new EyeDropper API lets apps sample any on-screen color through the system color picker instead of requesting screen-recording permissions.
Local network access tightens too: apps that need to reach LAN devices — smart-home hardware, printers, NAS boxes, screen-mirroring receivers — must now request a new ACCESS_LOCAL_NETWORK runtime permission or route through a privacy-preserving device picker, which is likely to require real rework for IoT and casting apps that previously scanned local networks by default.
SMS-based OTP handling gets a three-hour delay for apps targeting SDK 37+ that aren’t the verified recipient of a WebOTP-formatted message, with default-app and SMS-retriever flows exempted — Google’s push to get developers off direct SMS reads and onto the SMS Retriever or User Consent APIs.
07Native code, keyboards, and a CameraX warning
The dynamic-code-loading protections Android 14 applied to DEX and JAR files now extend to native libraries: on SDK 37+, any native file loaded via System.load() must be read-only, or the system throws UnsatisfiedLinkError — a direct hit to hot-update systems, plugin frameworks, and hardening shells that unpack and load native code at runtime. Physical-keyboard password entry also gets quieter by default, with the last typed character no longer echoed on screen.
On the media side, updates are mostly incremental: Eclipsa video metadata for adaptive HDR playback, RAW14 capture for compatible sensors, vendor-defined camera extensions, an extended HE-AAC encoder, optional VVC/H.266 decode support, a new query for camera device type (built-in, USB, or virtual), and constant-quality video recording. One practical note for camera developers: CameraX and Media3 have both been updated for this release, and Google is flagging that apps need CameraX 1.5.2 or 1.6.0+ specifically, since older versions can crash against Android 17’s new dynamic range mode.
A smaller but meaningful accessibility addition: a dedicated TYPE_BLE_HEARING_AID device constant lets apps and the system distinguish BLE hearing aids from regular headphones, enabling finer routing control over whether notifications, ringtones, and alarms go through the hearing aid or the phone’s speaker.
08What developers should check first
- Anything relying on forced portrait orientation or fixed window sizing on tablets/foldables will need real adaptive layout work, not a manifest tweak.
- Plugin, hot-update, or hardening systems that load native
.sofiles dynamically need a read-only file permission audit. - Any direct SMS-reading OTP flow should migrate to SMS Retriever or User Consent APIs before the three-hour delay affects users.
- Apps with custom LAN discovery (casting, smart-home, printing) need to plan for
ACCESS_LOCAL_NETWORKor the new device picker. - Memory-heavy foreground services should add
ProfilingManageranomaly triggers now, before silent kills show up as unexplained churn. - Camera apps on CameraX must confirm they’re on 1.5.2/1.6.0 or newer before users land on Android 17.
09Rollout: Pixel first, everyone else through the year
The stable build is rolling out first to eligible Pixel devices (Pixel 6 series and newer), with Google saying other certified Android devices will receive it in phases “throughout 2026.” Select higher-end devices are expected to get the deeper Gemini Intelligence agent features later in the summer rather than at launch. Other manufacturers are already moving: Samsung is expected to bring its Android 17-based One UI 9 to newer Galaxy devices around its Galaxy Unpacked event in July, with older and mid-range hardware following later in the year, and partners including OnePlus, Xiaomi, Honor, Vivo, Oppo, iQOO, Lenovo, and Realme already had devices in the public beta program ahead of the stable release.
