2010-10-28

aapt memo

ant debug したときに実行される aapt
(Android SDK Tools Revision 7, Project Target: Android 2.2, API level: 8, tools/ant/ant_rules_r3.xml)

-resource-src で

aapt \
    package \
    -f \
    -m \
    -M [PROJ_DIR]/AndroidManifest.xml \
    -S [PROJ_DIR]/res \
    -I [SDK_DIR]/platforms/android-8/android.jar \
    -J [PROJ_DIR]/gen

-package-resources で

aapt \
    package \
    -f \
    -M [PROJ_DIR]/AndroidManifest.xml \
    -S [PROJ_DIR]/res \
    -I [SDK_DIR]/platforms/android-8/android.jar \
    -F [PROJ_DIR]/bin/MyActivity.ap_

aapt の source は mydroid/frameworks/base/tools/aapt/ 以下。
tools/lib/anttasks.jar の source は mydroid/sdk/anttasks/ 以下。

aapt package で res 以下の resource から gen 以下の R.java が生成されます。 resource ID は 0x7f000000 (127 << 24) 以降。 aapt package に -x を渡せば 0x02000000 (2 << 24) 以降からになるようです。

ですが、 android-sdk で用意されている rule.xml だとか anttasks.jar を使っていると aapt に -x を渡すことはできないのかも?