Sök…


Lägg till en lokal JAR-filberoende

Singel JAR

Ibland har du en lokal JAR-fil som du behöver lägga till som ett beroende till din Gradle-byggnad. Så här kan du göra detta:

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

Där path är en katalogväg i ditt filsystem och local_dependency.jar är namnet på din lokala JAR-fil. path kan vara relativt till build-filen.

Katalog över JAR

Det är också möjligt att lägga till en katalog med burkar att kompilera. Detta kan göras så:

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

Där libs skulle vara katalogen som innehåller burkarna och *.jar skulle vara filtret för vilka filer som ska inkluderas.

Katalog över JAR som förvar

Om du bara vill leta upp burkar i ett arkiv istället för att direkt lägga till dem som ett beroende av deras sökväg, kan du använda ett flatDir-arkiv.

repositories {
    flatDir {
        dirs 'libs'
    }
}

Letar efter burkar i libs och dess barnkataloger.

Lägg till en beroende

Beroenden i Gradle följer samma format som Maven . Beroenden är strukturerade enligt följande:

group:name:version

Här är ett exempel:

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

För att lägga till som kompileringstidsberoende, lägg bara till den här raden i ditt dependency block i Gradle build-filen:

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

En alternativ syntax för detta namnger varje komponent i beroendet uttryckligen, så:

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

Detta lägger till ett beroende vid sammanställningstiden.

Du kan också lägga till beroenden bara för tester. Här är ett exempel:

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

Beroende på ett annat Gradle-projekt

När det gäller en flerprojekt gradle build kan du ibland behöva vara beroende av ett annat projekt i din build. För att åstadkomma detta anger du följande i ditt projekt beroende:

dependencies {
    compile project(':OtherProject')
}

Där ':OtherProject' är graden sökväg för projektet, refererat från roten till katalogstrukturen.

För att göra ':OtherProject' tillgängligt i samband med build.gradle filen lägg till detta till motsvarande settings.gradle

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

För en mer detaljerad förklaring kan du hänvisa till Gradle's officiella dokumentation här .

Lista beroenden

Genom att ringa dependencies kan du se beroendena i rotprojektet:

gradle dependencies

Resultaten är beroendegrafer (med hänsyn till transitiva beroenden), uppdelade efter konfiguration. För att begränsa de visade konfigurationerna kan du passera alternativet - --configuration följt av en vald konfiguration för att analysera:

gradle dependencies --configuration compile

För att visa beroenden för ett delprojekt använder du <subproject>:dependencies . Till exempel för att lista beroenden för ett delprojekt med namnet api :

gradle api:dependencies

Lägga till förvar

Du måste peka Gradle till platsen för dina plugins så att Gradle kan hitta dem. Gör detta genom att lägga till ett repositories { ... } till din build.gradle .

Här är ett exempel på att lägga till tre förvar, JCenter , Maven Repository och ett anpassat arkiv som erbjuder beroenden i Maven-stil.

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

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

Lägg till .aar-fil till Android-projektet med hjälp av gradle

  1. Navigera till projektets app och skapa libs katalog.
  2. Placera din .aar fil där. Till exempel myLib.aar .
  3. Lägg till koden nedan i android blocket av app - build.gradle fil.
  repositories {
        flatDir {
            dirs 'libs'
        }
    }

På det här sättet definierade du ett nytt extraförvar som pekar på app modulens libs mapp.

  1. Lägg till koden nedan i dependencies eller build.gradle filen:
compile(name:'myLib', ext:'aar')


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow