[2. atjauninājums: izlabots] Šī fona tapete izraisa retu kļūdu, kas izraisa Android ierīču sāknēšanas cilpu

click fraud protection

Šī fona tapete izraisa retu kļūdu, kas izraisa Android ierīču sāknēšanas cilpu. Neizmēģiniet fona tapeti savā ierīcē, pretējā gadījumā varat zaudēt visus savus datus.

2. atjauninājums (08.03.2020. plkst. 15:03 ET): Izmantojot 2020. gada augusta Android drošības ielāpus, Google ir atjauninājis Android, lai novērstu šo kļūdu. Sīkāka informācija atrodama apakšā.

Atjauninājums 1 (06/04/2020 plkst. 03:12 ET): ir parādījušies jaunāki skaidrojumi par to, kas izraisa "nolādēto fonu" tālruņu avāriju, kā arī Google atbilde. Lai iegūtu papildinformāciju, ritiniet līdz apakšai. Tālāk ir saglabāts raksts, kas publicēts 2020. gada 1. jūnijā.

Iedomājieties, ka meklējat internetu foršas tapetes un jūs saskaraties ar gleznainu ainavu. Tam ir viss; sulīgs zaļš mežs, neskarts ezers ar niecīgu salu, sniegoti kalni fonā un bieza mākoņu sega ar saules gaismu, kas sūcas pa spraugām. Jūs nekavējoties lejupielādējat attēlu, iestatāt to kā tālruņa fonu un uzplaukums! Jūsu Android tālrunis iestrēgst sāknēšanas ciklā. Izklausās maz ticams, vai ne? Nu, tas attiecas uz šo konkrēto fonu.

Fona tapete nesen tika kopīgota vietnē Twitterko slavens Samsung leakster Ice Universe, kurš apgalvoja, ka tapetes "izraisīs jūsu tālruņa avāriju!" Neskatoties uz viņu brīdinājumu, vairāki lietotāji lejupielādēja fona tapeti, lai pārbaudītu, vai tā patiešām kaut ko darīja viņu tālrunī, un viņi saskārās ar tālāk norādīto rezultāti:

Saskaņā ar AOSP bāzes vadošā izstrādātāja Davide Bianco teikto pielāgota ROM “POSP”, šis konkrētais fona attēls izraisa dažu Android ierīču avāriju, jo tajā tiek izmantota RGB krāsu telpa, nevis sRGB krāsu telpa, kas sākotnēji tiek atbalstīta operētājsistēmā Android. Bianco ir iesniedza ielāpu AOSP, kas, kā ziņots, novērš problēmu, un ielāpa aprakstā ir teikts, ka "Problēma rodas, kad lietotājs mēģina iestatīt kā fona attēlu attēlu, kas nav sRGB. Notiek tas, ka mainīgā y vērtība ir augstāka par histogrammas robežām, izraisot SysUI avāriju. Viens no iespējamiem labojumiem ir ierobežot y vērtību, lai tā vienmēr būtu mazāka par 256." Kopā ar Bianco, divi izstrādātāji, XDA vecākais loceklis BadDaemon un XDA atzītais izstrādātājs luca020400, no populārās LineageOS pielāgotās ROM komandas ir arī nākuši klajā ar unikālu problēmas risinājumu. Varat skatīt ielāpu aprakstus LineageOS Gerrit, veicot tālāk norādītās darbības šo saiti un šo saiti.

Mēs stingri iesakām nekādā gadījumā neizmantot šo attēlu kā fonu. Ja esat to jau izmantojis un ierīce ir iestrēdzis sāknēšanas cilpā, lūdzu, pārbaudiet tālāk sniegtos norādījumus par to, kā jūs varētu atgūt ierīci.

A atskaite no 9to5Google šajā jautājumā arī atklāj, ka problēma attiecas tikai uz ierīcēm, kurās darbojas operētājsistēma Android 10 vai vecāka, un tā neietekmē ierīces, kurās darbojas Android 11 Izstrādātāja priekšskatījums. Tas ir saistīts ar faktu, ka operētājsistēmā Android 11 sistēma pārveido krāsu telpu, ja tā netiek atbalstīta, taču operētājsistēmā Android 10 tā netiek atbalstīta. Tas nozīmē, ka šī problēma nav saistīta ar šo konkrēto attēlu un to var izraisīt citi attēli, kas izmanto RGB krāsu telpu.

