在Android中使用新的“manifestmerger”属性

在最新版本的ADT(版本20预览版3)中,他们说可以使库的清单文件与使用它们的项目合并:

将库项目清单文件自动合并到包含项目的清单中。 使用manifestmerger.enabled属性启用。

我如何以及在哪里使用它? 我无法在任何地方看到帮助我的内容。

添加以下行:

manifestmerger.enabled=true 

到您的应用程序项目的project.properties文件。

如果你想合并android库项目清单和你当前的项目清单,你必须在你引用你的库项目的project.properties文件中添加manifestmerger.enabled=true 。 但是,你应该确认一些像ADT版本一样的点,最小化和目标SDK应该和库项目一样。

仅供参考:manifestmerger.enabled = true将不会合并清单文件,如果您使用eclipse导出已签名的应用程序。 正如这里所指出的,这似乎是一个错误。 http://code.google.com/p/android/issues/detail?id=34623

对我来说,build立正确的合并也有点麻烦。 (重新启动eclipse,打开closures项目..)要了解合并是否正在工作,请查看../Your_Main_Project/bin/AndroidManifest.xml中的文件。 如果合并工作,你会看到在这个文件中的完整结果。

编辑:这个错误修复ADT v20.0.1(2012年7月): http : //developer.android.com/tools/sdk/eclipse-adt.html

我在清单合并(R.java文件丢失)时遇到了一些错误,所以我交替地从库项目清单中明确复制了清单内容(例如,我复制了活动内容),并将它们放在我的主项目清单中。 这解决了错误,一切似乎迄今运作良好。 让我知道如果有人觉得这不是一个build议的select来表明合并。