Upload
makoto-yamazaki
View
667
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
android.os.storageYAMAZAKI Makoto (@zaki50)
Who am I?
• YAMAZAKI Makoto(twitter: @zaki50)
• market: 串かつ(FeliCa push middleware)
• http://sites.google.com/site/94katsu/
storage API
storage API...?
• 既にあるんじゃ?
• SD カード読み書きできるし
• OBB?
• 何が違うの?
Disk Image!
ディスクイメージのオンデマンドマウント
特徴
• ちゃんとしたファイルシステム(vfat)
• オンデマンドにマウント/アンマウント
• イメージの暗号化対応
• オーバーレイさせることが可能
できないこと
• プログラムからの更新(ro mount なので)
• コンテンツのコピープロテクト
StorageManager
OnObbStateChangeListener
使い方(mount)
使い方(ObbInfo)
mount 後
OBB ファイル
• 現状のAndroid SDK(r8)ではツール未提供
• AOSP にはツールのソースコードあり(gingerbread or master branch)
• vfat のディスクイメージ+OBBメタデータ
obbtoolgingerbread ブランチのsdkをビルドしてみた
OBB ファイル
ディスクイメージ(vfat)
OBB メタデータ
フィールド名 フィールドサイズ 説明
signature version 4 footerのバージョン(1)
package version 4 パッケージバージョン(?)
flag 4 OBB フラグ。オーバーレイ/ソルト
salt 8 暗号化の際の salt
package name size 4 属するパッケージ名の長さ
package name 可変 属するパッケージ名
footer size 4 signature version から package
name までのサイズ
footer marker 4 OBBファイルであることの目印(0x01059983)
OBB ファイル作成
Linux は loopback mountで、 Windows は...
Mac の場合
比較
• zipファイル
• SD CARD
• StorageManager(OBB)
感想
• はやくSDK に tool を提供して欲しい
• ただし SD CARD にOBB ファイルを置く使い方は現状ではメリットが謎
• OBB ファイルをNFSのような所に置く使い方を想定しているのではないか
参考資料• API Reference
• http://developer.android.com/reference/
• AOSP のソースコード
• frameworks/base/libs/util/ObbFile.cpp
• development/samples/Obb
• OBB ファイルのメモ
• http://zaki.tdiary.net/20101224.html