Skip to main content
The native AAR pulls in standard AndroidX and Kotlin libraries:
  • org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2
  • org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2
  • org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0
  • androidx.lifecycle:lifecycle-runtime-ktx:2.6.2
  • androidx.lifecycle:lifecycle-process:2.6.2
  • androidx.datastore:datastore-preferences:1.0.0
Host projects do not configure any of this. The SDK ships these in a Unity .androidlib subproject at Packages/com.almedia.sdk/Plugins/Android/AlmediaSDK.androidlib/. Unity links the subproject into the generated Gradle project automatically; the dependencies resolve as part of the standard Android build. This works with and without EDM4U:
  • Without EDM4U: the .androidlib is the sole source. no Gradle template edits.
  • With EDM4U: EDM4U also resolves Packages/com.almedia.sdk/Editor/AlmediaSDKDependencies.xml and injects the same Maven coordinates. Gradle dedupes by coordinate, so there is one copy of each library in the final APK.

Build-tools / compile SDK

The .androidlib’s build.gradle reads unity.compileSdkVersion and unity.buildToolsVersion Gradle properties when present (Unity 6 / 2023.3 LTS+ injects them), so it always matches the SDK components Unity bundled. On Unity 2022.3, which doesn’t inject these properties, it falls back to compileSdk 34 and buildToolsVersion 34.0.0 — the values that ship with current 2022.3 patches.

minSdkVersion

The .androidlib declares minSdk 23. Host apps with a lower Minimum API Level (Player Settings → Android → Other Settings) will fail at manifest merge with a clear error.