Android 15 में, डेवलपर के लिए बेहतरीन सुविधाएं और एपीआई जोड़े गए हैं. इन सुविधाओं के बारे में खास जानकारी देने के लिए, यहां दिए गए सेक्शन में इनके बारे में बताया गया है. इससे, आपको इनसे जुड़े एपीआई का इस्तेमाल शुरू करने में मदद मिलेगी.
जोड़े गए, बदले गए, और हटाए गए एपीआई की पूरी सूची के लिए, एपीआई के बीच अंतर की रिपोर्ट पढ़ें. जोड़े गए एपीआई के बारे में ज़्यादा जानने के लिए, Android एपीआई का रेफ़रंस देखें — Android 15 के लिए, एपीआई लेवल 35 में जोड़े गए एपीआई देखें. जिन जगहों पर प्लैटफ़ॉर्म में हुए बदलावों का आपके ऐप्लिकेशन पर असर पड़ सकता है उनके बारे में जानने के लिए, Android 15 को टारगेट करने वाले ऐप्लिकेशन और सभी ऐप्लिकेशन के लिए, Android 15 के काम करने के तरीके में हुए बदलावों के बारे में ज़रूर पढ़ें.
कैमरा और मीडिया
Android 15 में कई सुविधाएं शामिल हैं, जो कैमरे और मीडिया के अनुभव को बेहतर बनाती हैं. साथ ही, आपको ऐसे टूल और हार्डवेयर का ऐक्सेस देती हैं जिनसे क्रिएटर्स, Android पर अपनी कल्पना को ज़िंदा कर पाते हैं.
Android मीडिया और कैमरे के लिए उपलब्ध नई सुविधाओं और डेवलपर के लिए उपलब्ध सलूशन के बारे में ज़्यादा जानने के लिए, Google I/O में Android मीडिया और कैमरे के आधुनिक अनुभव बनाने के बारे में दी गई बातचीत देखें.
कम रोशनी वाला मोड
Android 15 introduces Low Light Boost, an auto-exposure mode available to both Camera 2 and the night mode camera extension. Low Light Boost adjusts the exposure of the Preview stream in low-light conditions. This is different from how the night mode camera extension creates still images, because night mode combines a burst of photos to create a single, enhanced image. While night mode works very well for creating a still image, it can't create a continuous stream of frames, but Low Light Boost can. Thus, Low Light Boost enables camera capabilities, such as:
- Providing an enhanced image preview, so users are better able to frame their low-light pictures
- Scanning QR codes in low light
If you enable Low Light Boost, it automatically turns on when there's a low light level, and turns off when there's more light.
Apps can record off the Preview stream in low-light conditions to save a brightened video.
For more information, see Low Light Boost.
ऐप्लिकेशन में कैमरे के कंट्रोल
Android 15 adds an extension for more control over the camera hardware and its algorithms on supported devices:
- Advanced flash strength adjustments enabling precise control of flash
intensity in both
SINGLE
andTORCH
modes while capturing images.
एचडीआर हेडरूम कंट्रोल
Android 15 chooses HDR headroom that is appropriate for the underlying device
capabilities and bit-depth of the panel. For pages that have lots of SDR
content, such as a messaging app displaying a single HDR thumbnail, this
behavior can end up adversely influencing the perceived brightness of the SDR
content. Android 15 lets you control the HDR headroom with
setDesiredHdrHeadroom
to strike a balance between SDR
and HDR content.

आवाज़ कम या ज़्यादा करना
Android 15 introduces support for the CTA-2075 loudness standard to help you avoid audio loudness inconsistencies and ensure users don't have to constantly adjust volume when switching between content. The system leverages known characteristics of the output devices (headphones and speaker) along with loudness metadata available in AAC audio content to intelligently adjust the audio loudness and dynamic range compression levels.
To enable this feature, you need to ensure loudness metadata is available in
your AAC content and enable the platform feature in your app. For this, you
instantiate a LoudnessCodecController
object by
calling its create factory method with the audio
session ID from the associated AudioTrack
; this
automatically starts applying audio updates. You can pass an
OnLoudnessCodecUpdateListener
to modify or filter
loudness parameters before they are applied on the
MediaCodec
.
// Media contains metadata of type MPEG_4 OR MPEG_D
val mediaCodec = …
val audioTrack = AudioTrack.Builder()
.setSessionId(sessionId)
.build()
...
// Create new loudness controller that applies the parameters to the MediaCodec
try {
val lcController = LoudnessCodecController.create(mSessionId)
// Starts applying audio updates for each added MediaCodec
}
AndroidX media3 ExoPlayer will also be updated to use the
LoudnessCodecController
APIs for a seamless app integration.
वर्चुअल MIDI 2.0 डिवाइस
Android 13 添加了对使用 USB 连接 MIDI 2.0 设备的支持,这些设备使用通用 MIDI 数据包 (UMP) 进行通信。Android 15 将 UMP 支持扩展到了虚拟 MIDI 应用,使作曲应用能够像使用 USB MIDI 2.0 设备一样,将虚拟 MIDI 2.0 设备用作控制合成器应用的设备。
AV1 सॉफ़्टवेयर डिकोडिंग की सुविधा ज़्यादा बेहतर तरीके से काम करती है
dav1d, the popular AV1 software decoder from VideoLAN is available for Android devices that don't support AV1 decode in hardware. dav1d is up to 3x more performant than the legacy AV1 software decoder, enabling HD AV1 playback for more users, including some low and mid tier devices.
Your app needs to opt-in to using dav1d by invoking it by name
"c2.android.av1-dav1d.decoder"
. dav1d will be made the default AV1 software
decoder in a subsequent update. This support is standardized and backported to
Android 11 devices that receive Google Play system updates.
डेवलपर की प्रोडक्टिविटी और टूल
आपकी प्रॉडक्टिविटी बढ़ाने के लिए, हम Android Studio, Jetpack Compose, और Android Jetpack लाइब्रेरी जैसे टूल पर काम करते हैं. हालांकि, हम हमेशा प्लैटफ़ॉर्म में ऐसे तरीके ढूंढते रहते हैं जिनसे आपको अपने लक्ष्य को आसानी से हासिल करने में मदद मिल सके.
OpenJDK 17 के अपडेट
Android 15 continues the work of refreshing Android's core libraries to align with the features in the latest OpenJDK LTS releases.
The following key features and improvements are included:
- Quality-of-life improvements around NIO buffers
- Streams
- Additional
math
andstrictmath
methods util
package updates including sequencedcollection
,map
, andset
ByteBuffer
support inDeflater
- Security updates such as
X500PrivateCredential
and security key updates
These APIs are updated on over a billion devices running Android 12 (API level 31) and higher through Google Play System updates, so you can target the latest programming features.
PDF में हुए सुधार
Android 15 includes substantial improvements to the PdfRenderer
APIs. Apps can incorporate advanced features such as rendering
password-protected files, annotations, form editing,
searching, and selection with copy. Linearized PDF
optimizations are supported to speed local PDF viewing and reduce resource use.
The Jetpack PDF library uses these APIs to simplify adding PDF
viewing capabilities to your app.

