我有一个带有虚拟清单的库模块(它是我的应用程序清单的精确副本,但更改了包名称),我在过去(eclipse)使用它来测试没有应用程序模块的库。现在在android studio中,我可以使用断点测试和调试库,使用我的应用程序模块启动它,因此库的虚拟清单不再是必需的。
我可以在发布编译之前删除库清单吗?清单合并给我带来了很多问题,在我的清单上复制了很多东西,所以如果有可能我删除库模块会更好。
删除它是安全的,否则将来会给我带来问题?
由于
答案 0 :(得分:0)
好吧,我将发布一个用CommonsWare评论的答案(谢谢!)
Bassically,库中使用的活动,接收器等应该只在库中而不是在应用程序模块中声明,清单合并会将它们添加到最终清单中。
它适用于活动,但不适用于接收器,提供程序和特殊权限,如C2DM,它需要应用程序包名称作为元素内的属性。为什么?因为这些元素在最终清单中以与库相同的包名称合并,而不是与应用程序的包名称合并,并且所有三个元素都需要具有应用程序包名称。对于那些,我们应该使用使用清单占位符:http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Placeholder-support
感谢CommonsWare