कंपैटबिलिटी फ़्रेमवर्क में हुए बदलाव (Android 15)

पहली इमेज. 'डेवलपर के लिए सेटिंग और टूल' में, ऐप्लिकेशन के साथ काम करने के लिए किए गए बदलावों की स्क्रीन पर, वे बदलाव दिखते हैं जिन्हें टॉगल किया जा सकता है.

इस पेज पर, टॉगल किए जा सकने वाले ऐसे बदलावों के बारे में बताया गया है जो Android 15 (एपीआई लेवल 35) के साथ काम करने वाले फ़्रेमवर्क का हिस्सा हैं. Android 15 के साथ काम करने और उसे टारगेट करने के लिए, अपने ऐप्लिकेशन की जांच करने और उसे डीबग करने के लिए, इस सूची का इस्तेमाल डेवलपर के विकल्पों और एडीबी निर्देशों के साथ करें.

यहां कुछ ऐसी चीज़ें बताई गई हैं जिन्हें कम्पैटिबिलिटी फ़्रेमवर्क टूल का इस्तेमाल करके किया जा सकता है:

  • ऐप्लिकेशन के targetSdkVersion को बदले बिना, टारगेट किए गए बदलावों की जांच करें. टॉगल का इस्तेमाल करके, टारगेट किए गए व्यवहार में किए गए खास बदलावों को ज़बरदस्ती चालू किया जा सकता है. इससे, आपके मौजूदा ऐप्लिकेशन पर पड़ने वाले असर का आकलन किया जा सकता है.
  • अपनी जांच सिर्फ़ खास बदलावों पर फ़ोकस करें. टारगेट किए गए सभी बदलावों को एक साथ ठीक करने के बजाय, टॉगल की मदद से उन सभी बदलावों को बंद किया जा सकता है जिन्हें आपको टेस्ट करना है.
  • adb की मदद से टॉगल मैनेज करना. अपने-आप चलने वाले टेस्ट एनवायरमेंट में, टॉगल किए जा सकने वाले बदलावों को चालू और बंद करने के लिए, adb निर्देशों का इस्तेमाल किया जा सकता है.
  • स्टैंडर्ड बदलाव आईडी का इस्तेमाल करके, तेज़ी से डीबग करें. टॉगल किए जा सकने वाले बदलावों में से हर एक के पास एक यूनीक आईडी और नाम होता है. इसका इस्तेमाल, लॉग आउट में मुख्य वजह को तुरंत डीबग करने के लिए किया जा सकता है.

इनमें से हर इस्तेमाल के उदाहरण के लिए, टूल इस्तेमाल करने के बारे में पूरी जानकारी पाने के लिए, काम करने के फ़्रेमवर्क के टूल देखें.

कंपैटबिलिटी फ़्रेमवर्क में शामिल, व्यवहार में हुए बदलाव

इस सेक्शन में दी गई सूची में, टॉगल किए जा सकने वाले ऐसे बदलावों के बारे में बताया गया है जिन्हें Android 15 से जुड़े बदलावों के लिए, काम करने के फ़्रेमवर्क में शामिल किया गया है. साथ ही, टॉगल किए जा सकने वाले ऐसे बदलावों के बारे में भी बताया गया है जिनसे ऐप्लिकेशन की सामान्य जांच करने में मदद मिल सकती है.

बदलावों की सूची को उनकी डिफ़ॉल्ट स्थिति के हिसाब से फ़िल्टर किया जा सकता है.

Android 15 में कंपैटबिलिटी फ़्रेमवर्क में टॉगल किए जा सकने वाले बदलाव

CAMERA_MIC_INDICATORS_NOT_PRESENT

बदलाव का आईडी: 162547999
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इससे पता चलता है कि यह डिवाइस, कैमरे और माइक्रोफ़ोन के इंडिकेटर के साथ काम करता है. अगर वैल्यू मौजूद है, तो यह false होती है. ऐसा इसलिए है, क्योंकि अगर बदलाव आईडी मौजूद नहीं है, तो CompatChanges#isChangeEnabled तरीका true दिखाता है.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

