I'd like to integrate with Google Play Services Maps
module.
Since the maps manifest declare:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
Gradle
's manifest merger adds this block to the resulting manifest making my app not supported on devices running OpenGL 1.0
, however my Maps feature is not mandatory, and I do want to support these devices.
I've tried adding to my own manifest one of these:
<uses-feature
android:glEsVersion="0x00010000"
android:required="false" />
or
<uses-feature
android:glEsVersion="0x00010000"
android:required="false"
tools:replace="glEsVersion,required" />
or
<uses-feature
android:glEsVersion="0x00010000"
android:required="false"
tools:node="remove"
tools:replace="glEsVersion,required"/>
But nothing works, either it automatically chooses the one with the highest value (2.0), or it adds both blocks to the resulting manifest, still making my app require 2.0
I was able to solve it using
build.gradle
hacks, by manually overriding the merged manifest source.However I would prefer a more elegant way using
Gradle's manifest merger
tools (tools:node
,tools:replace
, etc.)I removed the
glEsVersion
fromAndroidManifest
, and added the following to mybuild.gradle
: