android库项目和活动

时间:2011-02-18 21:37:25

标签: android android-activity android-manifest android-library

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

2 个答案:

答案 0 :(得分:25)

不,这是目前图书馆的一个已知限制。 Android开发社区中有很多关于将来解决这个问题的讨论,但是现在它限制了它们如何构建库。

来自doc

  

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

另外,Mark Murphy的出色回答here

答案 1 :(得分:21)

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

原帖:

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

manifestmerger.enabled=true

到你的project.properties。 Using the new "manifestmerger" property in Android也对此进行了讨论。

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

相关问题