Closed CarlitosDroid closed 1 week ago
@CarlitosDroid can you follow this documentation to install android agent? https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/install-android-agent-gradle/
Thank you @ndesai-newrelic . I had to follow the section called Manually install the Android agent carefully, where they make use of mavenCentral()
instead of the id "com.newrelic.agent.android" version '7.0.0' apply false
from the gradle plugin repository.
I had to add code at the project-level build.gradle file
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.newrelic.agent.android:agent-gradle-plugin:7.2.0"
}
}
plugins {
id 'com.android.application' version '8.2.0' apply false
id 'org.jetbrains.kotlin.android' version '1.9.0' apply false
}
And I forgot to add id 'newrelic'
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'newrelic'
}
Finally it's tracking.
2023-12-20 15:34:38.074 23321-23321 newrelic com.example.agent7 I Application state monitor has started
2023-12-20 15:34:38.098 23321-23321 newrelic com.example.agent7 I Analytics Controller initialized: enabled[true]
2023-12-20 15:34:38.106 23321-23321 newrelic com.example.agent7 I Measurement Engine initialized.
2023-12-20 15:34:38.107 23321-23321 newrelic com.example.agent7 I New Relic Agent v7.2.0
2023-12-20 15:34:38.116 23321-23349 newrelic com.example.agent7 I Harvester: connected
2023-12-20 15:34:38.116 23321-23349 newrelic com.example.agent7 I Harvester: Sending [0] HTTP transactions.
2023-12-20 15:34:38.116 23321-23349 newrelic com.example.agent7 I Harvester: Sending [0] activity traces.
2023-12-20 15:34:38.117 23321-23349 newrelic com.example.agent7 I Harvester: Sending [0] session attributes.
2023-12-20 15:34:38.117 23321-23349 newrelic com.example.agent7 I Harvester: Sending [0] analytics events.
2023-12-20 15:34:38.617 23321-23348 newrelic com.example.agent7 I CrashSender: Crash ae2a5d62-8a58-4e88-9b9d-99009d1e7e44 successfully submitted.
Additional Questions
id "com.newrelic.agent.android" version '7.0.0' apply false
?Missing classes detected while running R8.
error Even if I use the Proguard config file (https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/configure-proguard-or-dexguard-android-apps/) and it's a fresh basic android app.Environment
for your 1 . https://github.com/newrelic/newrelic-android-agent/issues/150#issuecomment-1802314795
Hi @ndesai-newrelic this is my full build logs
Executing tasks: [:app:assembleDebug, :app:assembleDebugUnitTest, :app:assembleDebugAndroidTest] in project C:\Users\CarlitosDroid\AndroidStudioProjects\Agent7
> Configure project :app
The New Relic plugin may not be compatible with Android Gradle plugin version 8.2.0.
AGP versions 7.0.0 - 8.2 are officially supported.
Set property 'newrelic.warning.agp=false' to disable this warning.
Set property 'newrelic.halt-on-warning=true' to treat warnings as fatal errors.
AGPBI: {"kind":"warning","text":"Accessing value buildConfigFields in variant debug has no effect as the feature buildConfig is disabled.","sources":[{}]}
AGPBI: {"kind":"warning","text":"Accessing value buildConfigFields in variant release has no effect as the feature buildConfig is disabled.","sources":[{}]}
> Task :app:createDebugVariantModel UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:newrelicConfigDebug SKIPPED
> Task :app:checkDebugAarMetadata UP-TO-DATE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:mapDebugSourceSetPaths UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:packageDebugResources UP-TO-DATE
> Task :app:parseDebugLocalResources UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksDebug UP-TO-DATE
> Task :app:processDebugMainManifest
> Task :app:processDebugManifest
> Task :app:mergeDebugShaders UP-TO-DATE
> Task :app:compileDebugShaders NO-SOURCE
> Task :app:generateDebugAssets UP-TO-DATE
> Task :app:mergeDebugAssets UP-TO-DATE
> Task :app:compressDebugAssets UP-TO-DATE
> Task :app:checkDebugDuplicateClasses UP-TO-DATE
> Task :app:mergeDebugArtProfile UP-TO-DATE
> Task :app:extractProguardFiles UP-TO-DATE
> Task :app:mergeDebugJniLibFolders UP-TO-DATE
> Task :app:mergeDebugNativeLibs NO-SOURCE
> Task :app:stripDebugDebugSymbols NO-SOURCE
> Task :app:validateSigningDebug UP-TO-DATE
> Task :app:writeDebugAppMetadata UP-TO-DATE
> Task :app:writeDebugSigningConfigVersions UP-TO-DATE
> Task :app:assembleDebugUnitTest UP-TO-DATE
> Task :app:preDebugAndroidTestBuild SKIPPED
> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE
> Task :app:generateDebugAndroidTestResValues UP-TO-DATE
> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE
> Task :app:generateDebugAndroidTestResources UP-TO-DATE
> Task :app:mergeDebugAndroidTestResources UP-TO-DATE
> Task :app:processDebugAndroidTestManifest UP-TO-DATE
> Task :app:processDebugAndroidTestResources UP-TO-DATE
> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE
> Task :app:mergeDebugAndroidTestShaders UP-TO-DATE
> Task :app:compileDebugAndroidTestShaders NO-SOURCE
> Task :app:generateDebugAndroidTestAssets UP-TO-DATE
> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE
> Task :app:compressDebugAndroidTestAssets UP-TO-DATE
> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE
> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE
> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE
> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE
> Task :app:validateSigningDebugAndroidTest UP-TO-DATE
> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE
> Task :app:processDebugManifestForPackage
> Task :app:processDebugResources
> Task :app:compileDebugKotlin UP-TO-DATE
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
> Task :app:newrelicTransformClassesForDebug UP-TO-DATE
> Task :app:expandDebugArtProfileWildcards UP-TO-DATE
> Task :app:mergeDebugGeneratedProguardFiles UP-TO-DATE
> Task :app:processDebugJavaRes UP-TO-DATE
> Task :app:mergeDebugJavaResource UP-TO-DATE
> Task :app:bundleDebugClassesToCompileJar UP-TO-DATE
> Task :app:compileDebugAndroidTestKotlin UP-TO-DATE
> Task :app:compileDebugAndroidTestJavaWithJavac NO-SOURCE
> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE
> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE
> Task :app:minifyDebugWithR8 FAILED
AGPBI: {"kind":"error","text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in C:\\Users\\CarlitosDroid\\AndroidStudioProjects\\Agent7\\app\\build\\outputs\\mapping\\debug\\missing_rules.txt.","sources":[{}]}
AGPBI: {"kind":"error","text":"Missing class com.newrelic.agent.android.ndk.AgentNDK$Builder (referenced from: void com.newrelic.agent.android.ndk.NativeReporting.<init>(android.content.Context, com.newrelic.agent.android.AgentConfiguration))\r\nMissing class com.newrelic.agent.android.ndk.AgentNDK (referenced from: void com.newrelic.agent.android.ndk.NativeReporting.<init>(android.content.Context, com.newrelic.agent.android.AgentConfiguration) and 5 other contexts)\r\nMissing class com.newrelic.agent.android.ndk.AgentNDKListener (referenced from: void com.newrelic.agent.android.ndk.NativeReporting.<init>(android.content.Context, com.newrelic.agent.android.AgentConfiguration) and 1 other context)","sources":[{}],"tool":"R8"}
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:minifyDebugWithR8'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.R8Task$R8Runnable
> 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 https://help.gradle.org.
BUILD FAILED in 2s
50 actionable tasks: 5 executed, 45 up-to-date
This is my proguard-rules.pro
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-keep class com.newrelic.** { *; }
-dontwarn com.newrelic.**
-keepattributes Exceptions, Signature, InnerClasses, LineNumberTable, SourceFile, EnclosingMethod
##
## NewRelic Gradle plugin 7.x may require the following additions:
##
# Retain generic signatures of TypeToken and its subclasses if R8 version 3.0 full-mode is enabled.
# https://r8.googlesource.com/r8/+/refs/heads/master/compatibility-faq.md#r8-full-mode
-keepattributes Signature
-keep class com.newrelic.com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.newrelic.com.google.gson.reflect.TypeToken
# For using GSON @Expose annotation
-keepattributes *Annotation*
These are the rules suggested in the generated file missing_rules.txt
# Please add these rules to your existing keep rules in order to suppress warnings.
# This is generated automatically by the Android Gradle plugin.
-dontwarn com.newrelic.agent.android.ndk.AgentNDK$Builder
-dontwarn com.newrelic.agent.android.ndk.AgentNDK
-dontwarn com.newrelic.agent.android.ndk.AgentNDKListener
What is wrong? I only enabled minify
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
}
}
Hi, we are having the same issue, even on Debug build with
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Te: Invalid empty classfile"
gradle = gradle-8.4-bin androidGradlePlugin = "8.3.0" kotlin = "1.9.22" newRelic = "7.2.1" (but the same result also for 7.3.0, 7.2.0)
Proguard rules:
# New Relic
-keep class com.newrelic.** { *; }
-dontwarn com.newrelic.**
-keepattributes Exceptions, Signature, InnerClasses, LineNumberTable
Local Debug builds:
> Task :apppivot:dexBuilderDevDebug
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Te: Invalid empty classfile","sources":[{"file":"/Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar"}],"tool":"D8"}
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Te: Invalid empty classfile","sources":[{"file":"/Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar"}],"tool":"D8"}
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Te: Invalid empty classfile","sources":[{"file":"/Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar"}],"tool":"D8"}
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Te: Invalid empty classfile","sources":[{"file":"/Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar"}],"tool":"D8"}
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Te: Invalid empty classfile","sources":[{"file":"/Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar"}],"tool":"D8"}
org.gradle.workers.WorkerExecutionException: There were multiple failures while executing work items
at org.gradle.workers.internal.DefaultWorkerExecutor.workerExecutionException(DefaultWorkerExecutor.java:221)
at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:201)
at com.android.build.gradle.internal.tasks.DexArchiveBuilderTaskDelegate.doProcess(DexArchiveBuilderTaskDelegate.kt:215)
at com.android.build.gradle.internal.tasks.DexArchiveBuilderTask.doTaskAction(DexArchiveBuilderTask.kt:224)
at com.android.build.gradle.internal.tasks.NewIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:69)
at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)
at com.android.build.gradle.internal.tasks.NewIncrementalTask.taskAction(NewIncrementalTask.kt:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.execute(IncrementalTaskAction.java:26)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:248)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:233)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:216)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:199)
at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:166)
at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105)
at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:50)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:28)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:100)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:72)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:50)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:179)
at org.gradle.internal.execution.steps.BuildCacheStep.executeAndStoreInCache(BuildCacheStep.java:139)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$4(BuildCacheStep.java:106)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$5(BuildCacheStep.java:106)
at org.gradle.internal.Try$Success.map(Try.java:164)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithCache(BuildCacheStep.java:80)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$0(BuildCacheStep.java:69)
at org.gradle.internal.Either$Left.fold(Either.java:115)
at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:68)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:46)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:91)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:55)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:37)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:77)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:38)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:108)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:55)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:71)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:45)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNonEmptySources(SkipEmptyWorkStep.java:177)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:81)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:53)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23)
at org.gradle.internal.execution.steps.CleanupStaleOutputsStep.execute(CleanupStaleOutputsStep.java:75)
at org.gradle.internal.execution.steps.CleanupStaleOutputsStep.execute(CleanupStaleOutputsStep.java:41)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:66)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:66)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:38)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:32)
at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:293)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:21)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:47)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:34)
at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:64)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:145)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Cause 1: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:283)
at org.gradle.internal.work.DefaultAsyncWorkTracker.lambda$waitForItemsAndGatherFailures$2(DefaultAsyncWorkTracker.java:130)
at org.gradle.internal.Factories$1.create(Factories.java:31)
at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:336)
at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:319)
at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:324)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:88)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:78)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:66)
at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:199)
at com.android.build.gradle.internal.tasks.DexArchiveBuilderTaskDelegate.doProcess(DexArchiveBuilderTaskDelegate.kt:215)
at com.android.build.gradle.internal.tasks.DexArchiveBuilderTask.doTaskAction(DexArchiveBuilderTask.kt:224)
at com.android.build.gradle.internal.tasks.NewIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:69)
at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)
at com.android.build.gradle.internal.tasks.NewIncrementalTask.taskAction(NewIncrementalTask.kt:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.execute(IncrementalTaskAction.java:26)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:248)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:233)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:216)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:199)
at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:166)
at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105)
at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:50)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:28)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:100)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:72)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:50)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:179)
at org.gradle.internal.execution.steps.BuildCacheStep.executeAndStoreInCache(BuildCacheStep.java:139)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$4(BuildCacheStep.java:106)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$5(BuildCacheStep.java:106)
at org.gradle.internal.Try$Success.map(Try.java:164)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithCache(BuildCacheStep.java:80)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$0(BuildCacheStep.java:69)
at org.gradle.internal.Either$Left.fold(Either.java:115)
at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:68)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:46)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:91)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:55)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:37)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:77)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:38)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:108)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:55)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:71)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:45)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNonEmptySources(SkipEmptyWorkStep.java:177)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:81)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:53)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23)
at org.gradle.internal.execution.steps.CleanupStaleOutputsStep.execute(CleanupStaleOutputsStep.java:75)
at org.gradle.internal.execution.steps.CleanupStaleOutputsStep.execute(CleanupStaleOutputsStep.java:41)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:66)
at java.base/java.util.Optional.orElseGet(Unknown Source)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:66)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:38)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:32)
at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:293)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:21)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:47)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:34)
at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:64)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:145)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.gradle.tooling.BuildException: Failed to process: /Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar
at com.android.build.gradle.internal.dexing.DexWorkAction.run(DexWorkAction.kt:53)
at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:78)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:170)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
at org.gradle.internal.Factories$1.create(Factories.java:31)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:264)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:128)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:133)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
... 5 more
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Failed to process: /Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar
at com.android.build.gradle.internal.dexing.DexWorkActionKt.process(DexWorkAction.kt:187)
at com.android.build.gradle.internal.dexing.DexWorkActionKt.processNonIncrementally(DexWorkAction.kt:146)
at com.android.build.gradle.internal.dexing.DexWorkActionKt.launchProcessing(DexWorkAction.kt:73)
at com.android.build.gradle.internal.dexing.DexWorkAction.run(DexWorkAction.kt:45)
... 36 more
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
at com.android.builder.dexing.D8DexArchiveBuilder.getExceptionToRethrow(D8DexArchiveBuilder.java:188)
at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:127)
at com.android.build.gradle.internal.dexing.DexWorkActionKt.process(DexWorkAction.kt:178)
... 39 more
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /Users/simon/Documents/repos.nosync/pivot-android/inspire-android/apppivot/build/intermediates/classes/devDebug/ALL/newrelicTransformClassesForDevDebug/classes.jar:org/bouncycastle/asn1/cmc/BodyPartID.class
at Version.fakeStackEntry(Version_8.3.36.java:0)
at com.android.tools.r8.Q.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:5)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:244)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:90)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:909)
at com.android.tools.r8.internal.po.b(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:99)
at com.android.tools.r8.D8.run(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:11)
at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:125)
... 40 more
Caused by: com.android.tools.r8.internal.Te: Invalid empty classfile
at com.android.tools.r8.graph.i4.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:698)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:825)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:1522)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:1785)
at com.android.tools.r8.graph.i4.b(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:2)
at com.android.tools.r8.dex.a.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:84)
at com.android.tools.r8.internal.Te0.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:342)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:327)
at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:79)
at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:37)
at com.android.tools.r8.internal.hf0.submit(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:33)
at com.android.tools.r8.internal.Te0.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:400)
at com.android.tools.r8.internal.Te0.b(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:107)
at com.android.tools.r8.dex.a.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:82)
at com.android.tools.r8.dex.a.b(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:96)
at com.android.tools.r8.dex.c.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:246)
at com.android.tools.r8.dex.c.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:222)
at com.android.tools.r8.dex.c.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:219)
at com.android.tools.r8.D8.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:809)
at com.android.tools.r8.D8.d(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:212)
at com.android.tools.r8.D8.b(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:502)
at com.android.tools.r8.internal.po.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:906)
... 43 more
Suppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.internal.Te: Invalid empty classfile
at com.android.tools.r8.dex.c.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:268)
... 49 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.internal.Te: Invalid empty classfile
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:592)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:551)
at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:91)
at com.android.tools.r8.internal.hf0.awaitFutures(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:41)
at com.android.tools.r8.internal.Te0.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:69)
at com.android.tools.r8.dex.c.a(R8_8.3.36_105749e874d3a6b61922c0593faf4d112f3ca718bdcf6de1a5b5c9b0c4e012bf:247)
... 49 more
Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.Te: Invalid empty classfile]
> Task :apppivot:dexBuilderDevDebug FAILED
CircleCI Release build:
> Task :apppivot:minifyProdReleaseWithR8 FAILED
ERROR: /home/circleci/*************/inspire-android/apppivot/build/intermediates/classes/prodRelease/ALL/newrelicTransformClassesForProdRelease/classes.jar: R8: com.android.tools.r8.internal.Te: Invalid empty classfile
ASM Instrumentation process wasn't able to resolve some classes, this means that
the instrumented classes might contain corrupt stack frames. Make sure the
dependencies that contain these classes are on the runtime or the provided
classpath. Otherwise, the jvm might fail to load the corrupt classes at runtime
when running in a jvm environment like unit tests.
@SimonCierniewski is it still the issue?
@ndesai-newrelic We also experiencing the same issue as @SimonCierniewski with the following parameters
android-gradle-pligin: 8.5.0
gradle-versio:8.7
kotlin-version:2.0
new-relic:7.5.0
@vascoV can you share you project and app level build.gradle files?
Hello, @ndesai-newrelic. Sorry for the late response, yes here you go:
Project Level Gradle:
buildscript {
repositories {
google()
mavenCentral()
mavenLocal()
gradlePluginPortal()
maven { url "https://plugins.gradle.org/m2/" }
maven { url 'https://repo.brightcove.com/releases' }
maven {
url 'https://newsint.jfrog.io/newsint/plugins-releases'
credentials {
username = WIRELESS_ARTIFACTORY_USER
password = WIRELESS_ARTIFACTORY_PASSWORD
}
}
maven {
url 's3://covatic-repo-release.s3-eu-west-2.amazonaws.com'
credentials(AwsCredentials) {
accessKey = WIRELESS_COVATIC_AWS_ACCESS_KEY
secretKey = WIRELESS_COVATIC_AWS_SECRET_KEY
}
}
}
dependencies {
apply from: "./dependencies/libraries.gradle"
classpath "com.android.tools.build:gradle:${androidGradlePluginVersion}"
classpath "com.google.gms:google-services:${googleServicesVersion}"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}"
classpath "org.jacoco:org.jacoco.core:${jacocoVersion}"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navVersion"
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:$buildInfoExtractorVersion"
classpath "com.google.firebase:perf-plugin:$perfPluginVersion"
classpath "androidx.room:room-gradle-plugin:$roomVersion"
classpath"com.newrelic.agent.android:agent-gradle-plugin:$newRelicVersion"
}
}
plugins {
id 'com.google.devtools.ksp' version "${kspVersion}" apply false
}
apply plugin: "com.jfrog.artifactory"
apply plugin: 'maven-publish'
allprojects {
repositories {
google()
mavenCentral()
gradlePluginPortal()
maven { url "https://jitpack.io" }
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
maven { url 'https://repo.brightcove.com/releases' }
maven {
url 'https://newsint.jfrog.io/newsint/nuk-wireless'
credentials {
username = WIRELESS_ARTIFACTORY_USER
password = WIRELESS_ARTIFACTORY_PASSWORD
}
}
maven { url "https://maven.tealiumiq.com/android/releases" }
maven {
url "https://raw.githubusercontent.com/adswizz/ad-sdk-android/master/releases"
credentials(HttpHeaderCredentials) {
name = "Authorization"
value = WIRELESS_ADSWIZZ_BEARER_TOKEN
}
authentication {
header(HttpHeaderAuthentication)
}
}
maven {
url 's3://covatic-repo-release.s3-eu-west-2.amazonaws.com'
credentials(AwsCredentials) {
accessKey = WIRELESS_COVATIC_AWS_ACCESS_KEY
secretKey = WIRELESS_COVATIC_AWS_SECRET_KEY
}
}
mavenLocal()
}
//https://stackoverflow.com/questions/68884589/caused-by-java-lang-exception-no-native-library-is-found-for-os-name-mac-and-o
configurations.all {
resolutionStrategy {
force 'org.xerial:sqlite-jdbc:3.34.0'
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs += [
"-opt-in=kotlin.time.ExperimentalTime",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
]
}
}
}
artifactory {
contextUrl = "${WIRELESS_ARTIFACTORY_CONTEXT_URL}"
//The base Artifactory URL if not overridden by the publisher/resolver
publish {
repository {
repoKey = 'nuk-wireless'
username = WIRELESS_ARTIFACTORY_USER
password = WIRELESS_ARTIFACTORY_PASSWORD
maven = true
}
defaults {
publications('mavenJava')
publishArtifacts = true
}
}
resolve {
repository {
repoKey = 'libs-releases'
username = WIRELESS_ARTIFACTORY_USER
password = WIRELESS_ARTIFACTORY_PASSWORD
maven = true
}
}
}
//task installGitHook(type: Copy) {
// from new File(rootProject.rootDir, 'scripts/pre-commit-macos.sh')
// into { new File(rootProject.rootDir, '.git/hooks') }
// rename("pre-commit-macos.sh", 'pre-commit')
// fileMode 0777
//}
//tasks.getByPath(':app:preBuild').dependsOn installGitHook
task clean(type: Delete) {
delete rootProject.buildDir
}
task testAll {
def product = project.findProperty("product") ?: System.getenv('PRODUCT') ?: 'Talksport'
def flavor = project.findProperty("flavor") ?: System.getenv('FLAVOR') ?: 'LocalDebug'
dependsOn(':frames:testDebugUnitTest').finalizedBy(":frames:jacocoTestCoverageVerification")
dependsOn(':login:testDebugUnitTest').finalizedBy(":login:jacocoTestCoverageVerification")
dependsOn(':media:testDebugUnitTest').finalizedBy(":media:jacocoTestCoverageVerification")
dependsOn(':core:testDebugUnitTest').finalizedBy(":core:jacocoTestCoverageVerification")
dependsOn(":app:test${product}${flavor}UnitTest").finalizedBy(":app:jacocoTestCoverageVerification")
}
task installAll {
def flavor = project.findProperty("flavor") ?: System.getenv('FLAVOR') ?: 'LocalDebug'
dependsOn(":app:assembleTalkradio${flavor}").finalizedBy(":app:installTalkradio${flavor}")
dependsOn(":app:assembleTalksport${flavor}").finalizedBy(":app:installTalksport${flavor}")
dependsOn(":app:assembleTimesradio${flavor}").finalizedBy(":app:installTimesradio${flavor}")
dependsOn(":app:assembleVirginradio${flavor}").finalizedBy(":app:installVirginradio${flavor}")
}
task lintAll {
def product = project.findProperty("product") ?: System.getenv('PRODUCT') ?: 'Talksport'
def flavor = project.findProperty("flavor") ?: System.getenv('FLAVOR') ?: 'LocalDebug'
dependsOn(':login:lintDebug')
dependsOn(':core:lintDebug')
dependsOn(':frames:lintDebug')
dependsOn(":app:lint${product}${flavor}")
}
task checkAll {
dependsOn(':testAll')
dependsOn(':lintAll')
}
task assembleFlavor {
def product = project.findProperty("product") ?: System.getenv('PRODUCT') ?: 'Talksport'
def flavor = project.findProperty("flavor") ?: System.getenv('FLAVOR') ?: 'LocalDebug'
dependsOn(":app:assemble${product}${flavor}")
}
task assembleAll {
def flavor = project.findProperty("flavor") ?: System.getenv('FLAVOR') ?: 'LocalDebug'
dependsOn(":app:assembleTalkradio${flavor}")
dependsOn(":app:assembleTimesradio${flavor}")
dependsOn(":app:assembleTalksport${flavor}")
dependsOn(":app:assembleVirginradio${flavor}")
}
task bundleAll {
def flavor = project.findProperty("flavor") ?: System.getenv('FLAVOR') ?: 'LocalDebug'
dependsOn(":app:bundleTalkradio${flavor}")
dependsOn(":app:bundleTimesradio${flavor}")
dependsOn(":app:bundleTalksport${flavor}")
dependsOn(":app:bundleVirginradio${flavor}")
}
task assembleProdDebug {
def flavor = 'ProdDebug'
dependsOn(":app:assembleTalkradio${flavor}")
dependsOn(":app:assembleTimesradio${flavor}")
dependsOn(":app:assembleTalksport${flavor}")
dependsOn(":app:assembleVirginradio${flavor}")
}
//this is required for migration from kotlin 1.4.3 to kotlin 1.5.0
//you can try to remove it and verify by executing jacoco test reporting
subprojects {
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
if ('org.jacoco' == details.requested.group) {
details.useVersion "${jacocoVersion}"
}
}
}
}
}
App Level Gradle Files
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'jacoco'
id 'com.google.gms.google-services'
id 'kotlin-parcelize'
id 'androidx.navigation.safeargs'
id 'com.google.devtools.ksp'
id 'newrelic'
}
apply from: '../ktlint.gradle'
apply from: '../dependencies/android_commons.gradle'
apply from: '../dependencies/env_flavour.gradle'
apply from: '../dependencies/coverage_filter.gradle'
def getBuildNumber = { ->
def rawBuildNumber = System.getenv("CIRCLE_BUILD_NUM")
?: System.getenv("BITRISE_BUILD_NUMBER")
?: '100000'
def buildNumber = rawBuildNumber.toInteger()
return buildNumber
}
def classDrs = fileTree(dir: "${buildDir}/tmp/kotlin-classes", excludes: fileFilter)
def srcDrs = fileTree(dir: "${project.projectDir}/src/main/java")
def execData = fileTree(dir: "$buildDir", includes: [
"jacoco/*.exec",
"jacoco/code-coverage/connected/*coverage.ec"
])
task jacocoTestReport(type: JacocoReport, dependsOn: [":app:compileTalksportLocalDebugUnitTestKotlin", ":app:testTalksportLocalDebugUnitTest"]) {
doFirst {
delete fileTree(dir: "${buildDir}/classes", include: "**/JiBX_*.class")
}
classDirectories.setFrom(classDrs)
sourceDirectories.setFrom(srcDrs)
additionalSourceDirs.setFrom(srcDrs)
executionData.setFrom(execData)
reports {
xml {
enabled true
}
html {
enabled true
}
html.destination file("${buildDir}/jacocoOutput")
}
}
task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: ['jacocoTestReport']) {
classDirectories.setFrom(classDrs)
sourceDirectories.setFrom(srcDrs)
additionalSourceDirs.setFrom(srcDrs)
executionData.setFrom(execData)
violationRules {
setFailOnViolation(true)
rule {
limit {
minimum = 0.03
}
}
}
}
android {
buildFeatures {
viewBinding = true
buildConfig = true
}
defaultConfig {
multiDexEnabled true
manifestPlaceholders = [auth0Domain: "@string/com_auth0_app_domain", auth0Scheme: "@string/application_id"]
buildConfigField "String", "PUBLICATION_URL", '"apps/%s"'
buildConfigField "String", "SEARCH_URL", '"search?q=%s"'
buildConfigField "String", "MANIFEST_URL", '"manifest/manifest.json"'
buildConfigField "String", "THEATER_URL", '"apps/{app}/theaters/{theater}"'
buildConfigField "String", "REMOTE_MEDIA_URL", '"apps/%s/automotive/audio"'
buildConfigField "String", "ALEXA_AUTH_PATH", '"/accountlinking/v1/amazon/alexa/tenants/wls/application-groups/{app}/account/authorize"'
buildConfigField "String", "BRANCH_VENDOR_ID", '"5e7f6927b8e05c1c467daa5d"'
buildConfigField "String", "BRIGHTCOVE_ACCOUNT_ID", '"6023583704001"'
buildConfigField "String", "BRIGHTCOVE_POLICY_ID", '"BCpkADawqM1yXVpExeVhpwQbEVfVAKM0miy-627JrX9faPo8MtB1a_RSDBtog8Bd_hsQna3M3PC6YTTdz62Wdihp1126o7nVGG448rDdoEfivwOmTqx1Yf3m54mGIiBxi633LeX5-jJhfbsR"'
}
signingConfigs {
talksportRelease {
keyAlias TALKSPORT_KEY_ALIAS
keyPassword TALKSPORT_KEY_PASSWORD
storeFile file(TALKSPORT_KEYSTORE_PATH)
storePassword TALKSPORT_STORE_PASSWORD
}
timesradioRelease {
keyAlias TIMESRADIO_KEY_ALIAS
keyPassword TIMESRADIO_KEY_PASSWORD
storeFile file(TIMESRADIO_KEYSTORE_PATH)
storePassword TIMESRADIO_STORE_PASSWORD
}
virginradioRelease {
keyAlias VIRGINRADIO_KEY_ALIAS
keyPassword VIRGINRADIO_KEY_PASSWORD
storeFile file(VIRGINRADIO_KEYSTORE_PATH)
storePassword VIRGINRADIO_STORE_PASSWORD
}
talkradioRelease {
keyAlias TALKRADIO_KEY_ALIAS
keyPassword TALKRADIO_KEY_PASSWORD
storeFile file(TALKRADIO_KEYSTORE_PATH)
storePassword TALKRADIO_STORE_PASSWORD
}
debug {
keyAlias "debug!"
keyPassword "debug!"
storeFile file("../debug.key")
storePassword "debug!"
}
}
bundle {
language {
enableSplit = false
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
packagingOptions {
resources {
excludes += ['third_party/java_src/error_prone/project/annotations/Annotations.gwt.xml', 'third_party/java_src/error_prone/project/annotations/Google_internal.gwt.xml', 'error_prone/Annotations.gwt.xml', 'META-INF/atomicfu.kotlin_module']
pickFirsts += ['META-INF/data_release.kotlin_module', 'META-INF/data_debug.kotlin_module', 'META-INF/core_release.kotlin_module']
}
}
flavorDimensions "app", "env"
productFlavors {
talksport {
dimension "app"
applicationId "com.talksport.tsliveen"
versionCode getBuildNumber()
versionName "55.0.0.${getBuildNumber()}"
buildConfigField "String", "PUBLICATION", '"talksport-v10"'
}
timesradio {
dimension "app"
applicationId "com.times.radio"
versionCode getBuildNumber()
versionName "55.0.0.${getBuildNumber()}"
buildConfigField "String", "PUBLICATION", '"times-radio-v10"'
}
virginradio {
dimension "app"
applicationId "uk.co.virginradio.android"
versionCode getBuildNumber()
versionName "55.0.0.${getBuildNumber()}"
buildConfigField "String", "PUBLICATION", '"virgin-radio-v10"'
}
talkradio {
dimension "app"
applicationId "uk.co.talkradio.android"
versionCode getBuildNumber()
versionName "55.0.0.${getBuildNumber()}"
buildConfigField "String", "PUBLICATION", '"talk-radio-v10"'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
FirebasePerformance {
// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic monitoring of HTTP/S network requests
// for a specific build variant at compile time.
instrumentationEnabled false
}
}
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFile "proguard-test-rules.pro"
productFlavors.talksport.signingConfig signingConfigs.talksportRelease
productFlavors.timesradio.signingConfig signingConfigs.timesradioRelease
productFlavors.virginradio.signingConfig signingConfigs.virginradioRelease
productFlavors.talkradio.signingConfig signingConfigs.talkradioRelease
}
}
variantFilter { variant ->
def names = variant.flavors*.name
if (variant.buildType.name == "release" && !names.contains("prod")) {
setIgnore(true)
}
}
configurations {
all {
resolutionStrategy.cacheChangingModulesFor 1, 'seconds'
}
cleanedAnnotations
implementation.exclude group: 'com.intellij', module: 'annotations'
}
testOptions {
unitTests {
includeAndroidResources = true
returnDefaultValues = true
}
}
lint {
abortOnError false
lintConfig file('lint.xml')
}
namespace 'com.talksport.tsliveen'
applicationVariants.all { variant ->
variant.resValue "string", "application_id", variant.applicationId
variant.outputs.all { output ->
outputFileName = "${variant.name}-${variant.versionName}.apk"
}
}
compileOptions {
coreLibraryDesugaringEnabled = true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
aaptOptions {
ignoreAssetsPattern 'FuturaPT-Bold.otf'
}
}
dependencies {
implementation project(":login")
implementation project(':core')
implementation project(":marketing")
implementation project(":player")
implementation 'com.optimizely.ab:android-sdk:4.0.0'
implementation "com.newrelic.agent.android:android-agent:$newRelicVersion"
implementation "com.squareup.retrofit2:converter-scalars:${retrofitVersion}"
implementation "com.squareup.okhttp3:logging-interceptor:${okHttpVersion}"
implementation 'com.github.Dotmetrics:AndroidDistribution:1.7.3@aar'
if (LEAK_CANARY_ENABLED.toBoolean()) {
//https://github.com/square/leakcanary
debugImplementation "com.squareup.leakcanary:leakcanary-android:2.7"
}
//https://github.com/bumptech/glide
implementation "com.github.bumptech.glide:glide:${glideVersion}"
ksp "com.github.bumptech.glide:compiler:${glideVersion}"
implementation "com.google.ads.interactivemedia.v3:interactivemedia:3.34.0"
implementation "com.brightcove.player:android-ima-plugin:${anpVersion}"
implementation "com.brightcove.player:android-dai-plugin:${anpVersion}"
implementation "com.brightcove.player:android-appcompat-plugin:${anpVersion}"
//https://github.com/google/dagger
implementation "com.google.dagger:dagger:${daggerVersion}"
ksp "com.google.dagger:dagger-compiler:${daggerVersion}"
ksp "com.google.dagger:dagger-android-processor:${daggerVersion}"
kspTest "com.google.dagger:dagger-compiler:${daggerVersion}"
implementation "com.google.dagger:dagger-android:${daggerVersion}"
implementation "com.google.dagger:dagger-android-support:${daggerVersion}"
// covatic
implementation("io.covatic.serendipity:serendipity-release:$covaticVersion@aar") {
transitive = true
changing = true
}
//https://developer.android.com/jetpack/androidx/releases/lifecycle
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
//GDPR consent lib
//https://github.com/SourcePointUSA/android-cmp-app
//https://help.sourcepoint.com/en/articles/3059278-getting-started-with-the-sourcepoint-consent-library-for-android
implementation "com.sourcepoint.cmplibrary:cmplibrary:${sourcepointVersion}"
//https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305
implementation "com.google.code.findbugs:jsr305:${findbugsVersion}"
//https://github.com/google/gson
implementation "com.google.code.gson:gson:${googleGsonVersion}"
//https://developer.android.com/jetpack/androidx/versions
implementation "androidx.appcompat:appcompat:${appCompatVersion}"
implementation "androidx.cardview:cardview:${cardViewVersion}"
implementation "androidx.annotation:annotation:${annotationVersion}"
implementation "androidx.constraintlayout:constraintlayout:${constraintLayoutVersion}"
//https://github.com/material-components/material-components-android
implementation "com.google.android.material:material:${materialVersion}"
//https://github.com/JakeWharton/timber
implementation "com.jakewharton.timber:timber:${timberVersion}"
//https://docs.tealium.com/platforms/android-java/install/
implementation "com.tealium:library:${tealiumVersion}"
implementation "com.tealium:lifecycle:${tealiumLifecycleVersion}"
testImplementation "junit:junit:${junitVersion}"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion"
//http://robolectric.org/
testImplementation "org.robolectric:robolectric:${robolectricVersion}"
//android testing
testImplementation "androidx.test.ext:junit:${androidxTestVersion}"
testImplementation "androidx.room:room-testing:${roomVersion}"
testImplementation "androidx.test:rules:$androidTestRulesVersion"
//https://help.branch.io/developers-hub/docs/android-basic-integration
//https://search.maven.org/artifact/io.branch.sdk.android/library
implementation "io.branch.sdk.android:library:${branchSdkVersion}"
// Chrome Tab matching (enables 100% guaranteed matching based on cookies)
//optional dependency for branch sdk
implementation "androidx.browser:browser:${browserVersion}"
// https://developer.android.com/jetpack/androidx/releases/activity
implementation "androidx.fragment:fragment-ktx:${fragmenKtxVersion}"
//https://developer.permutive.com/docs/android
implementation "com.permutive.android:core:${permutiveCoreVersion}"
implementation "com.squareup.okhttp3:logging-interceptor:${okHttpVersion}"
//https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver
testImplementation "com.squareup.okhttp3:mockwebserver:${okHttpVersion}"
//https://developer.android.com/topic/security/data
testImplementation "androidx.security:security-crypto:${androidCryptoVersion}"
//https://firebase.google.com/docs/in-app-messaging/get-started?authuser=0&platform=android
implementation platform("com.google.firebase:firebase-bom:${firebaseBoMVersion}")
implementation 'com.google.firebase:firebase-inappmessaging-display'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-installations-ktx'
implementation "androidx.navigation:navigation-fragment-ktx:$navVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navVersion"
testImplementation project(':core-test')
implementation("com.adswizz:adswizz-sdk:${adswizzVersion}")
//https://documentation.onesignal.com/docs/android-sdk-setup
implementation "com.onesignal:OneSignal:${oneSignalVersion}"
implementation "com.android.support:multidex:${multiDexVersion}"
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:12.1.0'
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:chromecast-sender:0.26'
implementation 'androidx.mediarouter:mediarouter:1.7.0'
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:${desugarVersion}"
implementation "com.google.android.play:review-ktx:${reviewVersion}"
implementation "com.brightcove.player:exoplayer2:${brightcoveVersion}"
implementation "com.brightcove.player:android-ssai-plugin:${brightcoveVersion}"
implementation "com.squareup.retrofit2:converter-gson:${retrofitVersion}"
implementation("androidx.room:room-ktx:$roomVersion")
implementation "androidx.room:room-paging:${roomVersion}"
// https://mvnrepository.com/artifact/androidx.paging/paging-runtime-ktx
implementation "androidx.paging:paging-runtime-ktx:${paging3Version}"
// https://mvnrepository.com/artifact/androidx.core/core-splashscreen
implementation "androidx.core:core-splashscreen:${splashVersion}"
//https://github.com/ChuckerTeam/chucker
debugImplementation "com.github.chuckerteam.chucker:library:${chuckerVersion}"
releaseImplementation "com.github.chuckerteam.chucker:library-no-op:${chuckerVersion}"
// https://developer.android.com/jetpack/androidx/releases/media3#declaring_dependencies
implementation "androidx.media3:media3-exoplayer:$media3Version"
implementation "androidx.media3:media3-ui:$media3Version"
implementation "androidx.media3:media3-session:$media3Version"
implementation "androidx.media3:media3-cast:$media3Version"
}
check.dependsOn ktlint
Hi, we have same problem since upgrade Koltin / AGP version / New Relic.
This is configuration logged when start build.
2024-08-29T11:46:52.376+0200 [DEBUG] [newrelic] Variant buildIds have been enabled 2024-08-29T11:46:52.377+0200 [INFO] [newrelic] New Relic Agent version: 7.5.1 2024-08-29T11:46:52.377+0200 [DEBUG] [newrelic] Android Gradle plugin version: 8.5.2 2024-08-29T11:46:52.377+0200 [DEBUG] [newrelic] Gradle version: 8.8 2024-08-29T11:46:52.377+0200 [DEBUG] [newrelic] Java version: 17 2024-08-29T11:46:52.377+0200 [DEBUG] [newrelic] Kotlin version: 1.9.22 2024-08-29T11:46:52.378+0200 [DEBUG] [newrelic] Gradle configuration cache enabled: false 2024-08-29T11:46:52.379+0200 [INFO] [newrelic] BuildMetrics[[agent:7.5.1, agp:8.5.2, gradle:8.8, java:17, kotlin:1.9.22, configCacheEnabled:false, variants:[debug:[minSdk:24, targetSdk:34], release:[minSdk:24, targetSdk:34], staging:[minSdk:24, targetSdk:34]]]] 2024-08-29T11:46:52.383+0200 [INFO] [newrelic] Instrumentation will be disabled for variants [debug] 2024-08-29T11:46:52.384+0200 [INFO] [newrelic] Instrumentation will be disabled for classes [com.toto.*] 2024-08-29T11:46:52.384+0200 [DEBUG] [newrelic] Maps will be tagged and uploaded for variants [staging, release] 2024-08-29T11:46:52.384+0200 [DEBUG] [newrelic] New Relic plugin loaded.
This is NewRelic gradle configuration
newrelic { uploadMapsForVariant("prodRelease", "recRelease", "preprodRelease") excludeVariantInstrumentation("None") excludePackageInstrumentation("org.jacoco.*", "org.bouncycastle.*") }
During build, there is a R8 stack trace.
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Le: Different stack heights at jump target: 2 != 1","sources":[{"file":"/Users/E8039/Documents/respositories/front/app-mobile-fortuneo-android-3/fortuneo/build/intermediates/classes/recDebug/ALL/newrelicTransformClassesForRecDebug/classes.jar"}],"tool":"D8"} org.gradle.workers.WorkerExecutionException: There was a failure while executing work items at org.gradle.workers.internal.DefaultWorkerExecutor.workerExecutionException(DefaultWorkerExecutor.java:223) at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:205) at com.android.build.gradle.internal.tasks.DexArchiveBuilderTaskDelegate.doProcess(DexArchiveBuilderTaskDelegate.kt:215) at com.android.build.gradle.internal.tasks.DexArchiveBuilderTask.doTaskAction(DexArchiveBuilderTask.kt:225) at com.android.build.gradle.internal.tasks.NewIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:69) at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51) at com.android.build.gradle.internal.tasks.NewIncrementalTask.taskAction(NewIncrementalTask.kt:46) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:577) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.execute(IncrementalTaskAction.java:26) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:244) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:229) at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:212) at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:195) at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:162) at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105) at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44) at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41) at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74) at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50) at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26) at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:67) at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:45) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29) at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189) at org.gradle.internal.execution.steps.BuildCacheStep.executeAndStoreInCache(BuildCacheStep.java:145) at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$4(BuildCacheStep.java:101) at java.base/java.util.Optional.orElseGet(Optional.java:364) at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$5(BuildCacheStep.java:101) at org.gradle.internal.Try$Success.map(Try.java:164) at org.gradle.internal.execution.steps.BuildCacheStep.executeWithCache(BuildCacheStep.java:85) at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$0(BuildCacheStep.java:74) at org.gradle.internal.Either$Left.fold(Either.java:115) at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:46) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:35) at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:76) at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:54) at java.base/java.util.Optional.orElseGet(Optional.java:364) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:54) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:49) at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:27) at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71) at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:106) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:55) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:56) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36) at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23) at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75) at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35) at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67) at java.base/java.util.Optional.orElseGet(Optional.java:364) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35) at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:287) at org.gradle.internal.work.DefaultAsyncWorkTracker.lambda$waitForItemsAndGatherFailures$2(DefaultAsyncWorkTracker.java:130) at org.gradle.internal.Factories$1.create(Factories.java:31) at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:336) at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:319) at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:324) at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126) at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:88) at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:78) at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:66) at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:203) ... Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.Le: Different stack heights at jump target: 2 != 1]
@ndesai-newrelic may be this is the same problem.
Thanks for your help.
@tonicfx We have seen a similar issue recently, it's most likely caused by an incompatible third party SDK.
If you run a commend: ./gradlew clean build -d | grep newrelic] > build.txt
Attached the build.txt here we can take a look which SDK is causing the problem. It should also show you at one of the lines of caused by. Once you find the incompatible SDK, include the SDK in the following configuration would help: excludePackageInstrumentation("org.jacoco.", "org.bouncycastle.")
Hi @ywang-nr , thanks for your help. Since my previous message, we find the dependancies who take problem, and fix that by exclude this package. ;)
@tonicfx Great, thanks for the update!
Description
Hi Team, I've created a new android app and trying to implement newrelic for monitoring my app. However after setting up the app I get an error:
Steps to Reproduce
Expected Behavior
I tried the same with Android Studio Electric Eel | 2022.1.1 Patch 2 (https://developer.android.com/studio/archive) which
brings Android Gradle Plugin 7.4.2 and Gradle Version 7.5. And I used Android agent 6.9.0
As you can see no errors are shown and it finally reports the crash.
Relevant Logs / Console output
Your Environment
Additional context
When you try to use Android Gradle Plugin 7.3.0 with Gradle 7.4 and Android agent 6.9.0. I'm not sure but I think this is not correct according to the doc https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/get-started/new-relic-android-compatibility-requirements/ but you get a different error. Well, you should tray to be more specific with the error message.
I've noticed that in Android agent 6.9.0 a NewRelicConfig class is generated under the path build/generated/source/newrelicConfig/, but this is not the case for Android agent 7.2.0.