APK拡張ファイル

  • 14
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

jobbツールとは

OBB(Opaque Binary Blob)フォーマットのイメージファイルを作成するツール。Android SDKに含まれる。%ANDROID_HOME%/tools内にある。

jobb -d ディレクトリ名のフルパス -o 出力先ファイルのフルパス -pn パッケージ名 -pv パッケージバージョン

例:対象フォルダがD:\contents、出力先がD:\obb\output.obb、パッケージ名がcom.myapp.test、パッケージバージョンが1の場合

jobb -d D:\contents -o D:\obb\output.obb -pn com.myapp.test -pv 1

注意点

  • jobb-d,-oにはフルパスを指定しないと正しく処理されない。相対パス指定だと%ANDROID_HOME%/tools/からの相対パスになってしまう。
  • JOBBツールはある程度の容量の.obbファイルを出力しないとエラーメッセージを出す

アプリケーションからの利用方法

OnObbStateChangeListener listener = new OnObbStateChangeListener() {
  @Override
  public void onObbStateChange(String path, int state) {
    // state == 1 (OnObbStateChangeListener.MOUNTED) ならマウント完了
  }
};
StorageManager storageManager = ((StorageManager) context.getSystemService(Context.STORAGE_SERVICE));
String path = "path/to/obbFile"; // .obbファイルへのフルパス
storageManager.mountObb(path, null, listener); // obbファイル作成時にキーを指定した場合は、第二引数に指定する

注意点

  • jobbツールで作成時に指定したパッケージ名と異なる場合はonObbStateChangestate25(OnObbStateChangeListener.ERROR_PERMISSION_DENIED)となる。

Google Play Expansion Filesとして使用する

OBBファイルは以下の命名規則に則っていなければいけない。

[main|patch].<expansion-version>.<package-name>.obb

例:

main.1.com.myapp.test.obb

OBBファイルはAPKをアップロードするときに追加でアップロードする。OBBファイルだけを更新することはできない。

OBBファイルはアプリダウンロード時に%外部ストレージ%/Android/obb/パッケージ名ディレクトリにダウンロードされる。