android studio如何验证AndroidManifest.xml和任何活动xml?我已阅读this帖子和this,并且知道Android清单没有实际的架构。但android studio或任何验证AndroidManifest.xml的工具如何知道哪些标签和元素合法?
答案 0 :(得分:2)
没有Android清单
的实际架构
我不认为这是正确的。根据{{3}}:
模式不作为xml文件存在。模式取决于程序使用的UI类。
虽然没有直接在XML文件中定义的模式,但有效的标记和属性可以在别处定义,例如在解析和扩展XML布局的Java代码中。
答案 1 :(得分:2)
可以在https://android.googlesource.com上找到所有内容。
清单模型不会写为.xsd文件。相反,它被写为一组对象。可以找到树here
如果您从Manifest
开始,则可以看到它包含对Application
,List<UsesPermission>
等的引用。Application
引用了android:name
和android:label
和List<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