Szukaj…


Dodaj lokalną zależność pliku JAR

Pojedynczy JAR

Czasami masz lokalny plik JAR, który musisz dodać jako zależność do kompilacji Gradle. Oto jak możesz to zrobić:

dependencies {
    compile files('path/local_dependency.jar')
}

Gdzie path to path do katalogu w systemie plików, a local_dependency.jar to nazwa lokalnego pliku JAR. path może być względna do pliku kompilacji.

Katalog plików JAR

Możliwe jest również dodanie katalogu słoików do skompilowania. Można to zrobić w następujący sposób:

dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
}

Gdzie libs to katalog zawierający słoiki, a *.jar to filtr, które pliki należy uwzględnić.

Katalog plików JAR jako repozytorium

Jeśli chcesz tylko wyszukiwać słoiki w repozytorium zamiast bezpośrednio dodawać je jako zależność od ich ścieżki, możesz użyć repozytorium flatDir.

repositories {
    flatDir {
        dirs 'libs'
    }
}

Szuka słoików w katalogu libs i jego katalogach potomnych.

Dodaj zależność

Zależności w Gradle mają ten sam format co Maven . Zależności mają następującą strukturę:

group:name:version

Oto przykład:

'org.springframework:spring-core:4.3.1.RELEASE'

Aby dodać jako zależność czasu kompilacji, po prostu dodaj ten wiersz do bloku dependency w pliku kompilacji Gradle:

compile 'org.springframework:spring-core:4.3.1.RELEASE'

Alternatywna składnia dla tej nazwy wyraźnie określa każdy składnik zależności, na przykład:

compile group: 'org.springframework', name: 'spring-core', version: '4.3.1.RELEASE'

Dodaje to zależność w czasie kompilacji.

Zależności można także dodawać tylko do testów. Oto przykład:

testCompile group: 'junit', name: 'junit', version: '4.+'

Zależy od innego projektu Gradle

W przypadku kompilacji stopniowej z wieloma projektami może być czasem konieczne uzależnienie się od innego projektu w kompilacji. Aby to osiągnąć, w zależnościach projektu wpisz:

dependencies {
    compile project(':OtherProject')
}

Gdzie ':OtherProject' to ścieżka stopni dla projektu, do której odwołuje się katalog główny struktury katalogów.

Aby ':OtherProject' dostępny w kontekście pliku build.gradle , dodaj go do odpowiednich settings.gradle ':OtherProject'

include ':Dependency'
project(':Dependency').projectDir = new File('/path/to/dependency')

Aby uzyskać bardziej szczegółowe wyjaśnienie, możesz odwołać się do oficjalnej dokumentacji Gradle tutaj .

Lista zależności

Wywołanie zadania dependencies pozwala zobaczyć zależności projektu głównego:

gradle dependencies

Wynikiem są wykresy zależności (uwzględniające zależności przechodnie), w podziale według konfiguracji. Aby ograniczyć wyświetlane konfiguracje, możesz przekazać opcję --configuration , a następnie jedną wybraną konfigurację do analizy:

gradle dependencies --configuration compile

Aby wyświetlić zależności podprojektu, użyj zadania <subproject>:dependencies . Na przykład, aby wyświetlić zależności podprojektu o nazwie api :

gradle api:dependencies

Dodawanie repozytoriów

Musisz wskazać Gradle'owi lokalizację wtyczek, aby Gradle mógł je znaleźć. Zrób to, dodając repositories { ... } do swojego build.gradle .

Oto przykład dodania trzech repozytoriów, JCenter , Maven Repository i niestandardowego repozytorium, które oferuje zależności w stylu Maven.

repositories {
  // Adding these two repositories via method calls is made possible by Gradle's Java plugin
  jcenter()
  mavenCentral()

  maven { url "http://repository.of/dependency" }
}

Dodaj plik .aar do projektu Android za pomocą gradle

  1. Przejdź do modułu app projektu i utwórz katalog libs .
  2. Umieść tam plik .aar . Na przykład myLib.aar .
  3. Dodaj poniższy kod do bloku systemu android w pliku build.gradle poziomu app .
  repositories {
        flatDir {
            dirs 'libs'
        }
    }

W ten sposób zdefiniowano nowe dodatkowe repozytorium, które wskazuje folder libs modułu app .

  1. Dodaj poniższy kod do bloku dependencies lub pliku build.gradle :
compile(name:'myLib', ext:'aar')


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow