如何在android studio中验证AndroidManifest.xml?

时间:2016-09-11 22:51:06

标签: android xml android-studio android-manifest

android studio如何验证AndroidManifest.xml和任何活动xml?我已阅读this帖子和this,并且知道Android清单没有实际的架构。但android studio或任何验证AndroidManifest.xml的工具如何知道哪些标签和元素合法?

2 个答案:

答案 0 :(得分:2)

  

没有Android清单

的实际架构

我不认为这是正确的。根据{{​​3}}:

  

模式不作为xml文件存在。模式取决于程序使用的UI类。

虽然没有直接在XML文件中定义的模式,但有效的标记和属性可以在别处定义,例如在解析和扩展XML布局的Java代码中。

答案 1 :(得分:2)

可以在https://android.googlesource.com上找到所有内容。

清单模型不会写为.xsd文件。相反,它被写为一组对象。可以找到树here

如果您从Manifest开始,则可以看到它包含对ApplicationList<UsesPermission>等的引用。Application引用了android:nameandroid:labelList<Activity>等等。

来自Activity对象的示例:

@Attribute("name")
@Required
@Convert(PackageClassConverter.class)
@ExtendClass("android.app.Activity")
AndroidAttributeValue<PsiClass> getActivityClass();

正如您所看到的那样,Android Studio知道,清单中的activity标记必须具有名称。使用了两个注释:

@Attribute("name")
@Required

其中一个是.xml标记属性的名称,第二个是通知,该属性是必需的。

可以在清单中使用的标签名称here

可以找到Android Studio用于获取清单属性的帮助程序类here