Root化してない普通のAndroidでKindleのDL先をSDカードにする方法

試す時は端末を買った直後、もしくはSDカードをフォーマットする準備をしてから。

端末はASUS ZenPad 3 8.0 (Z581KL)。本体メモリは32GB。指してるMicroSDカードはサンディスクの128GB。ルート化の必要ナシ。

adb shell sm set-force-adoptable true ←まずこれ

f:id:Fushihara:20170901024346p:plain:w300その後これ。

この画面への遷移方法が説明しにくいからしないけど、設定>ストレージ からいける。途中で右上の…メニューを開くと「ストレージタイプを変更」みたいなメニューがあってそこからいけるはず。

結果がこれ↓Kindleのインストール先がSanDisk製SDカードで、18GBのデータを使用している。にも関わらず、本体のメモリの使用量が6.72GBなので本体メモリを使っていない。

f:id:Fushihara:20170901024446p:plain:w300 f:id:Fushihara:20170901024531p:plain:w300

内部共有ストレージが使用量ゼロになったり、SanDisk製SDカードの使用量がぴったり18.78GBにはならないのは他にアプリが入ってるから。

Kindleアプリでの本のダウンロードってものすごく時間がかかるけど、頑張って全部落とした。ざっと数えた所400冊くらい。

何日か使って、Android本体の再起動とかもしたけど特に問題無い感じ。不満なく使えてます。

注意点として、やっぱりSDカードは内蔵ストレージより遅いのか、SDカードにインストールしてある他のアプリを更新している時Kindleアプリが固まるかも。

その他

ググるキーワードは Adaptable Storage

以下のようなコマンドを紹介しているサイトが多いけど、Kindleはこれでは駄目‥だと思う。

adb shell sm list-disks
adb shell sm partition disk:179,64 private
adb shell sm partition disk:179,64 mixed 10 // 10%をSDカードとして残す

再現手順確認の為にもう一度やり直す根性は無かった。余ってるAndroid6以上の端末も無かった。ドコモから普通に買った恐らくSimロックされているXperiaスマホでもやろうと思ったけど、古い端末はAndroid5で今メインで使ってる端末をやる勇気は出なかった。

Androidは6のMarshmallow以降。5の端末で試したらsmコマンドがないと言われた。

既存のSDカードを使う場合、途中で初期化されるのはお約束。

代償として、システムから認識されている外付けSDカードが10GBとかになっちゃってる。