Fixed
Status Update
Comments
mk...@google.com <mk...@google.com> #2
It is not clear what version you are using, but I may believe that is a bug already fixed.
Could I ask you to try out a newer version by adding the following to your project level build.gradle:
buildscript {
repositories {
maven {
url 'http://storage.googleapis.com/r8-releases/raw '
}
}
dependencies {
classpath 'com.android.tools:r8:1.5.45' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
Could I ask you to try out a newer version by adding the following to your project level build.gradle:
buildscript {
repositories {
maven {
url '
}
}
dependencies {
classpath 'com.android.tools:r8:1.5.45' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
ko...@gmail.com <ko...@gmail.com> #3
I have the same issue.
The newer version doesn't fix it.
I've tried 1.5.50 and it also doesn't fix the issue
Gradle
=======================
buildscript {
ext.kotlin_version = '1.3.31'
repositories {
maven {
url 'http://storage.googleapis.com/r8-releases/raw '
}
jcenter()
google()
}
dependencies {
classpath 'com.android.tools:r8:1.5.50' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:4.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
Gradle properties:
===================
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
android.enableBuildCache=true
org.gradle.caching=true
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
Attached txt file with stack trace (gradlew transformClassesAndResourcesWithR8ForProdRelease --stacktrace)
Thank you
The newer version doesn't fix it.
I've tried 1.5.50 and it also doesn't fix the issue
Gradle
=======================
buildscript {
ext.kotlin_version = '1.3.31'
repositories {
maven {
url '
}
jcenter()
google()
}
dependencies {
classpath 'com.android.tools:r8:1.5.50' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:4.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
Gradle properties:
===================
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
android.enableBuildCache=true
org.gradle.caching=true
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
Attached txt file with stack trace (gradlew transformClassesAndResourcesWithR8ForProdRelease --stacktrace)
Thank you
mk...@google.com <mk...@google.com> #4
This is another error in the LambdaMerger where we see a direct method that is neither <clinit>, <init> or static. I will add some debugging to figure out what method that seems to be a problem.
mk...@google.com <mk...@google.com> #5
korolev2009@, could I ask you to add the following to your project level build.gradle:
buildscript {
repositories {
maven {
url "http://storage.googleapis.com/r8-releases/raw/master "
}
}
dependencies {
classpath 'com.android.tools:r8:9a31391e0bda5b9866730a4175fc6f37a8ca5fa1' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
This should ideally print out some information about the method that is causing the problem (you may have to use --info/--stacktrace to have gradle report stdout).
buildscript {
repositories {
maven {
url "
}
}
dependencies {
classpath 'com.android.tools:r8:9a31391e0bda5b9866730a4175fc6f37a8ca5fa1' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
This should ideally print out some information about the method that is causing the problem (you may have to use --info/--stacktrace to have gradle report stdout).
ko...@gmail.com <ko...@gmail.com> #6
Thank you.
Attached
Attached
mk...@google.com <mk...@google.com> #7
Ok, so this is the the debugging output:
Found method that is neither <clinit>, <init> or static
The method is: Encoded method Method com.permutive.android.event.EventPublisher$b.a Proto LL io.reactivex.Flowable kotlin.Pair
Access flags: private
The lambda class contains a private method (a) which we did not expect to find. It would be nice to see the original code for this. I have added the origin as additional output if you use:
buildscript {
repositories {
maven {
url "http://storage.googleapis.com/r8-releases/raw/master "
}
}
dependencies {
classpath 'com.android.tools:r8:880545463e180d87753b638c83498f23c9f9cff0' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
When you find the origin it would be nice to either get the original source as well as the class file for the code if possible.
Found method that is neither <clinit>, <init> or static
The method is: Encoded method Method com.permutive.android.event.EventPublisher$b.a Proto LL io.reactivex.Flowable kotlin.Pair
Access flags: private
The lambda class contains a private method (a) which we did not expect to find. It would be nice to see the original code for this. I have added the origin as additional output if you use:
buildscript {
repositories {
maven {
url "
}
}
dependencies {
classpath 'com.android.tools:r8:880545463e180d87753b638c83498f23c9f9cff0' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
When you find the origin it would be nice to either get the original source as well as the class file for the code if possible.
ko...@gmail.com <ko...@gmail.com> #8
*Permutive is third part library
Ok, so I got this.
==========================
Found method that is neither <clinit>, <init> or static
The method is: Encoded method Method com.permutive.android.event.EventPublisher$b.a Proto LL io.reactivex.Flowable kotlin.Pair
Access flags: private
The class origin is: C:\Users\user-k\AndroidStudioProjects\myprojAndroid\myprojNews3\build\intermediates\transforms\FirebasePerformancePlugin\prod\re
lease\25\com\permutive\android\event\EventPublisher$b.class
===============
// IntelliJ API Decompiler stub source generated from a class file
// Implementation of methods is not available
package com.permutive.android.event
internal final class EventPublisher public constructor(api: com.permutive.android.event.api.EventApi, dao: com.permutive.android.event.db.EventDao, networkErrorHandler: com.permutive.android.network.NetworkErrorHandler, logger: com.permutive.android.common.Logger, configProvider: com.permutive.android.config.ConfigProvider) {
private final val api: com.permutive.android.event.api.EventApi /* compiled code */
private final val configProvider: com.permutive.android.config.ConfigProvider /* compiled code */
private final val dao: com.permutive.android.event.db.EventDao /* compiled code */
private final val logger: com.permutive.android.common.Logger /* compiled code */
private final val networkErrorHandler: com.permutive.android.network.NetworkErrorHandler /* compiled code */
private final fun processEventResponse(event: com.permutive.android.event.db.model.EventEntity, response: com.permutive.android.event.api.model.TrackBatchEventResponse): kotlin.Unit { /* compiled code */ }
internal final fun publishEvents(): io.reactivex.Completable { /* compiled code */ }
private final fun kotlin.Int.isClientError(): kotlin.Boolean { /* compiled code */ }
private final fun kotlin.Int.isOk(): kotlin.Boolean { /* compiled code */ }
private final fun kotlin.collections.List<com.permutive.android.event.db.model.EventEntity>.mapToTrackEventBodies(): kotlin.collections.List<com.permutive.android.event.api.model.TrackEventBody> { /* compiled code */ }
}
Ok, so I got this.
==========================
Found method that is neither <clinit>, <init> or static
The method is: Encoded method Method com.permutive.android.event.EventPublisher$b.a Proto LL io.reactivex.Flowable kotlin.Pair
Access flags: private
The class origin is: C:\Users\user-k\AndroidStudioProjects\myprojAndroid\myprojNews3\build\intermediates\transforms\FirebasePerformancePlugin\prod\re
lease\25\com\permutive\android\event\EventPublisher$b.class
===============
// IntelliJ API Decompiler stub source generated from a class file
// Implementation of methods is not available
package com.permutive.android.event
internal final class EventPublisher public constructor(api: com.permutive.android.event.api.EventApi, dao: com.permutive.android.event.db.EventDao, networkErrorHandler: com.permutive.android.network.NetworkErrorHandler, logger: com.permutive.android.common.Logger, configProvider: com.permutive.android.config.ConfigProvider) {
private final val api: com.permutive.android.event.api.EventApi /* compiled code */
private final val configProvider: com.permutive.android.config.ConfigProvider /* compiled code */
private final val dao: com.permutive.android.event.db.EventDao /* compiled code */
private final val logger: com.permutive.android.common.Logger /* compiled code */
private final val networkErrorHandler: com.permutive.android.network.NetworkErrorHandler /* compiled code */
private final fun processEventResponse(event: com.permutive.android.event.db.model.EventEntity, response: com.permutive.android.event.api.model.TrackBatchEventResponse): kotlin.Unit { /* compiled code */ }
internal final fun publishEvents(): io.reactivex.Completable { /* compiled code */ }
private final fun kotlin.Int.isClientError(): kotlin.Boolean { /* compiled code */ }
private final fun kotlin.Int.isOk(): kotlin.Boolean { /* compiled code */ }
private final fun kotlin.collections.List<com.permutive.android.event.db.model.EventEntity>.mapToTrackEventBodies(): kotlin.collections.List<com.permutive.android.event.api.model.TrackEventBody> { /* compiled code */ }
}
mk...@google.com <mk...@google.com> #9
korolev2009@, thank you for the compiled class, I was able to make a reproduction and fix from it. Could I ask you to try out version 1.5.52 by adding the following to your top-level build.gradle file:
buildscript {
repositories {
maven {
url 'http://storage.googleapis.com/r8-releases/raw '
}
}
dependencies {
classpath 'com.android.tools:r8:1.5.52' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
buildscript {
repositories {
maven {
url '
}
}
dependencies {
classpath 'com.android.tools:r8:1.5.52' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
ko...@gmail.com <ko...@gmail.com> #10
With version 1.5.52 BUILD SUCCESSFUL :)
Mk, thank you!!!
Can we use it for production?
Mk, thank you!!!
Can we use it for production?
mk...@google.com <mk...@google.com> #11
It has more bug-fixes in it than your current version, so yes go right ahead. The 1.5.XX branch is what we roll into android studio so it should be quite stable. Of course, if you find any other errors please do not hesitate to report them.
Description
AGPBI: {"kind":"error","text":"Program type already present: android.support.v4.media.RatingCompat$1","sources":[{}],"tool":"R8"}
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithR8ForDebug'.
> com.android.tools.r8.CompilationFailedException: Compilation failed to complete
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at
BUILD FAILED in 1m 26s
45 actionable tasks: 6 executed, 31 from cache, 8 up-to-date