在没有子类化所有活动的情况下实现android库项目

时间:2014-03-11 14:31:25

标签: java android code-reuse

我创建了一个Android项目并将其设置为库项目,以支持App的免费和付费版本。图书馆项目被设置为" ... base"项目实际上付费版本只是调用基本应用程序,包括其主要活动。

我需要进行一些更改以限制免费版本,我可以轻松覆盖布局资源,但我想知道扩展/覆盖某些活动的最简单方法。理想情况下,我想做的只是子类活动,其中需要进行限制功能的更改,但我遇到了一些问题。我的活动重定向到App导航中的其他活动,我发现正在生成以下错误:

03-11 13:54:10.068:E / AndroidRuntime(21264):android.content.ActivityNotFoundException:无法找到显式活动类{package.free/package.base.MainActivity};你有没有在AndroidManifest.xml中声明这个活动?

显然,我可以将这些添加到清单中,或者我可以抽象重定向,但第二个选项意味着我需要子类化任何可以触发重定向的东西或任何可以作为重定向目标的东西。有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

我设法让这一切按照我的意愿运作。它确实意味着您需要非常具体地使用一个项目,这些项目根据您要实例化的对象(以及在清单中声明的​​活动或片段)使用库项目。我发布这个问题纯粹是因为关于如何实际实现这些东西的信息不足。如果有足够的兴趣,我会尝试整理教程/博客,以显示我为实现这一目标而采取的步骤。