2011-04-19 96 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>