The PdfRenderer
has been moved to a module that can be updated using Google
Play system updates independent of the platform release, and we're supporting
these changes back to Android 11 (API level 30) by creating a compatible
pre-Android 15 version of the API surface, called
PdfRendererPreV
.
भाषा अपने-आप बदलने की सुविधा को बेहतर बनाना
Android 14 在音频中添加了设备端多语言识别功能,并支持在语言之间自动切换,但这可能会导致丢失字词,尤其是当两次语音之间语言切换的间隔时间较短时。Android 15 添加了其他控件,以帮助应用根据其用例调整此切换。EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS
会将自动切换限制在音频会话开始时,而 EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES
会在发生指定次数的切换后停用语言切换。如果您预计会话期间只会使用一种语言,并且该语言应被自动检测到,这些选项会特别有用。
बेहतर OpenType वैरिएबल फ़ॉन्ट एपीआई
Android 15, OpenType वैरिएबल के फ़ॉन्ट की उपयोगिता को बेहतर बनाता है. आप बना सकते हैं
वेट ऐक्सिस के बारे में बताए बिना, वैरिएबल फ़ॉन्ट का FontFamily
इंस्टेंस
buildVariableFamily
API के साथ इस्तेमाल किया जा सकेगा. टेक्स्ट रेंडरर, दिखाए जा रहे टेक्स्ट से मैच करने के लिए, wght
ऐक्सिस की वैल्यू को बदल देता है.
एपीआई का इस्तेमाल करने से, Typeface
आसानी से बनाया जा सकता है:
Kotlin
val newTypeface = Typeface.CustomFallbackBuilder( FontFamily.Builder( Font.Builder(assets, "RobotoFlex.ttf").build()) .buildVariableFamily()) .build()
Java
Typeface newTypeface = Typeface.CustomFallbackBuilder( new FontFamily.Builder( new Font.Builder(assets, "RobotoFlex.ttf").build()) .buildVariableFamily()) .build();
पहले, इसी Typeface
को बनाने के लिए, आपको ज़्यादा कोड की ज़रूरत होगी:
Kotlin
val oldTypeface = Typeface.CustomFallbackBuilder( FontFamily.Builder( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 400") .setWeight(400) .build()) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 100") .setWeight(100) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 200") .setWeight(200) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 300") .setWeight(300) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 500") .setWeight(500) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 600") .setWeight(600) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 700") .setWeight(700) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 800") .setWeight(800) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 900") .setWeight(900) .build() ).build() ).build()
Java
Typeface oldTypeface = new Typeface.CustomFallbackBuilder( new FontFamily.Builder( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 400") .setWeight(400) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 100") .setWeight(100) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 200") .setWeight(200) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 300") .setWeight(300) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 500") .setWeight(500) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 600") .setWeight(600) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 700") .setWeight(700) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 800") .setWeight(800) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 900") .setWeight(900) .build() ) .build() ).build();
यहां एक उदाहरण दिया गया है कि पुराने और नए, दोनों एपीआई का इस्तेमाल करके Typeface
कैसे बनाई गई
रेंडर करता है:
इस उदाहरण में, पुराने एपीआई की मदद से बनाए गए Typeface
में
के लिए सही फ़ॉन्ट वेट बनाने की सुविधा 350, 450, 550 और 650
Font
इंस्टेंस, इसलिए रेंडरर सबसे नज़दीकी वज़न पर वापस चला जाता है. इसलिए, इस मामले में 350 के बजाय 300, 450 के बजाय 400 वगैरह रेंडर किए जाते हैं. इसके उलट, नए एपीआई की मदद से बनाया गया Typeface
डाइनैमिक तौर पर बनाता है
दिए गए वज़न के लिए एक Font
इंस्टेंस, इसलिए 350 के लिए सटीक वेट रेंडर किए जाते हैं,
450, 550, और 650 भी हैं.
लाइन ब्रेक को बेहतर तरीके से कंट्रोल करने की सुविधा
从 Android 15 开始,TextView
和底层行断开符可以将给定部分文本保留在同一行中,以提高可读性。您可以通过在字符串资源或 createNoBreakSpan
中使用 <nobreak>
标记来充分利用此换行符自定义功能。同样,您可以使用 <nohyphen>
标记或 createNoHyphenationSpan
来防止对字词进行分词。
例如,以下字符串资源不包含换行符,在呈现时,文本“Pixel 8 Pro”会在不合适的位置换行:
<resources>
<string name="pixel8pro">The power and brains behind Pixel 8 Pro.</string>
</resources>
相比之下,此字符串资源包含 <nobreak>
标记,该标记会将字词“Pixel 8 Pro”换行,并防止换行:
<resources>
<string name="pixel8pro">The power and brains behind <nobreak>Pixel 8 Pro.</nobreak></string>
</resources>
以下图片展示了这些字符串呈现方式的差异:

<nobreak>
标记换行。
<nobreak>
标记封装“Pixel 8 Pro.”短语的同一行文本的布局。ऐप्लिकेशन को संग्रहित करना
Android 和 Google Play 宣布支持最后的应用归档功能 年,这让用户可以通过移除部分内容来释放空间 通过 Android 应用发布的设备中不常用的应用 前往 Google Play 下载套装。Android 15 在操作系统级别支持应用归档和解压缩,让所有应用商店都能更轻松地实现归档和解压缩。
具有 REQUEST_DELETE_PACKAGES
权限的应用可以调用
PackageInstaller
requestArchive
方法请求归档
已安装的应用软件包,这会移除 APK 和所有缓存的文件,但会保留
用户数据已归档的应用会通过 LauncherApps
API 作为可显示的应用返回;用户会看到一个界面处理,以突出显示这些应用已归档。如果用户点按已归档的应用,负责安装的应用会收到解除归档请求,并且可以通过 ACTION_PACKAGE_ADDED
广播监控恢复过程。
डेवलपर के लिए सेटिंग और टूल का इस्तेमाल करके, किसी डिवाइस पर 16 केबी मोड चालू करना

डिवाइस को 16 केबी मोड में बूट करने के लिए, डेवलपर विकल्प में जाकर 16 केबी पेज साइज़ के साथ बूट करें को टॉगल करें.
Android 15 QPR1 से, डेवलपर विकल्प का इस्तेमाल किया जा सकता है. यह विकल्प, कुछ डिवाइसों पर उपलब्ध होता है. इसकी मदद से, डिवाइस को 16 केबी मोड में बूट किया जा सकता है और डिवाइस पर टेस्टिंग की जा सकती है. डेवलपर के लिए सेटिंग और टूल का इस्तेमाल करने से पहले, सेटिंग > सिस्टम > सॉफ़्टवेयर अपडेट पर जाएं और उपलब्ध अपडेट लागू करें.
डेवलपर के लिए उपलब्ध यह विकल्प, इन डिवाइसों पर उपलब्ध है:
Pixel 8 और 8 Pro (Android 15 QPR1 या उसके बाद के वर्शन के साथ)
Pixel 8a (Android 15 QPR1 या इसके बाद के वर्शन के साथ)
Pixel 9, 9 Pro, और 9 Pro XL (Android 15 QPR2 Beta 2 या इसके बाद के वर्शन के साथ)
ग्राफ़िक्स
Android 15 में, ग्राफ़िक्स से जुड़े नए सुधार किए गए हैं. इनमें ANGLE और कैनवस ग्राफ़िक्स सिस्टम में किए गए बदलाव भी शामिल हैं.
Android के जीपीयू ऐक्सेस को आधुनिक बनाना
Android hardware has evolved quite a bit from the early days where the core OS would run on a single CPU and GPUs were accessed using APIs based on fixed-function pipelines. The Vulkan® graphics API has been available in the NDK since Android 7.0 (API level 24) with a lower-level abstraction that better reflects modern GPU hardware, scales better to support multiple CPU cores, and offers reduced CPU driver overhead — leading to improved app performance. Vulkan is supported by all modern game engines.
Vulkan is Android's preferred interface to the GPU. Therefore, Android 15 includes ANGLE as an optional layer for running OpenGL® ES on top of Vulkan. Moving to ANGLE will standardize the Android OpenGL implementation for improved compatibility, and, in some cases, improved performance. You can test out your OpenGL ES app stability and performance with ANGLE by enabling the developer option in Settings -> System -> Developer Options -> Experimental: Enable ANGLE on Android 15.
The Android ANGLE on Vulkan roadmap

As part of streamlining our GPU stack, going forward we will be shipping ANGLE as the GL system driver on more new devices, with the future expectation that OpenGL/ES will be only available through ANGLE. That being said, we plan to continue support for OpenGL ES on all devices.
Recommended next steps
Use the developer options to select the ANGLE driver for OpenGL ES and test your app. For new projects, we strongly encourage using Vulkan for C/C++.
कैनवस में किए गए सुधार
Android 15 continues our modernization of Android's Canvas graphics system with additional capabilities:
Matrix44
provides a 4x4 matrix for transforming coordinates that should be used when you want to manipulate the canvas in 3D.clipShader
intersects the current clip with the specified shader, whileclipOutShader
sets the clip to the difference of the current clip and the shader, each treating the shader as an alpha mask. This supports the drawing of complex shapes efficiently.
परफ़ॉर्मेंस और बैटरी
Android, आपके ऐप्लिकेशन की परफ़ॉर्मेंस और क्वालिटी को बेहतर बनाने में आपकी मदद करता रहेगा. Android 15 में ऐसे एपीआई जोड़े गए हैं जिनकी मदद से, ऐप्लिकेशन में टास्क को बेहतर तरीके से पूरा किया जा सकता है. साथ ही, ऐप्लिकेशन की परफ़ॉर्मेंस को ऑप्टिमाइज़ किया जा सकता है और अपने ऐप्लिकेशन के बारे में अहम जानकारी इकट्ठा की जा सकती है.
बैटरी की खपत कम करने के सबसे सही तरीके, नेटवर्क और बिजली के इस्तेमाल को डीबग करने के बारे में जानने के लिए, Google I/O में Android पर बैकग्राउंड में चलने वाले कामों की बैटरी खपत को कम करना शीर्षक वाली बातचीत देखें. इससे आपको यह भी पता चलेगा कि हम Android 15 और इसके बाद के वर्शन में, बैकग्राउंड में चलने वाले कामों की बैटरी खपत को कैसे कम कर रहे हैं.
ApplicationStartInfo API
在以前的 Android 版本中,应用启动一直是个谜。在应用中确定应用是从冷启动、温启动还是热启动状态启动很困难。您还很难了解应用在各种启动阶段(分叉进程、调用 onCreate
、绘制第一个帧等)所花的时间。在 Application
类被实例化时,您无法知道应用是通过广播、content provider、作业、备份、启动完成、闹钟还是 Activity
启动的。
Android 15 上的 ApplicationStartInfo
API 提供了所有这些功能,以及更多功能。您甚至可以选择在流程中添加自己的时间戳,以便在一个位置收集时间数据。除了收集指标之外,您还可以使用 ApplicationStartInfo
直接优化应用启动;例如,您可以消除在应用因广播而启动时在 Application
类中实例化与界面相关的库所带来的高昂开销。
ऐप्लिकेशन के साइज़ के बारे में ज़्यादा जानकारी
从 Android 8.0(API 级别 26)开始,Android 包含 StorageStats.getAppBytes
API,该 API 会将应用的安装大小总结为一个字节数,该数值是 APK 大小、从 APK 中提取的文件的大小以及在设备上生成的文件(例如提前编译 [AOT] 代码)的总和。此数字对于了解应用的存储空间使用情况而言,没有太大帮助。
Android 15 添加了 StorageStats.getAppBytesByDataType([type])
API,可让您深入了解应用如何使用所有这些空间,包括 APK 文件分块、AOT 和加速相关代码、DEX 元数据、库和引导式配置文件。
ऐप्लिकेशन से मैनेज की जाने वाली प्रोफ़ाइलिंग
Android 15 包含 ProfilingManager
类,可让您从应用内部收集性能分析信息,例如堆转储、堆分析报告、堆栈采样等。它使用提供的标记为您的应用提供回调,以标识输出文件,该文件将传递给应用的文件目录。该 API 会进行速率限制,以尽可能降低对性能的影响。
为了简化在应用中构建性能分析请求的过程,我们建议您使用 Core 1.15.0-rc01 或更高版本中的相应 Profiling
AndroidX API。
SQLite डेटाबेस में सुधार
Android 15 引入了 SQLite API,这些 API 可公开底层 SQLite 引擎的高级功能,以解决可能在应用中出现的特定性能问题。将 SQLite 更新到版本 3.44.3。
开发者应参阅 SQLite 性能最佳实践 以便充分利用其 SQLite 数据库,尤其是在处理大型 或运行对延迟敏感的查询时
- 只读延迟事务:在发出
只读(不包括写入语句),请使用
beginTransactionReadOnly()
和beginTransactionWithListenerReadOnly(SQLiteTransactionListener)
发出只读的DEFERRED
事务。此类事务 如果数据库处于 WAL 模式 与IMMEDIATE
或EXCLUSIVE
事务并发运行。 - 行数和 ID:添加了 API 以检索已更改的行数和 ID
行或最后插入的行 ID 而不发出额外的查询。
getLastChangedRowCount()
会返回当前事务中最近的 SQL 语句插入、更新或删除的行数,而getTotalChangedRowCount()
会返回当前连接的计数。getLastInsertRowId()
返回最后一行的rowid
以便在当前连接中插入 - 原始语句:发出原始 SQlite 语句,从而绕过便利 及其可能产生的任何额外处理开销。
Android डाइनैमिक परफ़ॉर्मेंस फ़्रेमवर्क से जुड़े अपडेट
Android 15 continues our investment in the Android Dynamic Performance Framework (ADPF), a set of APIs that allow games and performance intensive apps to interact more directly with power and thermal systems of Android devices. On supported devices, Android 15 adds ADPF capabilities:
- A power-efficiency mode for hint sessions to indicate that their associated threads should prefer power saving over performance, great for long-running background workloads.
- GPU and CPU work durations can both be reported in hint sessions, allowing the system to adjust CPU and GPU frequencies together to best meet workload demands.
- Thermal headroom thresholds to interpret possible thermal throttling status based on headroom prediction.
To learn more about how to use ADPF in your apps and games, head over to the documentation.
निजता
Android 15 में कई सुविधाएं शामिल हैं. इनकी मदद से, ऐप्लिकेशन डेवलपर उपयोगकर्ता की निजता को सुरक्षित रख सकते हैं.
स्क्रीन रिकॉर्डिंग का पता लगाना
Android 15 adds support for apps to detect that they are being recorded. A callback is invoked whenever the app transitions between being visible or invisible within a screen recording. An app is considered visible if activities owned by the registering process's UID are being recorded. This way, if your app is performing a sensitive operation, you can inform the user that they're being recorded.
val mCallback = Consumer<Int> { state ->
if (state == SCREEN_RECORDING_STATE_VISIBLE) {
// We're being recorded
} else {
// We're not being recorded
}
}
override fun onStart() {
super.onStart()
val initialState =
windowManager.addScreenRecordingCallback(mainExecutor, mCallback)
mCallback.accept(initialState)
}
override fun onStop() {
super.onStop()
windowManager.removeScreenRecordingCallback(mCallback)
}
IntentFilter की सुविधाओं को बेहतर बनाया गया
Android 15 通过 UriRelativeFilterGroup
支持更精确的 Intent
解析,UriRelativeFilterGroup
包含一组 UriRelativeFilter
对象,这些对象构成一组必须满足的 Intent
匹配规则,包括网址查询参数、网址片段以及屏蔽或排除规则。
您可以在 AndroidManifest
XML 文件中使用 <uri-relative-filter-group>
标记来定义这些规则,该标记可以包含 android:allow
标记。这些代码可以包含使用现有数据代码属性以及 android:query
和 android:fragment
属性的 <data>
代码。
下面是一个 AndroidManifest
语法示例:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="astore.com" />
<uri-relative-filter-group>
<data android:pathPrefix="/auth" />
<data android:query="region=na" />
</uri-relative-filter-group>
<uri-relative-filter-group android:allow="false">
<data android:pathPrefix="/auth" />
<data android:query="mobileoptout=true" />
</uri-relative-filter-group>
<uri-relative-filter-group android:allow="false">
<data android:pathPrefix="/auth" />
<data android:fragmentPrefix="faq" />
</uri-relative-filter-group>
</intent-filter>
प्राइवेट स्पेस
Private space lets users create a separate space on their device where they can keep sensitive apps away from prying eyes, under an additional layer of authentication. The private space uses a separate user profile. The user can choose to use the device lock or a separate lock factor for the private space.
Apps in the private space show up in a separate container in the launcher, and are hidden from the recents view, notifications, settings, and from other apps when the private space is locked. User-generated and downloaded content (such as media or files) and accounts are separated between the private space and the main space. The system sharesheet and the photo picker can be used to give apps access to content across spaces when the private space is unlocked.
Users can't move existing apps and their data into the private space. Instead, users select an install option in the private space to install an app using whichever app store they prefer. Apps in the private space are installed as separate copies from any apps in the main space (new copies of the same app).
When a user locks the private space, the profile is stopped. While the profile is stopped, apps in the private space are no longer active and can't perform foreground or background activities, including showing notifications.
We recommend that you test your app with private space to make sure your app works as expected, especially if your app falls into one of the following categories:
- Apps with logic for work profiles that assumes that any installed copies of their app that aren't in the main profile are in the work profile.
- Medical apps
- Launcher apps
- App store apps
चुनी गई फ़ोटो का ऐक्सेस देने के लिए, उपयोगकर्ता के हाल ही के विकल्प के बारे में क्वेरी
Apps can now highlight only the most-recently-selected photos and videos when
partial access to media permissions is granted. This feature can improve
the user experience for apps that frequently request access to photos and
videos. To use this feature in your app, enable the
QUERY_ARG_LATEST_SELECTION_ONLY
argument when querying MediaStore
through ContentResolver
.
Kotlin
val externalContentUri = MediaStore.Files.getContentUri("external") val mediaColumns = arrayOf( FileColumns._ID, FileColumns.DISPLAY_NAME, FileColumns.MIME_TYPE, ) val queryArgs = bundleOf( // Return only items from the last selection (selected photos access) QUERY_ARG_LATEST_SELECTION_ONLY to true, // Sort returned items chronologically based on when they were added to the device's storage QUERY_ARG_SQL_SORT_ORDER to "${FileColumns.DATE_ADDED} DESC", QUERY_ARG_SQL_SELECTION to "${FileColumns.MEDIA_TYPE} = ? OR ${FileColumns.MEDIA_TYPE} = ?", QUERY_ARG_SQL_SELECTION_ARGS to arrayOf( FileColumns.MEDIA_TYPE_IMAGE.toString(), FileColumns.MEDIA_TYPE_VIDEO.toString() ) )
Java
Uri externalContentUri = MediaStore.Files.getContentUri("external"); String[] mediaColumns = { FileColumns._ID, FileColumns.DISPLAY_NAME, FileColumns.MIME_TYPE }; Bundle queryArgs = new Bundle(); queryArgs.putBoolean(MediaStore.QUERY_ARG_LATEST_SELECTION_ONLY, true); queryArgs.putString(MediaStore.QUERY_ARG_SQL_SORT_ORDER, FileColumns.DATE_ADDED + " DESC"); queryArgs.putString(MediaStore.QUERY_ARG_SQL_SELECTION, FileColumns.MEDIA_TYPE + " = ? OR " + FileColumns.MEDIA_TYPE + " = ?"); queryArgs.putStringArray(MediaStore.QUERY_ARG_SQL_SELECTION_ARGS, new String[] { String.valueOf(FileColumns.MEDIA_TYPE_IMAGE), String.valueOf(FileColumns.MEDIA_TYPE_VIDEO) });
Android पर Privacy Sandbox
Android 15 includes the latest Android Ad Services extensions, incorporating the latest version of the Privacy Sandbox on Android. This addition is part of our work to develop technologies that improve user privacy and enable effective, personalized advertising experiences for mobile apps. Our privacy sandbox page has more information about the Privacy Sandbox on Android developer preview and beta programs to help you get started.
Health Connect
Android 15 集成了与 Health Connect by Android 相关的最新扩展程序。Health Connect by Android 是一个安全的集中式平台,可用于管理和共享应用收集的健康与健身数据。此次更新 增加了对健身、 营养、体表温度、训练计划等。
体表温度追踪功能让用户可以更精确地存储和分享体表温度 来自穿戴式设备或其他跟踪设备的体温数据。
训练计划是一种结构化的锻炼计划,可帮助用户实现健身目标。训练计划支持各种完成和表现目标:
如需详细了解 Android 中 Health Connect 的最新更新,请参阅 利用 Android 打造自适应体验 健康演讲。
ऐप्लिकेशन की स्क्रीन शेयर करने की सुविधा
Android 15 supports app screen sharing so users can share or record just an
app window rather than the entire device screen. This feature, first enabled in
Android 14 QPR2, includes
MediaProjection
callbacks that allow your app
to customize the app screen sharing experience. Note that for apps targeting
Android 14 (API level 34) or higher,
user consent is required for each
MediaProjection
capture session.
उपयोगकर्ता अनुभव और सिस्टम यूज़र इंटरफ़ेस (यूआई)
Android 15, ऐप्लिकेशन डेवलपर और उपयोगकर्ताओं को ज़्यादा कंट्रोल और सुविधाएं देता है. इससे वे अपनी ज़रूरतों के हिसाब से अपने डिवाइस को कॉन्फ़िगर कर सकते हैं.
Android 15 में किए गए नए सुधारों का इस्तेमाल करके, अपने ऐप्लिकेशन के उपयोगकर्ता अनुभव को बेहतर बनाने के बारे में ज़्यादा जानने के लिए, Google I/O में हुई अपने Android ऐप्लिकेशन के उपयोगकर्ता अनुभव को बेहतर बनाएं टाॅक देखें.
जनरेट की गई झलकें दिखाने वाले एपीआई की मदद से, विजेट की ज़्यादा बेहतर झलकें
Android 15 से पहले, विजेट पिकर की झलक दिखाने का सिर्फ़ एक ही तरीका था. इसके लिए, स्टैटिक इमेज या लेआउट रिसॉर्स तय करना होता था. होम स्क्रीन पर विजेट को जोड़ने पर, ये झलकें अक्सर असल विजेट से काफ़ी अलग दिखती हैं. साथ ही, Jetpack Glance की मदद से स्टैटिक रिसॉर्स नहीं बनाए जा सकते. इसलिए, Glance के डेवलपर को विजेट की झलक देखने के लिए, अपने विजेट का स्क्रीनशॉट लेना पड़ता था या एक्सएमएल लेआउट बनाना पड़ता था.
Android 15 में, जनरेट की गई झलक देखने की सुविधा जोड़ी गई. इसका मतलब है कि ऐप्लिकेशन विजेट की सेवा देने वाली कंपनियां, स्टैटिक संसाधन के बजाय, पिकर की झलक के तौर पर इस्तेमाल करने के लिए RemoteViews
जनरेट कर सकती हैं.

Push API
ऐप्लिकेशन, पुश एपीआई की मदद से जनरेट की गई झलकियां दिखा सकते हैं. ऐप्लिकेशन, अपने लाइफ़साइकल के किसी भी समय झलक दिखा सकते हैं. इसके लिए, उन्हें होस्ट से झलक दिखाने का अनुरोध नहीं करना पड़ता. झलकें AppWidgetService
में सेव रहती हैं. होस्ट, मांग पर इनका अनुरोध कर सकते हैं. इस उदाहरण में, एक्सएमएल विजेट लेआउट संसाधन लोड किया गया है और उसे झलक के तौर पर सेट किया गया है:
AppWidgetManager.getInstance(appContext).setWidgetPreview(
ComponentName(
appContext,
SociaLiteAppWidgetReceiver::class.java
),
AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN,
RemoteViews("com.example", R.layout.widget_preview)
)
इसका अनुमानित फ़्लो यह होता है:
- विजेट की सेवा देने वाली कंपनी किसी भी समय
setWidgetPreview
को कॉल कर सकती है. दी गई झलकें,AppWidgetService
में सेवा देने वाली कंपनी की अन्य जानकारी के साथ सेव की जाती हैं. setWidgetPreview
,AppWidgetHost.onProvidersChanged
कॉलबैक की मदद से, होस्ट को अपडेट की गई झलक की सूचना देता है. इसके जवाब में, विजेट होस्ट, सेवा देने वाली कंपनी की सारी जानकारी को फिर से लोड करता है.- विजेट की झलक दिखाते समय, होस्ट
AppWidgetProviderInfo.generatedPreviewCategories
की जांच करता है. अगर चुनी गई कैटगरी उपलब्ध है, तो इस सेवा देने वाली कंपनी के लिए सेव की गई झलक दिखाने के लिए,AppWidgetManager.getWidgetPreview
को कॉल किया जाता है.
setWidgetPreview
को कब कॉल करें
झलक दिखाने के लिए कोई कॉलबैक नहीं है. इसलिए, ऐप्लिकेशन किसी भी समय झलक भेज सकते हैं. झलक को कितनी बार अपडेट करना है, यह इस बात पर निर्भर करता है कि विजेट का इस्तेमाल किस तरह से किया जा रहा है.
यहां दी गई सूची में, झलक के इस्तेमाल के उदाहरणों की दो मुख्य कैटगरी के बारे में बताया गया है:
- सेवा देने वाली ऐसी कंपनियां जो अपने विजेट की झलक में असली डेटा दिखाती हैं, जैसे कि आपके हिसाब से बनाई गई या हाल की जानकारी. उपयोगकर्ता के साइन इन करने या अपने ऐप्लिकेशन में शुरुआती कॉन्फ़िगरेशन करने के बाद, ये सेवा देने वाली कंपनियां झलक सेट कर सकती हैं. इसके बाद, वे अपने चुने गए समय पर झलक को अपडेट करने के लिए, समय-समय पर होने वाला टास्क सेट अप कर सकती हैं. इस तरह के विजेट के उदाहरणों में फ़ोटो, कैलेंडर, मौसम या खबरों का विजेट शामिल हो सकता है.
- ऐसे प्रॉवाइडर जो झलक या क्विक ऐक्शन विजेट में स्टैटिक जानकारी दिखाते हैं और कोई डेटा नहीं दिखाते. ये कंपनियां, ऐप्लिकेशन के पहली बार लॉन्च होने पर, झलक को एक बार सेट कर सकती हैं. इस तरह के विजेट के उदाहरणों में, Drive की तुरंत कार्रवाइयों वाला विजेट या Chrome के शॉर्टकट विजेट शामिल हैं.
हो सकता है कि कुछ सेवा देने वाली कंपनियां, हब मोड पिकर पर स्टैटिक झलक दिखाएं, लेकिन होमस्क्रीन पिकर पर असल जानकारी दिखाएं. इन सेवा देने वाली कंपनियों को, झलक सेट करने के लिए, इस्तेमाल के इन दोनों उदाहरणों के लिए दिशा-निर्देशों का पालन करना चाहिए.
पिक्चर में पिक्चर
Android 15 introduces changes in Picture-in-Picture (PiP) ensuring an even smoother transition when entering into PiP mode. This will be beneficial for apps having UI elements overlaid on top of their main UI, which goes into PiP.
Developers use the onPictureInPictureModeChanged
callback to define logic
that toggles the visibility of the overlaid UI elements. This callback is
triggered when the PiP enter or exit animation is completed. Beginning in
Android 15, the PictureInPictureUiState
class includes another state.
With this UI state, apps targeting Android 15 (API level 35) will observe the
Activity#onPictureInPictureUiStateChanged
callback being invoked with
isTransitioningToPip()
as soon as the PiP animation starts. There are
many UI elements that are not relevant for the app when it is in PiP mode, for
example views or layout that include information such as suggestions, upcoming
video, ratings, and titles. When the app goes to PiP mode, use the
onPictureInPictureUiStateChanged
callback to hide these UI elements. When the
app goes to full screen mode from the PiP window, use
onPictureInPictureModeChanged
callback to unhide these elements, as shown in
the following examples:
override fun onPictureInPictureUiStateChanged(pipState: PictureInPictureUiState) {
if (pipState.isTransitioningToPip()) {
// Hide UI elements
}
}
override fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean) {
if (isInPictureInPictureMode) {
// Unhide UI elements
}
}
This quick visibility toggle of irrelevant UI elements (for a PiP window) helps ensure a smoother and flicker-free PiP enter animation.
'परेशान न करें' मोड के बेहतर नियम
AutomaticZenRule
lets apps customize Attention
Management (Do Not Disturb) rules and decide when to activate or deactivate
them. Android 15 greatly enhances these rules with the goal of improving the
user experience. The following enhancements are included:
- Adding types to
AutomaticZenRule
, allowing the system to apply special treatment to some rules. - Adding an icon to
AutomaticZenRule
, helping to make the modes be more recognizable. - Adding a
triggerDescription
string toAutomaticZenRule
that describes the conditions on which the rule should become active for the user. - Added
ZenDeviceEffects
toAutomaticZenRule
, allowing rules to trigger things like grayscale display, night mode, or dimming the wallpaper.
सूचना चैनलों के लिए VibrationEffect सेट करना
Android 15 supports setting rich vibrations for incoming notifications by
channel using NotificationChannel.setVibrationEffect
, so
your users can distinguish between different types of notifications without
having to look at their device.
मीडिया प्रोजेक्शन स्टेटस बार चिप और अपने-आप बंद होना
Media projection can expose private user information. A new, prominent status bar chip makes users aware of any ongoing screen projection. Users can tap the chip to stop screen casting, sharing, or recording. Also, for a more intuitive user experience, any in‑progress screen projection now automatically stops when the device screen is locked.

बड़ी स्क्रीन और फ़ॉर्म फ़ैक्टर
Android 15, आपके ऐप्लिकेशन को Android के फ़ॉर्मैट फ़ैक्टर का ज़्यादा से ज़्यादा फ़ायदा पाने में मदद करता है. इन फ़ॉर्मैट फ़ैक्टर में बड़ी स्क्रीन, फ़्लिप किए जा सकने वाले डिवाइस, और फ़ोल्ड किए जा सकने वाले डिवाइस शामिल हैं.
बड़ी स्क्रीन पर मल्टीटास्किंग की बेहतर सुविधा
Android 15 gives users better ways to multitask on large screen devices. For example, users can save their favorite split-screen app combinations for quick access and pin the taskbar on screen to quickly switch between apps. This means that making sure your app is adaptive is more important than ever.
Google I/O has sessions on Building adaptive Android apps and Building UI with the Material 3 adaptive library that can help, and our documentation has more to help you Design for large screens.
कवर स्क्रीन की सुविधा
您的应用可以声明一个属性,Android 15 会使用该属性来允许您的 Application
或 Activity
显示在受支持的可翻转设备的小封面屏幕上。这些屏幕太小,无法被视为适合运行 Android 应用的兼容目标平台,但您的应用可以选择支持它们,从而让您的应用在更多平台上可用。
कनेक्टिविटी
Android 15, प्लैटफ़ॉर्म को अपडेट करता है, ताकि आपके ऐप्लिकेशन को कम्यूनिकेशन और वायरलेस टेक्नोलॉजी से जुड़ी नई सुविधाओं का ऐक्सेस मिल सके.
सैटलाइट से जुड़ी सहायता
Android 15 继续扩大对卫星连接的平台支持,并包含一些界面元素,以确保在整个卫星连接环境中提供一致的用户体验。
应用可以使用 ServiceState.isUsingNonTerrestrialNetwork()
执行以下操作:
检测设备是否连接到卫星,让他们更清楚地了解
可能会导致完全网络服务不可用的原因此外,Android 15 支持短信和彩信应用以及预加载的 RCS 应用,以便使用卫星连接发送和接收消息。

एनएफ़सी की सुविधा को बेहतर बनाना
Android 15 正在努力打造更顺畅、更可靠的感应式付款体验,同时继续支持 Android 强大的 NFC 应用生态系统。在受支持的设备上,应用可以请求 NfcAdapter
进入观察模式,在该模式下,设备会监听但不会响应 NFC 读卡器,并将应用的 NFC 服务 PollingFrame
对象发送以进行处理。PollingFrame
对象可用于在与 NFC 读卡器进行首次通信之前进行身份验证,在许多情况下,这支持一触式交易。
此外,应用可以在受支持的设备上注册过滤器,以便在有轮询循环活动时收到通知,从而能够与多个感知 NFC 的应用顺畅运行。
Wallet की भूमिका
Android 15 introduces a Wallet role that allows tighter integration with the user's preferred wallet app. This role replaces the NFC default contactless payment setting. Users can manage the Wallet role holder by navigating to Settings > Apps > Default Apps.
The Wallet role is used when routing NFC taps for AIDs registered in the payment category. Taps always go to the Wallet role holder unless another app that is registered for the same AID is running in the foreground.
This role is also used to determine where the Wallet Quick Access tile should go when activated. When the role is set to "None", the Quick Access tile isn't available and payment category NFC taps are only delivered to the foreground app.
सुरक्षा
Android 15 की मदद से, अपने ऐप्लिकेशन की सुरक्षा को बेहतर बनाया जा सकता है और उसके डेटा को सुरक्षित रखा जा सकता है. साथ ही, उपयोगकर्ताओं को उनके डेटा के बारे में ज़्यादा जानकारी दी जा सकती है और उस पर कंट्रोल दिया जा सकता है. उपयोगकर्ताओं की सुरक्षा को बेहतर बनाने और नए खतरों से आपके ऐप्लिकेशन को सुरक्षित रखने के लिए, हम क्या कर रहे हैं, इस बारे में ज़्यादा जानने के लिए Google I/O की Android पर उपयोगकर्ता की सुरक्षा करना टाॅक देखें.
Credential Manager को ऑटोमैटिक भरने की सुविधा के साथ इंटिग्रेट करना
Starting with Android 15, developers can link specific views like username or password fields with Credential Manager requests, making it easier to provide a tailored user experience during the sign-in process. When the user focuses on one of these views, a corresponding request is sent to Credential Manager. The resulting credentials are aggregated across providers and displayed in autofill fallback UIs, such as inline suggestions or drop-down suggestions. The Jetpack androidx.credentials library is the preferred endpoint for developers to use and will soon be available to further enhance this feature in Android 15 and higher.
बायोमेट्रिक प्रॉम्प्ट की मदद से, एक टैप से साइन-अप और साइन-इन करने की सुविधा को इंटिग्रेट करना
Credential Manager将生物识别提示集成到凭据创建过程中 和登录流程,这样提供商就无需管理 生物识别提示。因此,凭据提供程序只需专注于创建和获取流程的结果,并辅以生物识别流程结果。这一简化的流程创建了更高效、更精简的凭据 创建和检索过程。
एंड-टू-एंड एन्क्रिप्शन के लिए पासकोड मैनेजमेंट
हम Android 15 में E2eeContactKeysManager
को लॉन्च कर रहे हैं. इससे आपके Android ऐप्लिकेशन में एंड-टू-एंड एन्क्रिप्शन (E2EE) की सुविधा मिलती है. इसके लिए, क्रिप्टोग्राफ़िक सार्वजनिक कुंजियों को सेव करने के लिए, ओएस-लेवल का एपीआई उपलब्ध कराया जाता है.
E2eeContactKeysManager
को प्लैटफ़ॉर्म के संपर्क ऐप्लिकेशन के साथ इंटिग्रेट करने के लिए डिज़ाइन किया गया है. इससे उपयोगकर्ताओं को अपने संपर्कों के सार्वजनिक कुंजियों को मैनेज करने और उनकी पुष्टि करने का एक ही तरीका मिलता है.
कॉन्टेंट यूआरआई के लिए अनुमति की जांच
Android 15 introduces a set of APIs that perform permission checks on content URIs:
Context.checkContentUriPermissionFull
: This performs a full permission check on content URIs.Activity
manifest attributerequireContentUriPermissionFromCaller
: This enforces specified permissions on the provided content URIs at activity launch.ComponentCaller
class forActivity
callers: This represents the app that launched the activity.
सुलभता
Android 15 में ऐसी सुविधाएं जोड़ी गई हैं जिनसे उपयोगकर्ताओं के लिए ऐक्सेस को बेहतर बनाया जा सकता है.
बेहतर ब्रेल
在 Android 15 中,我们让 TalkBack 能够支持通过 USB 和安全蓝牙使用 HID 标准的盲文显示屏。
此标准与鼠标和键盘使用的标准非常相似,将有助于 Android 随着时间的推移支持更多类型的盲文显示屏。
इंटरनैशनलाइज़ेशन
Android 15 में ऐसी सुविधाएं और क्षमताएं जोड़ी गई हैं जिनसे डिवाइस को अलग-अलग भाषाओं में इस्तेमाल करने पर, उपयोगकर्ता अनुभव बेहतर होता है.
सीजेके वैरिएबल फ़ॉन्ट
Starting with Android 15, the font file for Chinese, Japanese, and Korean (CJK) languages, NotoSansCJK, is now a variable font. Variable fonts open up possibilities for creative typography in CJK languages. Designers can explore a broader range of styles and create visually striking layouts that were previously difficult or impossible to achieve.

