※AndroidのスマートフォンでSDカードを使用していて
・容量を気にせずに沢山のゲームアプリをインストールしたい
・SDカードの空き容量がもったいない!
・システムの「空き容量わずか」警告をなんとかしたい

というアプリの容量に悩まされている人向けに、SDカードを使ってスマホ本体の空き容量を増やすやり方を説明します。
既にSDカードの内部ストレージ化(言葉ではこう言います)については、丁寧な解説をしている記事が沢山あります。
ただ一から十まで全てを網羅している記事はなかなか見当たりませんでした。
というのは私の経験でして、実際に空き容量を増やすために5つ以上は記事を参照しまして。それでも結構つまづいて、無事できるまでに丸一日かかってしまった、という経緯があります。
特に「デバッグ」や「コマンド」という言葉に慣れていない人にとってはイメージしづらい手順かなと思いました。
なので、できる限り初心者の人でもイメージできるように細かなところも省かずに書いています。わかっている人にとっては冗長に感じるかもしれません。
あと既にすばらしくわかりやすい記事がある部分については、余所様の記事をいくつか参照しています。ので、いわゆる「まとめ記事」みたいな形のところがあります。
注意としては、スマホの設定に関する部分なので、Androidのバージョンや機種に依存します。
当然、同じAndroidでも機種によって見え方が異なるので、この記事は一例でしかありません。
とはいえやり方の流れはどの機種でも同じですので、参考にはなるかと思います。
ただし、この記事にて説明している「パソコンからコマンドを使ってSDカードを内部ストレージ化するやり方」は保証外の操作です。何か起こった場合は自己責任となりますのでご注意下さい。
※この記事の画像などの例は全て、SHARP製のSH-04Hという機種です。同じSHARP製でしたら見え方が近いとは思います。
※あとパソコンの部分はOSがWindowsの場合の説明です。ごめんなさい、Macはわからないのでこの記事では割愛します。
簡単にアプリをSDカードへ移動できない話
最初に知識的な部分の説明です。
手順だけ知りたい人は「準備の前段階」からとなります。
まず、スマートフォンにおいて、写真やアプリなどのデータをどこに保存するかというと大きく2ヵ所あります。
- 1.スマホ本体(内部ストレージ)
- 2.SDカード(外部ストレージ)
1と2の空き容量についてはスマホ本体の「設定」の中にある「ストレージ」という項目からいつでも確認できます(※見え方は機種によります。)

ここで2のSDカードにアプリのデータを自由に保存できたら問題ないのですが、Androidはバージョン4.4(4.0以降?)からセキュリティの強化によりアプリをSDカードに保存できなくなりました。
実はAndroid5.0からは一部のアプリを使うとSDカードへの書き込みが可能と緩和されていたりしますが、ちょっとバージョンの話は小難しいのでこの辺にしておきます。笑
要はAndroidのバージョンによって一部はできたりしますが、基本はSDカードへのアプリの保存はできないのが大半です。
それはバージョンに限らず、機種によってもアプリによっても制限していたりします。
しかしAndroidはバージョン6.0からSDカードを内部ストレージと同様に扱えるようにする機能を搭載しました。
#Adoptable Storageって言うみたいですけど、覚えなくてもテストには出ません。
この外部と内部の違いは何かというと・・・
そもそも、SDカードはスマホでしか扱えないわけではではないです。パソコンでも使えますし、デジタルカメラでも使えます。
今、スマホ本体に入っているSDカード(microSDだったり)をパソコンのスロットにさしても正しく読み込むはずです。
内部ストレージ化するとどうなるかというと、スマホ本体でしか読み込めなくなります。
スマホ専用みたいになるイメージです。
SDカードはSDカードなのですが、内部ストレージ化によってアプリが保存できるようになります。
ただし、そんなすばらしい機能の内部ストレージ化ですが、スマホ本体だけでさくっと設定・・・できなかったりします。
機種によっては内部ストレージ化の機能を表に見えないようにふさいでしまっていて、簡単には使用できないようにしています。
そうなると、スマホ本体から内部ストレージ化できない機種はどうしたら良いのか。
最終手段として、パソコンとスマホ本体をUSBケーブルで接続し、パソコンからコマンドを送信して無理やり内部ストレージ化します。
この最終手段は色々と準備が必要で、時間がかかりますし大変です。
なので時間に余裕がある時に行うのをおすすめします(とはいえ、すんなりといけば1時間もかかりません。)
ここまでをまとめると、アプリをSDカードに保存するためには、Androidのバージョンや機種によって簡単にできたりできなかったりします。
その度合いは3段階です。
- Lv1 : アプリの設定から保存先をSDカードへと変更が可能
- Lv2 : スマホ本体の設定でSDカードの内部ストレージ化が可能
- Lv3 : パソコンからコマンドを送信してSDカードの内部ストレージ化が可能
準備の前段階:パソコンでの内部ストレージ化が必要か確認する
準備の前段階として、お手持ちのスマホ機種がどこまで対応しているのかを確認します。
Lv1:アプリの設定から保存先をSDカードへと変更が可能か?
多分、ほとんどの機種やアプリではできないと思いますが念のため確認しておきます。
かなり古い機種でまだAndroidのバージョンが4.0未満とかならできるかもしれません。
確認方法はアプリの情報を見ます。機種によりますが行き方は問いません。大体あるのが次のどちらかです。
・スマホ本体の「設定」→「アプリと通知(みたいな)」項目 → 「アプリ情報」 → 各アプリをタップ
・アプリのアイコンを長押し → 「アプリ情報」をタップ
「アプリ情報」の中にある「ストレージ」をタップして、「変更」というボタンがあるかを見て下さい。
「変更」ボタンがなければ、内部ストレージ化しないとSDカードへは保存できないです。

Lv2:スマホ本体の設定でSDカードの内部ストレージ化が可能か?
Lv2はもしかしたら機種によってできるかもしれません(私はダメでした。)
確認方法は設定からSDカードの情報を見に行きます。
スマホ本体の「設定」→「ストレージ」 → 外部ストレージ項目内の「SDカード」 → 右上のメニューから「ストレージの設定」


ここに内部ストレージとしてフォーマットのような項目があれば、スマホ本体のみで内部ストレージ化ができます。
※必ずバックアップを行ってからフォーマットして下さい。フォーマットするとデータは全て消えます。
アプリ本体からSDカードを内部ストレージとしてフォーマットする手順は、こちらの記事がわかりやすいです。
画像のようにフォーマットとしか表示がない場合はできない機種ですので、Lv3の「パソコンからコマンドを送信してSDカードの内部ストレージ化」の最終手段をとります。
Lv3:パソコンからコマンドを送信してSDカードの内部ストレージ化が可能か?
確認したいのは1つだけです。Androidのバージョンです。
Androidが6.0以上であれば間違いなく内部ストレージ化の機能は実行可能です。

準備:物の用意とSDカードのバックアップ
ここから「パソコンからコマンドを送信してSDカードの内部ストレージ化」の手順となります。
3つ準備が必要なので順番に説明していきます。
準備1:パソコンとUSBケーブルの用意
まず、必要な物を用意します。
- ・パソコン
- ・データ通信用のUSBケーブル
パソコンは必要になりますが、USBの穴が空いていれば何でも良いです。意外と落とし穴なのがUSBケーブルです。
充電用ではなく、データ通信用のUSBケーブルが必要です。
これ、見た目では違いがないので、挿してスマホに反応があるかでしかわかりません。もし充電ランプの点灯しかしなかったら、そのUSBケーブルは充電用です。
充電用とデータ通信用のUSBケーブルについてはこちらの記事が詳しいです
準備2:SDカードのバックアップ
SDカードの内部ストレージ化を実行してしまうと、SDカードはフォーマット(初期化)されます。
つまりは、データが全て消えます。
写真とか大量にSDカードへ保存していた場合は苦労が水の泡となりかねませんので、必ず事前にSDカードをバックアップしておきましょう。
ただ少し専門的な言葉が使われているため、パソコン初心者の人は読むのに時間がかかってしまうかもしれません。
私の場合は面倒なので一番手っ取り早く、せっかく準備1でUSBケーブルを用意したのでそのままパソコンと繋いでバックアップしたいファイルだけを直接コピーしました。

