2016-09-20 2 views
1

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.

+0

Sind Ihre Klassen verschleiert? –

+0

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

+0

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. –

Antwort

0

Wenn Sie die Ausnahme betrachten, kann der folgende Code das Problem lösen. Fügen Sie es in der Anwendungsgruppe hinzu.

android { 
    defaultConfig { 
     // Enabling multidex support. 
     multiDexEnabled true 
    } 
dexOptions { 
     // FOR GC overhead 
      incremental true 
      javaMaxHeapSize "4g" 
    } 
} 
+0

Danach bekomme ich eine Ausnahme java.lang.NoClassDefFoundError: com.android.volley.toolbox.Volley. Das kam vorher nicht. Ich habe bereits kompiliert "com.mcxiaoke.volley: library-aar: 1.0.0" in meiner Größe. – Sid

+0

Überprüfen Sie [hier] (http://stackoverflow.com/questions/17002636/android-studio-volley-noclassdeffound). Es kann Ihnen helfen. –

+0

Habe das schon versucht, kein Glück da. – Sid

Verwandte Themen