वर्णों के बीच स्पेस
Android 15 से, JUSTIFICATION_MODE_INTER_CHARACTER
का इस्तेमाल करके, अक्षरों के बीच के स्पेस का इस्तेमाल करके टेक्स्ट को अलाइन किया जा सकता है. एक ही शब्द में दो बार सही ठहराने की वजह यह थी
पहली बार Android 8.0 (एपीआई लेवल 26) और इंटर-कैरेक्टर में पेश किया गया था
वजह बताने की सुविधा, उन भाषाओं के लिए समान सुविधाएं देती है जो
चाइनीज़, जैपनीज़ वगैरह जैसे सेगमेंटेशन के लिए खाली सफ़ेद जगह.

JUSTIFICATION_MODE_NONE
का इस्तेमाल करने वाले जैपनीज़ टेक्स्ट के लिए लेआउट.
JUSTIFICATION_MODE_NONE
का इस्तेमाल करके अंग्रेज़ी टेक्स्ट के लिए लेआउट.
JUSTIFICATION_MODE_INTER_WORD
का इस्तेमाल करके, जैपनीज़ टेक्स्ट के लिए लेआउट.
JUSTIFICATION_MODE_INTER_WORD
का इस्तेमाल करके अंग्रेज़ी टेक्स्ट के लिए लेआउट.
JUSTIFICATION_MODE_INTER_CHARACTER
का इस्तेमाल करके, जैपनीज़ टेक्स्ट के लिए लेआउट.
JUSTIFICATION_MODE_INTER_CHARACTER
का इस्तेमाल करके अंग्रेज़ी टेक्स्ट का लेआउट.लाइन ब्रेक अपने-आप होने की सुविधा का कॉन्फ़िगरेशन
Android started supporting phrase-based line breaks for Japanese and Korean in
Android 13 (API level 33). However, while phrase-based line breaks improve the
readability of short lines of text, they don't work well for long lines of text.
In Android 15, apps can apply phrase-based line breaks only for short lines
of text, using the LINE_BREAK_WORD_STYLE_AUTO
option. This option selects the best word style option for the text.
For short lines of text, phrase-based line breaks are used, functioning the same
as LINE_BREAK_WORD_STYLE_PHRASE
, as shown in the
following image:

