Fixed
Status Update
Comments
mk...@google.com <mk...@google.com> #2
Thank you reporting an issue and providing an example. Will take a look asap.
hq...@gmail.com <hq...@gmail.com> #3
I am stuck on this problem right now and right before our app is about to release. I will appreciate it very much if you tell me a way to quickly fix it.
mk...@google.com <mk...@google.com> #4
A quick workaround would be to just keep the method that R8 will try to staticize. I would assume -keep,allowobfuscation
would do the trick.
ap...@google.com <ap...@google.com> #5
Project: r8
Branch: master
commit e555dae906c42247b36e5aceddee80025018ef05
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Wed Jun 10 12:01:32 2020
Add test for staticizing error on branch 2.0
Bug: 158432019
Change-Id: I4d6de73a124a58400c8047cb84d29591fe852944
A src/test/java/com/android/tools/r8/regress/b158432019/StaticizerSyntheticUseTest.java
https://r8-review.googlesource.com/52020
Branch: master
commit e555dae906c42247b36e5aceddee80025018ef05
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Wed Jun 10 12:01:32 2020
Add test for staticizing error on branch 2.0
Bug: 158432019
Change-Id: I4d6de73a124a58400c8047cb84d29591fe852944
A src/test/java/com/android/tools/r8/regress/b158432019/StaticizerSyntheticUseTest.java
ap...@google.com <ap...@google.com> #6
Project: r8
Branch: 2.0
commit 3d6957e9ad3302cab45a9d92bd0f8ac1547fa6a2
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Wed Jun 10 15:30:49 2020
Version 2.0.82
Process generated lambda accessibility bridges to ensure references to
staticizer candidates are tracked correctly
Bug: 158432019
Change-Id: I09fc263ea81b24bf079a4826a3c01a75bbcb990a
M src/main/java/com/android/tools/r8/Version.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
A src/test/java/com/android/tools/r8/regress/b158432019/StaticizerSyntheticUseTest.java
https://r8-review.googlesource.com/52006
Branch: 2.0
commit 3d6957e9ad3302cab45a9d92bd0f8ac1547fa6a2
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Wed Jun 10 15:30:49 2020
Version 2.0.82
Process generated lambda accessibility bridges to ensure references to
staticizer candidates are tracked correctly
Bug: 158432019
Change-Id: I09fc263ea81b24bf079a4826a3c01a75bbcb990a
M src/main/java/com/android/tools/r8/Version.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
A src/test/java/com/android/tools/r8/regress/b158432019/StaticizerSyntheticUseTest.java
ap...@google.com <ap...@google.com> #7
Project: r8
Branch: 2.0
commit da7d3d0b78f8f3932387cc1b0038fc420c95d02a
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Thu Jun 11 16:20:06 2020
Version 2.0.84
Cherry pick: Add test for staticizing error on branch 2.0
CL:https://r8-review.googlesource.com/52020
Process generated lambda accessibility bridges to ensure references to
staticizer candidates are tracked correctly
Bug: 158432019
Change-Id: I6df2f54f57c1bd5ea6ad2ecb603a2eac1654bc66
M src/main/java/com/android/tools/r8/Version.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
A src/test/java/com/android/tools/r8/regress/b158432019/StaticizerSyntheticUseTest.java
https://r8-review.googlesource.com/52080
Branch: 2.0
commit da7d3d0b78f8f3932387cc1b0038fc420c95d02a
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Thu Jun 11 16:20:06 2020
Version 2.0.84
Cherry pick: Add test for staticizing error on branch 2.0
CL:
Process generated lambda accessibility bridges to ensure references to
staticizer candidates are tracked correctly
Bug: 158432019
Change-Id: I6df2f54f57c1bd5ea6ad2ecb603a2eac1654bc66
M src/main/java/com/android/tools/r8/Version.java
M src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
A src/test/java/com/android/tools/r8/regress/b158432019/StaticizerSyntheticUseTest.java
mk...@google.com <mk...@google.com> #8
hqzxzwb@, can I ask you to try out version 2.0.84 by adding the following to your top-level build.gradle file:
buildscript {
repositories {
maven {
url 'https://storage.googleapis.com/r8-releases/raw'
}
}
dependencies {
classpath 'com.android.tools:r8:2.0.84' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
hq...@gmail.com <hq...@gmail.com> #9
The problem is fixed in my demo with 2.0.84. I will confirm it in my project once I got time.
Description
Env: AGP 4.0.0 Java8 desugaring on coreLibraryDesugar on or off, can both reproduce R8 on
Reproduce code:https://github.com/hqzxzwb/R8IncompatibleClassChangeError
Use the code to build an optimized release package, sign it, install it, run it, there is a crash.
Reproduce keypoints: Call Kotlin object's function in a Java lambda which references a non-static field.
Error message is like:
Stacktrace is not quite important because it's just a simple bytecode incompatibility.