2011-04-19 12 views
8

私のアプリケーションにはブランドを付ける必要があり、カスタマイズする必要のある画像はわずかですが、生成される定数を除いてコードベースは同じです。Eclipse:複数のsrcディレクトリを指定するなど複数のresディレクトリを指定する

aaptは多くのリソースディレクトリを指定できるため、Eclipseの.classpathファイルにresディレクトリを指定する方法はありますか?何かのように

<classpathentry kind="androidres" path="res/common" /> 
<classpathentry kind="androidres" path="res/brand/mybrand_a" /> 

これを行うには他の手段がありますか?

おかげ

答えて

1

あなたがメインres/ディレクトリにあなたのブランド固有のdirsからシンボリックリンクを使用してみましたか?

+0

私はウィンドウを使用しています。これを行うには、カスタマイズされたイメージごとにシンボリックリンクを作成する必要があります。これは縮尺通りではありません。 – david

+0

同じディレクトリ構造を模倣することはできず、ルートディレクトリのシンボリックリンクを作成するだけですか? –

+0

回避策は、カスタマイズされたイメージをresディレクトリにコピーすることです。 aaptでも複数のディレクトリを処理できないため、これが最後の解決策(Windows上)です。私は 'aaptパッケージ-Sres-branding/mybrand/res -M AndroidManifest.xml -A assets -J build/gen -ID:/ software/android-sdk-windows/platforms/android-8/android.jar'を試しました。それは大量のエラーを記録します。 souce(-S)ディレクトリを1つだけ指定すると、もっと楽しいものになります。 – david

0

私はaaptに複数のリソースディレクトリを使用することに問題はありません。私のant build.xmlにリソースを構築するターゲットには以下の内容が含まれています。ブランド化されたリソースは、ブランド化されていないリソースよりも優先されます。しかし、私はEclipseでビルドするための同等の方法はありません。

<exec executable="${aapt}" failonerror="true"> 
     <arg value="package" /> 
     <arg value="-m" /> 
     <arg value="-J" /> 
     <arg path="${folder.gen}" /> 
     <arg value="-M" /> 
     <arg path="AndroidManifest.xml" /> 
     <arg value="-I" /> 
     <arg path="${android.jar}" /> 
     <arg value="-A" /> 
     <arg path="${location.assets.branded}" /> 
     <arg value="-S" /> 
     <arg path="${location.res.branded}" /> 
     <arg value="-S" /> 
     <arg path="${location.resource}" /> 
    </exec> 
関連する問題