Ņemiet vērā: lai gan problēma neskar visas Android ierīces, mēs ļoti iesakām neizmēģināt fonu savā tālrunī. Ja tomēr mēģinātu to izmēģināt, iespējams, varēsit atgūt ierīci, pilnībā atiestatot to vai pārejot uz drošo režīmu un mainot fona attēlu. Bet tā kā daži lietotāji ir pārgājuši Twitter nevarēja atgūt savas ierīces, izmantojot iepriekšminētās metodes, vislabāk būtu, ja kā fonu neizmantotu precīzu attēlu. Ja jums ļoti patīk fona attēls, vienkārši uzņemiet attēla ekrānuzņēmumu un izmantojiet to kā fonu.


1. atjauninājums: jauns skaidrojums, atbilde no Google

Kļūdas cēloņu paplašināšana, kā paskaidroja XDA vecākais loceklis BadDaemon un XDA atzītais izstrādātājs luca020400, "nolādētā" fona tapete ir iekodēta īpašā krāsu telpā, ko sauc par "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (tas ir pilns krāsu telpas nosaukums, un Skia attiecas uz Google izveidotā 2D grafikas bibliotēka.) Turpretim lielākā daļa citu fona attēlu ir kodēti krāsu telpā, ko sauc par "sRGB".

Android versijās 10 un vecākās versijās visi attēli tiek pārveidoti par sRGB, ja vien izstrādātāji nav norādījuši citādi. Ir reta kļūda, kas var rasties, pārvēršot attēlu uz sRGB, kad kodam, kas aprēķina katra pikseļa "spilgtuma" vērtību, izdodas pārsniegt maksimālo robežu 255.

Spilgtumu aprēķina pēc šādas formulas:

Spilgtums = .2126f * r + .7152f * g + .0722f * b

Šeit "r", "g" un "b" ir sarkanas, zaļas un zilas krāsas vērtības, kas attēlotas 8 bitu vērtībā no 0 līdz 255.

Problēma ar šo aprēķinu ir tāda, ka katra daļa vienmēr tiek noapaļota pirms galīgās summēšanas. Viens no pikseļiem "nolādētajā" fonā, kad tiek pārveidots attēls no sRGB un pēc tam uz pelēktoņu, ir šādas RGB vērtības: 255, 255, 243, kas, pievienojot iepriekšminētajam vienādojumam, izskatās patīk:

r: 0,2126 * 255 = 54,213 => 55

g: 0,7152 * 255 = 182,376 => 183

b: 0,0722 * 255 = 18,411 => 19

Spilgtums = r+ g + b = 257

Šī vērtība izraisa SystemUI un būtībā visas OS avāriju, jo tā pārsniedz maksimālo vērtību. Tā ir kļūda, kas ir tik neticami specifiska, jo tā ietver noapaļošanas kļūdas un krāsu telpas konversijas kļūdas kombināciju.

Šī kļūda neietekmē operētājsistēmu Android 11, jo attēla krāsu telpa "Skia" pēc noklusējuma netiek pārveidota par sRGB. Tādējādi šī krāsu telpas konversijas kļūda un noapaļošanas kļūda operētājsistēmā Android 11 neparādās.

Tomēr Romēns Gajs no Google Android Toolkit komandas uzskata, ka šīs problēmas galvenais cēlonis ir tikai veids, kā tiek aprēķināts spilgtums, nevis krāsu telpas pārveidošanas problēmas. Google veic savu iekšējo testēšanu, tāpēc mēs, iespējams, drīz redzēsim, ko viņi izdomās.

Šis skaidrojums tika atjaunināts, lai precizētu, ka šīs īpašās spilgtuma noapaļošanas aprēķina kļūdas cēlonis ir viens no pikseļiem "nolādētajā" fonā. Mēs arī precizējām, ka noapaļošana notiek katrā spilgtuma aprēķina posmā, nevis beigās.


2. atjauninājums: labots 2020. gada augusta ielāpus

Android drošības ielāpi augusta mēnesim tikko sāka tiešraidēun XDA atzītais izstrādātājs luca020400 plankumainais a veikt AOSP kas apvieno šīs tapetes kļūdas labojumu.