Android 11 nostiprinās slēptos API ierobežojumus un noņems meta-atspīdumu

Operētājsistēmā Android 9 Pie tika ieviesti slēptie API ierobežojumi, un tagad operētājsistēmā Android 11 šie ierobežojumi tiks pastiprināti, lai noņemtu meta-refleksijas apiešanu.

Tiem no jums, kas to nezina, Google ieviesa diezgan kaitinošas izmaiņas operētājsistēmā Android 9 Pie, kas attiecas uz entuziastiem izstrādātājiem, kuri vēlas paplašināt Android iespējas. Es, protams, runāju par slēptā API melnā saraksta pievienošanu. Lai veicinātu lietojumprogrammu stabilitāti, Google bloķēja piekļuvi lielākajai daļai slēpto API — API, kas pastāv Android sistēmā, bet ir nedokumentēti Android SDK. Šīm API var piekļūt, izmantojot pārdomas līdz operētājsistēmai Android 9 Pie, un pašlaik tām joprojām var piekļūt, izmantojot meta refleksijas risinājumu.

Ja jums nav ne jausmas, par ko es runāju, jums, iespējams, vajadzētu izlasi manis uzrakstīto rakstu pirms dažiem mēnešiem par šo tēmu. Tajā tiks izskaidrots viss, kas jums jāzina par meta atspoguļojumu un to, kā tas darbojas. Diemžēl šķiet, ka Google pamanīja šo risinājumu (hoi). Jaunā saistībā ar AOSP Google ir ieviesusi kodu, lai "sacietētu" Android slēptās API pārbaudes. Tas būtībā nozīmē, ka meta atspoguļojums vairs nedarbosies.

Protams, tas neietekmēs visas lietotnes. Tāpat kā sākotnējais API melnais saraksts, tiks ietekmētas tikai tās lietotnes, kuru mērķauditorija ir Android 11 (API līmenis 30) vai jaunāka versija. Joprojām varat atlasīt mērķauditoriju API 29. līmenī vai zemākā līmenī un izmantot meta atspoguļojumu. Ar Play veikalu pakāpeniski pieaugošās minimālās mērķa SDK prasības, tomēr tas ilgi nebūs derīgs risinājums.

Pašlaik es nezinu nekādus risinājumus lietotnēm, kuru mērķauditorija ir API 30. Tomēr operētājsistēma Android 11 ir vēl tālu, tāpēc pastāv liela iespēja, ka kāds atradīs veidu, kā atjaunot piekļuvi. Tikmēr, ja izmantojat slēptās API, iespējams, vēlēsities to darīt iesniegt lūgumu tos publiskot operētājsistēmā Android 11. Ja jums padodas C++ un Java analīze un vēlaties mēģināt "labot" šo mazo melnā saraksta situāciju, apskatiet attiecīgo apņemšanos.