Найдено несколько файлов с независимым от ОС путем «META-INF / proguard / androidx-annotations.pro» - PullRequest
0 голосов
/ 26 сентября 2018

я пытаюсь android WorkManager , код выдает ошибку " Найдено более одного файла с независимым от ОС путем" META-INF / proguard / androidx-annotations.pro"во время работы я попробовал следующий ответ , это не помогло.

Зависимости WorkManager

build.gradle (приложение)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "rock.dmx.xaro.workmanagerexample"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }


}

dependencies {
    def work_version = "1.0.0-alpha09"
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation "android.arch.work:work-runtime:$work_version"
}

Ответы [ 4 ]

0 голосов
/ 21 января 2019

Добавление этого файла в мои приложения build.gradle решило мою проблему.

android {
  packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/ASL2.0'
  }
}
0 голосов
/ 29 сентября 2018

Можно использовать добавить в build.gradle (приложение) (отвечает TheStrikeBone )

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

ИЛИ понизить android.arch.work версию до 1.0.0-alpha08

dependencies {
    implementation 'android.arch.work:work-runtime:1.0.0-alpha08'
}
0 голосов
/ 20 октября 2018

Я получил ту же ошибку, когда добавил следующее в раздел зависимостей build.gradle моего приложения:

implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"

После перехода на AndroidX :

  1. В Android Studio в меню Refactor выберите Перенос на AndroidX ...
  2. , лучше отметьте опцию сделайте резервную копию вашего проекта в виде zip-файла на случай, если миграция не удалась,
  3. , а затем, нажав Migrate , вы сможете выбрать место для сохранения zip-архива.

теперь я могу без проблем собрать.


Моя настройка

Android Studio 3.2.1JRE: 1.8.0_152-release-1136-b06 x86_64JVM: 64-разрядная серверная виртуальная машина OpenJDK от JetBrainsmacOS 10.13.6

0 голосов
/ 26 сентября 2018

В настоящее время это известная проблема. Замечания по выпуску компонентов архитектуры описывают проблему и предоставляют решение для ее устранения до alpha10 версии библиотеки диспетчера работ:

Известная проблема

Если вы столкнулись со следующей проблемой: «Обнаружено более одного файла с независимым от ОС путем« META-INF / proguard / androidx-annotations.pro »», пожалуйста, поместите следующее в ваш gradleфайл как временное решение, пока мы исправляем проблему в alpha10:

 android {
     packagingOptions {
         exclude 'META-INF/proguard/androidx-annotations.pro'
     }
 }

Итак, в вашем случае раздел Android должен выглядеть следующим образом:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "rock.dmx.xaro.workmanagerexample"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    // Temporary fix until alpha10
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

Проблема должна бытьадрес правильно в 1.0.0-alpha10 версии WorkManager.

...