web-dev-qa-db-ja.com

OSに依存しないパス「META-INF / proguard / androidx-annotations.pro」で複数のファイルが見つかりました

私はAndroid WorkManager を試みています。コードはエラーをスローしています " /androidx-annotations.pro "を実行中に、次の answer を試しましたが、役に立ちませんでした。

WorkManagerの依存関係

build.gradle(app)

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"
}
53
bk7

これは現時点で既知の問題です。 アーキテクチャコンポーネントリリースノート 問題の概要を示し、ワークマネージャーライブラリのalpha10バージョンまで修正するソリューションを提供します。

既知の問題

次の問題が発生した場合:「OSに依存しないパス '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'
    }
}

WorkManagerの1.0.0-alpha10バージョンで問題を適切に解決する必要があります。

125
TSB99X

アプリのbuild.gradle依存関係セクションに次を追加すると、同じエラーが発生しました。

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

AndroidXへの移行 の後に:

  1. Android St​​udioで、Refactorメニューから、AndroidXに移行...を選択します
  2. 移行が失敗した場合に、プロジェクトをZipファイルとしてbackupするオプションをチェックしてください。
  3. Migrateをクリックすると、Zipバックアップを保存する場所を選択できます。

今では、これまで問題なくビルドできました。


私のセットアップ

Android Studio 3.2.1
JRE:1.8.0_152-release-1136-b06 x86_64
JVM:OpenJDK 64ビットサーバーVM by JetBrains
macOS 10.13.6

10

Build.gradle(app)でaddを使用できます( 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'
}
6
Ahmad Aghazadeh

これをアプリの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'
  }
}
2
Gathua Kiragu