Xperia Z3のAndroid 6.0の「SDカードの内部ストレージ化」機能を有効にした話。【一部修正しました。/誤字脱字修正】

すでに周知の事実でしょうし,僕自身作業を行ったのは一ヶ月ほど前のことですが,Xperia Z3に対して「SDカードの内部ストレージ化」機能を有効にした話をいたします。







前置き

正直国内モデルや,Z4以降のXperia端末利用者にとってはどうでもいいかもしれませんね。
(表記上)内部ストレージが32GBありますからね。が,しかし!Z3以前のXperiaのグローバルモデルの容量はなぜか16GBしかありませんでした。正直生きるのがつらい容量(言いすぎ笑)
また,安物はたいてい容量が少ないものです。(Xperiaは高いのに少なかった!)

そういうわけで容量拡張のためSDカードの内部ストレージ化を有効にしようと考えたわけです。そしてだいたいありがたいことに先人がいるんですよね。ありがたや!
ちなみに先人のサイトはこちらになります。英語ですけどね(笑)


上記のサイトではGALAXYにおいてになっていますが,Xperia含め機能を無効にされているAndroid 6.0スマートフォンに有効です。


手順を説明する前にまず必要なこととして
  1. Android 6.0であること:設定の端末情報(About Phone)より確認できます。
  2. adbコマンドが使用可能なこと。そもそもPCを持っているのが前提です。macでもWindowsでも構いません。

そう,スマホのAndroidバージョンが6.0.xである他に,adbコマンドが利用できる環境が必要なんです。
正直コマンド自体は言ってしまえばコピペしてしまえばおしまいですし,そもそもそこまで難しいものではないのですが,環境を整えるのは時間もかかるのでなかなかに面倒です。

まず,Windowsへの実装から。

ダウンロード

  1. Download Android Studio and SDK Tools | Android Studioにアクセスします。
  2. 赤丸で囲まれた部分をクリックしましょう。
  3. すると以下の画面に飛ぶので,また赤丸の部分をクリックしましょう。
  4. 「読みました,同意します」をチェックしたうえでダウンロードボタンをクリック

 以上でダウンロードは終了です。


インストール

続いてインストールです。

ですが,JRE(Java SE Runtime Environment)といったJava関連のソフトウェアがないと先に進めないので,インストールしていないという人は先にそちらのダウンロードおよびインストールをしましょう。
ダウンロードはAccept License Agreementにチェックを入れてから可能です。 二つあるうちの下の方の欄から自分のパソコンにあったものをダウンロードしましょう。
59.16 MB  jre-8u92-windows-x64.exe
たとえば64bitのWindowsならこれをインストールしましょう。

それでは本題。


  1. ダウンロードしたファイルを開き,ウィザードを開いてください。
  2. 基本的に[Next]をクリックしていればいいです。ですが,ところどころアクションが必要です。
  3. PCが家族共有で,などの理由から複数のアカウントをPCに持たせている人が関係してきますが,「このコンピュータ使ってる別のアカウントにもこのソフト使わせるよ」と「いや,俺だけのもの」の二択です。これくらいの英語なら読める人の方が多そうですけどね,一応。
  4. あらかた英語が読めれば問題ないですよね。てことで以下略。(雑!)本題ではないので。でも,実際何もいじらずに[Next]ばっか押してても大丈夫です。インストールできます。
  5. 「Start SDK Manager」にチェックを入れて終了することで,そのまま作業をつづけられます。
  6. 「SDK Manager」が起動します。何もいじらずにインストールした場合はC:\Program Files (x86)\Android\android-sdkにあるSDK Manager.exeを右クリックで管理者として起動を選択しても大丈夫です。見当たらない場合はコンピュータに検索をかけてみましょう。
  7. 「Android SDK Platform-tools」および「Google USB Driver」にチェックを入れてインストールします。他のものはたいてい開発者向けのものです。別にインストールしてもいいのですが,容量が割と大きいので必要ないものはとりあえず今回は無視でいきます。間違って必要ないものをインストールしてしまっても,消したいものにチェックを入れて「Delete」の部分を押すことで消し去ることが出来ますのでご安心を。
  8. 「Accept License」にチェックしてインストールするだけです。わりと時間がかかったりするので気長に。
  9. もう一息です!Windowsボタンを右クリックして,「システム(Y)」を選択 or Yをタイプします。
  10. 出てきたシステムの左側のシステムの詳細設定をクリックします。
  11. 出てきた詳細設定の環境変数をクリックします。
  12. 「Path」を一度クリックし選択したうえで,「編集」をクリックします。
  13. 出てきた編集画面において「新規(N)」をクリック。
  14. C:\Program Files (x86)\Android\android-sdk\platform-toolsと入力します(個人によってパスが違います)。
  15. OKを押してついにセッティング終了です!adbコマンドが使えるようになりました。

次にmacと行きたいんですが…僕Windows派なんですよね…。
ようは,Mac持ってないです。なので,外部サイトに頼ります!丸投げです!スミマセン。

adbをMacのターミナルで使えるようにする



本題

それではようやく内部ストレージ化を有効にした話です。前置き長すぎだよ!でも,重要だったから!
今までの長くて面倒な作業に比べるととても楽ちんで,本題とは思えません。

ここで注意なのが,SDカードは内部ストレージとしてフォーマットされるので,ようは全部データが消えます。新品なら問題ないですが,もし昔からの親友だとしたらバックアップを取っておいてあげないと今までの思い出全消しになってしまいますので注意してくださいね。

また,ここでスマホの方にも少しだけ準備が必要です。
「設定」アプリを開き,「開発者向けオプション>USBデバッグをON」にします。これで準備は終了です。開発者向けオプションが設定アプリ内の一覧にない場合は,「端末情報>ビルド番号」を数回タップしてみましょう。そうすると開発者向けオプションが有効になった趣旨の表示がなされます。設定の一覧に戻れば,端末情報の一つ上辺りに「開発者向けオプション」があるはずです。

それでは今度こそ本題です。
まず,データ転送が可能なUSBコードでスマホとPCを接続します。
cmdを起動したうえで,コマンドを入力していきます。
Windowsボタンを右クリックしたのち,コマンドプロンプト(C)をクリックで起動します。管理者権限モードである必要はありません。

入力手順は以下の通り。コピペしても問題ないです。が,人によっては値が変わることがあるので,「メモ帳」などのアプリに一回ペーストしたうえで行うのが最もいいと思います。
1列入力するごとに「Enter」をタイプします。一気に全部打ち込まないこと。


  1. adb shell
  2. sm list-disks この動作後にdisk:Xと出てきます。(X=179.64が今回の例)。以下の3もしくは4のdisk以下はこの操作後に出てきた値により変動しますので注意してください。
  3. sm partition disk:179,64 private 全部(100%)を内部ストレージとして割り当てるということ。(0%外部ストレージとして残すの意味の方が正しいです。)179,64は自分のXperia Z3において2.の動作後に表示されたものなので,端末によって変動する可能性があります。その都度変更したうえでcmdに入力してください。cmd上で編集してもいいですが,Enterを押すと戻せないので,ややリスキー。
  4. sm partition disk:179,64 mixed 50 半分(100に対しての50)を内部ストレージとして割り当てるということ。40にすれば,40%が内部ストレージ化します。 半分(100に対しての50)を外部ストレージとして残し,残りの50を内部ストレージ化ということです。40にすれば,60%が内部ストレージ化し,40%が外部ストレージとして残されます。表記ミスがございました。申し訳ありません。修正いたしました。】

個人的には「3」よりも「4」の方がおススメ。
3のようにすべて内部ストレージ化すると,純正カメラなどが保存場所がないと言ってきて使い物にならなくなります。
とにかく何かを保存する系の方々は「ストレージに内部ストレージだかSDカードだかよくわからんやつおるな。」という状態になってアクセスできなくなってしまいます。スクショも撮れなくなります。

ですが,4のように一部分でもSDカードを残しておくと,内部ストレージとSDカードの区別がしっかりとついて純正のカメラアプリも,スクショも難なく動きます。割合はなんでもいいので,そこはご自由に。

さて,ご覧のとおり容量が増えました!値が負の値を取っており,こいつ何言ってんだって感じですが,個別の値は正常なので特に問題はないでしょう。一ヶ月近くこの状態で利用してますが,不具合はありません。
値はへんてこりんだが増えていることがわかる。

