Ich bin seit den letzten 2 Tagen festgefahren. Ich möchte mein eigenes Programm in einer meiner Beispielanwendungen importieren und dann verwenden. Ich kann nicht auf die Klassen innerhalb der AAR zugreifen und einen java.lang.NoClassDefFoundError
Fehler erhalten.Ich kann nicht auf die Klasse von aar zugreifen
Nun da dies ein weit verbreitetes Problem, die ich bisher die unten versucht haben, nach jeder und jede damit verbundene Frage zu lesen:
1) Importieren der aar nach zu gehen: File -> New-> New Module -> Import .JAR/.AAR
und dann Zugabe compile project(':Name-Of-Your-Project')
zum gradle .
2) Verwenden Sie das Maven-Plugin und drücken Sie die aar auf die lokale Maven Repo mit Hilfe von Graple installieren und dann auf die lokale Repo aar in meiner Größe.
compile ('com.rsa.mobile.sdk.android:authsdk:3.6.0-SNAPSHOT:[email protected]'){
// transitive=true
}
Hinweis: Wenn ich die transitive = true Kommentar-, bekomme ich die unten Ausnahme während der Installation der Anwendung:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
3) Umbau und das Projekt Reinigung wie in vielen Antworten vorgeschlagen.
4) Die einzige Sache, die aus nicht funktioniert hat war durch die aar in einem Verzeichnis setzen und sie dann wie compile(name:'Name-Of-Your-Project', ext:'aar')
reffering nach
flatDir {
dirs 'libs'
}
zum Repo-Zugabe. Ich denke nicht, dass der 4. Punkt wichtig sein sollte, wie oben in Punkt 1 erwähnt, sondern wollte es einfach löschen.
Kann jemand bitte helfen. Es sieht nach einem trivialen Problem aus, aber ich habe schon zwei Tage verschwendet.
Sind Ihre Klassen verschleiert? –
Nein, sie sind nicht, ich habe das gleiche zuvor mit verschiedenen Beispiel-Apps verwendet. Dies ist das erste Mal, dass ich mit diesem Problem konfrontiert bin. – Sid
Gemäß Ihrer Ausnahme beträgt die Anzahl Ihrer Methoden mehr als 64 KB. Also sollten Sie 'multidex 'verwenden. [Hier] (https://developer.android.com/studio/build/multidex.html) ist das Detail. –