AndroidスマホのSDカードを内部ストレージ化する
目的 †
- 内部共有ストレージがひっ迫している
- SDカードの一部を内部ストレージ化して共有ストレージからアプリ等を移動させてに空きを作る
条件 †
構成の実例 †
- SDカードは256GB
- 25%(64GB)を内部ストレージ化
- 75%(192GB)を外部ストレージ化
手順 †
PCにAndroid SDKのadbコマンドが使えるように用意しておく †
SDカードの中身をPCにバックアップしておく †
- 以後の作業でSDカードは初期化されてデータは消える
スマホとPCをUSBケーブルで接続する †
- 開発者向けオプションでUSBデバッグをON
- USBデバッグをON
コマンドプロンプトでadb shellを起動 †
$ adb shell
* daemon not running; starting now at tcp:5037
* daemon started successfully
ASUS_X01A_1:/ $
ディスクのIDを確認する †
ASUS_X01A_1:/ $ sm list-disks
disk:179.64
調べたディスクIDをパーティションする †
内部ストレージとして25%割り当て、外部ストレージとして残す容量を75%とする場合
この操作でSDカードは初期化されて、SDカード内のデータが全て消える!
ASUS_X01A_1:/ $ sm partition disk:179,64 mixed 75
外部SDカードを初期化する †
スマホの通知が上がるので、SDカードを初期化する(容量の75%が外部SDとなる)
アプリを内部SDカードへ移動させる †
- JALカードアプリは移動中にフリーズした
結果、SDカードのパーティションが破損して最初からやり直しになる。
移動済みのアプリはすべて壊れていた。
バックアップしたSDカードの中身をリストアする †
- SDカードの取り外しを実行(内部と外部の両方)を行ってからPCに挿す
- PCにマウントされたexFAT領域にバックアップしておいたデータをリストア
- アプリで「SDカードに保存」と設定していたものはすべて再設定する
SDカードのIDが変わるため