ものがたり(旧)

atsushieno.hatenablog.com に続く

monodroid: Aresgen.exe

これは http://monodroid.net/Documentation/Tools/Aresgen.exe 現時点での内容をの日本語訳したものです。本当はビルドプロセスのページを訳したいところなのだけど、MonoDevelop版が来たら変わるところもあるかもしれないので…

  • -

Androidリソースモデルは、リソースをあるディレクトリ(便宜上resとなっています)に配置することで成立し、aaptツールによってこのディレクトリが最終的な.apkが含まれるようにします。しかし、この外部リソースを使用するには、開発者はリソースIDを使ってアクセスしなければなりませんaresgen.exeツールは、これらのリソースIDを生成して、リソースをコード上で使用可能にする責務を負っています。

ビルドプロセス

aresgen.exeツールは、ビルドプロセスにおけるpre-buildの段階で実行されます。これはプロジェクトに含まれるソースファイルを生成し、生成されたソースに含まれるリソースIDがそのアセンブリ上でアクセス出来るようにします。

オプション

  • -A=directory: directoryaaptに渡して、追加のアセットファイルを探索できるようにします。この値はaresgen.exeに渡された値と一致しているべきです(訳注: この辺は原文がおかしい)
  • -I=package: 既存のパッケージや.jarファイルを基本インクルード集合に追加します。これはaaptツールに渡されます。もし指定されなければ、--sdk-dir--sdk-platformのディレクトリにあるandroid.jarがデフォルトとなります。備考: 指定された場合は、android.jarはデフォルトでは含まれずandroid.jarの何かしらのバージョンを含めることがaaptによって要求されます。この値はmonodroid.exeに渡された値と一致しているべきです。
  • --namespace=namespace: 生成されたクラスに与えられるネームスペース。無指定時は、生成されたクラスはデフォルト(グローバル)ネームスペースとなります。
  • -o=filename: 生成されるファイル名。生成する言語はファイルの拡張子に基づきます。System.CodeDomがファイルの生成に使用されます。従って、CodeDomをサポートする任意の言語が使用できます。
  • -S=directory: aaptdirectoryを渡し、directoryにあるリソースを含めるようにします。これはmonodroid.exeに渡された値と一致しているべきです。
  • --sdk-dir=directory: Android SDKが存在するdirectoryを指定します。
  • --sdk-platform=version: 使用するAndroid SDKプラットフォームのバージョンをandroid-7のように指定します。無指定時は、--sdk-dir/platforms以下の最大のバージョンになります。
  • -v[=level]: 出力メッセージの冗長性を上げます。