Az Android 9 Pie rejtett API-korlátozásokat vezetett be, és most az Android 11 szigorítja ezeket a korlátozásokat, hogy eltávolítsa a meta-reflexiós megkerülést.
Azok számára, akik nem ismerik, a Google egy meglehetősen bosszantó változtatást vezetett be az Android 9 Pie-ben, amely a lelkes fejlesztőket érinti, akik szeretnék kitolni az Androidban elérhető lehetőségek határait. Természetesen a rejtett API feketelista hozzáadásáról beszélek. Az alkalmazások stabilitásának előmozdítása érdekében a Google letiltotta a hozzáférést a legtöbb rejtett API-hoz – az Android-keretrendszerben létező, de az Android SDK-ban nem dokumentált API-khoz. Ezek az API-k az Android 9 Pie-ig reflektálással érhetők el, és jelenleg is elérhetők a metareflexiós megoldással.
Ha fogalmad sincs, miről beszélek, valószínűleg meg kell tenned olvasd el a cikket, amit írtam néhány hónappal ezelőtt ebben a témában. Mindent elmagyaráz, amit a metareflexióról és annak működéséről tudni kell. Sajnos úgy tűnik, hogy a Google észrevette ezt a megoldást (hopp). Az AOSP melletti új kötelezettségvállalásban a Google kódot vezetett be az Android rejtett API-ellenőrzésének "megkeményítésére". Ez alapvetően azt jelenti, hogy a metareflexió többé nem fog működni.
Természetesen ez nem érinti az összes alkalmazást. Csakúgy, mint az eredeti API feketelistájánál, csak az Android 11 (30-as API-szint) vagy újabb rendszert célzó alkalmazások lesznek érintettek. Továbbra is megcélozhatja a 29-es vagy alacsonyabb API-szintet, és használhatja a metareflexiót. A Play Áruházzal fokozatosan növekvő minimális cél SDK-követelmények, ez azonban nem sokáig lesz érvényes megoldás.
Jelenleg nem tudok semmilyen megoldásról az API 30-at célzó alkalmazásokra. Az Android 11 azonban nagyon messze van, így jó esély van rá, hogy valaki megtalálja a módját a hozzáférés visszaállításának. Addig is, ha rejtett API-kat használ, érdemes lehet nyújtson be kérelmet azok nyilvánosságra hozatalára Android 11-ben. Ha jól tudod elemezni a C++-t és a Java-t, és szeretnél "megjavítani" ezt a kis feketelistás helyzetet, vessen egy pillantást a vonatkozó kötelezettségvállalásra.