我有一个适用于一个国家/地区的公共(public)交通应用程序,我想为另一个国家/地区创建一个单独的应用程序。大多数代码将被共享,但我需要一些类具有不同的实现,例如 TransitProvider。
是否可以使用 Android Library Project 共享代码?我可以执行以下操作吗?
- 有 TransitProvider(扩展 AbstractTransitProvider) 在 图书馆项目。该类有未实现的方法。
- 在应用程序项目 > AndroidManifest.xml 中,我的包名称与库 list 中的包名称不同。我在这个项目中也有 TransitProvider,它与图书馆的 TransitProvider 在同一个包中。
- 当我在库项目代码中使用 TP 时,应用程序的实现。应使用项目(即应用程序项目的 TP 覆盖库的 TP)。
最佳答案
Is it possible to share code using Android Library Project?
是的。这是图书馆项目的主要目的。如果不需要 Android 资源,也可以使用在单独项目中创建的普通 JAR。
Can I do the following?
如果我正确理解你建议的步骤,你不能在两个地方定义相同的类(在同一个包中)。
你应该:
- 在库项目或 JAR 中定义
AbstractTransitProvider
- 可选择在库项目或 JAR 中拥有一个或多个
AbstractTransitProvider
的具体实现,以便直接重用 - 除了使用库项目或 JAR 提供的任何具体实现之外,使用库项目或 JAR 的应用还可以在自己的 Java 包中拥有自己的
AbstractTransitProvider
具体实现
关于android - 共享大约 90% 源代码的多个 Android 应用程序怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987736/