<?xml version="1.0" encoding="utf-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://schemas.android.com/tools/aapt2" targetNamespace="http://schemas.android.com/tools/aapt2"> <xsd:element name="post-process"> <xsd:complexType> <xsd:sequence> <xsd:element name="artifacts" type="artifacts"/> <xsd:element name="android-sdks" type="android-sdks"/> <xsd:element name="abi-groups" type="abi-groups"/> <xsd:element name="screen-density-groups" type="screen-density-groups"/> <xsd:element name="locale-groups" type="locale-groups"/> <xsd:element name="gl-texture-groups" type="gl-texture-groups"/> <xsd:element name="device-feature-groups" type="device-feature-groups"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="android-sdks"> <xsd:sequence> <xsd:element name="android-sdk" type="android-sdk" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="abi-groups"> <xsd:sequence> <xsd:element name="abi-group" type="abi-group" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="screen-density-groups"> <xsd:sequence> <xsd:element name="screen-density-group" type="screen-density-group" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="locale-groups"> <xsd:sequence> <xsd:element name="locale-group" type="locale-group" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="gl-texture-groups"> <xsd:sequence> <xsd:element name="gl-texture-group" type="gl-texture-group" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="device-feature-groups"> <xsd:sequence> <xsd:element name="device-feature-group" type="device-feature-group" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="artifacts"> <xsd:sequence> <xsd:element name="artifact-format" type="xsd:string"/> <xsd:element name="artifact" type="artifact" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="generate-all" type="xsd:boolean"/> </xsd:complexType> <!-- Groups output artifacts together by dimension labels. --> <xsd:complexType name="artifact"> <xsd:attribute name="abi-group" type="xsd:string"/> <xsd:attribute name="android-sdk-group" type="xsd:string"/> <xsd:attribute name="device-feature-group" type="xsd:string"/> <xsd:attribute name="gl-texture-group" type="xsd:string"/> <xsd:attribute name="screen-density-group" type="xsd:string"/> <xsd:attribute name="locale-group" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="gl-texture-group"> <xsd:sequence> <xsd:element name="gl-texture" type="gl-texture" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="label" type="xsd:string"/> <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> </xsd:complexType> <xsd:complexType name="gl-texture"> <xsd:sequence> <xsd:element name="texture-path" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="device-feature-group"> <xsd:sequence> <xsd:element name="supports-feature" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="label" type="xsd:string"/> <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> </xsd:complexType> <xsd:complexType name="abi-group"> <xsd:sequence> <xsd:element name="abi" type="abi-name" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="label" type="xsd:string"/> <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> </xsd:complexType> <xsd:simpleType name="abi-name"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="armeabi"/> <xsd:enumeration value="armeabi-v7a"/> <xsd:enumeration value="arm64-v8a"/> <xsd:enumeration value="x86"/> <xsd:enumeration value="x86_64"/> <xsd:enumeration value="mips"/> <xsd:enumeration value="mips64"/> <xsd:enumeration value="fat"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="screen-density-group"> <xsd:sequence> <xsd:element name="screen-density" type="screen-density" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="label" type="xsd:string"/> <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> </xsd:complexType> <xsd:simpleType name="screen-density"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="alldpi"/> <xsd:enumeration value="ldpi"/> <xsd:enumeration value="mdpi"/> <xsd:enumeration value="hdpi"/> <xsd:enumeration value="xhdpi"/> <xsd:enumeration value="xxhdpi"/> <xsd:enumeration value="xxxhdpi"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="android-sdk"> <!-- TODO(safarmer): Add permissions to add/remove. --> <!-- TODO(safarmer): Add option for uncompressed native libs. --> <xsd:sequence> <xsd:element name="manifest" type="manifest"/> </xsd:sequence> <xsd:attribute name="label" type="xsd:string" use="required"/> <xsd:attribute name="minSdkVersion" type="xsd:integer" use="required"/> <xsd:attribute name="targetSdkVersion" type="xsd:integer"/> <xsd:attribute name="maxSdkVersion" type="xsd:integer"/> </xsd:complexType> <!-- TODO(safarmer): Figure out the best way to handle manifest updates. --> <xsd:simpleType name="manifest"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <xsd:complexType name="locale-group"> <xsd:sequence> <xsd:element name="locale" type="locale" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="label" type="xsd:string"/> <xsd:attribute name="version-code-order" type="xsd:unsignedInt" use="required"/> </xsd:complexType> <xsd:complexType name="locale"> <xsd:attribute name="lang" type="xsd:string"/> <xsd:attribute name="region" type="xsd:string"/> <xsd:attribute name="compressed" type="xsd:boolean"/> </xsd:complexType> </xsd:schema>