Androidタブレットの外付けSDカード領域を内蔵メモリとして使用する

困っていたこと

Xperia Z3 Tablet Compact をとても気に入って利用しているのですが、内蔵メモリの容量がいつも溢れそうで最近は取っておきたいアプリも泣く泣く削除したりしています。 写真や動画はSDカードに移せるので、内蔵ストレージをほとんど占めているのはアプリ。 アプリのせいで容量不足になり、アプリのアップデートも出来ないという状態でした。 Facebook アプリだけでも250MB以上あるのでアプリたくさん入れてると溢れますよね。

Android のバージョンアップで受ける恩恵

Android のバージョンがMarshmallowにアップグレードされたのですが、外付けSDカードのメモリを内蔵メモリとして認識させ、使用できるようになるとのこと。 アプリの起動速度とかに影響は出そうですが、これは素晴らしい!と思いさっそく試してみました。 参考にしたサイトはいこちら。このサイト見れば十分です。

参考: Android 6.0 MarshmallowなXperia Z5シリーズでSDカードを内部ストレージとして使用する方法 – でこにく

手順

簡単に手順を書いておくと、

  1. Xperia をMacにUSB接続して、開発モードを有効にし、USBのデバッグモードを有効にします。
  2. Terminal から接続 $ adb shell
  3. SMの情報表示 $ sm list-disks わたしの場合は、disk:179,64 と表示されました。
  4. 次のコマンドを入力し、SDカードのパーティションをフォーマット $ sm partition disk:179,64 private これで完了です。あっさりしててびっくり。 ちなみにSDカードのうち、半分だけ内蔵メモリとして残す場合は以下のように入力 4-1. $sm partition disk:179,64 mixed 50

つまづいた部分

  • adb コマンドを使えるようにする

    ただ、それぞれ躓いて、参考にしたサイトはこちら。まず、adb コマンドが使えませんでした。 以前、Android 開発環境は入れていたのですが数カ月前にMacbook Airをクリーンインストールしたのでなくなってました。

    参考: adbをMacのターミナルで使えるようにする - Qiita

  • タブレットを開発モードにする

    次に開発モードの入り方。たまにどこかを触って、何かを連続タッチすれば入れることは覚えていたのですが詳細は忘れており。。

    • 端末のUSB デバッグモードを有効にする

    参考: Android Basics: How to Enable Developer Options & USB Debugging « Android Gadget Hacks

実行結果

これを試そうとした時点で頑張って確保した空き容量が500MB弱。SDカードのフォーマットは無事成功し、 設定からストレージ情報を眺めるとただしく認識されていそうですが「容量足りないためアプリがインストールできません」と引き続き言われます。 回避できそうになかったので諦めて自分はXperiaをクリーンインストールしてそれからSDカードの内蔵メモリ認識処理を実行しました。

最初の参考リンク先のようにストレージの表示はおかしくなりますが動いていそう。 ただアプリによっては内部メモリ上に置かないとエラーになって起動できないことがありました。その場合はアプリの保存先を変えれば(内蔵メモリに戻せば)良い。変更方法は以下のとおり。

「設定」→ 「ストレージ」→ 「内蔵ストレージ」または「SDカード」をタッチ → 「アプリ」をタッチ

ちなみにSDカードの内蔵メモリ化関係なしに、MarshmallowになってからアプリをSDと本体どちらにするか「使用されているストレージ」の項目でいくつか選択できるようになってました。 当初はこれに喜んでいそいそSDカードに移してたのですがなぜか目に見えて内蔵メモリ容量が空くことはなく。。。

おまけ

Android “N” (Nougat に先日決まりましたね) にすると「Instant App」が使えるようになるのでこういう問題は起きづらくなるかもしれません。

Written on July 4, 2016