什么是Android开发网站中的OBB(不透明二进制Blob)?

时间:2010-12-24 07:48:10

标签: android

当我查看Android 2.3文档时,我在“存储”部分找到了有关OBB(不透明二进制Blob)的信息。

但是我找不到任何有关OBB(Opaque Binary Blob)的信息。

您能否向我提供有关Obb(Opaque Binary Blob)的信息或地址?

1 个答案:

答案 0 :(得分:29)

OBB允许您打包大文件并将其存储在公共SD卡上,只有您的应用程序才能解密和使用它们。构建AOSP后,mkobb。sh和obbtool允许您创建(在Linux上)OBB文件。

在设置PATH,权限和内核模块之类的东西后,创建基本上是:

$ mkobb.sh -d /data/myfiles -k my_secret_key -o /data/data.obb
$ obbtool a -n com.example.myapp -v 1 -s seed_from_mkobb /data/data.obb

之后,您可以将data.obb存储在SD卡上,并仅使用my_secret_key

访问您应用中的文件
storage = (StorageManager) getSystemService( STORAGE_SERVICE );
storage.mountObb( obbFilepath, "my_secret_key", myListener );
obbContentPath = storage.getMountedObbPath( obbFilepath );

虽然其他应用可以破坏SD卡上的data.obb,但只有应用可以访问它们,而且内容与存储在私有应用中一样安全。

仅在API级别9及以上,并使用WRITE_EXTERNAL_STORAGE从SD访问OBB文件。