[アップデート 2: 修正済み] この壁紙は、Android デバイスのブートループを引き起こすまれなバグを引き起こします

この壁紙は、Android デバイスのブートループを引き起こすまれなバグを引き起こします。 すべてのデータが失われる可能性があるので、デバイスで Wallaper を試さないでください。

アップデート 2 (2020 年 8 月 3 日 @ 3:03 PM ET): 2020 年 8 月の Android セキュリティ パッチで、Google は Android をアップデートしてこのバグを修正しました。 詳細については下部をご覧ください。

アップデート 1 (2020 年 6 月 4 日 @ 03:12 AM ET):「呪われた壁紙」が携帯電話をクラッシュさせる原因について、Googleからの回答とともに、新たな説明が明らかになった。 詳細については、一番下までスクロールしてください。 2020年6月1日に公開された記事を以下に保存します。

インターネットで検索しているところを想像してみてください。 クールな壁紙 そして美しい風景に出会う。 それはすべてを持っています。 緑豊かな森、小さな島のある自然のままの湖、背景には雪を頂いた山々、そしてその隙間から差し込む太陽の光が差し込む厚い雲。 すぐに画像をダウンロードし、携帯電話の壁紙として設定すると、ドーン! Android スマートフォンがブートループに陥ってしまいます。 ありそうもないですね。 まあ、それはこの特定の壁紙に当てはまります。

壁紙は最近共有されました ツイッター有名人による サムスン リークスターのIce Universeは、その壁紙が「携帯電話をクラッシュさせる!」と主張した。 彼らの警告にもかかわらず、いくつかの ユーザーは壁紙をダウンロードして、実際に携帯電話で何かが行われるかどうかを確認しましたが、次のような結果になりました。 結果:

AOSP ベースの開発主任である Davide Bianco 氏によると、 カスタムROM 「POSP」、この特定の壁紙は、Android でネイティブにサポートされている sRGB カラー スペースではなく、RGB カラー スペースを使用しているため、一部の Android デバイスがクラッシュします。 ビアンコは パッチを提出しました この問題は修正されたと報告されており、パッチの説明には「この問題は、ユーザーが sRGB ではない画像を壁紙として設定しようとすると発生します。 変数 y の値がヒストグラムの境界よりも大きくなり、SysUI がクラッシュします。 考えられる修正の 1 つは、y 値を常に 256 未満に制限することです。」Bianco と、XDA シニア メンバーの 2 人の開発者

バッドデーモン および XDA 認定開発者 ルカ020400人気の LineageOS カスタム ROM チームのチームも、この問題に対する独自の解決策を考え出しました。 以下の方法で LineageOS Gerrit のパッチの説明を確認できます。 このリンク そして このリンク.

いかなる状況であっても、この画像を壁紙として使用しないことを強くお勧めします。 すでに使用していてデバイスがブートループに入った場合は、デバイスを回復できる方法について以下の手順を確認してください。

からの報告 9to5Google さらに、この問題は Android 10 以前を実行しているデバイスに限定されており、Android 10 以降を実行しているデバイスには影響しないことが明らかになりました。 アンドロイド11 開発者プレビュー。 これは、Android 11 では色空間がサポートされていない場合にシステムが色空間を変換しますが、Android 10 では変換しないためです。 つまり、これはこの特定の画像の問題ではなく、RGB カラー スペースを使用する他の画像が原因である可能性があります。

この問題はすべての Android デバイスに影響するわけではありませんが、携帯電話で壁紙を試行しないことを強くお勧めします。 とにかく試してみると、デバイスを完全にリセットするか、セーフ モードに入って壁紙を変更することでデバイスを回復できる可能性があります。 しかし、一部のユーザーが増えたため、 ツイッター 前述の方法を使用してデバイスを回復できなかった場合は、正確な画像を壁紙として使用しないことをお勧めします。 壁紙が本当に気に入った場合は、画像のスクリーンショットを撮って、代わりにそれを壁紙として使用してください。


更新 1: 新しい説明と Google からの回答

XDA 上級メンバーによるバグの原因の詳細説明 バッドデーモン および XDA 認定開発者 ルカ020400、「呪われた」壁紙は、「Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126」と呼ばれる特別な色空間でエンコードされます(これは色空間の正式名であり、Skia は Google製の2Dグラフィックスライブラリ.) 対照的に、他のほとんどの壁紙画像は「sRGB」と呼ばれる色空間でエンコードされます。

Android バージョン 10 以前では、開発者が別途指定しない限り、すべての画像は sRGB に変換されます。 画像を sRGB に変換するときに発生する可能性のあるまれなバグがあり、各ピクセルの「輝度」値を計算するコードが最大制限の 255 を超えてしまいます。

輝度は次の式を使用して計算されます。

輝度 = .2126f * r + .7152f * g + .0722f * b

ここで、「r」、「g」、「b」は、0 ~ 255 の 8 ビット値で表される赤、緑、青の色の値です。

この計算の問題は、最終的な合計の前に各部分が常に切り上げられることです。 画像を sRGB から変換する途中の「呪われた」壁紙のピクセルの 1 つ グレースケールに変換すると、RGB 値は 255、255、243 になります。これを上記の方程式に代入すると、次のようになります。 のように:

r: .2126 * 255 = 54.213 => 55

g: .7152 * 255 = 182.376 => 183

b: .0722 * 255 = 18.411 => 19

輝度 = r+g + b = 257

この値は最大値を超えるため、SystemUI、および基本的に OS 全体がクラッシュします。 これは、丸め誤差と色空間変換エラーの組み合わせが関係しているため、非常に特殊なバグです。

画像の「Skia」色空間はデフォルトでは sRGB に変換されないため、このバグは Android 11 には影響しません。 したがって、Android 11 では、この色空間変換エラーと丸め誤差は発生しません。

ただし、Google の Android Toolkit チームの Romain Guy 氏は、 この問題の根本原因は次のとおりであると考えています これは輝度の計算方法にのみ関係しており、色空間変換の問題ではありません。 Googleは独自の内部テストを実施しており、 したがって、彼らが何を思いつくかはすぐに分かるでしょう。

この説明は、「呪われた」壁紙のピクセルの 1 つがこの特定の輝度丸め計算エラーの原因であることを明確にするために更新されました。 また、丸めは輝度計算の最後ではなく、各ステップ中に発生することも明らかにしました。


アップデート 2: 2020 年 8 月のパッチで修正されました

8 月の Android セキュリティ パッチ ライブに行ったばかりです、XDA 認定開発者 ルカ020400 を見つけた AOSP でコミットする この壁紙のバグの修正をマージします。