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
appmodule van het project en maak delibsdirectory aan. - Plaats uw
.aarbestand daar. BijvoorbeeldmyLib.aar. - Voeg de onderstaande code toe aan het
androidblok van hetbuild.gradlebestand opappniveau.
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
dependenciesof hetbuild.gradlebestand:
compile(name:'myLib', ext:'aar')