Status Update
Comments
vm...@google.com <vm...@google.com>
je...@google.com <je...@google.com>
cm...@google.com <cm...@google.com> #2
I am not sure I understand the use case. how can the benchmark be code to real world scenario when it's not possible to do right now ? which scenario is it ?
In any case, since this would be for benchmarking, this would clearly not be available through the public DSL. We should find a semi-private way of doing this (maybe the private variant API object could offer that functionality for instance or a property).
mi...@gmail.com <mi...@gmail.com> #3
We want benchmarks to measure code after Progaurd / R8, but it's not possible to turn that on for androidTests in library modules at the moment (to my knowledge?)
Benchmarks are also a public facing thing, but we have a plugin to help configure gradle builds for our users, so if support for this ends up in a private API, we could try to keep those usages localized to our code perhaps.
cm...@google.com <cm...@google.com> #4
Any update on the status of this request and when it can be supported?
Thanks,
Amanda
an...@google.com <an...@google.com> #5
this is not part of our OKR at this point so we are not talking soon. at first glance, we would need to simulate usage patterns to minify against and such, this seems substantial amount of work. there are not a lot of library module that have android tests, most only rely on unit-tests.
how important is this ? we are out of PM right now but I suspect the next step will be to negotiate with J. Eason and xav@ to scale a priority level.
an...@google.com <an...@google.com> #6
This is a high priority request for Compose, to enable their benchmarks to measure release accurate performance. (Micro) Benchmarks are library modules, as they don't need the complexity of multi-apk tests - they're self measuring APKs that depend on libraries. (d.android.com/benchmark)
there are not a lot of library module that have android tests, most only rely on unit-tests.
To clarify, this is for com.android.library
modules, not jars - I'd expect most of those to use android tests (all of the libraries in jetpack for example do).
we would need to simulate usage patterns to minify against and such, this seems substantial amount of work
Simulate usage patterns? I don't understand - the dev can themselves provide a keep rule for test infra / classes if necessary. Long term, keep rules should be provided by test libraries.
an...@google.com <an...@google.com> #7
We've been experimenting with ways to work around this for Compose. Performance results from R8 seem significantly different, and would enable us to measure much more accurately. I've tried to come up with a workaround using a com.android.app module, and while it almost works (and we can get measurements), it's extremely hacky and doesn't let us run tests anymore via Studio:
Description
####################################################
Please provide all of the following information, otherwise we may not be able to route your bug report.
####################################################
1. Describe the bug or issue that you're seeing.
In the new beta version of Android Studio it is not possible to create a new string value resource in the strings.xml of the submodule from another submodule. I have one strings.xml located in the common submodule, which is integrated by using "implementation project(path: ':common')" in build.gradle of the main module.
I use this since years, as I only want to have one strings.xml for all submodules to have only one file to translate and to use the same strings in all submodules.
In the last release versions it was possible to create a new string resource value in this common submodule with the main module, but in the new beta it is not possible anymore!
Please fix this!
Please also have a look to the screenshot I made.
For more information on how to get your bug routed quickly, see
Build: AI-242.20224.300.2421.12312915, 202409032002
AS: Ladybug | 2024.2.1 Beta 1
AI-242.20224.300.2421.12312915, JRE 21.0.3+-12282718-b509.11x64 JetBrains s.r.o., OS Windows 11(amd64) v10.0 , screens 1920x1080 (100%)
Android Gradle Plugin: 8.6.0
Gradle: 8.8
Gradle JDK: JetBrains Runtime 21.0.3
NDK: from local.properties: (not specified), latest from SDK: (not found)
CMake: from local.properties: (not specified), latest from SDK: (not found), from PATH: (not found)
```