2015-08-18 13 views
5

In meinem Android Studio Gradle-Projekt verwende ich mehrere Bibliotheken, während eine Bibliothek eine lokale AAR-Datei als Abhängigkeit verwenden sollte. Ich benutzte die beliebte Lösung der AAR-Datei als Abhängigkeit in meiner Bibliothek Projekt gehören:Include AAR-Abhängigkeit in Android-Bibliothek Projekt

flatDir { 
    dirs 'libs' 
} 

compile(name: 'aar-library', ext: 'aar') 

Wenn ich versuche jetzt zu sync erhalte ich die Fehlermeldung

konnte nicht lösen: Abhängigkeits ‚aar-Bibliothek '

in meinem Hauptprojekt, obwohl ich die AAR-Datei dort nicht verwende/referenziere. Wenn ich die AAR-Datei einfach in den libs-Ordner meines Hauptprojekts kopiere, funktioniert es auch. Irgendeine Idee?

+0

ist aar-Bibliothek der Dateiname? –

+0

Ja, es ist der Dateiname ohne die Dateierweiterung – user1033552

Antwort

9

Bereits die Lösung gefunden. Es sieht so aus, als wären die AAR-Abhängigkeiten alle zusammen verschoben worden, so dass das Hauptprojekt versucht, die AAR-Abhängigkeit in seinem "libs" -Verzeichnis aufzulösen, wo es offensichtlich nicht existiert. Was Sie tun müssen, ist genauer zu definieren, wo jedes Modul, das von der Bibliothek mit der AAR-Datei abhängt, es relativ zu seinem Pfad finden kann, z.

dirs project(':my-library-project').file('libs')

+0

greate! Sehr hilfreich! –

+0

hast du mir viel Zeit gespart! – FlyingHorse

+0

hätte dies nie herausgefunden –

0

Ich hatte es so funktioniert:

compile 'com.example.lib:lib_name:[email protected]' 

In diesem Beispiel lib_name:1.0.0.aar ist Dateinamen.

0

Falls die Antwort von user1033552 nicht funktioniert. In meinem Fall hat es nicht funktioniert.

Unten Schritte arbeitete für mich.

  1. Rechts klicken Projekt -> Neu -> Module -> Import aar Paket -> wählen Datei und importieren.
  2. In settings.gradle, abhängig machen ist nach dependency.For Beispiel include ':imported-aar', ':your-library', ':app'
  3. Jetzt build.gradle von your-Bibliothekcompile project(':imported-aar') hinzufügen