Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impossible to build with AGP 8.0 #203

Open
spectrumIG opened this issue Apr 19, 2023 · 1 comment
Open

Impossible to build with AGP 8.0 #203

spectrumIG opened this issue Apr 19, 2023 · 1 comment

Comments

@spectrumIG
Copy link

With minifyEnable true this is the error that's shown:

Missing class com.sumup.analyticskit.FirebaseAnalytics (referenced from: void com.sumup.base.analytics.tracking.FirebaseTracker.<init>(android.content.Context) and 4 other contexts) Missing class com.sumup.analyticskit.FirebasePerformance (referenced from: com.sumup.analyticskit.Performance com.sumup.base.analytics.di.HiltBaseAnalyticsModule$Companion.providePerformance()) Missing class com.sumup.analyticskit.FirebaseRemoteConfig (referenced from: void com.sumup.base.analytics.remoteconfig.FirebaseRemoteConfiguration.<init>(boolean, com.sumup.analyticskit.RemoteConfig$Notifier) and 1 other context) Missing class com.sumup.analyticskit.GreenRobotNotifier (referenced from: com.sumup.analyticskit.RemoteConfig com.sumup.base.analytics.di.HiltBaseAnalyticsModule$Companion.provideRemoteConfig(com.sumup.base.analytics.model.AppConfiguration, org.greenrobot.eventbus.EventBus)) Missing class com.sumup.mixpanel.MixpanelAnalytics (referenced from: void com.sumup.base.analytics.tracking.MixpanelTracker.<init>(java.lang.String, android.content.Context) and 8 other contexts) Missing class com.sumup.observabilitylib.ObservabilityFactory (referenced from: com.sumup.observabilitylib.ObservabilityProvider com.sumup.base.analytics.di.HiltBaseAnalyticsObservabilityModule$Companion.provideCrashReportBridgeObservabilityProvider() and 2 other contexts) Missing class com.sumup.observabilitylib.ObservabilityProvider (referenced from: com.sumup.observabilitylib.ObservabilityProvider com.sumup.base.analytics.reporting.CrashlyticsHelper.mObservabilityProvider and 15 other contexts) Missing class com.sumup.observabilitylib.core.ExportContext (referenced from: java.lang.Object com.sumup.base.analytics.observability.exporters.OtelExporter.export(com.sumup.observabilitylib.tracking.event.LogEvent, com.sumup.observabilitylib.core.ExportContext, kotlin.coroutines.Continuation) and 7 other contexts) Missing class com.sumup.observabilitylib.core.LogParameterValue$BooleanLiteral (referenced from: io.opentelemetry.api.common.Attributes com.sumup.base.analytics.observability.exporters.otel.OtelNetworkAttributesMapperImpl.fromModifiersToAttributes() and 2 other contexts) Missing class com.sumup.observabilitylib.core.LogParameterValue$DoubleLiteral (referenced from: io.opentelemetry.api.common.Attributes com.sumup.base.analytics.observability.exporters.otel.OtelNetworkAttributesMapperImpl.fromModifiersToAttributes()) Missing class com.sumup.observabilitylib.core.LogParameterValue$Empty (referenced from: com.sumup.observabilitylib.core.LogParameterValue com.sumup.base.analytics.observability.ObservabilityExtensionsKt.observabilityStringValueOrEmpty(java.lang.String)) Missing class com.sumup.observabilitylib.core.LogParameterValue$FloatLiteral (referenced from: io.opentelemetry.api.common.Attributes com.sumup.base.analytics.observability.exporters.otel.OtelNetworkAttributesMapperImpl.fromModifiersToAttributes()) Missing class com.sumup.observabilitylib.core.LogParameterValue$IntLiteral (referenced from: io.opentelemetry.api.common.Attributes com.sumup.base.analytics.observability.exporters.otel.OtelNetworkAttributesMapperImpl.fromModifiersToAttributes() and 1 other context) Missing class com.sumup.observabilitylib.core.LogParameterValue$LongLiteral (referenced from: io.opentelemetry.api.common.Attributes com.sumup.base.analytics.observability.exporters.otel.OtelNetworkAttributesMapperImpl.fromModifiersToAttributes() and 1 other context) Missing class com.sumup.observabilitylib.core.LogParameterValue$StringLiteral (referenced from: com.sumup.observabilitylib.core.LogParameterValue com.sumup.base.analytics.observability.ObservabilityExtensionsKt.observabilityStringValueOrEmpty(java.lang.String) and 6 other contexts) Missing class com.sumup.observabilitylib.core.LogParameterValue (referenced from: com.sumup.observabilitylib.core.LogParameterValue com.sumup.base.analytics.observability.ObservabilityExtensionsKt.observabilityStringValueOrEmpty(java.lang.String) and 6 other contexts) Missing class com.sumup.observabilitylib.core.exporter.EventExporter (referenced from: com.sumup.base.analytics.observability.exporters.OtelExporter and 1 other context) Missing class com.sumup.observabilitylib.core.exporter.ExceptionExporter (referenced from: com.sumup.base.analytics.observability.exporters.OtelExporter and 1 other context) Missing class com.sumup.observabilitylib.core.exporter.Exporter (referenced from: com.sumup.observabilitylib.core.exporter.Exporter com.sumup.base.analytics.di.HiltBaseAnalyticsObservabilityModule.bindOtelExporter(com.sumup.base.analytics.observability.exporters.OtelExporter) and 1 other context) Missing class com.sumup.observabilitylib.core.exporter.MetricExporter (referenced from: com.sumup.base.analytics.observability.exporters.OtelExporter and 1 other context) Missing class com.sumup.observabilitylib.core.modifier.EventModifier$DefaultImpls (referenced from: com.sumup.observabilitylib.tracking.event.LogEvent com.sumup.base.analytics.observability.modifiers.AppModifier.map(com.sumup.observabilitylib.tracking.event.LogEvent) and 5 other contexts) Missing class com.sumup.observabilitylib.core.modifier.EventModifier (referenced from: com.sumup.observabilitylib.tracking.event.LogEvent com.sumup.base.analytics.observability.modifiers.AppModifier.map(com.sumup.observabilitylib.tracking.event.LogEvent) and 11 other contexts) Missing class com.sumup.observabilitylib.core.modifier.ExceptionModifier$DefaultImpls (referenced from: com.sumup.observabilitylib.tracking.exception.LogException com.sumup.base.analytics.observability.modifiers.AppExceptionModifier.map(com.sumup.observabilitylib.tracking.exception.LogException) and 6 other contexts) Missing class com.sumup.observabilitylib.core.modifier.ExceptionModifier (referenced from: com.sumup.observabilitylib.tracking.exception.LogException com.sumup.base.analytics.observability.modifiers.AppExceptionModifier.map(com.sumup.observabilitylib.tracking.exception.LogException) and 13 other contexts) Missing class com.sumup.observabilitylib.core.modifier.MetricModifier$DefaultImpls (referenced from: com.sumup.observabilitylib.tracking.metric.LogMetric com.sumup.base.analytics.observability.modifiers.AppMetricModifier.map(com.sumup.observabilitylib.tracking.metric.LogMetric) and 2 other contexts) Missing class com.sumup.observabilitylib.core.modifier.MetricModifier (referenced from: com.sumup.observabilitylib.tracking.metric.LogMetric com.sumup.base.analytics.observability.modifiers.AppMetricModifier.map(com.sumup.observabilitylib.tracking.metric.LogMetric) and 5 other contexts) Missing class com.sumup.observabilitylib.core.modifier.Modifier (referenced from: com.sumup.observabilitylib.core.modifier.Modifier com.sumup.base.analytics.di.HiltBaseAnalyticsObservabilityModule.bindAppExceptionModifier(com.sumup.base.analytics.observability.modifiers.AppExceptionModifier) and 10 other contexts) Missing class com.sumup.observabilitylib.tracking.event.EventLogger (referenced from: void com.sumup.identity.auth.tracking.IdentityObservabilityLoggerImpl.logLoginMobileSteps(boolean, java.lang.String, java.lang.String, boolean, boolean, java.lang.Throwable)) Missing class com.sumup.observabilitylib.tracking.event.LogEvent (referenced from: java.lang.Object com.sumup.base.analytics.observability.exporters.OtelExporter.export(com.sumup.observabilitylib.tracking.event.LogEvent, com.sumup.observabilitylib.core.ExportContext, kotlin.coroutines.Continuation) and 8 other contexts) Missing class com.sumup.observabilitylib.tracking.event.LogLevel (referenced from: void com.sumup.base.analytics.observability.exporters.PythiaExporter$WhenMappings.<clinit>() and 3 other contexts) Missing class com.sumup.observabilitylib.tracking.exception.ExceptionLogger (referenced from: void com.sumup.base.analytics.reporting.CrashlyticsHelper.logException(java.lang.Throwable)) Missing class com.sumup.observabilitylib.tracking.exception.LogException (referenced from: java.lang.Object com.sumup.base.analytics.observability.exporters.OtelExporter.export(com.sumup.observabilitylib.tracking.exception.LogException, com.sumup.observabilitylib.core.ExportContext, kotlin.coroutines.Continuation) and 9 other contexts) Missing class com.sumup.observabilitylib.tracking.metric.LogMetric (referenced from: java.lang.Object com.sumup.base.analytics.observability.exporters.OtelExporter.export(com.sumup.observabilitylib.tracking.metric.LogMetric, com.sumup.observabilitylib.core.ExportContext, kotlin.coroutines.Continuation) and 6 other contexts) Missing class com.sumup.observabilitylib.tracking.metric.MetricLogger (referenced from: void com.sumup.identity.auth.tracking.IdentityObservabilityLoggerImpl.logLoginMobileSteps(boolean, java.lang.String, java.lang.String, boolean, boolean, java.lang.Throwable)) Missing class com.sumup.pythia.kit.CounterMetric (referenced from: com.sumup.pythia.kit.CounterMetric com.sumup.identity.auth.tracking.RefreshTokenMetric.counterMetric and 5 other contexts) Missing class com.sumup.pythia.kit.DeviceIdDao (referenced from: com.sumup.pythia.kit.DeviceIdDao com.sumup.base.analytics.monitoring.PythiaLoggerHelper.mDeviceIdDao and 4 other contexts) Missing class com.sumup.pythia.kit.LogLevel (referenced from: java.lang.Object com.sumup.base.analytics.observability.exporters.PythiaExporter.export(com.sumup.observabilitylib.tracking.event.LogEvent, com.sumup.observabilitylib.core.ExportContext, kotlin.coroutines.Continuation) and 5 other contexts) Missing class com.sumup.pythia.kit.Logger (referenced from: void com.sumup.base.analytics.monitoring.PythiaLoggerHelper$1.run(com.sumup.pythia.kit.Pythia) and 1 other context) Missing class com.sumup.pythia.kit.Metric (referenced from: void com.sumup.base.analytics.monitoring.PythiaLogEvent.<init>(com.sumup.base.analytics.monitoring.LogType, java.lang.String, java.util.Map, com.sumup.pythia.kit.Metric[]) and 11 other contexts) Missing class com.sumup.pythia.kit.PreferencesDeviceIdDao (referenced from: com.sumup.base.analytics.monitoring.PythiaMonitoringLogger com.sumup.base.analytics.di.HiltBaseAnalyticsModule$Companion.providePythiaMonitoringLogger(android.content.Context, com.sumup.base.analytics.model.AppConfiguration) and 1 other context) Missing class com.sumup.pythia.kit.Pythia$DefaultTagsProvider (referenced from: void com.sumup.base.analytics.monitoring.PythiaLoggerHelper.setMerchantCode(java.lang.String) and 2 other contexts) Missing class com.sumup.pythia.kit.Pythia$Environment (referenced from: com.sumup.pythia.kit.Pythia com.sumup.base.analytics.di.HiltBaseAnalyticsModule$Companion.providePythiaObservabilityLib(android.content.Context, com.sumup.base.analytics.model.AppConfiguration) and 6 other contexts) Missing class com.sumup.pythia.kit.Pythia (referenced from: com.sumup.pythia.kit.Pythia com.sumup.base.analytics.monitoring.PythiaLoggerHelper.mCurrentPythia and 15 other contexts) Missing class io.opentelemetry.api.OpenTelemetry (referenced from: io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTelemetry com.sumup.base.analytics.observability.exporters.otel.OtelOkhttpFactoryImpl$okHttpTelemetry$2.invoke()) Missing class io.opentelemetry.api.common.AttributeKey (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelHttpCustomAttributesExtractor.onStart(io.opentelemetry.api.common.AttributesBuilder, io.opentelemetry.context.Context, okhttp3.Request)) Missing class io.opentelemetry.api.common.Attributes (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelHttpCustomAttributesExtractor.onStart(io.opentelemetry.api.common.AttributesBuilder, io.opentelemetry.context.Context, okhttp3.Request) and 2 other contexts) Missing class io.opentelemetry.api.common.AttributesBuilder (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelHttpCustomAttributesExtractor.onEnd(io.opentelemetry.api.common.AttributesBuilder, io.opentelemetry.context.Context, java.lang.Object, java.lang.Object, java.lang.Throwable) and 4 other contexts) Missing class io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setContextPropagator(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.context.Context (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelHttpCustomAttributesExtractor.onEnd(io.opentelemetry.api.common.AttributesBuilder, io.opentelemetry.context.Context, java.lang.Object, java.lang.Object, java.lang.Throwable) and 4 other contexts) Missing class io.opentelemetry.context.propagation.ContextPropagators (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setContextPropagator(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.context.propagation.TextMapPropagator (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setContextPropagator(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setTracerProvider(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporterBuilder (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setTracerProvider(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor (referenced from: io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTelemetry com.sumup.base.analytics.observability.exporters.otel.OtelOkhttpFactoryImpl$okHttpTelemetry$2.invoke() and 1 other context) Missing class io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTelemetry (referenced from: io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTelemetry com.sumup.base.analytics.observability.exporters.otel.OtelOkhttpFactoryImpl$okHttpTelemetry$2.invoke() and 2 other contexts) Missing class io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTelemetryBuilder (referenced from: io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTelemetry com.sumup.base.analytics.observability.exporters.otel.OtelOkhttpFactoryImpl$okHttpTelemetry$2.invoke()) Missing class io.opentelemetry.sdk.OpenTelemetrySdk (referenced from: io.opentelemetry.sdk.OpenTelemetrySdk com.sumup.base.analytics.observability.exporters.OtelExporter.openTelemetrySdk and 15 other contexts) Missing class io.opentelemetry.sdk.OpenTelemetrySdkBuilder (referenced from: io.opentelemetry.sdk.OpenTelemetrySdk com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.getOtelSDK() and 2 other contexts) Missing class io.opentelemetry.sdk.common.CompletableResultCode (referenced from: io.opentelemetry.sdk.common.CompletableResultCode com.sumup.base.analytics.observability.exporters.otel.signal.DebuggableSpanExporter.export(java.util.Collection) and 2 other contexts) Missing class io.opentelemetry.sdk.trace.ReadWriteSpan (referenced from: void com.sumup.base.analytics.observability.exporters.otel.signal.DebuggableSpanProcessor.onStart(io.opentelemetry.context.Context, io.opentelemetry.sdk.trace.ReadWriteSpan)) Missing class io.opentelemetry.sdk.trace.ReadableSpan (referenced from: void com.sumup.base.analytics.observability.exporters.otel.signal.DebuggableSpanProcessor.onEnd(io.opentelemetry.sdk.trace.ReadableSpan)) Missing class io.opentelemetry.sdk.trace.SdkTracerProvider (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setTracerProvider(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.sdk.trace.SdkTracerProviderBuilder (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setTracerProvider(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.sdk.trace.SpanProcessor (referenced from: io.opentelemetry.sdk.trace.SpanProcessor com.sumup.base.analytics.observability.exporters.otel.signal.DebuggableSpanProcessor.delegateSpanProcessor and 7 other contexts) Missing class io.opentelemetry.sdk.trace.export.BatchSpanProcessor (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setTracerProvider(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.sdk.trace.export.BatchSpanProcessorBuilder (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelAppConfigurator.setTracerProvider(io.opentelemetry.sdk.OpenTelemetrySdkBuilder)) Missing class io.opentelemetry.sdk.trace.export.SpanExporter (referenced from: io.opentelemetry.sdk.trace.export.SpanExporter com.sumup.base.analytics.observability.exporters.otel.signal.DebuggableSpanExporter.delegateSpanExporter and 6 other contexts) Missing class io.opentelemetry.semconv.trace.attributes.SemanticAttributes (referenced from: void com.sumup.base.analytics.observability.exporters.otel.OtelHttpCustomAttributesExtractor.onStart(io.opentelemetry.api.common.AttributesBuilder, io.opentelemetry.context.Context, okhttp3.Request)) Missing class javax.naming.Binding (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries()) Missing class javax.naming.NamingEnumeration (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries() and 2 other contexts) Missing class javax.naming.NamingException (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries() and 3 other contexts) Missing class javax.naming.directory.Attribute (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries() and 2 other contexts) Missing class javax.naming.directory.Attributes (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries() and 2 other contexts) Missing class javax.naming.directory.DirContext (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries() and 4 other contexts) Missing class javax.naming.directory.InitialDirContext (referenced from: java.util.List org.spongycastle.cert.dane.fetcher.JndiDANEFetcherFactory$1.getEntries() and 2 other contexts) Missing class javax.naming.directory.SearchControls (referenced from: java.util.Set org.spongycastle.jce.provider.X509LDAPCertStoreSpi.search(java.lang.String, java.lang.String, java.lang.String[]) and 1 other context) Missing class javax.naming.directory.SearchResult (referenced from: java.util.Set org.spongycastle.jce.provider.X509LDAPCertStoreSpi.search(java.lang.String, java.lang.String, java.lang.String[]) and 1 other context) Missing class org.joda.convert.FromString (referenced from: org.joda.time.DateTime org.joda.time.DateTime.parse(java.lang.String) and 1 other context) Missing class org.joda.convert.ToString (referenced from: java.lang.String org.joda.time.DateTimeZone.getID() and 5 other contexts)

Looking back at the history of this library I don't think anyone will take the time to even bother answering back but I had to try, at least for other users forced to update to AGP 8.0.

Probably you have forgotten to add:
-dontwarn com.sumup.** -dontwarn javax.naming.** -dontwarn org.joda.**

to a consumer-mappings.txt
Just to let other people know.

@blackwiz4rd
Copy link

blackwiz4rd commented Apr 21, 2023

Thanks a lot for creating this issue.
Basically to solve you need to add in the module where you implement sumup, the following to consumer-rules.pro and proguard-rules.pro:

# https://github.com/sumup/sumup-android-sdk/issues/203
# impossible to build with agp 8.0 otherwise
-dontwarn com.sumup.**
-dontwarn javax.naming.**
-dontwarn org.joda.**

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants