如何在项目中独立共享资源文件夹?

时间:2012-11-20 13:25:57

标签: java android android-layout android-library

我有一个库项目,它包含所有资源和类文件,这个项目包含所有与主题相关的图像,我正在共享我的库项目,用于创建新项目,一切正常。

但是当我想更改应用程序主题相关的图像时,我需要更新我的库项目图像,但我的库项目已经与其他一些项目共享,所以我不想触摸它。

还有一种方法可以在我的新项目中添加所有新的图像集,但是它增加了我的项目大小,而且我不需要在图像上发送两组图像。

有没有办法与项目独立共享资源文件夹?所以取决于要求我可以与尊重的项目共享我的资源文件夹。

所以它会像这样

Library Project
    |
    |__ class files
    |
    |__ resource folder(contais all drawables and layouts) 

我可以在编译时选择特定的资源文件夹吗?

3 个答案:

答案 0 :(得分:0)

我会对库进行版本控制并使用maven或类似的东西管理依赖项。 这样,您不会破坏使用旧版本库的其余项目,您可以在有时间的情况下将任何项目更新到库的任何版本,当然,您可以继续更新库并生成新版本。

答案 1 :(得分:0)

我会添加一个static字段来描述库中的资源文件夹,如下所示。

public class Library {

    // The resource-folder
    public static final File RES_FOLDER;

}

然后使用该字段访问资源文件夹。我建议将主题创建为单独的应用程序。

答案 2 :(得分:0)

解决方案#1:    版本化资源,在运行时从Web下载。    考虑不要将任何资源嵌入到您的库项目中。这样您就可以将其分发为.jar文件,这将简化第3方开发人员的集成。 这样,您需要从Web下载运行时的资源,并将它们缓存在/ data文件夹或SD卡或内存中。

解决方案#2:    使用ant或maven构建项目。这样,您就可以使用默认配置分发项目,并可以构建自定义配置。 这样,资源可以位于任何文件夹中,并根据定义的配置参数在编译期间从那里获取。