Как использовать транзитивную зависимость в KMM android?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Как использовать транзитивную зависимость в KMM android?

Сообщение Гость »


плагины { котлин("мультиплатформенность") идентификатор("com.android.library") id("com.chromaticnoise.multiplatform-swiftpackage") версия "2.0.3" } @OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class) котлин { targetHierarchy.default() андроид { компиляции.все { котлинОпции { jvmTarget = "1,8" } } } Список( iOSX64(), iosArm64(), iosSimulatorArm64() ).для каждого { it.binaries.framework { baseName = "общий" } } мультиплатформенныйSwiftPackage { SwiftToolsVersion("5.3") целевые платформы { iOS { v("13") } } } исходные наборы { val commonMain, получив { зависимости { //поместите сюда свои мультиплатформенные зависимости } } val commonTest, получив { зависимости { реализация(котлин("тест")) } } } } андроид { пространство имен = "com.demo.kmmlibrary" компилироватьSdk = 33 defaultConfig { минСдк = 24 } зависимости { //ДАННЫЕ РОМА СОБАКИ api("com.datadoghq:dd-sdk-android-rum:2.1.0") { isTransitive = истина } //ВЕБ-ПРОСМОТР ДАННЫХ СОБАКИ api("com.datadoghq:dd-sdk-android-webview:2.1.0") { isTransitive = истина } // ЖУРНАЛ ДАННЫХ СОБАКИ api("com.datadoghq:dd-sdk-android-logs:2.1.0") { isTransitive = истина } } } Вот что я хочу, так это то, что когда другой проект использует мою библиотеку KMM, он должен автоматически или каким-то образом получить эти зависимости datadog и использовать их для проекта.

Или что-то вроде моей библиотеки должно быть экспортировано с этими заданными зависимостями, по сути, я не хочу, чтобы эти зависимости добавлялись разработчиками, когда они используют мою библиотеку.

В настоящее время, если кто-то использует мою библиотеку, он получает эту ошибку:

ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.dem.hellapp, PID: 11880. java.lang.NoClassDefFoundError: Не удалось разрешить: Lcom/datadog/android/core/configuration/Configuration$Builder; на com.demo.kmmlibrary.SampleApplication.onCreate(SampleApplication.kt:18) на com.demo.shellapp.ShellApplication.onCreate(ShellApplication.kt:9) в android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1277) в android.app.ActivityThread.handleBindApplication(ActivityThread.java:6759) в android.app.ActivityThread.-$$Nest$mhandleBindApplication (неизвестный источник: 0) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loopOnce(Looper.java:201) в android.os.Looper.loop(Looper.java:288) в android.app.ActivityThread.main(ActivityThread.java:7872) в java.lang.reflect.Method.invoke (собственный метод) по адресу com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Вызвано: java.lang.ClassNotFoundException: не найден класс "com.datadog.android.core.configuration.Configuration$Builder" по пути: DexPathList[[zip file "/data/app/~~P6ino9o4vHcXj82NbHs7kg==/com" .dem.hellapp-9iavDFP1eTMvUtUeB9ZvSg==/base.apk"],nativeLibraryDirectories=[/data/app/~~P6ino9o4vHcXj82NbHs7kg==/com.dem.hellapp-9iavDFP1eTMvUtUeB9ZvSg==/lib/x86_64, /system/lib64, / system_ext /lib64]] в dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) в java.lang.ClassLoader.loadClass(ClassLoader.java:379) в java.lang.ClassLoader.loadClass(ClassLoader.java:312) на com.demo.kmmlibrary.SampleApplication.onCreate(SampleApplication.kt:18) на com.demo.shellapp.ShellApplication.onCreate(HellApplication.kt:9) в android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1277) в android.app.ActivityThread.handleBindApplication(ActivityThread.java:6759) в android.app.ActivityThread.-$$Nest$mhandleBindApplication (неизвестный источник: 0) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loopOnce(Looper.java:201) в android.os.Looper.loop(Looper.java:288) в android.app.ActivityThread.main(ActivityThread.java:7872) в java.lang.reflect.Method.invoke (собственный метод) по адресу com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) по адресу com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»