Deprecations
Stay organized with collections
Save and categorize content based on your preferences.
With each release, specific Android APIs might become obsolete or need to be
refactored to provide a better developer experience or support new platform
capabilities. In these cases, we officially deprecate the obsolete APIs and
direct developers to alternative APIs to use instead.
Deprecation means that we've ended official support for the APIs, but they will
continue to remain available to developers. This page highlights some of the
notable deprecations in this release of Android. To see other deprecations,
refer to the API diff report.
Use Spatializer instead of Virtualizer
First added in Android 12 (API level 32), the Spatializer
class lets apps query the capabilities and behavior of sound spatialization on
the device. In Android 15, the Virtualizer
class is
deprecated. Use
AudioAttributes.Builder.setSpatializationBehavior
instead
to characterize how you want your content to be played when spatialization is
supported.
AndroidX media3 ExoPlayer 1.0 enables spatial audio by default for multichannel
audio when the device supports it. See this
recent blog post and the
spatial audio documentation for more information, including
APIs to control the feature.
WebSQL deprecated in Android WebView
The setDatabaseEnabled
and getDatabaseEnabled
methods from WebSettings
are now deprecated. These settings activated support
for WebSQL inside Webview. WebSQL is now removed in Chrome and is now deprecated
on Android Webview. These methods will become a no-op on all Android versions in
the next 12 months.
The World Wide Web Consortium (W3C) encourages
apps needing web databases to adopt Web Storage API
technologies like localStorage
and sessionStorage, or
IndexedDB. SQLite Wasm in the browser backed by the
Origin Private File System
outlines a replacement set of technologies based on the
SQLite database,
compiled to Web Assembly (Wasm), and backed by the
origin private file system
to enable more direct migration
of WebSQL code.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-26 UTC.
[null,null,["Last updated 2025-08-26 UTC."],[],[],null,["With each release, specific Android APIs might become obsolete or need to be\nrefactored to provide a better developer experience or support new platform\ncapabilities. In these cases, we officially deprecate the obsolete APIs and\ndirect developers to alternative APIs to use instead.\n\nDeprecation means that we've ended official support for the APIs, but they will\ncontinue to remain available to developers. This page highlights some of the\nnotable deprecations in this release of Android. To see other deprecations,\nrefer to the [API diff report](/sdk/api_diff/35/changes).\n\nUse Spatializer instead of Virtualizer\n\nFirst added in Android 12 (API level 32), the [`Spatializer`](/reference/android/media/Spatializer)\nclass lets apps query the capabilities and behavior of sound spatialization on\nthe device. In Android 15, the [`Virtualizer`](/reference/android/media/audiofx/Virtualizer) class is\ndeprecated. Use\n[`AudioAttributes.Builder.setSpatializationBehavior`](/reference/android/media/AudioAttributes.Builder#setSpatializationBehavior(int)) instead\nto characterize how you want your content to be played when spatialization is\nsupported.\n\nAndroidX media3 ExoPlayer 1.0 enables spatial audio by default for multichannel\naudio when the device supports it. See this\n[recent blog post](https://android-developers.googleblog.com/2023/04/delivering-immersive-sound-experience-with-spatial-audio.html) and the\n[spatial audio documentation](/media/grow/spatial-audio#exoplayer) for more information, including\nAPIs to control the feature.\n\nWebSQL deprecated in Android WebView\n\nThe [`setDatabaseEnabled`](/reference/android/webkit/WebSettings#setDatabaseEnabled(boolean)) and [`getDatabaseEnabled`](/reference/android/webkit/WebSettings#getDatabaseEnabled())\nmethods from `WebSettings` are now deprecated. These settings activated support\nfor WebSQL inside Webview. WebSQL is now removed in Chrome and is now deprecated\non Android Webview. These methods will become a no-op on all Android versions in\nthe next 12 months.\n\nThe World Wide Web Consortium (W3C) [encourages](https://www.w3.org/TR/webdatabase/#:%7E:text=The%20Web%20Applications%20Working%20Group%20continues%20work%20on%20two%20other%20storage%2Drelated%20specifications%3A%20Web%20Storage%20and%20Indexed%20Database%20API.)\napps needing web databases to adopt [Web Storage API](https://developer.mozilla.org/docs/Web/API/Web_Storage_API)\ntechnologies like [localStorage](https://developer.mozilla.org/docs/Web/API/Window/localStorage)\nand [sessionStorage](https://developer.mozilla.org/docs/Web/API/Window/sessionStorage), or\n[IndexedDB](https://developer.mozilla.org/docs/Web/API/IndexedDB_API/Using_IndexedDB). [SQLite Wasm in the browser backed by the\nOrigin Private File System](https://developer.chrome.com/blog/sqlite-wasm-in-the-browser-backed-by-the-origin-private-file-system)\noutlines a replacement set of technologies based on the\n[SQLite](https://sqlite.org/) database,\n[compiled to Web Assembly](https://sqlite.org/wasm) (Wasm), and backed by the\n[origin private file system](https://developer.mozilla.org/docs/Web/API/File_System_Access_API#origin_private_file_system)\nto enable more [direct migration](https://developer.chrome.com/blog/from-web-sql-to-sqlite-wasm/)\nof WebSQL code."]]