また,「内部ストレージ2」とありますが,これは自分で設定できます。実際最初の名前は「SDカード」のまんまです。自分でわかりやすい表記にしてみましょう。そのうえ「外部ストレージとしてフォーマット」がありますので,元に戻すことも可能です。またその際はデータが消えるので気を付けてくださいね。

以上です。いや~,長文の記事書くのて大変っすね。

※この記事の内容を実践する際はバックアップしっかりと取りましょう。
 また,すべて自己責任でお願いします。


12 Responses to Xperia Z3のAndroid 6.0の「SDカードの内部ストレージ化」機能を有効にした話。【一部修正しました。/誤字脱字修正】

  1. はじめまして。

    >sm partition disk:179,64 mixed 50 半分(100に対しての50)を内部ストレージとして割り当てるということ。40にすれば,40%が内部ストレージ化します。

    私が試した限りでは、mixed 40とした場合、60%が内部ストレージ化されました。つまり40%を残したってことですね。
    失礼ですが、本当にお試しになられた上でのことでしょうか?
    機種によって異なるのでしょうか?

    返信削除
    返信
    1. 申し訳ありません。こちらの表記ミスでした。貴方の通りです。機種による差はないです。ご指摘あありがとうございました。修正いたします。

      削除
  2. sdk内のadb driverをインストールしようとすると「指定されたフォルダーには、
    ご使用のデバイスに対応するソフトウェアドライバーがありません。
    この場所にドライバーがある場合は、そのドライバーがx64ベースシステム用のwindowsに対応していることを確認して下さい。 」って出てしまいます
    端末が原因なのでしょうか・・・

    返信削除
    返信
    1. 返信が遅くなりすみません。
      インストールできないのは「adb driver」で間違いないですね?
      それでしたら,端末によってインストールするべきものが違います。Nexsus等の一部の端末においてはGoogleより配布されていますが,他はその端末ごとに製造メーカーが配布している場合がほとんどです。
      ご使用の機種はどこのものでしょうか?
      また,「機種(会社)名 adb driver」で検索をしてみれば出てくるとは思いますので,そちらもぜひ。

      削除
  3. android端末側のUSBデバッグを有効にしていないと、adbコマンドがはじかれます。
    USBデバッグを有効にするには、開発者オプションを有効にする必要があり、・・・・(ry

    返信削除
    返信
    1. おっと,当然のごとく省いてしまっていました。ご指摘ありがとうございます。追記させていただきます。

      削除
  4. はじめまして。
    上記の説明に従ってやってみたのですが、エラーが出ます。
    最後のところで
    Error:java.lang.IllegalArgumentException:Unsupported partition type null
    とエラーが出ます。
    原因、対処法などわかりましたらご教授いただけませんか?

    返信削除
    返信
    1. すみません,自分も細かいことは分かりません。ですが,「メソッドに渡された引数が想定外の値の時にスローする」という意味のエラーであることは確かです。よって,おそらくnull値が非サポートな値のためのエラーだと思います。
      文字の入力ミス(スペルミスや改行の位置)などがないか,またjava関連のソフトを適切なものがすべてインストールされているかもう一度よく確認してみてください。

      確かな回答が出せず申し訳ありません。

      削除
  5. はじめまして。
    わたしもこのエラーが出て、検索してここにたどり着いたので、
    他にも気になさる方がいらっしゃるかもと、勝手ながら返信させていただきます。

    わたしの場合は、既に利用していたSDカード(中にファイルが入ったまま)でエラーになりました。
    この表示のあと、SDカードを認識すらしなくなり……。

    SDカードを抜き、端末を再起動、SDカードを挿入、で新しいSDカードとして認識され、
    「外部ストレージとしてフォーマット」した後にこのエントリーの手順で無事内部ストレージとして認識、
    パーティション分けも実行できました。

    ご参考まで。

    返信削除
    返信
    1. わざわざ貴重な情報をありがとうございます!

      削除
  6. Xperia Z5 Compact/ビルド:32.1.F.1.98

    無駄に容量が余っているSDカードを有効活用することができました。
    有力な情報ありがとうございます。

    返信削除
    返信
    1. ありがとうございます。お役に立てたようでよかったです。

      削除