Autore Topic: Problema con librerie esterne  (Letto 125 volte)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Problema con librerie esterne
« il: 26 Ottobre 2016, 12:37:07 CEST »
0
ciao!

ad un mio progetto ho necessità di aggiungere due librerie informato jar.
le ho scaricate dal sito e aggiunte alla directory app/libs.
nel momento  in cui provo ad avviare il progetto nell'emulatore mi compare questo:
Codice: [Seleziona]
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
          File1: /home/matte/Desktop/Films/app/libs/httpcore-4.4.4.jar
          File2: /home/matte/Desktop/Films/app/libs/httpclient-4.5.2.jar
questo il file app/build.gradle:
Codice: [Seleziona]
apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"
    defaultConfig {
        applicationId "films.mp.com.films"
        minSdkVersion 23
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}
come posso risolvere??

Post unito: 26 Ottobre 2016, 17:28:07 CEST
ho cancellato i due jar, e cambiato il build.gradle così:
Codice: [Seleziona]
apply plugin: 'com.android.application'

android {
    useLibrary 'org.apache.http.legacy'
    compileSdkVersion 24
    buildToolsVersion "24.0.0"
    defaultConfig {
        applicationId "films.mp.com.films"
        minSdkVersion 23
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.5'
    compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
    testCompile 'junit:junit:4.12'
}
in pratica da maven, specificando di usare la libreria 'org.apache.http.legacy'.
così non va a incrociarsi con quella di android.
ciao!
« Ultima modifica: 26 Ottobre 2016, 17:28:07 CEST da fermat, Reason: Merged DoublePost »