The builder uses the ANDROID_MANIFEST_EXTENSIONS.XML file for Android only. This file describes the changes to AndroidManifest.xml, such as rights that an add-in requires to access specific application components or functionalities. This file is optional. If it is not available, no changes are applied to AndroidManifest.xml.
The following is an example manifest extension file:
<?xml version="1.0" encoding="UTF-8"?> <root xmlns:android="http://schemas.android.com/apk/res/android"> <!--uses-permission android:name="android.permission.WAKE_LOCK"/--> <uses-permission android:name="%application.package%.permission.MAPS_RECEIVE"/> <target xpath="/manifest/application"> <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/> </target> </root>
The first line is a standard XML header. The second line contains the <root> tag with a fixed attribute, which has the same role as the <manifest> tag in AndroidManifest.xml.
The lines inside the <root> tag (except for <target> tags) are added to the <manifest> tag in AddroidManifest.xml without any changes or analysis.
The content of the <target> tags is added to AndroidManifest.xml part specified in the xpath="..." attribute.
You can have specific lines affect only specific packages by adding "%application.package%. ..." to those lines.
You can only add data to the following AndroidManifest.xml tags: <manifest> and </manifest/application>.
For the descriptions of uses-permission, uses-feature, and similar attributes, see the Android developer documentation.
We recommend that you do not add attributes that specify the maximum SDK version to uses-permission tags. This might cause conflicts when building applications with multiple add-ins.