Android SDK 31 compatibility
complete
J
Jarrod Robins
Hi team, Android SDK 31 requires all services and activities to include the
exported
flag in the AndroidManifest.xml. Looking at my merged manifest it looks like Shake does not provide this at the moment, causing any client apps targeting API 31 that use Shake to fail at the compilation stage. This is particularly an issue because some of the new Jetpack Compose dependencies require API 31. Even though Android 12 has not been released yet, this property still exists on earlier versions of the Android SDK but setting
exported
was not enforced.See these resources -
Log In
Mislav Stanic
complete
Petra Gluhak
in progress
Petra Gluhak
Merged in a post:
Support Android 12
D
Denis Ligonja
Manifest merger failed : android:exported needs to be explicitly specified for <service>. Apps targeting Android 12 and higher are required to specify an explicit value for
android:exported
when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.Petra Gluhak
Hey Denis Ligonja, thank you for the request. The new release of the Android SDK is going to be upgraded to support Android 12. It should be out later today. We will update you as soon as we release v15.0.0.
D
Denis Ligonja
You guys can probably merge this with: https://feedback.shakebugs.com/bugs/p/android-sdk-31-compatibility
Y
Yang Chen (Contractor)
A related issue which is currently causing a crash when targeting Android 12:
To use the sampling rate of 0 microseconds, app needs to declare the normal permission HIGH_SAMPLING_RATE_SENSORS.
Current workaround:
<uses-permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS" tools:ignore="HighSamplingRate" />
Petra Gluhak
Hi Jarrod, sorry about that and thanks for letting us know — I'm forwarding this to the Android and QA teams. You'll be automatically notified when it gets addressed.