AndroidのUSB接続モード変更についてはこちらの記事が詳しいです
準備3:SDカードのフォーマット
内部ストレージ化の際にSDカードはフォーマットされるので不要かもですが、SDカードを正常にフォーマットできるか確認の意味も込めて、念のため綺麗にしておきます。
スマホ本体の「設定」→「ストレージ」 → 外部ストレージ項目内の「SDカード」 → 右上のメニューから「ストレージの設定」 → 「フォーマット」を選択
外部ストレージとしてフォーマットと表示されると思いますので「消去してフォーマット」をタップしてフォーマットを実行します。

スマホの設定:USBデバッグモードの有効化
スマホ本体を内部ストレージ化が実行できるように、設定を変更しないといけない箇所があります。
次の2つについてです。
- 開発者向けオプションの表示
- USBデバッグモードにする
順番に設定変更していきます。
スマホの設定1:開発者向けオプションの表示
開発者向けオプションは隠れメニューなので初期状態では表示されていません。
スマホの細かい設定が色々と変えれてしまうのであえて隠してあるのだと思います。
しかし内部ストレージ化するためには開発者向けオプション内の設定を変更する必要がありますので、解放してしまいます。
スマホ本体の「設定」→「システム」 → 「端末情報」 → 「ビルド番号」
ビルド番号を7回タップします(一部の機種でやり方が違う可能性はあります。)

スマホの設定2:USBデバッグモードにする
開発者向けオプション内にある「USBデバッグモード」をONにします。
スマホ本体の「設定」→「システム」 → 「端末情報」
端末情報の中に開発者向けオプションの項目が増えていると思いますのでタップ。

少し下にスクロールすると、デバッグという項目のすぐ下に「USBデバッグ」があります。
タップして「USBデバッグを許可しますか?」をOKします。

パソコンの設定:adbのツールとドライバーのインストール
スマホの設定が終わったらパソコンの設定です。
大きくは2つ。
- adbコマンドを使えるようにする
- adbのUSBドライバーをインストールする
パソコンの設定1:adbコマンドを使えるようにする
何やら聞き慣れない単語が出てきました。
まあadbって何?とかはあまり気にせずに、内部ストレージ化するために必要なコマンドくらいに理解した上でとりあえず手順通りに使えるようにします。
簡単にadbコマンドを使えるようにする方法について書かれた記事へ
手順については上の記事が非常にわかりやすいです。そのまま「Android SDK Platform-Toolsをダウンロード」~「adbの確認」までを行えばOK♪
ただし、Windowsが7とかOSによっては「環境変数」の見え方が違うかもしれません。
Pathの編集から「新規」がない場合は変数値の最後にカンマ(;)を入れてからplatform-toolsの場所を入力します。

パソコンの設定2:adbのUSBドライバーをインストールする
ここが一番の難関かもです。
ドライバーが入っていないと、せっかくadbコマンドが使えるようになってもパソコンがスマホを認識できないのでコマンドが送信できません。
そのためにまず、デバイスがどうなっているのかを確認します。
・パソコンとスマホ本体をUSBで接続する
・パソコンの「デバイスマネージャー」を起動する
Windows10でデバイスマネージャーを起動する方法はこちらの記事がわかりやすいです
Windows7とかでも、検索して起動するやり方や、コントロールパネルから起動するやり方はできます。
デバイスマネージャーを起動できたら、ほかのデバイスというところに「!ADB Interface」とあると思います。

!マークはドライバーがインストールされていないか不明な状態です。
もしADB Interfaceではなくてスマホ端末の名称で表示される場合はドライバーのインストールが上手くいきません。

USB接続モードが充電になっていないか、「ファイルを転送する」になっていることを確認して下さい。
「!ADB Interface」が表示されたら、右クリックをして「ドライバーソフトウェアの更新」をクリックしてみます。

「ドライバーソフトウェアの最新版を自動検索します」をクリックしてみます。

無事に見つかってそのままインストールできてしまえば楽なのですが、私はできなかったので、その場合はメーカーサイトから直接ドライバをダウンロードします。
ドライバーのファイルをパソコン上の任意の場所に保存できたら(大抵はzipで圧縮してあるので解凍した上で)先ほどのドライバーソフトウェアの更新をクリックから今度は「コンピューターを参照してドライバーソフトウェアを検索します」をクリックします。

「次の場所でドライバーソフトウェアを検索します」のところで、保存したドライバーが入っているフォルダを参照します。
そして次へをクリック。

デバイスソフトウェアのインストールを行います。


正常にインストールができたら、デバイスマネージャーのほかのデバイスは消えて、Android Deviceができ「Android Composite ADB Interface」と表示されているはずです。

これで無事、パソコンからスマホにコマンドを送信できるようになりました。
#もし、次回以降で「Android Composite ADB Interface」と表示されない場合は次の2点を確認してみて下さい。
・USB接続モードは充電ではなくファイル転送(MTP)になっていること
・USBデバッグモードの設定がONになっていること(それでもダメならUSBを挿した状態でデバックモードをOFF→ONし直してみて下さい。)
コマンドの実行:いざSDカードの内部ストレージ化へ
全ての設定が完了したら、いざ、パソコンからスマホへと内部ストレージ化を行うコマンドを送信します。
パソコンとスマホはUSBで繋がっている状態です。
パソコンの「コマンドプロンプト」を起動します。
コマンドプロンプトって何?という人はこちらの記事でWindows10の起動方法がわかります。
Windows7より以前でしたら、Windowsのスタートメニューから「すべてのプログラム→アクセサリ」の中にあったりします。
ここからコマンドプロンプトの真っ黒な画面内に、ぽちぽちとコマンドを入力していきます。
私は内部ストレージ化のコマンドについてはこちらの記事を参考にしました。
一応、私が行った実行結果の画面ものせておきます。入力箇所は赤でラインをした部分です。

「adb shell」と入力→Enter
「sm list-disks」と入力→Enter
次の行で「disk:179,64(★)」←ここの数字は人によって変わります。
「sm partition disk:★ private または mixed ☆」と入力→Enter
「private」と入力するとSDカードの全てが内部ストレージ化されます。
私の場合は☆の部分を「mixed 50」と入力することで、半分(50%)だけ内部ストレージ化しました。
この50の部分は外部ストレージとして残しておきたい容量の%でして、例えば90にすると10%の容量しか内部ストレージ化されません。
つまりは「mixed 0 = private」と同じことです。
なぜ50%にしたかというと、全部を内部ストレージ化してしまうと一部のアプリの挙動がおかしくなってしまう可能性があるためです。
具体的にはカメラやアルバムなどのアプリで、データをSDカードに保存する設定になっているタイプのものです。
変なエラーが出たりするみたいで(SDカードに保存したいけど外部としてのSDカードはないわけで。)
多分、設定を変えたら大丈夫になるのでしょうが・・・まあそういう意味ではおかしくは言い過ぎかもで、ちょっと面倒に感じてしまったからですね。
(あと普通に写真を大量にSDカードに保存していた、という理由もあります。半分くらいは今後もSDカードに保存するかな、というところで。)
なのでどの程度を内部ストレージ化するかはアプリをどのくらいインストールしたいかによって合う数字が変わるかなと思います。
さて、上記のコマンドを全て入力して頂いたら、実はここで内部ストレージ化は完了しています(最後のコマンドからは数秒で終わります。)
#もうコマンドプロンプトの画面は×ボタンで閉じてしまって大丈夫です
では実際に私の例でどう変わったかを見比べてみますと・・・

ちゃんとSDカードの項目が2つに分かれています。上側が内部ストレージ化されたSDカードの容量です。
そんなわけでこれにて完了、お疲れ様でした。と言いたいところですが、実はまだ終わっていない可能性があります。
というのも私の場合ですが、内部ストレージ化しただけではアプリをSDカードへ移動できませんでした。

そこで「SDカードへデータを移行」という、もう1手順を踏むと今度はうまくいきました。
SDカードへデータを移行したらアプリが移動できるように
内部ストレージ化したけどアプリがSDカードへ移動できなかった場合は、データの移行を試してみて下さい。
スマホ本体の「設定」→「ストレージ」 → 端末のストレージ内にある「SDカード」 → 右上のメニューから「データを移行」をタップ
すると「データの移動」画面が表示されます。

『移動には約1秒かかります。これにより内部共有ストレージの空き容量が0B増えます。』
なぞの表示がされていますが、気にせず下にある「移動」をタップします。

データの移動にかかる時間はどのくらいデータがあるかによりますが、私は10GB以上の移動となったので 15分程度 かかりました。

これで本当に書いてある通りに準備が整ったことになります。
先ほどは移動できなかった約3GBもあるゲームアプリを移動してみます。
移動はアプリ情報からストレージの中にある「変更」をタップです。

今度は途中で止まることなく、無事にゲームアプリが移動できました!



移動できたら動作確認です。

特に動きが遅くなることもなく、これまで通りに変わらずゲームをプレイすることができました。
問題ないことが確認できたら、あとはもう好きなアプリをSDカードに移動しまくってOKです。
ただし、一部ですが内部ストレージ化しても移動できないアプリはあります。そこはどうあがいても無理なので、あきらめるしかないです。

アフターケア項目
内部ストレージ化したことによって、これまでできていたことができなくなる、といった不都合が起きてしまう可能性はなきにしもあらずです。
また、設定をし直さないといけない部分もでてきます。
アプリの通知設定など
アプリの通知設定や許可設定がもろもろ解除されている可能性があります。
面倒ですが、また設定していかないといけないです。

USBデバッグモードはOFFに
内部ストレージ化が終了したらUSBデバッグモードは不要ですのでOFFにしておきましょう。
ONのままですと起動できないアプリがあったりします。三井住友銀行アプリとか起動できませんでした。
ご利用の端末のUSBデバッグがオンに設定されているため、本アプリはご利用いただけません。USBデバッグをオフにした後に、アプリを起動してください。USBデバッグをオフにする方法は、ご利用の端末の取扱説明書を参照してください。
画像ビューワー系のアプリは要動作確認
割と実害的な部分で、もしかしたら正しく動作しなくなるアプリがでてくるかもしれません。
私の場合は、SH-04Hにプリインストールされていたアルバムアプリが画像を読み込まなくなりました(何も表示されない。設定の問題だけかもしれません。)
そのため急遽、シンプルギャラルーをインストール。こちらだと問題なく表示されます(一安心。)

今のところはアルバムだけで、他のアプリは問題なく動いてくれますので、基本的には大丈夫だと思って良さそうです。
元に戻す方法はSDカードの外部フォーマットすればOK
最悪、元に戻したいとなった場合は「SDカードの外部フォーマット」をすれば良いだけですので、簡単に元に戻せます。
スマホ本体の「設定」→「ストレージ」 → 端末のストレージ内にある「SDカード」 → 右上のメニューから「外部ストレージとしてフォーマット」をタップ

もちろん、フォーマットをしたらデータは全て消えてしまいますので、バックアップは忘れずに行って下さい。
以上です!
パソコンを介した操作は慣れていない人には大変な作業だと思います。
この記事が少しでも手助けとなれば幸いです。
ただし繰り返しとなりますが、コマンドによる内部ストレージ化は保証外の操作ですので、空き容量にそんなに悩まされていないのであればしない方が良いと思います。
どうしてもで行う場合は、手順の中でもコマンド入力の部分は間違えないように慎重に、といった感じですね。
他は大丈夫だと思いますが、ほんと最悪でアプリのデータが壊れてしまう可能性がないとは言い切れないので、アプリを再インストールする覚悟はもっておいた方が良いと思います。