My semi-integrated Android POS targets Android API level 31 (Android 12) and pulls in the Clover Remote Pay Android SDK via Gradle. When trying to install on an Android 12 device, the installation fails citing the following exception:
android.content.pm.PackageParser$PackageParserException: /data/app/vmdl1438200283.tmp/base.apk (at Binary XML file line #145): com.clover.remote.client.transport.usb.pos.PosUsbBroadcastReceiver: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present
I think Clover needs to update the manifest file in the Remote Pay Android SDK to conform to the following: https://developer.android.com/about/versions/12/behavior-changes-12#exported. I looked at the manifest file in the Github repo and it appears to be missing exported="true" on some items where it is necessary as per the linked documentation.