我有一个包含活动的Android库。然而,我是否在元素中包含活动似乎并不重要。只要我在使用该库的应用程序中放置活动的完整"路径",我就可以运行该活动。
此外,清单中的包值似乎是任意的。它不必与库类的 java 包相对应。它似乎仅由生成 R 值使用。
我的库项目的 AndroidManifest 中的包值应该是什么? 何时(如果有的话(我需要在元素中包含一些信息?
在我的库项目的 AndroidManifest 中,包值应该是什么?
一些相当独特的东西,因此它不会与应用程序可能使用的其他库发生冲突。否则,AFAIK,该值仅控制代码生成(例如,R
(,如您所指出的。
何时(如果有的话(我需要在元素中包含一些信息?
我不知道"元素"是什么。
库项目的 AndroidManifest 中有什么内容?
库想要合并到应用清单中的任何内容:
- 托管应用肯定需要的组件(例如
<activity>
<uses-permission>
元素,以获取库所需的任何权限<uses-feature>
元素,用于库所需的任何硬件功能- 等等
如果你的应用是唯一将使用库的应用,则进入库清单的内容和进入应用清单的内容之间的分界线实际上取决于你,并且有些武断。如果OTOH库将被多个应用程序使用,特别是那些不是您正在编写的应用程序,请尝试制作库的清单,以最大程度地减少应用程序开发人员的麻烦:
- 强迫应用程序开发人员为始终需要的东西添加清单条目是一个令人头疼的问题
- 强迫应用程序开发人员添加清单合并控件属性(例如,
tools:replace
(,因为库要求应用程序不需要的东西,这是一个令人头疼
的问题 - 在清单中添加削弱应用安全性的内容(例如,不必要的
<intent-filter>
元素(令人头疼 - 等等