javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。
javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。

update zip の作成

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Android マーケットをインストールする時にソフトウェア更新で market_update0.zip を適用するが、この様な特別な zip (以下 updater )を自前で用意する方法。

updater では例えば以下のことができる。

  • /system へインストールする必要があるアプリをインストールする
  • 日本語フォントをインストール

手順


例えば、日本語をインストールする updater を作成してみる。

  1. market_update0.zip を入手し展開
  2. market_update0/system/app ディレクトリを削除
  3. market_update0/system/fonts ディレクトリを作成
  4. 任意のフォントを 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 で圧縮する。ファイル名は任意で。

成果物

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
|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|