24

我正在开发一个 Android SDK 库。在这个库中,我声明并使用了一些活动。现在我尝试将库包含在应用程序中,但我注意到我必须在应用程序中声明所有库活动。这是一件非常糟糕的事情,因为在库中,我已经包含了很多活动,开发人员必须将所有活动复制到他自己的应用程序中。有解决方案吗?

4

2 回答 2

26

不,这是目前库的已知限制。android 开发社区中有很多关于将来修复这个问题的讨论,但现在这是他们如何做库的限制。

文档

在应用程序项目的清单文件中,您必须添加应用程序将使用的从库项目导入的所有组件的声明。例如,您必须声明任何 <activity><service><receiver><provider>等,以及 <permission><uses-library>和类似元素。

此外, Mark Murphy在这里给出了很好的回答。

于 2011-02-18T21:51:06.773 回答
22

更新 1:使用 Gradle 时,Manifest 合并现在自动完成。可以在此处找到有关其工作原理以及如何解决冲突的更多详细信息(感谢 guy.gc 的评论)

原帖:

要更新此线程:现在可以进行自动合并。你只需要添加

manifestmerger.enabled=true

到你的 project.properties。在 Android 中使用新的“manifestmerger”属性也讨论了这一点。

我知道这是一个旧线程,但我只是偶然发现它并想防止其他人(包括我在内)认为这是不可能的。在我的项目中,这一行完全足以利用图书馆消费应用程序中的活动。

于 2014-05-12T11:46:18.283 回答