似乎无法验证Android清单文件,开发人员只能关注开发人员网站上的文档。但有时我会看到有关AOSP中清单文件的有趣内容。
例如,there is a requirement for the priority attribute of intent-filter。
该值必须是整数,例如“100”。数字越大,优先级越高。默认值为0.该值必须大于-1000且小于1000。
因此允许的值应为packages/apps/MusicFX/AndroidManifest.xml
。但是在最新的AOSP代码中(通过https://source.android.com/source/downloading.html获得)
packages/apps/MusicFX/AndroidManifest.xml
,android:priority="2147483647"
我看到类似WITH n(KOMPARTNR, ARTIKEL_NR, level) AS
(SELECT SMSTLPOS.KOMPARTNR, SMSTLPOS.ARTNR, 1 AS level
FROM SMSTLPOS
WHERE
SMSTLPOS.KOMPARTNR='49807'
UNION ALL
SELECT SMSTLPOS1.KOMPARTNR, SMSTLPOS1.ARTNR, n.level+1
FROM SMSTLPOS as SMSTLPOS1, n
WHERE n.ARTIKEL_NR = SMSTLPOS1.KOMPARTNR
)
SELECT * FROM n WHERE ARTIKEL_NR NOT IN (SELECT TOP (
(SELECT COUNT(*) FROM n) - 2
) ARTIKEL_NR
FROM n
)
的内容;此外,似乎还有许多清单文件包含-1000/1000的意图过滤器优先级。
这是否意味着AOSP不完全遵守“规则”,这些规范仅适用于第三方应用程序?
答案 0 :(得分:2)
此代码中的AOSP代码确实存在错误(不在SYSTEM_LOW_PRIORITY
和SYSTEM_HIGH_PRIORITY
之间)。没有任何借口,因为这是来自API 1。
从2011年6月24日开始,这段代码(git指责Google的Marco Nelissen)。 在某些情况下,AOSP应用程序就像放弃软件......
很好听。无论如何,请尝试在清单中遵循android:priority
的正确范围。