gradle
afhankelijkheden
Zoeken…
Voeg een lokale JAR-bestandsafhankelijkheid toe
Enkele JAR
Soms heb je een lokaal JAR-bestand dat je moet toevoegen als afhankelijkheid van je Gradle-build. Hier is hoe je dit kunt doen:
dependencies {
compile files('path/local_dependency.jar')
}
Waar path
een local_dependency.jar
op uw bestandssysteem is en local_dependency.jar
de naam is van uw lokale JAR-bestand. Het path
kan relatief zijn ten opzichte van het buildbestand.
Directory van JAR's
Het is ook mogelijk om een map met potten toe te voegen om te compileren. Dit kan als volgt:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
Waar libs
de map met de potten zou zijn en *.jar
het filter zou zijn van de bestanden die moeten worden opgenomen.
Directory van JAR's als repository
Als u alleen potten in een repository wilt opzoeken in plaats van ze direct als afhankelijkheid van hun pad toe te voegen, kunt u een flatDir-repository gebruiken.
repositories {
flatDir {
dirs 'libs'
}
}
Zoekt naar potten in de map libs
en de onderliggende mappen.
Voeg een afhankelijkheid toe
Afhankelijkheden in Gradle volgen hetzelfde formaat als Maven . Afhankelijkheden zijn als volgt gestructureerd:
group:name:version
Hier is een voorbeeld:
'org.springframework:spring-core:4.3.1.RELEASE'
Voeg deze regel toe aan uw dependency
in het Gradle-buildbestand om toe te voegen als een compilatie-afhankelijkheid:
compile 'org.springframework:spring-core:4.3.1.RELEASE'
Een alternatieve syntaxis voor deze naam geeft elk onderdeel van de afhankelijkheid expliciet een naam:
compile group: 'org.springframework', name: 'spring-core', version: '4.3.1.RELEASE'
Dit voegt een afhankelijkheid toe tijdens het compileren.
U kunt ook alleen afhankelijkheden voor tests toevoegen. Hier is een voorbeeld:
testCompile group: 'junit', name: 'junit', version: '4.+'
Hang van een ander gradleproject af
In het geval van een gradle-build voor meerdere projecten, moet u soms afhankelijk zijn van een ander project in uw build. Om dit te bereiken, voert u het volgende in de afhankelijkheden van uw project in:
dependencies {
compile project(':OtherProject')
}
Waar ':OtherProject'
het gradle-pad voor het project is, waarnaar wordt verwezen vanuit de hoofdmap van de mapstructuur.
Om ':OtherProject'
beschikbaar te maken in de context van het bestand build.gradle
, voegt u dit toe aan de overeenkomstige settings.gradle
include ':Dependency'
project(':Dependency').projectDir = new File('/path/to/dependency')
Voor een meer gedetailleerde uitleg kunt u officiële documentatie Gradle's verwijzen hier .
Lijst afhankelijkheden
Door de dependencies
taak aan te roepen, kunt u de afhankelijkheden van het rootproject zien:
gradle dependencies
De resultaten zijn afhankelijkheidsgrafieken (rekening houdend met transitieve afhankelijkheden), uitgesplitst naar configuratie. Om de weergegeven configuraties te beperken, kunt u de optie --configuration
passeren, gevolgd door een gekozen configuratie om te analyseren:
gradle dependencies --configuration compile
Gebruik <subproject>:dependencies
taak om afhankelijkheden van een subproject weer te geven. Om bijvoorbeeld afhankelijkheden weer te geven van een subproject met de naam api
:
gradle api:dependencies
Repositories toevoegen
Je moet Gradle naar de locatie van je plug-ins wijzen, zodat Gradle ze kan vinden. Doe dit door een repositories { ... }
te voegen aan je build.gradle
.
Hier is een voorbeeld van het toevoegen van drie repositories, JCenter , Maven Repository en een aangepaste repository die afhankelijkheden in Maven-stijl biedt.
repositories {
// Adding these two repositories via method calls is made possible by Gradle's Java plugin
jcenter()
mavenCentral()
maven { url "http://repository.of/dependency" }
}
.Aar-bestand toevoegen aan Android-project met behulp van gradle
- Navigeer naar de
app
module van het project en maak delibs
directory aan. - Plaats uw
.aar
bestand daar. BijvoorbeeldmyLib.aar
. - Voeg de onderstaande code toe aan het
android
blok van hetbuild.gradle
bestand opapp
niveau.
repositories {
flatDir {
dirs 'libs'
}
}
Op deze manier definieerde u een nieuwe extra repository die libs
map libs
van de app
module.
- Voeg de onderstaande code toe aan het
dependencies
of hetbuild.gradle
bestand:
compile(name:'myLib', ext:'aar')