Kotline Multiplatform Mobile: имя записи «META-INF/androidx.vectordrawable_vectordrawable.version» столкнулось

Я новичок в многоплатформенном мобильном телефоне kotlin и пробую его. Я получаю эту проблему при создании подписанного apk внутри студии Android 4.0.1 с помощью Build › Generate Signed Bundled/Apk.... Ошибка сборки, которая выдает это сообщение

Entry name 'META-INF/androidx.vectordrawable_vectordrawable.version' collided

Я пробовал следующие шаги:

  1. Файл › Invalidate Cache/Restart
  2. Сборка › Чистый проект
  3. Построить › Перестроить проект

Также попытался удалить apk из папки приложения и повторить процесс. Все еще есть эта проблема.

Это результат сборки:

Executing tasks: [:androidApp:assembleDebug, :androidApp:assembleRelease] in project C:\Users\localpc\AndroidStudioProjects\MyApplication


> Configure project :shared
Kotlin Multiplatform Projects are an Alpha feature.

Some Kotlin/Native targets cannot be built on this mingw_x64 machine and are disabled:
    * In project ':shared':
        * targets 'iosArm64', 'iosX64' (can be built with a macos_x64 host)
To hide this message, add 'kotlin.native.ignoreDisabledTargets=true' to the Gradle properties.


> Task :androidApp:preBuild UP-TO-DATE
> Task :androidApp:preDebugBuild UP-TO-DATE
> Task :shared:preBuild UP-TO-DATE
> Task :shared:preDebugBuild UP-TO-DATE
> Task :shared:compileDebugAidl NO-SOURCE
> Task :androidApp:compileDebugAidl NO-SOURCE
> Task :shared:packageDebugRenderscript NO-SOURCE
> Task :androidApp:compileDebugRenderscript NO-SOURCE
> Task :androidApp:generateDebugBuildConfig UP-TO-DATE
> Task :androidApp:generateDebugResValues UP-TO-DATE
> Task :androidApp:generateDebugResources UP-TO-DATE
> Task :shared:compileDebugRenderscript NO-SOURCE
> Task :shared:generateDebugResValues UP-TO-DATE
> Task :shared:generateDebugResources UP-TO-DATE
> Task :shared:packageDebugResources UP-TO-DATE
> Task :androidApp:mergeDebugResources UP-TO-DATE
> Task :androidApp:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :androidApp:extractDeepLinksDebug UP-TO-DATE
> Task :shared:extractDeepLinksDebug UP-TO-DATE
> Task :shared:processDebugManifest UP-TO-DATE
> Task :androidApp:processDebugManifest UP-TO-DATE
> Task :shared:compileDebugLibraryResources UP-TO-DATE
> Task :shared:parseDebugLocalResources UP-TO-DATE
> Task :shared:generateDebugRFile UP-TO-DATE
> Task :androidApp:processDebugResources UP-TO-DATE
> Task :shared:generateDebugBuildConfig UP-TO-DATE
> Task :shared:compileDebugKotlinAndroid UP-TO-DATE
> Task :shared:javaPreCompileDebug UP-TO-DATE
> Task :shared:compileDebugJavaWithJavac UP-TO-DATE
> Task :shared:bundleLibCompileToJarDebug UP-TO-DATE
> Task :androidApp:compileDebugKotlin UP-TO-DATE
> Task :androidApp:javaPreCompileDebug UP-TO-DATE
> Task :androidApp:compileDebugJavaWithJavac UP-TO-DATE
> Task :androidApp:compileDebugSources UP-TO-DATE
> Task :androidApp:mergeDebugShaders UP-TO-DATE
> Task :androidApp:compileDebugShaders NO-SOURCE
> Task :androidApp:generateDebugAssets UP-TO-DATE
> Task :shared:mergeDebugShaders UP-TO-DATE
> Task :shared:compileDebugShaders NO-SOURCE
> Task :shared:generateDebugAssets UP-TO-DATE
> Task :shared:packageDebugAssets UP-TO-DATE
> Task :androidApp:mergeDebugAssets UP-TO-DATE
> Task :androidApp:processDebugJavaRes NO-SOURCE
> Task :shared:processDebugJavaRes NO-SOURCE
> Task :shared:bundleLibResDebug UP-TO-DATE
> Task :androidApp:mergeDebugJavaResource UP-TO-DATE
> Task :androidApp:checkDebugDuplicateClasses UP-TO-DATE
> Task :androidApp:mergeExtDexDebug UP-TO-DATE
> Task :shared:bundleLibRuntimeToJarDebug UP-TO-DATE
> Task :androidApp:dexBuilderDebug UP-TO-DATE
> Task :androidApp:mergeLibDexDebug UP-TO-DATE
> Task :androidApp:mergeProjectDexDebug UP-TO-DATE
> Task :androidApp:mergeDebugJniLibFolders UP-TO-DATE
> Task :shared:mergeDebugJniLibFolders UP-TO-DATE
> Task :shared:mergeDebugNativeLibs UP-TO-DATE
> Task :shared:stripDebugDebugSymbols NO-SOURCE
> Task :shared:copyDebugJniLibsProjectOnly UP-TO-DATE
> Task :androidApp:mergeDebugNativeLibs UP-TO-DATE
> Task :androidApp:stripDebugDebugSymbols NO-SOURCE
> Task :androidApp:validateSigningDebug UP-TO-DATE
> Task :androidApp:packageDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':androidApp:packageDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Entry name 'META-INF/androidx.vectordrawable_vectordrawable.version' collided

* 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
41 actionable tasks: 1 executed, 40 up-to-date

Когда я строю без подписи, он завершается успешно, но не работает при выполнении сборки apk с подписью. Не уверен, что не так. Ценю вашу помощь.


person Ravin    schedule 06.09.2020    source источник


Ответы (1)


Я не знаю, где именно конфликтует. Но исключение этого списка, кажется, решает проблему, и я могу закончить сборку подписанного apk. Обновлю больше, если я смогу понять это больше:

Добавьте это в свой build.gradle.kts (используя kotlin dsl)

android {
    compileSdkVersion(29)
    defaultConfig {
        applicationId = "com.example.myapplication.androidApp"
        minSdkVersion(24)
        targetSdkVersion(29)
        versionCode = 1
        versionName = "1.0"
    }
    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
        }
    }

    ////// ADD THIS PART //////////
    packagingOptions {
        exclude("META-INF/androidx.vectordrawable_vectordrawable.version")
        exclude("META-INF/androidx.loader_loader.version")
        exclude("META-INF/androidx.lifecycle_lifecycle-livedata.version")
        exclude("META-INF/androidx.lifecycle_lifecycle-livedata.version")
        exclude("kotlin/annotation/annotation.kotlin_builtins")
        exclude("META-INF/androidx.lifecycle_lifecycle-runtime.version")
    }
}
person Ravin    schedule 06.09.2020