web-dev-qa-db-de.com

Fehler beim Erstellen einer APK-Datei in Android Studio 2.1.1

Vor ein paar Tagen habe ich mein Android Studio aktualisiert und jetzt habe ich ein Problem.

Eigentlich versuche ich, eine APK-Datei aus meinem Projekt zu erstellen, um meine App auf einem echten Gerät zu testen, und wenn ich auf Build -> Build Apk klicke, erhalte ich einige Fehler in Message Gradle Build. Ich weiß nicht, warum diese Fehler kommen, bitte erläutern Sie auch den Grund.

Fehler  

  1. Fehler: Fehler beim Konvertieren von Bytecode in Dex:
    Ursache: com.Android.dex.DexException: Mehrere Dex-Dateien definieren Lcom/Android/Volley/VolleyError.

  2. Fehler: Ausführung fehlgeschlagen für Task ': app: transformClassesWithDexForDebug'. com.Android.build.api.transform.TransformException: com.Android.ide.common.process.ProcessException: Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException: org .gradle.process.internal.ExecException: Process 'Befehl' C:\Programme\Java\jdk1.8.0_51\bin\Java.exe '' wurde mit dem Exit-Wert ungleich Null beendet

build.gradle Datei  

 apply plugin: 'com.Android.application'

Android {
    signingConfigs {
    }

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.dovezeal.gapp"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7

    }

}



dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.Android.support:appcompat-v7:23.0.1'
    //compile 'com.Android.support:appcompat-v7:23.3.0'

    compile 'com.Android.support:support-v4:23.3.0'
    compile 'com.Android.support:design:23.0.1'
    compile 'com.Android.support:design:23.1.1'

    // Volley
    compile 'com.Android.volley:volley:1.0.0'
    //compile 'com.mcxiaoke.volley:library:1.0.+'
    /* compile files('libs/com.mcxiaoke.volley library-1.0.0.jar')*/


    // RecyclerView
    compile 'com.Android.support:recyclerview-v7:23.0.+'

    // A simple way to define and render UI specs on top of your Android UI.
    compile 'org.lucasr.dspec:dspec:0.1.1'

    compile files('libs/library-1.0.0.jar')

    // YouTube Player
    compile files('libs/YouTubeAndroidPlayerApi.jar')

    // GOSN
   /* compile files('libs/gson-2.2.3.jar')*/




}

Bearbeiten - 1

Wie janki gadhiya in ihrem Kommentar unten sagte, minifyEnabled true ändern und versuchen, multiDexEnabled true unter defaultConfig hinzuzufügen 
Mit diesen Änderungen sind beide Fehler weg, aber nun wird der folgende Fehler angezeigt.

  1. Fehler: Ausführung fehlgeschlagen für Task: app: transformClassesWithJarMuingForDebug ' Com.Android.build.api.transform.TransformException: Java.util.Zip.ZipException: doppelter Eintrag: com/Android/volley/Request $ Priority .Klasse
7
Arsh Kaushal

build.gradle -Datei

apply plugin: 'com.Android.application'

Android {
signingConfigs {
}

compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.dovezeal.gapp"
    minSdkVersion 19
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/notice.txt'
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-Android.txt')
    }
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7

}

}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:appcompat-v7:23.0.1'
//compile 'com.Android.support:appcompat-v7:23.3.0'
compile 'com.Android.support:support-v4:23.3.0'
compile 'com.Android.support:design:23.0.1'
compile 'com.Android.support:design:23.1.1'

// as you already compiled gradle for volley here

compile 'com.Android.volley:volley:1.0.0'

// RecyclerView
compile 'com.Android.support:recyclerview-v7:23.0.+'
compile 'org.lucasr.dspec:dspec:0.1.1'

// you don't need this so comment the below line.
//compile files('libs/library-1.0.0.jar')

// YouTube Player
compile files('libs/YouTubeAndroidPlayerApi.jar')

}

Bearbeiten: Erklärungen

Ihre Fehler 1 - 2 : bedeuten, dass Sie mehr als 65.000 Methoden in Ihrem Projekt haben, also habe ich Ihnen gesagt, multiDexEnable true zu setzen.

Ihr Fehler 3 : bedeutet, dass Sie mehr als eine Bibliothek mit der Implementierung für die Klasse Request$Priority.class haben. Der Compiler ist also verwirrt bei der Auswahl. Es zeigt also den error Duplicate entry . Dies wird durch packaging options gelöst, so dass Sie doppelte Dateien verwenden können.

29
Janki Gadhiya

Fügen Sie dies in Ihrem Build Gradle hinzu

    dexOptions {
            incremental true
            javaMaxHeapSize "4g"    
}



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'
    }
1
J.D.

Ich bekomme auch den gleichen Fehler. Beim Hinzufügen von kompilieren Sie 'com.google.firebase: firebase-ads: 10.2.0' aber es wird entfernt, wenn ich wie folgt vorgehe:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.Android.support', module: 'support-annotations'
})

compile 'com.google.firebase:firebase-ads:10.2.0'
}

apply plugin: 'com.google.gms.google-services'**

und in BuildVarient verwenden Sie den Debugging-Modus.

Ich denke es wird dir helfen.

1
Jatinder Kumar

versuchen Sie während der Aktualisierung von Firebase alle Google Play-Dienste, alle Bibliotheken zu aktualisieren. das hat für mich funktioniert. Ich hoffe es funktioniert in einigen Fällen.

0
Uma Achanta