IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Studio Java Discussion :

Android Studio échoue à construire l'apk (Error converting bytecode to dex)


Sujet :

Android Studio Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Android Studio échoue à construire l'apk (Error converting bytecode to dex)
    Bonsoir à tous!

    Je viens de migrer un projet depuis Eclipse (Kepler) vers Android Studio

    L'objectif est d'intégrer une bannière publicitaire.

    Tout se passait bien sans la formule de compilation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    compile 'com.google.android.gms:play-services-ads:10.2.0'
    à partir de là, impossible de construire des apk. L'ensemble plante avant de finaliser.

    J'avais des messages incluant le terme "Dex". En fouinant sur internet, j'ai cru trouver la réponse en créant le fichier gradle.properties avec les lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.gradle.jvmargs=-Xmx2560 -XX:MaxPermSize=512m
    puis modification du build.gradle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dexOptions {
            dexInProcess = false
        }
    Malheureusement, il est toujours impossible de construire la moindre apk


    Je crois que le problème vient de l'étape


    TransformClassesWithDexForDebug qui échoue


    Le message d'erreur est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error:Error converting bytecode to dex:
    Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/app/BackStackRecord$1;

    La Gradle console indique ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    * What went wrong:
    Execution failed for task ':transformClassesWithDexForDebug'.
    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: (etc...)
    BUILD FAILED
    Du coup, je ne sais plus quoi faire et en appelle à l'expertise d'une âme charitable... ou à la charité d'une âme experte...

    Merci d'avance!

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    compile 'com.google.android.gms:play-services-ads:10.2.0'
    >> à mon avis il te manque des librairies (ou des updates)

    Mon build.gradle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 25
        buildToolsVersion '25.0.0'
        defaultConfig {
            applicationId "org.XXX.XXX"
            minSdkVersion 14
            targetSdkVersion 25
        }
        buildTypes {
            debug {
                debuggable true
                minifyEnabled false
            }
            customDebuggableBuildType {
                debuggable true
            }
            release {
                debuggable false
                shrinkResources false
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        lintOptions {
            checkReleaseBuilds false
        }
        productFlavors {
        }
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:25.0.0'
        compile 'com.android.support:design:25.0.0'
        compile 'com.android.support:support-v4:25.0.0'
        compile 'com.android.support:recyclerview-v7:25.0.0'
        compile 'com.android.support:cardview-v7:25.0.0'
    }
    Aucune trace de Dex.
    A mon avis tu ne dois pas gérer les fichiers Dex, zip...
    Ca c'était à l'époque des Netbeans
    Regarde au niveau de la config Proguard.
    J'ai pris la config par défaut sur le Net.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  3. #3
    Membre actif Avatar de jmonga
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2014
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 175
    Points : 269
    Points
    269
    Par défaut
    Dans tes librairies de dépendance tu as utiliser une librairie deux fois. Si c'est pas toi tes librairies importent d'autres librairies semblable ce qui cause la redondance.

    montre nous ton fichier
    Jonathan Monga

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Comme l'indique jmonga, la principale cause de cette erreur est l'inclusion de la même bibliothèque plusieurs fois dans le projet. Normalement, ce scénario ne peut plus survenir dans le cas de dépendance transitive, gradle le gérant directement.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre actif Avatar de jmonga
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2014
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 175
    Points : 269
    Points
    269
    Par défaut
    Avec ça mon chère Android Studio est une bête noire.
    Jonathan Monga

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Solution abrupte
    Bonsoir à tous!

    Merci pour vos réponses qui m'éclairent sur la situation. En effet, une solution (car je ne sais pas si la démarche n'aura pas des effets secondaires) a été d'effacer de mon dossier "libs" la librairie: android-support-v4.jar. Du coup, je pense qu'Android-studio n'en utilise plus qu'une, celle qui lui reste.

    Depuis, je parviens à construire des apk sans souci majeur.

    La solution semble un peu brutale, mais dans la mesure où ça marche...

    J'espère que cela aidera d'autres personnes dans le cas semblable.

    Encore merci à tous, je note la discussion comme résolue.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Error Update google play services : android studio
    Par Yasmiine dans le forum Android Studio
    Réponses: 2
    Dernier message: 18/03/2017, 13h43
  2. Réponses: 6
    Dernier message: 27/07/2016, 11h31
  3. Réponses: 1
    Dernier message: 07/01/2016, 14h50
  4. Réponses: 1
    Dernier message: 05/03/2015, 10h39
  5. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo