20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

APK拡張ファイル

Posted at

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/パッケージ名ディレクトリにダウンロードされる。

20
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?