【Android】アプリをSDカードに強制的に移動・インストールする2つの方法
なぜアプリはSDカードに移動しないのか?
こんな経験はありませんか?内蔵ストレージ32GBのスマートフォンに、大量のアプリを収めるために128GBのSDカードを購入。アプリのインストール先としてSDカードをデフォルトに設定したのに、気づけば内蔵ストレージはほぼ満杯、SDカードはほとんど空きのまま――一体何が起こっているのでしょうか?
実は、アプリは基本的に内蔵ストレージから動作するよう設計されています。開発者はSDカードからの実行を許可する設定も可能ですが、パフォーマンス面の理由から、大多数の開発者は内蔵ストレージ向けにアプリを最適化しています。多くの場合、内蔵ストレージの読み書き速度はSDカードより格段に速いためです。そのため、SDカードを「デフォルト」のインストール先に設定しても、開発者の設計によってアプリ側の設定がユーザーの設定を上書きしてしまうのです。
では、どうすればアプリを強制的にSDカードへインストールできるのでしょうか?本記事では、そのための2つの方法を紹介します。
注意:root化が必須です
以下の方法では、スマートフォンがroot化済みである必要があります。root化の手順については、Appualsの「Androidスマホのroot化ガイド」を参照してください。
方法1:専用アプリを使って移動する
アプリを内蔵ストレージからSDカードへ強制的に移動できるアプリはいくつか存在します。ただし、効果には差があり、中には/cacheフォルダだけをSDカードに移し、アプリ本体は内蔵ストレージに残したままになるものもあります。こうしたアプリの多くは、「設定 > ストレージ > アプリ」から「SDカードへ移動」ボタンをタップする操作と実質的に同じで、そのボタンへのショートカットをGUIで包んだだけのものにすぎません。
本当にすべての処理を行ってくれるアプリが必要なら、Link2SDがおすすめです。ただし、Link2SDの利用には、端末がinit.dスクリプトに対応していることが条件となります。
init.d対応の確認方法
init.dに対応しているかどうかは、PlayストアからUniversal Init.Dをインストールして確認できます。

まずUniversal Init.Dをインストールして起動し、「Test」ボタンを押します。その後スマートフォンを再起動し、もう一度Universal Init.Dを起動すると、init.dサポートのテスト結果が表示されます。もし端末がinit.dに対応していない場合でも、Universal Init.dの「Off/On」ボタンを切り替えることで、必要なサポートをエミュレート(模倣)できます。

Link2SDでの移動手順
確認が終わったら、PlayストアからLink2SDをインストールして起動します。右上隅の最初のボタンを押し、アプリ一覧を「Internal storage(内蔵ストレージ)」でフィルタリングしましょう。

SDカードへ移動したいアプリを見つけてタップします。Android 6.0(Marshmallow)の場合は、「Second partition not found(第2パーティションが見つかりません)」というメッセージは無視して構いません。これは、Marshmallow以降のAndroidがSDカードを独立したデバイスではなく内蔵ストレージの拡張領域として扱うためです。「Android App2SD」メニューの下にある「Move to SD card(SDカードへ移動)」ボタンを押してください。
方法2:ADBコマンドを使う
こちらはやや技術的な方法ですが、端末に対して常時アプリをSDカードにインストールするよう強制できるため、いちいち移動アプリを使う必要がなくなります。ADBターミナルに不慣れな方は、まず「WindowsへのADBのインストール方法」を読んでおきましょう。
ADBのセットアップが完了したら、USBケーブルでスマートフォンをPCに接続し、PC上でADBターミナルを起動します。そして、次のコマンドを入力します:
adb shell pm set-install-location 2
設定を元に戻したい場合は、次のコマンドを入力します:
adb shell pm set-install-location 0
コマンドが機能しない場合の対処法
上記のコマンドがうまく動作しない場合は、PCでSDカードを完全にフォーマットし、Android端末に挿し直したうえで、「内部ストレージ(Internal)」ではなく「ポータブル(Portable)」ストレージとして選択する必要があるかもしれません。
ただし、ここに大きな注意点があります。以前に端末がSDカードを内蔵ストレージの拡張として採用していた場合、単純にフォーマットしてポータブルストレージへ切り替えることはできず、基本的に工場出荷状態へのリセット(初期化)も必要になります。これは、Marshmallow以降を搭載する一部のAndroid端末では、システムが文字どおりSDカードを内蔵ストレージの拡張として取り込み、独立したストレージデバイスとしては扱わないためです。そのため、SDカードには重要なシステムデータが数多く書き込まれており、SDカードを取り外すとAndroidシステムが正常に動作しなくなってしまうのです。
-
AndroidでアプリをSDカードに移動する方法|内部ストレージの容量不足を解消する手順
Androidスマートフォンは、世代が進むごとにストレージ容量が増えています。しかし、古い機種ではストレージもRAMも小さめで、さらにAndroid OS本体やプリインストール済みのアプリがかなりの容量を占めています。アプリをどんどんインストールしたり、写真を撮影したり動画をダウンロードしたりすると、あっという間に容量不足に陥ってしまいます。幸い、多くのAndroid端末はSDカードに対応しており、アプリを削除しなくてもSDカードへ移動できます。この記事では、Androidの内部ストレージからSDカードへアプリを移動する方法を詳しく解説します。 AndroidでアプリをSDカードに移動する
-
Androidで非表示のアプリを再表示する方法【設定から簡単に確認できる手順】
Androidは他社の追随を許さない存在感でスマートフォン市場を席巻しており、豊富なアプリと自由度の高いカスタマイズ性は、他のOSと比べても群を抜いています。Androidには膨大な数のアプリが用意されており、その一部は端末にプリインストールされています。ほとんどのアプリは初期状態で表示されますが、一部のアプリはAndroidによって意図的に非表示にされています。その多くはシステムアプリで、ユーザーが不用意に触れないように隠されているものです。また、中にはユーザーの知らないうちにインストールされ、非表示のまま残っているケースもあります。「Android 10で非表示のアプリを再表示するにはどう