Zachary Sistrunk
06/10/2026, 4:46 PMandroid-agent import, they said to import the android agent BOM alongside the agent itself, as the versions of dependencies in the agent were unversioned and needed the BOM to be resolved. Gradle handled it fine, but Kotlin Toolchain wasn't able to resolve the versions. It may have something to do with how the BOM was built, it imported other BOMs itself.
Second, without being able to use dependency exclusions, I ran into a conflict between tink and tink-android. They both contain the same classes, so you can't have them both on the classpath of an Android build or it will fail to build due to duplicate class definitions. In my case, I had two dependencies that each imported one: androidx.security:security-crypto imports tink-android, while org.unifiedpush.android:connector imports tink.alexey.barsov
06/11/2026, 4:58 AMtink and tink-android on classpath. Thanks in advanceZachary Sistrunk
06/11/2026, 8:56 PMalexey.barsov
06/18/2026, 9:15 AMmodule.yaml of the repro project)
• duplicated class declaration might be resolved by adding tink into the module-wide list of excluded libraries.
product: android/app
dependencies:
- org.unifiedpush.android:connector:3.3.3
- androidx.security:security-crypto:1.1.0-alpha06
# Dependency resolution will fail due to issue 1. Comment the below two lines to test issue 2.
- bom: io.opentelemetry.android:opentelemetry-android-bom:1.4.0-alpha
- bom: io.opentelemetry:opentelemetry-bom:1.62.0
- bom: io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.28.0
- io.opentelemetry.android:android-agent:1.4.0
settings:
android:
namespace: dev.sistrunk.reproducer
compileSdk: 36
minSdk: 26
targetSdk: 36
applicationId: dev.sistrunk.reproducer
internal:
excludeDependencies:
- com.google.crypto.tink:tinkZachary Sistrunk
06/25/2026, 12:04 PMMETA-INF/versions/9/OSGI-INF/MANIFEST.MF
I don't have a repro for this at the moment, but these were the two dependencies that the build called out as conflicting.
◦ org.jspecifyjspecify1.0.0
◦ io.opentelemetryopentelemetry exporter common1.63.0
Right now my workaround for this one is a plugin that takes the Classpath as an input and modifies the dependency JARs to strip that file out. It works, but the modification of the classpath in that manner breaks execution avoidance, so now my Android build runs every time.alexey.barsov
06/25/2026, 12:09 PMZachary Sistrunk
06/25/2026, 12:18 PMalexey.barsov
06/25/2026, 4:51 PMAnton Prokhorov
07/02/2026, 4:46 PMZachary Sistrunk
07/03/2026, 6:28 PMAnton Prokhorov
07/06/2026, 10:05 AMDo you still need itYes, it would be delightful if you made it
Anton Prokhorov
07/14/2026, 11:21 AMsettings:
android:
resourcePackaging:
excludes:
- META-INF/versions/9/OSGI-INF/MANIFEST.MFAnton Prokhorov
07/14/2026, 11:22 AM