Wie kann ich überprüfen, dex zählen in android?
Mein Projekt ist gradle-Datei ist als unten.
android {
compileSdkVersion 23
buildToolsVersion "25.0.1"
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
}
Kann ich sehen, DexIndexOverflowException wenn "Generate Signed APK" in Android Studio.
Error:Execution failed for task ':MyProject:transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException:
java.util.concurrent.ExecutionException:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
Ich weiß schon, dieser Fehler, und Lesen Sie das Dokument(https://developer.android.com/studio/build/multidex.html).
Nur möchte ich überprüfen, Wie viele dex überschritten hat.
Beispiel:
trouble writing output:
Too many field references: 99999; max is 65536.
You may try using --multi-dex option.
Bitte eine Lösung finden.
- Wenn Ihr build fehlschlägt, gibt es keine APK zu zählen. Es ist ironisch, dass eine Methode-limit-überschritten, ist der Ausfall verhindern, dass die Methode count zu verhindern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden Sie dieses plugin, um die Anzahl der Methode Referenzen in Ihrer APK auf jedem build.
dexcount
Android Studio verfügt über eine APK-analyzer, die zeigt, dass diese Informationen keine gradle Plug-ins erforderlich.
Android studio ist ein plugin namens
Android Methods Count
werden, die zeigen die Anzahl der Methoden für jede Ihrer Abhängigkeiten.Es gibt auch ein cli-tool zur Verfügung, mit mehr Optionen
https://github.com/mihaip/dex-method-counts
Android Methods Count
zeigt die Methoden, die Zählung für jede Ihrer Abhängigkeiten, wenn Sie über Ihnen schweben in Ihrembuild,gradle
. Das andere Werkzeug braucht Ihre apk-Datei zu tun, so müssen Sie entfernen Sie einige Abhängigkeiten und prüfen Sie dann, mit, dass. Überprüfen Sie auch Ihre Proguard Einstellungen, um zu sehen, ob alle nicht verwendeten Methoden entfernt werden kannIch geändert dx.jar Quelle zu show-Methode zählen.
https://github.com/b1uec0in/dx
Output sample
ersetzen Sie Ihre dx.jar mit diesem dx.jar.
Werfen Sie einen Blick auf diese. Ich war auf der Suche für das gleiche und fand meine Antwort hier. Im Grunde, Sie generieren die APK von Ihrem Projekt und gehen Sie dann zu Bauen->Analysieren, APK und am rasults klicken Sie auf "Klassen".dex, dann, weiter unten werden Sie sehen genau, wie viele Methoden definiert sind und auf die verwiesen wird, die von dem Projekt.