相同的项目,但可以相互定制和安装?

时间:2011-06-01 11:52:02

标签: android xml customising

我有一个小型Android项目,我将其用作核心项目。从这个核心项目,我希望能够进行自定义。

所以我使用标准图标,按钮等框架格式的应用程序...我希望能够使用不同的图标和按钮创建不同的版本。

我知道怎么做。 (我将有两个单独的apk文件,两个都使用相同的代码,但资源不同)

但是,我希望能够同时在同一设备上安装核心项目和自定义。目前有人会覆盖另一个。

我试图更改清单中的包但这反过来意味着我还必须在我的Java文件中更改R.java的所有导入,这是我想要避免的。

是否有可能只更改xml中允许我使用相同Java文件但具有不同资源的两个项目?

2 个答案:

答案 0 :(得分:2)

您应该使用Android库。

将所有应用程序代码放入一个Android库中,然后创建两个具有自定义图标和不同包名称的Android应用程序。最终Android应用程序中定义的资源将覆盖Android库中所有已存在的资源。

一个缺点:您需要在Android应用程序中拥有几乎相同的AndroidManifest.xml个文件副本(但它们仍然应该有不同的软件包名称)。

欲了解更多信息:

  1. Android的文档:Settings up Android Library project
  2. 我的帖子:Android Application, Android Libraries and Jar Libraries.这篇文章介绍了Android库的工作原理。

答案 1 :(得分:2)

您应该创建一个包含所有源代码的库项目,并为每个引用该库项目的可安装包创建一个项目。然后,您可以在可安装项目中定义/覆盖任何资源定义