LINE_BREAK_WORD_STYLE_AUTO
applies phrase-based line breaks to improve the readability of the text.
This is the same as applying
LINE_BREAK_WORD_STYLE_PHRASE
.For longer lines of text, LINE_BREAK_WORD_STYLE_AUTO
uses a no
line-break word style, functioning the same as
LINE_BREAK_WORD_STYLE_NONE
, as shown in the
following image:

LINE_BREAK_WORD_STYLE_AUTO
applies no line-break word style to improve the readability of the text.
This is the same as applying
LINE_BREAK_WORD_STYLE_NONE
.जापानी हेन्टाइगाना फ़ॉन्ट
在 Android 15 中,旧版日语平假名(也称为 Hentaigana)字体文件 捆绑在一起半形人物的独特形状可以增加 风格或设计独特的风格 传播和理解古代日本文件的能力。

VideoLAN 圆锥图标 版权所有 (c) 1996-2010 VideoLAN。任何人都可以使用此徽标或修改版徽标来提及 VideoLAN 项目或 VideoLAN 团队开发的任何产品,但这并不表示该项目对其表示认可。
Vulkan 和 Vulkan 徽标是 Khronos Group Inc.的注册商标。
OpenGL 是注册商标,OpenGL ES 徽标是 Hewlett Packard Enterprise 的商标,已获得 Khronos 的许可。