Status Update
Comments
ch...@google.com <ch...@google.com>
ch...@google.com <ch...@google.com> #2
I've submitted a fix for this, which should (I hope) make it into Jellyfish Canary 12. There's a relatively straightforward workaround, which is to explicitly declare the version of the com.android.tools.build:gradle
artifact in all build files -- in the screenshot, your project has a versioned classpath
dependency, but also an unversioned one, and it's that unversioned one that tripped up the AGP Upgrade Assistant. Since there is that workaround of making sure that all the classpath dependencies on com.android.tools.build:gradle
have an explicit version, we probably won't patch this for Iguana, I'm afraid.
Thanks very much for the report!
br...@snapchat.com <br...@snapchat.com> #3
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Jellyfish | 2023.3.1 Canary 12
- Android Gradle Plugin 8.4.0-alpha12
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
ch...@google.com <ch...@google.com> #4
br...@snapchat.com <br...@snapchat.com> #5
ap...@google.com <ap...@google.com> #6
same problem in latest koala, AGP upgrade assistant never opens
Please could you open a new issue, and upload enough details about your project to be able to investigate or (ideally) reproduce the problem? Thank you!
ch...@google.com <ch...@google.com> #7
Sorry for the long turnaround, Ben. I expect this should be fixed by
br...@snapchat.com <br...@snapchat.com> #8
Landing in 8.7 is good enough for me. I've been testing that version and no other issue with that.
Tangential question,I saw from lastest commits that you may optimizing r8 runtime latency. Is that the case? Anything we can help test out there
ch...@google.com <ch...@google.com> #9
We recently made a couple of build speed improvements to the evaluation of -if
rules. This work aimed to improve the handling of rules on the form -if class * extends ... -keepclassmembers class * { <1> *; }
, which were found to have a high build speed overhead in the platform (-if
rule evaluation in general, but whether it is observable probably depends on whether you have some -if
rules that are expensive to evaluate.
As a side project Rico has been working recently on adding support for generating perfetto traces from R8 builds to get more insights into build speed.
You might also be interested to learn that Rico has integrated resource shrinking into R8, for improved conditional tracing from code to resources and resources to code that does not rely on -keep
rules. This enables optimizations that cross the code/resource boundary, such as inlining of resource values.
ap...@google.com <ap...@google.com> #10
Branch: main
commit 5b6302ecfe7cda525ee986a95a4e9ae9fdfce7d4
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Wed Sep 25 20:26:43 2024
Fix incorrect marking of virtual dispatch as monomorphic
Bug:
Change-Id: I630cd716ff68358db764f46914d67d9bf6e5d0f7
M src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/VirtualRootMethodsAnalysisBase.java
M src/test/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagationMultipleInterfacesSameMethodTest.java
ap...@google.com <ap...@google.com> #11
Branch: 8.6
commit 011f0b2a889c83aea4759f336fd62b17cf926e7b
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Thu Sep 26 08:53:14 2024
Reproduce monomorphic method state for interface method
Bug:
Change-Id: I73e2e4fd08f6be0b3446306ec1f618c9b583b4b1
A src/test/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagationMultipleInterfacesSameMethodTest.java
ap...@google.com <ap...@google.com> #12
Branch: 8.6
commit 2b3a2cb4adccf4b6b9416c12a59c3dc8554bdda4
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Thu Sep 26 08:53:29 2024
Version 8.6.30
Bug:
Change-Id: Id790a144fe4303eb17956e9742422a11f119a7d4
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #13
Branch: 8.6
commit 609b08c4f31ef72693d3ae4ec0126ef4dde57181
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Thu Sep 26 08:53:22 2024
Fix incorrect marking of virtual dispatch as monomorphic
Bug:
Change-Id: I630cd716ff68358db764f46914d67d9bf6e5d0f7
M src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/VirtualRootMethodsAnalysisBase.java
M src/test/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagationMultipleInterfacesSameMethodTest.java
ap...@google.com <ap...@google.com> #14
Branch: 8.7
commit ec658a4dc6645f81aec4726695db2a38cf639c47
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Thu Sep 26 08:52:48 2024
Version 8.7.15
Bug:
Change-Id: I92012fe58ca364773e31c519467b4d57b2760d73
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #15
Branch: 8.7
commit 926bb9a8f16d7041e6228361109aff18563b0863
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Thu Sep 26 08:52:29 2024
Reproduce monomorphic method state for interface method
Bug:
Change-Id: I73e2e4fd08f6be0b3446306ec1f618c9b583b4b1
A src/test/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagationMultipleInterfacesSameMethodTest.java
ap...@google.com <ap...@google.com> #16
Branch: 8.7
commit 92b2e6f776486711d56f4dba4a062a0f504d899c
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Thu Sep 26 08:52:38 2024
Fix incorrect marking of virtual dispatch as monomorphic
Bug:
Change-Id: I630cd716ff68358db764f46914d67d9bf6e5d0f7
M src/main/java/com/android/tools/r8/optimize/argumentpropagation/codescanner/VirtualRootMethodsAnalysisBase.java
M src/test/java/com/android/tools/r8/optimize/argumentpropagation/ArgumentPropagationMultipleInterfacesSameMethodTest.java
ap...@google.com <ap...@google.com> #17
Branch: 8.6
commit 3e7a649cb272a32d0340704f95065e9ac62ee7cc
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Thu Sep 26 11:02:09 2024
Version 8.6.31
Bug:
Change-Id: I7e1552c74a66402b24be54d4614756f4e1e4b12d
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #18
Branch: 8.7
commit 73275aa55540c922bdbafdd17d06faaf3849b5d0
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Thu Sep 26 11:01:27 2024
Version 8.7.16
Bug:
Change-Id: Ib3a599336cc39331d38f22960c451f42916d0ccf
M src/main/java/com/android/tools/r8/Version.java
ch...@google.com <ch...@google.com> #19
Verified that ScImageRenderer.getName
no longer throws with 8.6.31.
an...@google.com <an...@google.com> #20
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Ladybug | 2024.2.1 Patch 2
- Android Gradle Plugin 8.7.2
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
Description
Background
We are seeing the following runtime crash:
Analaysis
Where the original code looks like the following:
In the final binary, the class
ScImageRenderer
is compiled intoJDe
and thegetName
method is replaced withthrows null
.I'll share a compiler dump over email