Can I make an exception for the manifest merger replace tag?

97 Views Asked by At

This is my app’s manifest which I want to override the android:supportsRtl tag for all of my libraries

<application
android:name=".ApplicationClass"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="false"
android:theme="@style/AppTheme"
tools:replace="android:icon,android:label,android:supportsRtl">

I have 5 libraries which I want to replace the android:supportsRtl=”false” using tools:replace.

But there is one library which I want to let it supportRtl.

The question is that, can I make an exception for the library which needs android:supportsRtl="true" to actually support the RTL and leave the other libraries to be overridden by my app and stay android:supportsRtl="false"?

1

There are 1 best solutions below

5
On

Unfortunately, currently it is not possible. What you have to do is to come the other way around, i.e. specify what packages this markers should be applied to.

Make use of marker selector tools:selector specifying package names of other 4 libs you want the tools:replace to be applied to.

tools:selector="com.package.lib1, com.package.lib2"

EDIT

As mentioned by OP in comments, this will work only for <permission> tag.