Status Update
Comments
va...@gmail.com <va...@gmail.com> #2
Please look at attached sample project
cl...@google.com <cl...@google.com>
cl...@google.com <cl...@google.com> #3
Corresponding dump which reproduces. Seems to be a lir issue.
cl...@google.com <cl...@google.com> #4
Yeah so the issue is that we have in a single method:
super.setOnClickListener(l)
child.setOnClickListener(l)
Now the lookup results are different since it's super/virtual invoke:
void android.view.ViewGroup.setOnClickListener(android.view.View$OnClickListener)
void android.view.View.setOnClickListener(android.view.View$OnClickListener)
Leading to:
Unexpected rewriting of item: void androidx.constraintlayout.widget.ConstraintLayout.setOnClickListener(android.view.View$OnClickListener) to two distinct items: void android.view.View.setOnClickListener(android.view.View$OnClickListener) and void android.view.ViewGroup.setOnClickListener(android.view.View$OnClickListener)
Because in LirRewriting the constantPoolMapping has only item->item mapping and does not take into account invoke type (super vs virtual in this case)
It looks like it's an issue of the LirLensCodeRewriter which should either take into account invoke type, or we should rewrite through high level IR in this case.
cl...@google.com <cl...@google.com> #5
I reassign to @christofferqa who may fix it next week (Related code is his code so he may be the best person to fix this).
ar...@transfergo.com <ar...@transfergo.com> #6
ERROR: R8: com.android.tools.r8.internal.Lk0: Unexpected rewriting of item: void com.google.android.material.textfield.TextInputEditText.setTextSize(float) to two distinct items: void android.widget.TextView.setTextSize(float) and void android.widget.EditText.setTextSize(float)
ap...@google.com <ap...@google.com> #7
Branch: main
commit 730c15e21ee3eaf46784d7619a26d62a5e7ac427
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 11:31:15 2024
Reproduce collision in lir rewriting
Bug:
Change-Id: Id9cb083513e5f5bcf59c283c75c8bd6e1c3f47e2
A src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #8
Branch: main
commit 81c70458a5867e95dd11b5bd750e0a64da0811a0
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 14:20:05 2024
Account for collisions in lir rewriting
Bug:
Change-Id: I0f141936f2835497fa6553a0e260f4d7fb04d20b
M src/main/java/com/android/tools/r8/lightir/LirLensCodeRewriter.java
M src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #9
Branch: 8.5
commit c7acb443063dedec73d460fb14e64e82abb5cb64
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 14:34:33 2024
Reproduce collision in lir rewriting
Bug:
Change-Id: Id9cb083513e5f5bcf59c283c75c8bd6e1c3f47e2
A src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #10
Branch: 8.5
commit 2c176ec131a9edb97721fb8578b7fbb462376632
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 15:06:38 2024
Version 8.5.35
Bug:
Change-Id: Idb5334baeec9bae3ac86fadab80bb7d6476523cb
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #11
Branch: 8.5
commit 09b617180bba086b1680da94006fd666d38a9c8d
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 15:06:29 2024
Account for collisions in lir rewriting
Bug:
Change-Id: I0f141936f2835497fa6553a0e260f4d7fb04d20b
M src/main/java/com/android/tools/r8/lightir/LirLensCodeRewriter.java
M src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #12
Branch: 8.6
commit 0010e225978e5ba992085b9634b82b2f19ee01f4
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 14:33:38 2024
Reproduce collision in lir rewriting
Bug:
Change-Id: Id9cb083513e5f5bcf59c283c75c8bd6e1c3f47e2
A src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #13
Branch: 8.6
commit 031da36bee13038b4c52fa6388afb8a9e65ad86d
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 14:53:38 2024
Version 8.6.17
Bug:
Change-Id: I72eb3eb36ed9dfc36d8676d53f3897141ef285f2
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #14
Branch: 8.6
commit a5a913b2f601a142c93f260beb01ce53b3903dc9
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 14:53:08 2024
Account for collisions in lir rewriting
Bug:
Change-Id: I0f141936f2835497fa6553a0e260f4d7fb04d20b
M src/main/java/com/android/tools/r8/lightir/LirLensCodeRewriter.java
M src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #15
Branch: 8.5
commit c7acb443063dedec73d460fb14e64e82abb5cb64
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 14:34:33 2024
Reproduce collision in lir rewriting
Bug:
Change-Id: Id9cb083513e5f5bcf59c283c75c8bd6e1c3f47e2
A src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ap...@google.com <ap...@google.com> #16
Branch: 8.5
commit 09b617180bba086b1680da94006fd666d38a9c8d
Author: Christoffer Adamsen <christofferqa@google.com>
Date: Tue Jul 30 15:06:29 2024
Account for collisions in lir rewriting
Bug:
Change-Id: I0f141936f2835497fa6553a0e260f4d7fb04d20b
M src/main/java/com/android/tools/r8/lightir/LirLensCodeRewriter.java
M src/test/java/com/android/tools/r8/lightir/LirLensRewritingWithOneToManyMappingTest.java
ch...@google.com <ch...@google.com> #17
Thanks for the feedback and for supplying a reproduction! This should now be fixed in R8 versions 8.5.35 and 8.6.17. It would be great if you could confirm whether this resolves your issue.
ar...@transfergo.com <ar...@transfergo.com> #18
> Task :r8Version
8.5.35 (build 2c176ec131a9edb97721fb8578b7fbb462376632 from go/r8bot (luci-r8-custom-ci-archive-0-gths))
My issue mentioned above no longer occurs and release build succeeds.
Thank you!
ch...@google.com <ch...@google.com>
an...@google.com <an...@google.com> #19
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 Koala Feature Drop | 2024.1.2 RC 1
- Android Gradle Plugin 8.6.0-rc01
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!
an...@google.com <an...@google.com> #20
The fixes for this issue are now also available in:
- Android Studio Koala | 2024.1.1 Patch 2
- Android Gradle Plugin 8.5.2
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
va...@gmail.com <va...@gmail.com> #21
Thank you! AGP 8.5.2 resolves my issue.
Description
After updating to AGP 8.5.0 my project build fails with following error (works fine with AGP 8.4.2):
After investigation, I have found the following code that reproduces this error: