Было найдено несколько файлов с независимым от ОС пути "META-INF/proguard/androidx-annotations.pro",
Я пытаюсь использовать 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"
}
Ответы
Ответ 1
Это известная проблема на данный момент. Замечания по выпуску компонентов архитектуры описывают проблему и предоставляют решение для ее исправления до версии alpha10
version of work manager library:
Известный вопрос
Если вы столкнулись с следующей проблемой: "Было найдено несколько файлов с независимым от ОС пути" 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 версии 1.0.0-alpha10
.
Ответ 2
Можно использовать add в build.gradle(app) (ответил 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'
}
Ответ 3
Я получил ту же ошибку, когда добавил следующее в раздел зависимости зависимостей app build.gradle:
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
- В Android Studio из меню Refactor выберите Migrate to AndroidX...
- лучше проверить вариант резервного копирования вашего проекта в виде zip файла в случае сбоя миграции,
- а затем после нажатия кнопки " Миграция" вы сможете выбрать местоположение, чтобы сохранить резервную копию zip.
теперь я могу построить без проблем до сих пор.
Моя настройка
Android Studio 3.2.1
JRE: 1.8.0_152-release-1136-b06 x86_64
JVM: 64-разрядная виртуальная машина OpenJDK от JetBrains
macOS 10.13.6
Ответ 4
Добавление этого в мои приложения файл 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'
}
}