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ツールで作成時に指定したパッケージ名と異なる場合は
onObbStateChange
のstate
が25(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/パッケージ名
ディレクトリにダウンロードされる。