2016年11月22日火曜日

Androidで内蔵ストレージに書き込めないときの対処法

Androidで、なぜか設定が「内蔵メモリが読み取り専用でマウントされています」などとエラーを吐いたり、Play Storeからアプリをインストールできなかったり、そもそもスクリーンショットや写真の撮影もブラウザからのダウンロードもできなかったりしたので調べてみると、 data パーティションのSELinux (security) contextが狂ってしまったときになるっぽい。

以下のようなコマンドでSELinux contextを正しく直せます。

$ su
# restorecon -v -R /data/media

ファイルのパーミッションがおかしいわけではないので何だろうと思ったら、最近のAndroidはほとんどSELinuxが有効なんだった。