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

时间:2012-06-11 08:26:10

标签: android android-manifest adt android-library

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

  

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

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

4 个答案:

答案 0 :(得分:64)

将以下行添加到应用程序项目的project.properties文件中。

manifestmerger.enabled=true 

Android SDK Tools, Revision 20 (June 2012)推出:
https://developer.android.com/studio/releases/sdk-tools

  

构建系统
  *添加了库项目清单文件自动合并到包含项目的清单中。   使用manifestmerger.enabled属性启用此功能。

答案 1 :(得分:9)

如果要合并android库项目清单和当前项目清单,则必须在project.properties文件中添加manifestmerger.enabled=true,其中您引用了库项目。但是,你应该确认一些像ADT版本,最小和目标SDK应该与库项目相同。

答案 2 :(得分:5)

供参考: 如果您使用的是eclipse export signed App,则manifestmerger.enabled = true将不会合并清单文件。 如上所述,它似乎是一个错误。 http://code.google.com/p/android/issues/detail?id=34623

对我来说,设置合并也是一件麻烦事。 (重新启动eclipse,打开关闭项目..)要查看合并是否正常工作,请查看../Your_Main_Project/bin/AndroidManifest.xml中的文件。如果合并有效,您将在此文件中看到完整的结果。

编辑:此错误已在ADT v20.0.1(Juli 2012)中修复:http://developer.android.com/tools/sdk/eclipse-adt.html

答案 3 :(得分:2)

我在清单合并期间遇到了一些错误(R.java文件丢失了)所以我交替地从库项目清单中明确地复制了清单内容(例如我只复制了活动内容)并将它们放在我的主项目清单中。这解决了错误,到目前为止一切似乎都运行良好。让我知道是否有人认为这不是表明合并的推荐替代方案。