在打包APK app-debug-unaligned.apk期间复制文件

Huy*_*wer 49 android jar http apache-commons-httpclient android-studio

Duplicate files during packaging of APK app-debug-unaligned.apk放入2个jar文件时出现此错误:

  • httpclient-4.3.5.jar

  • httpmime-4.3.5.jar

    进入libs文件夹后Sync with GradleRun.

如果用户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原点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')
}
Run Code Online (Sandbox Code Playgroud)

UPDATE我改为compile files('libs/httpmime-4.3.5.jar')使用Maven Link.把2个maven链接放在一起后我又得到了同样的错误:

    compile 'org.apache.httpcomponents:httpmime:4.4-alpha1'
compile 'org.apache.httpcomponents:httpcore:4.4-alpha1'
Run Code Online (Sandbox Code Playgroud)

这是警告

警告:依赖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'
}
Run Code Online (Sandbox Code Playgroud)

hoo*_*omi 10

你可以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')


Gau*_*rma 8

更新build.gradle并添加以下行

android{
    .
    .
    .
    packagingOptions {
        exclude 'META-INF/license.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/NOTICE'
    }
}
Run Code Online (Sandbox Code Playgroud)

这将解决此错误.我得到了同样的错误,修复它.