Breaking change: introducing custom AndroidManifest.xml content in Projucer Android exporter

projucer
android

#1

Hi all. Starting from commit df1b43b, the Custom manifest xml elements setting that allows to add child nodes to <application> element is superseded with Custom manifest XML content setting where you can specify custom content for the entire manifest. The custom content will be merged with the content auto-generated by Projucer. Any custom elements or custom attributes will override the ones set by Projucer. Projucer will also automatically add any missing and required elements and attributes for you.

If your Projucer project used Custom manifest xml elements field, the value will no longer be compatible with the project generated in the latest Projucer version. The solution is very simple and quick though:

For any elements previously used, simply embed them explicitly in <manifest><application>
elements, for example instead of:

<meta-data android:name="paramId1" android:value="paramValue1"/>
<meta-data android:name="paramId2" android:value="paramValue2"/>

simply write:

<manifest>
<application>
<meta-data android:name="paramId1" android:value="paramValue1"/>
<meta-data android:name="paramId2" android:value="paramValue2"/>
</application>
</manifest>

This allows to maintain the high level of flexibility of generated Android projects and to avoid creating fields in Projucer for every possible future parameter. Thanks to that it is not only possible to add any custom elements but also to override the default attributes assigned by Projucer for the required elements. For instance, if the default value of <supports-screens> element is not satisfactory because you want a support for x-large screens only, simply set Custom manifest XML content to:

<manifest>
<supports-screens android:xlargeScreens="true"/>
</manifest>

You can also change attribute values for all other required elements, like android:label of etc, though it is highly discouraged to play with these unless you are certain that the setting will be correct!


Android screen size support