「update zip の作成」の編集履歴(バックアップ)一覧はこちら
「update zip の作成」(2011/02/03 (木) 08:22:43) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
Android マーケットをインストールする時にソフトウェア更新で market_update0.zip を適用するが、この様な特別な zip (以下 updater )を自前で用意する方法。
updater では例えば以下のことができる。
-/system にアプリをインストールするパッケージをインストールする
-日本語フォントをインストール
*手順
例えば、日本語をインストールする updater を作成してみる。
+market_update0.zip を入手し展開
+market_update0/system/app ディレクトリを削除
+market_update0/system/fonts ディレクトリを作成
+任意のフォントを market_update0/system/fonts にコピーする
ここまでの作業をすると以下のようなディレクトリ/ファイル構造ができる。
+--META-INF
| +--com
| +--google
| +--android
| +--update-binary
| +--updater-script
+--system
+--fonts
+--DroidSansJapanese.ttf
次に、updater-script を修正する。
修正箇所:
set_perm(0, 0, 0644, "/system/app/MarketUpdater.apk");
set_perm(0, 0, 0644, "/system/app/GoogleServicesFramework.apk");
set_perm(0, 0, 0644, "/system/app/NetworkLocation.apk");
set_perm(0, 0, 0644, "/system/app/Vending.apk");
修正後:
set_perm(0, 0, 0644, "/system/fonts/DroidSansJapanese.ttf");
後は、market_update0 以下のファイル全てを zip で圧縮する。ファイル名は任意で。
[[成果物>http://www43.atwiki.jp/p10an01/pub/apps/install_japanese_font.zip]]
*updater-script のコマンド
**mount
***用途
ファイルシステムのマウント
***書式
mount(type, location, mount_point)
type には、MTD (yaffs2)か vfat (SD card)を指定できる。SD card をマウン
トしたい場合、location は location="/dev/block/<whatever>" 形式になる。
***実行例
mount("MTD", "system", "/system");
**is_mounted
***用途
***書式
is_mounted(mount_point)
***実行例
**unmount
***用途
ファイルシステムのアンマウント
***書式
unmount("mount_point");
***実行例
unmount("/system");
**format
***用途
***書式
format(type, location)
type は MTD のみ。
***実行例
**delete
***用途
***書式
***実行例
**delete_recursive
***用途
***書式
***実行例
**show_progress
***用途
プログレスを表示する
***書式
***実行例
show_progress(1.300000, 50);
**setprogress
***用途
***書式
***実行例
**package_extract_dir
***用途
パッケージ(zip)のディレクトリを指定のパスに展開する
***書式
package_extract_dir(package_path, destination_path)
***実行例
package_extract_dir("system", "/system");
**package_extract_file
***用途
パッケージ(zip)のファイルを指定のパスに展開する
***書式
package_extract_file(package_path, destination_path)
***実行例
**symlink
***用途
シンボリックリンクの作成
***書式
symlink target src1 src2 ...
***実行例
**set_perm
***用途
パーミッションを設定する。
***書式
set_perm(uid, gid, (0-7)(0-7)(0-7)(0-7), file_path);
***実行例
set_perm(0, 0, 0644, "/system/fonts/DroidSansJapanese.ttf");
**set_perm_recursive
***用途
***書式
***実行例
**getprop
***用途
***書式
***実行例
**file_getprop
***用途
***書式
***実行例
**write_raw_image
***用途
***書式
write_raw_image(file, partition)
***実行例
**write_firmware_image
***用途
***書式
write_firmware_image(file, partition)
***実行例
**apply_patch
***用途
***書式
apply_patch(srcfile, tgtfile, tgtsha1, tgtsize, sha1:patch, ...)
***実行例
**apply_patch_check
***用途
***書式
apply_patch_check(file, sha1, ...)
***実行例
**apply_patch_space
***用途
***書式
apply_patch_space(bytes)
***実行例
**ui_print
***用途
メッセージを出力する
***書式
ui_print(strings);
***実行例
ui_print("Hello World!");
**run_program
***用途
外部のプログラムを実行する。
***書式
run_program(command, args1, args2, ...)
***実行例
run_program("/sbin/mount", "/dev/block/stl9", "/system");
*参照 URL
http://forum.cyanogenmod.com/topic/7895-update-script-syntax/
http://nv-tegra.nvidia.com/gitweb/?p=android/platform/bootable/recovery.git;a=blob_plain;f=updater/install.c;hb=froyo-tegra
Android マーケットをインストールする時にソフトウェア更新で market_update0.zip を適用するが、この様な特別な zip (以下 updater )を自前で用意する方法。
updater では例えば以下のことができる。
-/system へインストールする必要があるアプリをインストールする
-日本語フォントをインストール
*手順
例えば、日本語をインストールする updater を作成してみる。
+market_update0.zip を入手し展開
+market_update0/system/app ディレクトリを削除
+market_update0/system/fonts ディレクトリを作成
+任意のフォントを market_update0/system/fonts にコピーする
ここまでの作業をすると以下のようなディレクトリ/ファイル構造ができる。
+--META-INF
| +--com
| +--google
| +--android
| +--update-binary
| +--updater-script
+--system
+--fonts
+--DroidSansJapanese.ttf
次に、updater-script を修正する。
修正箇所:
set_perm(0, 0, 0644, "/system/app/MarketUpdater.apk");
set_perm(0, 0, 0644, "/system/app/GoogleServicesFramework.apk");
set_perm(0, 0, 0644, "/system/app/NetworkLocation.apk");
set_perm(0, 0, 0644, "/system/app/Vending.apk");
修正後:
set_perm(0, 0, 0644, "/system/fonts/DroidSansJapanese.ttf");
後は、market_update0 以下のファイル全てを zip で圧縮する。ファイル名は任意で。
[[成果物>http://www43.atwiki.jp/p10an01/pub/apps/install_japanese_font.zip]]
*updater-script のコマンド
**mount
***用途
ファイルシステムのマウント
***書式
mount(type, location, mount_point)
type には、MTD (yaffs2)か vfat (SD card)を指定できる。SD card をマウン
トしたい場合、location は location="/dev/block/<whatever>" 形式になる。
***実行例
mount("MTD", "system", "/system");
**is_mounted
***用途
***書式
is_mounted(mount_point)
***実行例
**unmount
***用途
ファイルシステムのアンマウント
***書式
unmount("mount_point");
***実行例
unmount("/system");
**format
***用途
***書式
format(type, location)
type は MTD のみ。
***実行例
**delete
***用途
***書式
***実行例
**delete_recursive
***用途
***書式
***実行例
**show_progress
***用途
プログレスを表示する
***書式
***実行例
show_progress(1.300000, 50);
**setprogress
***用途
***書式
***実行例
**package_extract_dir
***用途
パッケージ(zip)のディレクトリを指定のパスに展開する
***書式
package_extract_dir(package_path, destination_path)
***実行例
package_extract_dir("system", "/system");
**package_extract_file
***用途
パッケージ(zip)のファイルを指定のパスに展開する
***書式
package_extract_file(package_path, destination_path)
***実行例
**symlink
***用途
シンボリックリンクの作成
***書式
symlink target src1 src2 ...
***実行例
**set_perm
***用途
パーミッションを設定する。
***書式
set_perm(uid, gid, (0-7)(0-7)(0-7)(0-7), file_path);
***実行例
set_perm(0, 0, 0644, "/system/fonts/DroidSansJapanese.ttf");
**set_perm_recursive
***用途
***書式
***実行例
**getprop
***用途
***書式
***実行例
**file_getprop
***用途
***書式
***実行例
**write_raw_image
***用途
***書式
write_raw_image(file, partition)
***実行例
**write_firmware_image
***用途
***書式
write_firmware_image(file, partition)
***実行例
**apply_patch
***用途
***書式
apply_patch(srcfile, tgtfile, tgtsha1, tgtsize, sha1:patch, ...)
***実行例
**apply_patch_check
***用途
***書式
apply_patch_check(file, sha1, ...)
***実行例
**apply_patch_space
***用途
***書式
apply_patch_space(bytes)
***実行例
**ui_print
***用途
メッセージを出力する
***書式
ui_print(strings);
***実行例
ui_print("Hello World!");
**run_program
***用途
外部のプログラムを実行する。
***書式
run_program(command, args1, args2, ...)
***実行例
run_program("/sbin/mount", "/dev/block/stl9", "/system");
*参照 URL
http://forum.cyanogenmod.com/topic/7895-update-script-syntax/
http://nv-tegra.nvidia.com/gitweb/?p=android/platform/bootable/recovery.git;a=blob_plain;f=updater/install.c;hb=froyo-tegra
表示オプション
横に並べて表示:
変化行の前後のみ表示: