« スライドノベルapkジェネレーター | メイン | TJS2 for Java »

2011年07月21日

Android:: リソースIDの採番をずらす

    

Android のリソースIDは自動的に割り当てられる。
プロジェクトが違っても、開始番号は同じで、リソースを含んだjarファイルを作ろうとしても番号が重複してしまうので出来ない。
アプリでは、0x7f000000 辺りが使われるようだ。
でも、標準で使われる android.jar にはリソースが含まれているので、何とかする方法はありそうな気がする。
android.jar 内部では 0x01000000 辺りが使われている。
ただ、この Androidでライブラリプロジェクトを作成する際の考慮事項 を見ると出来ないようなことが書いている。

Eclipse の助けを借りず、自分でリソースをコンパイルするのなら採番をずらすことは可能だった。
リソースのコンパイルは、aapt を用いて行うが、このときに「-x」オプションを使うと採番がずれる。
この時、0x02000000 辺りが使われる。
aapt の使い方 を見ると、コマンドの意味がある程度わかる。
コマンドはこんな感じで書いた。
aapt package -u -x -m -M %WORKDIR%\AndroidManifest.xml-F resoureces.jar -J %TMPDIR% -S %TMPDIR%\res -I %ANDROID_JAR%

%~%ってやつは、batファイル内で割り当てている。

A Detailed Look at the Build Processを見る限り、外部リソースを入れてビルドすることは出来るように見えるが、Eclipse で読ませてやろうとするといろいろとうまくいかない。
コマンドやjarに含めるものの構成が間違っているんだと思われる。

と思って見直していたら、「--custom-package」オプションがあった。
もしかしてこの辺りかな?
また今度試してみようと思う。

apkファイルの構成は、バッチファイルからAndroidアプリを生成する このページを読むとある程度わかる。



投稿者 Takenori : 2011年07月21日 21:02




comments powered by Disqus
Total : Today : Yesterday : なかのひと