如何处理共享约90%源代码的多个Android应用程序?

时间:2010-10-21 13:05:07

标签: android

我有一个国家的公共交通应用程序,我想为另一个国家/地区创建一个单独的应用程序。大多数代码都将被共享,但我需要一些类来实现不同的实现,例如TransitProvider。

是否可以使用Android Library Project共享代码?我可以这样做吗?

  1. 拥有TransitProvider(扩展 AbstractTransitProvider)中 图书馆项目。该类的方法未实现。
  2. 在应用程序项目中> AndroidManifest.xml我有不同的包名,而不是库的清单。我在这个项目中也有TransitProvider,它与库的TransitProvider在同一个包中。
  3. 当我在库项目代码中使用TP时,从app实现。应该使用项目(即应用项目的TP覆盖库的TP)。

1 个答案:

答案 0 :(得分:5)

  

是否可以使用Android Library Project共享代码?

是。这是图书馆项目的主要目的。如果您不需要Android资源,您还可以使用在单独项目中创建的普通JAR。

  

我可以执行以下操作吗?

如果我理解你提出的步骤,你不能在两个地方定义相同的类(在同一个包中)。

你应该:

  1. 在库项目中定义AbstractTransitProvider或JAR
  2. 可选择具有AbstractTransitProvider的一个或多个具体实现,用于直接重用,在库项目或JAR中
  3. 使用库项目或JAR的应用程序除了使用库项目或JAR提供的任何具体实现外,还可以在自己的Java包中拥有自己的AbstractTransitProvider具体实现