बदलाव का आईडी: 320741775
डिफ़ॉल्ट स्थिति: Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, isSessionConfigurationSupported यह भी जांच करता है कि सेशन पैरामीटर, एचएएल के साथ काम करते हैं या नहीं.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

बदलाव का आईडी: 296478951
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इसे चालू करने पर, PendingIntent का क्रिएटर डिफ़ॉल्ट रूप से, बैकग्राउंड में गतिविधि शुरू करने पर रोक लगा देता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, सुरक्षित बैकग्राउंड गतिविधि लॉन्च सेक्शन देखें.

DEPRECATE_UI_FONT

बदलाव का आईडी: 279646685
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

अगर यह सुविधा चालू है, तो आपका ऐप्लिकेशन Android 15 या उसके बाद के वर्शन वाले डिवाइस पर चलने पर, elegantTextHeight TextView एट्रिब्यूट डिफ़ॉल्ट रूप से true हो जाता है. इससे, डिफ़ॉल्ट रूप से इस्तेमाल किए जाने वाले कॉम्पैक्ट फ़ॉन्ट की जगह, ऐसी कुछ स्क्रिप्ट का इस्तेमाल किया जाता है जिनमें बड़ी वर्टिकल मेट्रिक होती हैं. ये स्क्रिप्ट, पढ़ने में काफ़ी आसान होती हैं.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, elegantTextHeight एट्रिब्यूट की डिफ़ॉल्ट वैल्यू 'सही' है सेक्शन देखें.

DOWNSCALED

बदलाव का आईडी: 168419799
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, हर ऐप्लिकेशन के लिए बफ़र को कम करने के सभी बदलावों को कंट्रोल करता है. इस बदलाव को चालू करने से, स्केलिंग के लिए ये फ़ैक्टर लागू किए जा सकते हैं:

जब किसी ऐप्लिकेशन पैकेज के लिए यह बदलाव चालू किया जाता है, तो ऐप्लिकेशन का साइज़, स्केलिंग फ़ैक्टर के ज़रिए तय किए गए सबसे बड़े साइज़ पर बदल जाता है. उदाहरण के लिए, अगर 80% और 70%, दोनों (DOWNSCALE_80 और DOWNSCALE_70) चालू हैं, तो 80% का इस्तेमाल किया जाएगा. जब यह बदलाव और DOWNSCALED_INVERSE, दोनों चालू हों, तो DOWNSCALED_INVERSE को प्राथमिकता दी जाती है और स्केलिंग फ़ैक्टर को उलटे क्रम में लागू किया जाता है.

DOWNSCALED_INVERSE

बदलाव आईडी: 273564678
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, हर ऐप्लिकेशन के लिए बफ़र के इनवर्स डाउनस्केलिंग में किए गए सभी बदलावों को कंट्रोल करता है. इस बदलाव को चालू करने पर, इन स्केलिंग फ़ैक्टर को उलट-पुलट करके लागू किया जा सकता है. इसका मतलब है कि रिज़ॉल्यूशन को अपस्केल किया जाएगा:

जब किसी ऐप्लिकेशन पैकेज के लिए यह बदलाव चालू किया जाता है, तो ऐप्लिकेशन का साइज़, स्केलिंग फ़ैक्टर के हिसाब से कम कर दिया जाता है. उदाहरण के लिए, अगर 80% और 70% (DOWNSCALE_80 और DOWNSCALE_70) दोनों चालू हैं, तो 80% का इस्तेमाल किया जाता है. ऐसा इसलिए, क्योंकि उलटे क्रम में लागू करने पर, 80% का स्केलिंग फ़ैक्टर 125% के बराबर होता है. यह 70% के स्केलिंग फ़ैक्टर को उलटे क्रम में लागू करने पर लागू होने वाले 142.86% स्केलिंग से कम है. जब यह बदलाव और DOWNSCALED, दोनों चालू हों, तो DOWNSCALED_INVERSE को प्राथमिकता दी जाती है और स्केलिंग फ़ैक्टर को उलटे क्रम में लागू किया जाता है.

DOWNSCALE_30

बदलाव आईडी: 189970040
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 30% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 333.33% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_35

बदलाव का आईडी: 189969749
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 35% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 285.71% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_40

बदलाव का आईडी: 189970038
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 40% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 250% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_45

बदलाव आईडी: 189969782
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 45% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 222.22% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_50

बदलाव का आईडी: 176926741
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 50% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 200% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_55

बदलाव का आईडी: 189970036
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 55% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 181.82% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_60

बदलाव का आईडी: 176926771
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 60% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 166.67% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_65

बदलाव का आईडी: 189969744
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 65% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 153.85% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_70

बदलाव का आईडी: 176926829
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 70% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 142.86% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_75

बदलाव का आईडी: 189969779
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 75% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 133.33% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_80

बदलाव का आईडी: 176926753
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 80% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 125% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_85

बदलाव का आईडी: 189969734
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 85% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 117.65% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_90

बदलाव का आईडी: 182811243
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 90% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 111.11% वाले डिसप्ले पर चल रहा है.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

बदलाव का आईडी: 202956589
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, Arrays.asList(...).toArray() का इस्तेमाल करने पर, नतीजे के ऐरे का कॉम्पोनेंट टाइप अब Object हो जाता है, न कि ऐरे के एलिमेंट का टाइप. इसलिए, यह कोड ClassCastException को दिखाता है:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

इस मामले में, String को एरे में कॉम्पोनेंट टाइप के तौर पर बनाए रखने के लिए, Collection.toArray(Object[]) का इस्तेमाल किया जा सकता है:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, OpenJDK API में हुए बदलावों के बारे में बताने वाला सेक्शन देखें.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

बदलाव का आईडी: 324203798
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस सेटिंग के चालू होने पर, किसी भी मौजूदा ऐप्लिकेशन को ClientTransaction#getActivityToken() के ऐसे इस्तेमाल से होने वाली ऐप्लिकेशन के साथ काम करने से जुड़ी समस्याओं से बचाया जा सकता है जो SDK टूल के बिना किए जाते हैं. इसके लिए, सिर्फ़ LaunchActivityItem को बंडल करने की अनुमति दें.

ENABLE_MATCH_LOCAL_NETWORK

बदलाव का आईडी: 319212206
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस सुविधा के चालू होने पर, ऐप्लिकेशन को डिफ़ॉल्ट रूप से लोकल नेटवर्क से नेटवर्क कॉलबैक मिलते हैं. Android 14 (एपीआई लेवल 34) या इससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन को, स्थानीय नेटवर्क से ConnectivityManager.NetworkCallback पाने के लिए, अब भी NetworkRequest के NetworkCapabilities में NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK जोड़ना होगा.

ENABLE_STRICT_FORMATTER_VALIDATION

बदलाव आईडी: 270674727
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, String.format() और Formatter.format() एपीआई का इस्तेमाल करते समय, आर्ग्युमेंट इंडेक्स, फ़्लैग, चौड़ाई, और सटीक वैल्यू की पुष्टि अब ज़्यादा सख्त तरीके से की जाती है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, OpenJDK API में हुए बदलावों के बारे में बताने वाला सेक्शन देखें.

ENFORCE_EDGE_TO_EDGE

बदलाव का आईडी: 309578419
डिफ़ॉल्ट स्थिति: Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

यह सुविधा चालू होने पर, Android 15 या इसके बाद के वर्शन पर चलने वाले डिवाइसों पर, ऐप्लिकेशन डिफ़ॉल्ट रूप से पूरे स्क्रीन पर दिखेंगे.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, एक से दूसरी जगह पर डेटा भेजने के लिए ज़रूरी शर्तों को लागू करने के बारे में सेक्शन देखें.

ENFORCE_STRICT_QUERY_BUILDER

बदलाव का आईडी: 143231523
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, SQLiteQueryBuilder सभी CalendarProvider2 क्वेरी के विकल्पों की पुष्टि करता है, ताकि वे नुकसान पहुंचाने वाले आर्ग्युमेंट से सुरक्षित रहें.

FGS_BOOT_COMPLETED_RESTRICTIONS

बदलाव का आईडी: 296558535
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, BOOT_COMPLETED ब्रॉडकास्ट के अलावा, सभी तरह के ब्रॉडकास्ट के लिए, फ़ोरग्राउंड सेवा के बैकग्राउंड में शुरू होने की सुविधा बंद हो जाती है:

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में होने वाले बदलावों वाले पेज पर, फ़ोरग्राउंड सेवाएं लॉन्च करने वाले BOOT_COMPLETED ब्रॉडकास्ट रिसीवर पर लगी पाबंदियों सेक्शन देखें.

FGS_INTRODUCE_TIME_LIMITS

बदलाव का आईडी: 317799821
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, कुछ खास तरह की फ़ोरग्राउंड सेवाओं के लिए समयसीमा तय होती है. अगर पाबंदी वाली फ़ोरग्राउंड सेवा, तय समयसीमा के अंदर बंद नहीं की जाती है, तो उसे Service.onTimeout(int, int) का इस्तेमाल करके कॉलबैक मिलेगा. इसके बाद, उसे कुछ सेकंड में बंद कर दिया जाना चाहिए. अगर कोई ऐप्लिकेशन ऐसा नहीं करता है, तो उसे ANR माना जाएगा.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, डेटा सिंक और मीडिया प्रोसेसिंग के लिए, फ़ोरग्राउंड सेवा के टाइप के टाइम आउट व्यवहार के बारे में बताने वाले सेक्शन देखें.

FGS_SAW_RESTRICTIONS

बदलाव आईडी: 319471980
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस विकल्प को चालू करने पर, फ़ोरग्राउंड सेवा के बैकग्राउंड में होने वाली सभी गतिविधियां, सिस्टम अलर्ट विंडो में शुरू हो जाती हैं. ऐसा तब तक होता है, जब तक कि उसमें पहले से ही सिस्टम ओवरले विंडो मौजूद न हो.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, ऐप्लिकेशन के पास SYSTEM_ALERT_WINDOW अनुमति होने पर, फ़ोरग्राउंड सेवाएं शुरू करने पर लगने वाली पाबंदियों के बारे में बताने वाला सेक्शन देखें.

FORCE_DISABLE_HEVC_SUPPORT

बदलाव आईडी: 174227820
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

किसी ऐप्लिकेशन को HEVC मीडिया की सुविधा के साथ काम करने से ज़बरदस्ती बंद करना. ऐप्लिकेशन को अपने मेनिफ़ेस्ट में, काम करने वाले मीडिया की सुविधाओं के बारे में बताना चाहिए. हालांकि, इस फ़्लैग का इस्तेमाल करके, किसी ऐप्लिकेशन को HEVC के साथ काम न करने के लिए मजबूर किया जा सकता है. इससे, HEVC में कोड में बदले गए मीडिया को ऐक्सेस करते समय, ट्रांसकोडिंग को ज़बरदस्ती किया जा सकता है. इस फ़्लैग को सेट करने पर, ऐप्लिकेशन के लिए ओएस लेवल की डिफ़ॉल्ट सेटिंग बदल जाती है. यह डिफ़ॉल्ट रूप से बंद होता है. इसका मतलब है कि ओएस के डिफ़ॉल्ट विकल्पों को प्राथमिकता दी जाती है. अगर यह फ़्लैग और FORCE_ENABLE_HEVC_SUPPORT, दोनों चालू हैं, तो ओएस दोनों फ़्लैग को अनदेखा करता है.

FORCE_ENABLE_HEVC_SUPPORT

बदलाव का आईडी: 174228127
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

किसी ऐप्लिकेशन को HEVC मीडिया की सुविधा के साथ काम करने के लिए ज़बरदस्ती चालू करना. ऐप्लिकेशन को, मेनिफ़ेस्ट में यह बताना चाहिए कि वे किन मीडिया फ़ॉर्मैट के साथ काम करते हैं. हालांकि, इस फ़्लैग का इस्तेमाल करके किसी ऐप्लिकेशन को HEVC के साथ काम करने के लिए ज़बरदस्ती किया जा सकता है. इससे, HEVC में एन्कोड किए गए मीडिया को ऐक्सेस करते समय ट्रांसकोडिंग से बचा जा सकता है. इस फ़्लैग को सेट करने पर, ऐप्लिकेशन के लिए ओएस लेवल की डिफ़ॉल्ट सेटिंग बदल जाती है. यह डिफ़ॉल्ट रूप से बंद होता है. इसका मतलब है कि ओएस के डिफ़ॉल्ट सेटिंग को प्राथमिकता दी जाएगी. अगर यह फ़्लैग और FORCE_DISABLE_HEVC_SUPPORT, दोनों चालू हैं, तो ऑपरेटिंग सिस्टम दोनों फ़्लैग को अनदेखा कर देता है.

FORCE_NON_RESIZE_APP

बदलाव का आईडी: 181146395
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिन पैकेज पर यह लागू होता है उनका साइज़ नहीं बदला जा सकता.

FORCE_RESIZE_APP

बदलाव आईडी: 174042936
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिन पैकेज पर इसे लागू किया जाता है उनका साइज़ बदलने की सुविधा चालू कर देता है. हम सिर्फ़ फ़ुलस्क्रीन विंडो मोड में साइज़ बदलने की अनुमति देते हैं. हालांकि, हम ऐप्लिकेशन को साइज़ बदलने की सुविधा वाले मल्टी-विंडो मोड में नहीं भेजते.

GWP_ASAN

बदलाव आईडी: 145634846
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

ऐप्लिकेशन में, सैंपल की गई नेटिव मेमोरी से जुड़ी गड़बड़ी का पता लगाने की सुविधा चालू करता है.

GWP-ASan का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, GWP-ASan गाइड देखें.

IS_DEVICE_OWNER_USER_AWARE

