web-dev-qa-db-ja.com

APKのパッケージ化中にファイルが重複するapp-debug-unaligned.apk

2つのjarファイルを置くと、このエラー_Duplicate files during packaging of APK app-debug-unaligned.apk_が表示されました。

  • _httpclient-4.3.5.jar_

  • _httpmime-4.3.5.jar_

    _Sync with Gradle_およびlibsの後のRunフォルダーに。

ユーザー1のjarファイル-_httpmime-4.3.5.jar_の場合、このエラーは発生しません。

このエラーを回避する方法を教えてください。また、上記の2つのjarファイルを使用することもできます。

おかげで、

p/s:Android Studioバージョン0.8.6を使用します。

_Error Detail_

エラー:APKのパッケージ化中にファイルが重複しています...\app\build\outputs\apk\app-debug-unaligned.apkアーカイブ内のパス:META-INF/DEPENDENCIES Origin 1:...\app\libs\httpclient-4.3 .5.jar Origin 2:...\app\libs\httpmime-4.3.5.jar

_build.gradle_

_Android {
compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
    applicationId 'com.app'
    minSdkVersion 9
    targetSdkVersion 20
    versionCode 1
    versionName '1.0'
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
packagingOptions {
    exclude 'META-INF/LICENSE.txt'
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:support-v4:20.0.0'
compile 'com.Android.support:appcompat-v7:20.0.0'
compile 'com.google.Android.gms:play-services:5.2.08'
compile 'com.viewpagerindicator:library:2.4.1@aar'
compile 'de.hdodenhof:circleimageview:1.2.0'
compile files('libs/httpmime-4.3.5.jar')
}
_

UPDATE Maven Linkを使用するようcompile files('libs/httpmime-4.3.5.jar')から変更しました。 2つのMavenリンクをまとめた後、同じエラーが再び発生しました:

_    compile 'org.Apache.httpcomponents:httpmime:4.4-alpha1'
compile 'org.Apache.httpcomponents:httpcore:4.4-alpha1'
_

これは警告です

警告:依存関係org.Apache.httpcomponents:httpclient:4.4-alpha1は、Androidが提供する内部バージョンと競合する可能性があるため、デバッグでは無視されます。問題が発生した場合は、jarjarで再パッケージしてクラスパッケージを変更してください

警告:依存関係org.Apache.httpcomponents:httpclient:4.4-alpha1は、Androidが提供する内部バージョンと競合する可能性があるため、リリースでは無視されます。問題が発生した場合は、jarで再パッケージしてクラスパッケージを変更してください

修正してください。

[〜#〜] soulition [〜#〜]これらの行を追加することで_Duplicate files_エラーが修正されるので、良い答えがわかりました。

_packagingOptions {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
    exclude 'META-INF/LGPL2.1'
}
_
49
Huy Tower

compile files('libs/httpmime-4.3.5.jar')をこのコンパイル_'org.Apache.httpcomponents:httpmime:4.3.5'_に置き換えることができます。

また、依存関係を複製していますcompile fileTree(include: ['*.jar'], dir: 'libs')にはすでにcompile files('libs/httpmime-4.3.5.jar')が含まれています

10
hoomi

build.gradleを更新し、次の行を追加します

Android{
    .
    .
    .
    packagingOptions {
        exclude 'META-INF/license.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/NOTICE'
    }
}

これにより、このエラーが修正されます。私は同じエラーを受け取りましたが、これを行うと修正されました。

8
Gaurav Sharma

動作するようになりましたgradleを更新しました

packagingOptions {「META-INF/DEPENDENCIES」を除外「META-INF/LICENSE」を除外「META-INF/LICENSE.txt」を除外「META-INF/NOTICE.txt」を除外}

0

これをbuild.gradleファイルに更新してください。

    packagingOptions { 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
 }
0
Sadh