2016-01-13 25 views
11

Mam jeden plik .aar z jednego modułu biblioteki.
Chcę użyć go jako biblioteki lub zależności w module bibliotecznym mojego drugiego projektu.
Jak to zrobić?Jak dodać zależność .aar w module bibliotecznym?

Próbowałem opcji przewidzianych w poniższych linków:
http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/

to działa tylko wtedy, gdy dodam .aar odniesienia w module aplikacyjnym mojego projektu. Ale nie działa w module bibliotecznym.

Dzięki.

+0

podaj swój 'build.gradle' – gio

+0

Możliwy duplikat [Dodawanie lokalnych plików .aar do mojej kompilacji gradle] (http: // stackoverflow.com/pytania/21882804/dodanie-local-AAR-files-to-my-Gradle-Build) – piotrek1543

+0

allprojects { repozytoria { jcenter() flatDir { } } Dirs 'libs'} zależności { compile fileTree (katalog: 'libs', include: ['* .jar']) skompiluj 'com.android.support:appcompat-v7:23.1.0' skompiluj 'com.android.support:recyclerview-v7: 23.0.1 ' compile (name:' mylibmodule ', ext:' aar ') } – Swati

Odpowiedz

9

We wszystkich modułów (bibliotecznych lub aplikacji), gdzie trzeba plik AAR trzeba dodać w swoim build.gradle repozytorium:

repositories { 
    flatDir { 
     dirs 'libs' 
    } 
} 

i dodać zależność:

dependencies { 
    compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar') 
} 

Można użyć plik najwyższego poziomu, aby dodać repozytoria, ale nie można dodać zależności w pliku najwyższego poziomu.
Zwróć uwagę na względną ścieżkę do folderu libs, którego używasz w module.

+0

Chcę biblioteki z zasobami. – Swati

+0

Co to znaczy? Aar ma zasoby –

+1

@Swati Musisz dodać zależności w swoich modułach, a nie w pliku najwyższego poziomu. Czytanie twojego komentarza dodajesz zależności w niewłaściwym pliku –

20

Śledź tego ustawienia i będziesz mógł dodać .aar zależność do modułu biblioteki

build.gradle (projekt: ....)

allprojects { 
    repositories { 
     jcenter() 
     mavenCentral() 
     flatDir { 
      dirs 'libs' 
      dirs project(':library_module').file('libs') 
     } 
    } 
} 

build.gradle (moduł: aplikację)

dependencies { 
    ... 
    compile project(':library_module') 
} 

build.gradl e (moduł: library_module)

dependencies { 
    ... 
    compile(name:'aar_file_name', ext:'aar') 
} 

settings.gradle (Ustawienia projektu)

include ':app', ':library_module' 
+6

dirs project (': library_module'). File ('libs') wykonuję zadanie –

+0

dzięki temu zaoszczędziłem czas. – March3April4