hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

【重要】EBPocket for Android の対象範囲別ストレージ対応について

やむを得ず、EBPocket for Android の対象範囲別ストレージ対応をすることになってしまった。その理由は、

  1. 近い将来、targetSdkVersion を31以上にしないと、新規ユーザのGoogle Playにアプリが表示されなくなってしまう(Android11以降の場合)。EBPocketというアプリがGoogle Play上から存在しなくなってしまう。
  2. Android 11 以降で外字ビットマップが表示されないという現象が起きるようになった。改修は容易だが、アップデートするためにはtargetSdkVersion を31以上にしないと、Google Playに申請ができない。

targetSdkVersion を31以上にするということは、対象範囲別ストレージ対応が必須になるということである。要するに、iPhoneみたいに、アプリ固有のサンドボックスと呼ばれる領域以外にアクセスできなくなる。
EBPocketにおいては、これまでのように外部SD上の辞書に自由にアクセスできなくなるということだ。

そこで、EBPocket 1.49以降では次のようになる。

Android10まで

従来通り、ストレージ内の任意の場所を辞書検索パスに指定できる。外部SDカード上の辞書もこれまで通り使用できる。

Android11以降

  1. 辞書の場所は、次のアプリ固有のデータ領域(サンドボックス)に固定される。辞書を追加する場合は、必ずこの配下に辞書を置かないと認識しない
    /storage/emulated/0/Android/data/info.ebstudio.ebpocket/files/EPWING
  2. PCからUSB接続で辞書を転送する場合は、上記の場所に辞書を転送し、「辞書の再検索」を実行する。
  3. 外部SDに辞書が存在する場合は、辞書管理メニューから辞書をインポートする。以下のスクリーンショットを参考にしてほしい。

スライドメニューから辞書管理を選択

辞書管理画面にて、辞書追加ボタンを押す。

辞書をインポートするフォルダを選択する。

アクセスの許可を与える。

辞書が追加される。

かなりの混乱が予想されるが、避けては通れないのでしかたない。今後もEBPocket for Androidの提供を続けるには、Google Playの規約に準拠するしかないからだ。