Fixed
Status Update
Comments
xa...@google.com <xa...@google.com>
ma...@google.com <ma...@google.com> #2
Information redacted by Android Beta Feedback.
ap...@google.com <ap...@google.com> #3
Thank you for reporting this issue. We have shared this with our product and engineering team and will update this issue with more information as it becomes available.
ma...@google.com <ma...@google.com>
xa...@google.com <xa...@google.com> #4
This issue is so annoying & makes battery draining too fast, especially when battery is 20% & the battery saver is enabled already.
ma...@google.com <ma...@google.com> #5
Confirm p8p beta 4.1. GPS 100%, google play services. Huge drain.
Description
The
androidx.baselineprofile
plugin generates additional<flavor>NonMinifiedRelease
and<flavor>BenchmarkRelease
variants for each original variant that's non-debuggable (release).Sometimes not all combinations of flavor + build type are needed so it makes sense to disable certain variants with the
androidComponents.beforeVariants
API.For example, a project has defined 1 flavor dimension "environment" with 4 flavors:
By default this produces 8 variants:
We can disable 4 of the variants that are irrelevant:
When baseline profile plugin is applied to the app module, before any variant filtering it adds the following variants:
Let's say I want to generate baseline profile and run benchmark with just the
devRelease
variant.The generated
devNonMinifiedRelease
anddevBenchmarkRelease
should be enough. So I would still filter outdevRelease
.I'm also able to filter out the generated
<mock|demo>NonMinifiedRelease
and<mock|demo>BenchmarkRelease
variants as well as the original<mock|demo>Release
.Now I also want to filter out
prodNonMinifiedRelease
andprodBenchmarkRelease
as I don't need to generate BP or run benchmark with theprod
flavor. So the variant filter looks like thisWith this the build fails during configuration:
It seems like the task wiring fails when a
release
variant (prodRelease
in this case) is enabled but the correspondingbenchmarkRelease
variant is disabled.Adding the
prodBenchmarkRelease
variant fixes it.But the
prodBenchmarkRelease
variant is useless while lot of tasks are registered for it.I'm not sure what the right solution should be as there seems to be a chicken and egg problem when variants are being filtered out by user but also being added by the plugin during configuration.
To reproduce, please checkout this sample .
app/build.gradle.kts
, comment out"prodBenchmarkRelease",
from line 170../gradlew
Studio Build: Android Studio Koala 2024.1.1 Canary 3
Version of Gradle Plugin: 8.5.0-alpha03
Version of Gradle: 8.7
Version of
androidx.baselineprofile
: 1.3.0-alpha02Version of Java: 21
OS: macOS