試す時は端末を買った直後、もしくはSDカードをフォーマットする準備をしてから。
端末はASUS ZenPad 3 8.0 (Z581KL)。本体メモリは32GB。指してるMicroSDカードはサンディスクの128GB。ルート化の必要ナシ。
adb shell sm set-force-adoptable true
←まずこれ
その後これ。
この画面への遷移方法が説明しにくいからしないけど、設定>ストレージ からいける。途中で右上の…メニューを開くと「ストレージタイプを変更」みたいなメニューがあってそこからいけるはず。
結果がこれ↓Kindleのインストール先がSanDisk製SDカードで、18GBのデータを使用している。にも関わらず、本体のメモリの使用量が6.72GBなので本体メモリを使っていない。
内部共有ストレージが使用量ゼロになったり、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とかになっちゃってる。