Build funktioniert in debug, schlägt in release - ZipException doppelten Eintrag

8

Ich aktualisiere eine Anwendung von 2.3 auf Nougat (SDK 25). Wenn ich com.android.support:appcompat-v7:25.0.0 hinzufüge, um ActivityCompat.requestPermissions zu unterstützen. Wenn ich dies im Debug-Modus ausführe, läuft die Anwendung ohne Probleme, aber die Ausführung mit ./gradlew assembleDebug verursacht den folgenden Fehler:

%Vor%

Wenn ich dies im Debug-Modus ausführe, baut die Anwendung ohne Probleme auf. Wenn ich jedoch versuche, Build APK , bekomme ich den Fehler oben.

Gibt es eine Möglichkeit, das doppelte Paket aufzuspüren? Ich habe Folgendes ausgeführt:

%Vor%

Hier ist mein build.gradle

%Vor%

Dateien in libs : armeabi/libcryptowrapper.so Dateien in lib :

%Vor%

Beim Hinzufügen von exclude module: 'support-v4' zu appcompat-v7 schlägt das Erstellen fehl und das Debug-Protokoll zeigt an, dass die Hauptaktivität nicht mit index out of bound, length: 0, index: 3 geladen werden kann:

%Vor%

Ausführen

%Vor%

Running ./gradlew :dependencies , da ich anscheinend keinen Projektnamen habe:

%Vor%     
Rijvi Rajib 04.11.2016, 04:00
quelle

4 Antworten

0

Danke für die Bearbeitung der Frage. Da es so viele Jar-Bibliotheken gibt, ist es für uns fast unmöglich, den Fehler zu replizieren.

Also, hier ist etwas zu versuchen. Da Sie angegeben haben, dass der Fehler aufgetreten ist, nachdem Sie die com.android.support:appcompat-v7:25.0.0 lib hinzugefügt haben, gehen Sie folgendermaßen vor:

%Vor%

Sehen Sie, ob es funktioniert oder ob sich der Fehler ändert

BEARBEITEN:

Sie haben den folgenden Befehl ausgeführt: ./gradlew -q dependencies :dependencies --configuration compile

Können Sie diesen Befehl in Ihrem Android Studio-Terminal ausführen und die Abhängigkeiten debugApk und releaseApk in Ihrer Frage veröffentlichen.

Befehl (ändern Sie die App zu Ihrem Modulnamen, falls dieser anders ist):

%Vor%     
ᴛʜᴇᴘᴀᴛᴇʟ 04.11.2016 04:43
quelle
0

Ich schätze, einige der Abhängigkeiten, die Sie hinzugefügt haben, haben appcompat-v4 in sich, was den Fehler verursacht, nicht ganz sicher

Mögliche Lösungen:

  • Entfernen Sie zip4j_1.3.2.jar und fügen Sie sie erneut hinzu compile 'com.android.support:appcompat-v7:24.2.0'

  • Der Vorschlag von @ th3pat3l: add

compile (compile 'com.android.support:appcompat-v7:25.0.0') { exclude module: 'support-v4' }

Tipp für Api-Versionen & gt; 14:

  • Vermeide die Verwendung von Jars, da sie gepackt sind, und du kannst sie kaum ändern. Versuche stattdessen, sie in der Build.gradle-Datei des Projekts zu verwenden, indem du ein einfaches compile ''xxx.xx.xx hinzufügst.
Zulqurnain Jutt 21.11.2016 09:18
quelle
0

Ich bin auch auf dieses Problem gestoßen, als ich das alte Eclipse-Projekt importiert habe. Es ist eine alte Abhängigkeit als JAR-Datei im Projekt aufgetreten.
Erster Weg einfach entfernen

%Vor%

in Gradle-Datei

und fügen Sie eine Abhängigkeit in der Gradle-Datei hinzu.

Es funktioniert für mich ..

Zweiter Weg Sie haben das wahrscheinlich schon behoben, aber damit das nicht unbeantwortet bleibt, versuchen Sie, dies zu Ihrem build.gradle:

hinzuzufügen %Vor%     
Shailesh 21.11.2016 16:06
quelle
0

Versuchen Sie, das Projekt zu bereinigen und aus Android Studio neu zu erstellen

    
koolkoda 21.11.2016 20:14
quelle

Tags und Links