2011-04-19 69 views
8

我需要爲我的應用程序打上品牌,只有少數圖像需要定製,代碼庫除了少數生成的常量外都是相同的。Eclipse:指定多個res目錄,如指定多個src目錄

由於aapt允許指定許多資源目錄,有沒有什麼方法可以在Eclipse .classpath文件中指定res目錄?類似於

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

或者還有其他的意思嗎?

感謝

回答

1

您是否嘗試過使用從您的特定品牌迪爾斯符號鏈接到主res/目錄?

+0

我正在使用windows。這樣做需要爲每個自定義圖像創建一個符號鏈接。這不會縮放。 – david 2011-04-19 15:53:25

+0

你不能模仿相同的目錄結構,只是爲根目錄創建一個符號鏈接? – 2011-04-19 16:24:54

+0

解決方法是將定製的圖像複製到res目錄中。這將是最後一個解決方案(在Windows上),因爲即使aapt也無法處理多個目錄。我嘗試過'aapt包-S res-branding/mybrand/res -M AndroidManifest.xml -A assets -J build/gen -ID:/ software/android-sdk -windows/platforms/android-8/android.jar'它記錄了大量的錯誤。僅指定一個源(-S)目錄使aapt更快樂。 – david 2011-04-19 16:30:21

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>