TWRP 2.3.2.1を導入。Android 4.2に対応&Wipe data(Factory Reset)時に/sdcard内で無限に0フォルダが生成されるバグを修正。

Nexus 7とGalaxy Nexus(SC-04D)に、カスタムリカバリのTWRP 2.3.2.1を導入しました。

TWRPは2.3.2.0からAndroid 4.2に対応させていて、今のところ特に問題もなく使用できています。


ユーザーのデータを保存するフォルダのパスが変更された

Android 4.2ではマルチユーザー機能が搭載されたことによって、ユーザーのデータが保存されるフォルダのパスが/data/mediaから/data/media/0に変わりました。

2.3.1.0以前のTWRPはAndroid 4.2に非対応のバージョンなので、リカバリモードに入ってバックアップしていたファイルを復元する際に/data/media/TWRPを参照します。

ところが、実際はAndroid 4.2では/data/media/0/TWRPにバックアップファイルが移動していて/data/media/TWRPには何もない状態になるので、復元するバックアップがないという表示になります。

ですので、2.3.1.0以前のTWRPを使ってAndroid 4.2から以前バックアップしていた状態に戻すには、/data/media/0/TWRP以下のファイルを/data/media/TWRPに移動する必要があるという問題があります。

上記の問題についてはAndroid 4.2におけるsdcard(内部ストレージ)の仕様変更についてのまとめ。Android 4.2のアップデート後に、今まではあった内部ストレージのフォルダやファイルが消えてアプリのデータ復元などができなくなった時の対処法。を参照してください。

TWRP 2.3.2.1では上記の問題を解決しており、バックアップファイルのパスを/data/media/0/TWRPに修正しているため、/data/media/0/TWRP以下のファイルを/data/media/TWRPに移動する必要がなくなりました。

今後Android 4.2のストックROMやカスタムROMを導入する予定であれば導入しておくことをおすすめします。


/sdcard内に、0フォルダが無限に生成されるバグ

2.3.1.0以前のTWRPで、Android 4.2のストックROMを導入したNexus 7やGalaxy Nexus(SC-04D)のwipe data(Factory Reset)を実施します。

すると、/data/mediaの中に0フォルダが生成され、/data/media/0に/data/mediaのファイルやフォルダがまるごと移動します。

次は、/data/media/0がある状態で、更にTWRPからWipe⇒Factory Resetを実施します。

すると、/data/media/0の中にまた0フォルダが生成され、/data/media/0/0に/data/media/0のファイルやフォルダがまるごと移動します。

つまりAndroid 4.2に未対応のバージョン2.3.1.0以前のTWRPでは、Factory Resetをした回数だけ0フォルダがより深い階層に生成されていくバグがあります。

このバグは、/sdcard(/data/media)内のデータを残したままFactory Resetを実施することが原因で起こるとのことです。

詳しくは、Android 4.2 Updates, Multi-User, and TWRPで触れられています。

まず1回目のFactory Resetです。0フォルダが生成されています。
0フォルダをタップすると・・・


/sdcardに保存されていたファイル郡が/sdcard/0に移動しています。


更にFactory Resetを実施してみて、再度フォルダを確認してみます。0フォルダをタップします。


/sdcard/0の中に、更に0フォルダが生成されています。このフォルダをタップすると・・・


元は/sdcardにあったファイル群が、/sdcard/0/0に移動してしまっています。


TWRP 2.3.2.1では、上記のようなバグは起こらずAndroid 4.2におけるsdcard(内部ストレージ)の仕様変更についてのまとめ。と同じように、/sdcard内に0フォルダが作られることもなく、正常に動作するようになっています。


TWRP 2.3.2.1をインストールするために、まずGooManagerをインストールします。

インストール手順も上記記事と同じですが、再度触れておきます。

まず、GooManagerを起動するとスーパーユーザーリクエストが表示されるので「許可」をタップします。


画面右上のメニューアイコンをタップします。


Install OpenRecoveryScriptをタップします。


TWRPのインストールをしていいか尋ねてくるので「Yes」をタップします。


TWRPのバージョン(2.3.2.1)が表示されるので、間違いなければ「Yes」をタップします。


TWRPのダウンロードが始まります。まずは10秒待ちます。


10秒経つと、ダウンロードが始まります。しばらく待ちましょう。


ダウンロードが完了したら、インストールも実施してくれます。「Recovery has been installed!」と表示されれば、TWRP 2.3.2.1のインストールは完了です。


GooManagerからTWRPを直接起動してみます。Reboot recoveryをタップします。


リカバリモードに入るかどうか尋ねてくるので「Yes」をタップします。


TWRP 2.3.2.1が起動するので、試しにWipe⇒Factory Resetを選んでwipe dataした後、Reboot⇒Systemをタップして再起動してみてください。
/sdcard内に0フォルダも生成されず、Android 4.2でも問題なく使うことができます。

Android 4.2に対応&Wipe data(Factory Reset)時に/sdcard内で無限に0フォルダが生成されるバグを修正されたTWRP 2.3.2.1については以上です。

-Androidの使い方

Copyright © アンドロイドラバー, 2011-2024 All Rights Reserved