Ich habe mehrere Projekte, die ich erstelle, um ein .aar zu erstellen. Ich importiere dann diese .aar in Android Studio unter/libs. Die build.gradle-Datei für diese Abhängigkeit sieht wie folgt aus:Verwendung von .aar NoClassDefFoundError Aber Klasse existiert und ist Dexed
repositories{
flatDir{
dirs 'libs'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.android.gms:play-services:7.0.0'
compile 'com.android.support:multidex:+'
compile(name: 'customApi-debug', ext:'aar')
}
Da die Bibliothek recht groß ist, ich habe eingestellt multiDexEnabled = true. Android Studio findet die Bibliothek und die Autovervollständigung funktioniert. Gebäude funktioniert auch gut, aber läuft die App gibt den folgenden Fehler:
java.lang.NoClassDefFoundError: com.companyx.android.api.ui.vision.metaio.MetaIoView
at com.companyx.android.api.ui.vision.metaio.MetaIoView$$InjectAdapter.<init>(MetaIoView$$InjectAdapter.java:29)
ich unkomprimiert und zerlegt die .aar und dex-Dateien sind, und überprüft, dass die Klassen ihre über tatsächlich beschwert existieren. Ich habe bereits bestehende Ansätze ausprobiert, um mit diesem Problem umzugehen, aber keiner von ihnen hat funktioniert.
Hat das jemand anderes erlebt? Danke im Voraus.
Es könnte eine Überprüfung sein Fehler bei der Klasse. Sehen Sie sich die Logs in logcat an, nachdem Sie die Anwendung installiert haben, während sie gerade dekodiert werden, und prüfen Sie, ob für diese Klasse Überprüfungsfehler vorliegen. – JesusFreke
Es scheint keine Fehler während der Installation zu geben. Was ich bemerkte, ist, dass, wenn ich auf die Aktivität klicke, die diese Quelle verwendet, I/art: Re-init auf der zuvor fehlgeschlagenen Klasse java.lang.Class mehrmals direkt bevor ich meine Ausnahme bekomme. –
Ja, das bedeutet, dass bei der Installation einige Überprüfungsfehler aufgetreten sind. Werfen Sie einen weiteren Blick auf Logcat während der Installation :) – JesusFreke