読者です 読者をやめる 読者になる 読者になる

毎日がエブリデイ!

日々の雑記帳

そりゃぁ毎日はエブリデイですが・・・ (タイトルの由来はこちら  

Android6.0.1 で SDカードにアプリを入れる方法

つれづれ コンピュータ

 先日スマホを買い替えた。 AUUOS SHV37 という Android6.0.1 のスマホだが、内蔵ディスクが7.58GBしかない。その上、今まで使っていたAndroid機ではSDカードにアプリを移動することができたのだが、 Android6 ではそれができなくなっていた。そのため、すぐに内部ストレージがパンパンになった。

 SDカードにアプリを入れられないとは困ったものである。

 そこで、SDカードにアプリを入れられないかどうか、以下のページを参考にして試してみた。

decoy284.net

 私の新端末は Xperia ではなく AQUOS であるが、Android のバージョン(6.0.1)なので別機種でもできるだろうということでやってみたら、試行錯誤の末、どうにかSDカードにアプリを保存することができ、スマホのディスク容量を確保できた。

 なお、Android SDK をインストールするには下記を参考にした。

butsuyoku-gadget.com

 ただし、Android SDKをインストールする場面では、そこに書かれている「Get just the command line tools」ではなく Android Studio 自体をインストールした。Android StudioAndroidアプリを開発するためのIDE(統合開発環境)である。ひょっとしたら今後 Androidアプリを作ってみる可能性もあるので(まだ未定だが)。

 ここでコマンドラインから adb コマンドを使えるようになるには "platform-tools" というフォルダーにパスを設定しなければならないのだが、そのフォルダが見当たらない。 Program Files 配下の Android Studio インストール先を探したが見たらない。

 Android Studio をインストールしたのはいいが、今回必要な adb コマンドはどこにあるんだよ~。

 小一時間悩んだ挙げ句、以下のフォルダにあることが判明した。

C:\Users\[ユーザ名]\AppData\Local\Android\sdk\platform-tools

 Android Studio をインストールした時は、ほとんどデフォルトの設定を変えずにYesボタンを押していただけだが、ツール類はインストール先ではなくユーザフォルダに置かれるのかよ。

 なお、このままUSB接続でPCとスマホを繋げばいいのではなく、スマホ側でも adb コマンドを受け付ける設定が必要だ。まずは以下のページにある方法で開発者向けオプションを使用できるようにする。

Android 6.0で開発者向けオプションを表示させる方法 – Android 6.0 Marshmallowの使い方 ≫ 使い方・方法まとめサイト - usedoor

 そして、USBデバッグモードを ON にして、USBケーブルでパソコンと繋げると adb コマンドを実行できるようになった(念のために開発者モードの「OEMロック解除」も ON にしておいて、終わったら OFF に戻した←この作業が必須なのかどうかは不明)。

 これでめでたくSDカードにアプリを移すことができるようになった。めでたし、めでたし。


 なお、SDカードにアプリを移すには注意点がある。SDカードへのインストール不可のアプリの管理画面でもSDカードへの移動ボタンが出てきてしまうということだ。それを押すと(私の端末の場合は)再起動がかかり「SDカードを認識できません」みたいなエラーが出て、立ち上がらなくなってしまった(SDカードを抜き差しして再起動すると復旧)。*1

 そのため、アプリの移動は別途SDカードへの移動可能かどうかがわかるアプリ管理用アプリ(私の場合スマホ最適化ボックスを使っている)でSDカードへの移動可能かどうかを確認してから移動させることが必須である。

 まあ、SDカードをアプリ用ディスクとして使用可能にした後では、アプリインストール時にSDカードへのインストール可能なアプリはSDカードに優先してインストールされるようなので、もともと内蔵DISKに入れてたものをSDカードに移す以外はあまり使用しなくなるだろうけど。ただし、逆に起動を速くしたいとかウィジェットを使いたいという理由でSDカードから本体に移すことはあるだろう。

*1:1GB以上あるゲームアプリをSDに移そうとして発生したので、ひょっとしたらファイルが大きすぎたのかもしれない。必ずこの現象が起きるかは未確認。