Подтвердить что ты не робот

Дублировать файлы во время упаковки APK app-debug-unaligned.apk

Я получил эту ошибку 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 Gradle и Run.

Если пользователь 1 файл jar - httpmime-4.3.5.jar, я не получу эту ошибку.

Пожалуйста, помогите мне, как избежать этой ошибки и все еще можете использовать 2 файла jar в выше,

Спасибо,

p/s: Я использую Android Studio версии 0.8.6.

Error Detail

Ошибка: дублировать файлы во время упаковки APK...\приложение\сборка\выходы\APK\приложение-отладки unaligned.apk     Путь в архиве: META-INF/ЗАВИСИМОСТЬ     Происхождение 1:...\app\libs\httpclient-4.3.5.jar     Происхождение 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:[email protected]'
compile 'de.hdodenhof:circleimageview:1.2.0'
compile files('libs/httpmime-4.3.5.jar')
}

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'

Это предупреждение

Предупреждение. Зависимость org.apache.httpcomponents: httpclient: 4.4-alpha1 is игнорируется для отладки, поскольку это может противоречить внутренней версии предоставляемый 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'
}
4b9b3361

Ответ 1

Вы можете заменить 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')

Ответ 2

обновите свой build.gradle и добавьте следующие строки

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

это исправит эту ошибку. Я получил ту же ошибку, что и исправил ее.

Ответ 3

Обновите это в файле build.gradle.

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

Ответ 4

Я обновил gradle, теперь он работает

упаковкаОпции {       исключить "META-INF/DEPENDENCIES"       исключить 'META-INF/LICENSE'       исключить 'META-INF/LICENSE.txt'       исключить "META-INF/NOTICE.txt"       }

Ответ 5

добавить приведенный ниже код к зависимостям

группа компиляции: 'org.apache.httpcomponents', имя: 'httpclient-android', версия: '4.3.5'   compile (группа: 'org.apache.httpcomponents', имя: 'httpmime', версия: '4.3.5') {   exclude module: 'org.apache.httpcomponents: httpclient'   }

теперь, если вы запустите это, он покажет вам, почему он говорит, что дубликат может быть из-за META-INF/NOTICE, META-INF/LICENSE, добавьте, что сначала снова запустить, он может отображать другой тип. добавить все как показано ниже в разделе Android упаковкаОпции {       исключить 'META-INF/LICENSE.txt'       исключить "META-INF/NOTICE"       исключить 'META-INF/LICENSE'   }

определенно это решит вашу проблему.

удалите весь файл зависимостей из системы перед сборкой.