बदलाव का आईडी: 307233716
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, isDeviceOwnerApp(String) तरीका कॉन्टेक्स्ट में मौजूद उपयोगकर्ता का इस्तेमाल करेगा. Android 14 (एपीआई लेवल 34) या इससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, कॉल करने की प्रोसेस का उपयोगकर्ता इस्तेमाल किया जाएगा (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

बदलाव का आईडी: 308670109
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस सेटिंग के चालू होने पर, ऐप्लिकेशन किसी डिवाइस पर 'परेशान न करें' मोड की ग्लोबल स्थिति या नीति में बदलाव नहीं कर सकते. ऐसा, उपयोगकर्ता की सेटिंग में बदलाव करके या 'परेशान न करें' मोड को बंद करके नहीं किया जा सकता. इसके बजाय, ऐप्लिकेशन को एक AutomaticZenRule सबमिट करना होगा. सिस्टम, इस AutomaticZenRule को ग्लोबल नीति में जोड़ता है. इसमें, सबसे ज़्यादा पाबंदी वाली नीति लागू करने की मौजूदा योजना का इस्तेमाल किया जाता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, ऐप्लिकेशन, 'परेशान न करें' मोड की ग्लोबल स्थिति में कब बदलाव कर सकते हैं सेक्शन देखें.

NATIVE_HEAP_ZERO_INIT

बदलाव का आईडी: 178038272
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

नेटिव हीप मेमोरी के ऐलोकेशन को अपने-आप शून्य पर सेट करने की सुविधा चालू करें.

NATIVE_MEMTAG_ASYNC

बदलाव आईडी: 145772972
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस प्रोसेस में, एसिंक्रोनस (ASYNC) मेमोरी टैग की जांच करने की सुविधा चालू करें. इस फ़्लैग का असर सिर्फ़ उस हार्डवेयर पर पड़ता है जो ARM मेमोरी टैगिंग एक्सटेंशन (एमटीई) के साथ काम करता है.

NATIVE_MEMTAG_SYNC

बदलाव का आईडी: 177438394
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस प्रोसेस में, सिंक्रोनस (SYNC) मेमोरी टैग की जांच करने की सुविधा चालू करता है. इस फ़्लैग का असर सिर्फ़ उस हार्डवेयर पर पड़ता है जो ARM मेमोरी टैगिंग एक्सटेंशन (एमटीई) के साथ काम करता है. अगर NATIVE_MEMTAG_ASYNC और यह विकल्प, दोनों चालू हैं, तो इस विकल्प को प्राथमिकता दी जाती है और सिंक मोड में एमटीई चालू हो जाता है.

OVERRIDE_ANY_ORIENTATION

बदलाव का आईडी: 265464455
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस बदलाव को चालू करने पर, गतिविधि के लिए अनुरोध किए गए ओरिएंटेशन के बावजूद, ओरिएंटेशन के लिए ये बदलाव लागू किए जा सकते हैं:

OVERRIDE_ANY_ORIENTATION_TO_USER

बदलाव का आईडी: 310816437
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, SCREEN_ORIENTATION_USER चालू हो जाता है. यह गतिविधि के अनुरोध किए गए किसी भी ओरिएंटेशन को बदल देता है. फ़िक्स किए गए ओरिएंटेशन वाले ऐप्लिकेशन को, बड़ी स्क्रीन वाले डिवाइसों पर फ़ुलस्क्रीन मोड में बदला जा सकता है. इसके लिए, ignoreOrientationRequest को चालू करना ज़रूरी है.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

बदलाव आईडी: 314961188
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, फ़िक्स्ड ओरिएंटेशन वाले ऐप्लिकेशन के लिए, फ़्री-फ़ॉर्म विंडो मोड में कैमरे के साथ काम करने की सुविधा से उन पैकेज को बाहर रखा जाता है जिन पर बदलाव लागू किया गया है.

फ़्री-फ़ॉर्म विंडो मोड में, ऐप्लिकेशन की विंडो को लेटरबॉक्स करके और कैमरे की विशेषताओं को बदलकर, ऐप्लिकेशन को पोर्ट्रेट डिवाइस पर चलने की सुविधा मिलती है. ऐप्लिकेशन, पोर्ट्रेट डिवाइस पर आम तौर पर इन विशेषताओं का इस्तेमाल करते हैं: पीछे और सामने वाले कैमरे के लिए, क्रमशः 90 और 270 डिग्री सेंसर रोटेशन और डिसप्ले रोटेशन को 0 पर सेट करना.

इस फ़्लैग का इस्तेमाल करके, उन ऐप्लिकेशन के लिए, काम करने से जुड़ी समस्याओं को ठीक करने की सुविधा बंद करें जो ठीक से काम नहीं करती हैं.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

बदलाव का आईडी: 191514214
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह बदलाव उन पैकेज पर लागू होता है जिन पर इसे लागू किया जाता है. साथ ही, android:resizeableActivity की मौजूदा वैल्यू को अनदेखा करता है. साथ ही, Android 6.0 (एपीआई लेवल 23) के बराबर या उससे कम के टारगेट SDK टूल को अनदेखा करता है और गतिविधि को रीसाइज़ नहीं किया जा सकता. इस मामले में, कैमरे के रोटेट और काटने की वैल्यू सिर्फ़ डिसप्ले के मौजूदा रोटेशन को ध्यान में रखते हुए, ज़रूरी बदलाव पर निर्भर करती है.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

बदलाव आईडी: 189229956
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह बदलाव उन पैकेज पर लागू होता है जिन पर इसे लागू किया जाता है. इससे, कैमरे के घुमाने और काटने के डिफ़ॉल्ट तरीके को बदल दिया जाता है और हमेशा CaptureRequest.SCALER_ROTATE_AND_CROP_NONE दिखता है.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

बदलाव आईडी: 316897322
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस विकल्प के चालू होने पर, उपयोगकर्ताओं को MediaProjection सेशन शुरू करते समय, किसी एक ऐप्लिकेशन या पूरी स्क्रीन को कैप्चर करने का विकल्प दिखता है. इससे, MediaProjectionConfig#createConfigForDefaultDisplay का इस्तेमाल नहीं होता.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

बदलाव का आईडी: 266124927
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिस ऐप्लिकेशन पर यह लागू होता है उसके लिए, SCREEN_ORIENTATION_REVERSE_LANDSCAPE को चालू करता है. OVERRIDE_ANY_ORIENTATION चालू होने पर भी, SCREEN_ORIENTATION_REVERSE_LANDSCAPE का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में लैंडस्केप ओरिएंटेशन की जानकारी दी गई हो. इस बदलाव को चालू करने से, आपको उन डिवाइसों के बीच अपने ऐप्लिकेशन के व्यवहार की जांच करने में मदद मिल सकती है जहां लैंडस्केप ओरिएंटेशन, Surface.ROTATION_90 और डिवाइसों के बीच Surface.ROTATION_270 के हिसाब से होता है.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

बदलाव आईडी: 332679525
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, डिसप्ले कटआउट मोड के व्यवहार में लेआउट को बदल देता है. यह सिर्फ़ तब लागू होगा, जब एज-टू-एज विकल्प लागू न किया गया हो.

OVERRIDE_MIN_ASPECT_RATIO

बदलाव का आईडी: 174042980
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, उन सभी बदलावों को कंट्रोल करता है जो किसी खास आसपेक्ट रेशियो को लागू करते हैं. इस बदलाव को चालू करने पर, ये कम से कम आसपेक्ट रेशियो लागू किए जा सकते हैं:

जब किसी ऐप्लिकेशन पैकेज के लिए यह बदलाव चालू किया जाता है, तो ऐप्लिकेशन के मेनिफ़ेस्ट में दिए गए कम से कम आसपेक्ट रेशियो को, चालू किए गए सबसे बड़े आसपेक्ट रेशियो पर बदल दिया जाता है. ऐसा तब तक किया जाता है, जब तक कि ऐप्लिकेशन के मेनिफ़ेस्ट की वैल्यू ज़्यादा न हो.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

बदलाव का आईडी: 218959984
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह पोर्ट्रेट फ़ुलस्क्रीन में आसपेक्ट रेशियो की कम से कम सीमा की पाबंदी को बदल देता है, ताकि स्क्रीन के सभी उपलब्ध स्पेस का इस्तेमाल किया जा सके.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

बदलाव का आईडी: 180326787
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर OVERRIDE_MIN_ASPECT_RATIO भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, गतिविधि का कम से कम आसपेक्ट रेशियो, OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE के मुताबिक बड़ी वैल्यू पर सेट हो जाता है.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

बदलाव का आईडी: 180326845
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर OVERRIDE_MIN_ASPECT_RATIO भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, गतिविधि का कम से कम आसपेक्ट रेशियो, OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE के मुताबिक मीडियम वैल्यू पर सेट हो जाता है.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

बदलाव आईडी: 325586858
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह उन बदलावों पर पाबंदी लगाता है जो तय किए गए कम से कम आसपेक्ट रेशियो को लागू करने के लिए मजबूर करते हैं. इससे, ये बदलाव सिर्फ़ तब लागू होते हैं, जब कोई ऐप्लिकेशन कैमरे से कनेक्ट हो.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

बदलाव का आईडी: 203647190
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए चालू है.

अगर OVERRIDE_MIN_ASPECT_RATIO भी चालू है, तो यह बदलाव उन सभी बदलावों को सीमित कर देता है जो किसी गतिविधि के आसपेक्ट रेशियो को किसी खास वैल्यू पर ज़बरदस्ती सेट करते हैं. जैसे, OVERRIDE_MIN_ASPECT_RATIO_LARGE और OVERRIDE_MIN_ASPECT_RATIO_MEDIUM. ऐसा उन गतिविधियों के लिए किया जाता है जिनका ओरिएंटेशन भी पोर्ट्रेट है.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

बदलाव आईडी: 236283604
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस बदलाव को चालू करने पर, डिवाइस बनाने वाली कंपनियां, डिवाइस के ओरिएंटेशन को अनदेखा करने से जुड़ी पाबंदियां सेट कर सकती हैं. हालांकि, इन पाबंदियों में वे पैकेज शामिल नहीं होंगे जिन पर यह बदलाव लागू होता है.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

बदलाव का आईडी: 265451093
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिस ऐप्लिकेशन पर यह लागू होता है उसके लिए, SCREEN_ORIENTATION_NOSENSOR को चालू करता है. OVERRIDE_ANY_ORIENTATION के चालू होने पर भी, SCREEN_ORIENTATION_NOSENSOR का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई दूसरा तय ऑरिएंटेशन न दिया गया हो.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

बदलाव आईडी: 265452344
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिस ऐप्लिकेशन पर यह लागू होता है उसके लिए, SCREEN_ORIENTATION_PORTRAIT को चालू करता है. OVERRIDE_ANY_ORIENTATION के चालू होने पर भी, SCREEN_ORIENTATION_PORTRAIT का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई दूसरा तय ऑरिएंटेशन न दिया गया हो.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

बदलाव आईडी: 319400769
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस विकल्प के चालू होने पर, RFC 6266 के मुताबिक Content-Disposition हेडर को पार्स किया जा सकता है. खास तौर पर, इससे filename* वैल्यू को पार्स करने में मदद मिलती है, जो किसी दूसरी कैरेक्टर एन्कोडिंग का इस्तेमाल कर सकती हैं.

RATE_LIMIT_TOASTS

बदलाव का आईडी: 174840628
डिफ़ॉल्ट स्थिति: इस बदलाव को टॉगल नहीं किया जा सकता. इसे सिर्फ़ कंपैटबिलिटी फ़्रेमवर्क लॉग करता है.

इससे, Toast.show() कॉल की संख्या पर दर सीमित करने की सुविधा चालू होती है. इससे, उपयोगकर्ता को सीमित समय में बहुत ज़्यादा टॉस्ट दिखाने से रोका जा सकता है. अगर किसी तय समयावधि में, तय संख्या से ज़्यादा टॉस्ट दिखाने की कोशिश की जाती है, तो टॉस्ट को खारिज कर दिया जाता है.

STREAM_INT_DIFFERS_FROM_NEXT_INT

बदलाव का आईडी: 308103782
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

चालू होने पर, Random.ints() तरीके अब संख्याओं का एक अलग क्रम दिखाते हैं, जबकि Random.nextInt() तरीके ऐसा नहीं करते. ऐसा, https://bugs.openjdk.org/browse/JDK-8301574 में किए गए बदलावों की वजह से होता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, OpenJDK API में हुए बदलावों के बारे में बताने वाला सेक्शन देखें.

USE_EXPERIMENTAL_COMPONENT_ALIAS

बदलाव का आईडी: 196254758
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस विकल्प को चालू करने पर, सिस्टम "android" पैकेज को कॉम्पोनेंट के दूसरे नाम इस्तेमाल करने की अनुमति देता है.

USE_NEW_ISO_LOCALE_CODES

बदलाव आईडी: 291868760
डिफ़ॉल्ट स्थिति: यह Android 15 (एपीआई लेवल 35) या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस सुविधा के चालू होने पर, हिब्रू, येहुदी, और इंडोनेशियन भाषा के कोड को अब उनके पुराने फ़ॉर्म (हिब्रू: iw, येहुदी: ji, और इंडोनेशियन: in) में नहीं बदला जाता.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 15 के व्यवहार में हुए बदलावों वाले पेज पर, OpenJDK API में हुए बदलावों के बारे में बताने वाला सेक्शन देखें.