android-gradle
Abhängigkeiten deklarieren
Suche…
Wie füge ich Abhängigkeiten hinzu?
Das folgende Beispiel beschreibt, wie drei verschiedene Arten von direkten Abhängigkeiten in der build.gradle
Datei von app / module build.gradle
werden:
android {...}
...
dependencies {
// The 'compile' configuration tells Gradle to add the dependency to the
// compilation classpath and include it in the final package.
// Dependency on the "mylibrary" module from this project
compile project(":mylibrary")
// Remote binary dependency
compile 'com.android.support:appcompat-v7:24.1.0'
// Local binary dependency
compile fileTree(dir: 'libs', include: ['*.jar'])
}
So fügen Sie ein Repository hinzu
Um Abhängigkeiten herunterzuladen, deklarieren Sie das Repository, damit Gradle sie finden kann. build.gradle
dem build.gradle
der App / des build.gradle
in der obersten Datei ein repositories { ... }
.
repositories {
// Gradle's Java plugin allows the addition of these two repositories via method calls:
jcenter()
mavenCentral()
maven { url "http://repository.of/dependency" }
maven {
credentials {
username 'xxx'
password 'xxx'
}
url 'http://my.maven
}
}
Modulabhängigkeiten
In einem gradle build
mehreren Projekten gradle build
Sie eine Abhängigkeit zu einem anderen Modul in Ihrem Build haben.
Beispiel:
dependencies {
// Dependency on the "mylibrary" module from this project
compile project(":mylibrary")
}
Die compile project(':mylibrary')
deklariert ein lokales Android-Bibliotheksmodul mit dem Namen "mylibrary" als Abhängigkeit und erfordert, dass das Buildsystem das lokale Modul kompiliert und beim Erstellen der App einfügt.
Lokale binäre Abhängigkeiten
Sie können eine Abhängigkeit mit einer einzelnen JAR-Datei oder mehreren JAR-Dateien haben.
Mit einer einzigen JAR-Datei können Sie Folgendes hinzufügen:
dependencies {
compile files('libs/local_dependency.jar')
}
Es ist möglich, ein Verzeichnis von Gläsern zum Kompilieren hinzuzufügen.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Die fileTree(dir: 'libs', include: ['*.jar']
compile fileTree(dir: 'libs', include: ['*.jar']
) gibt dem Buildsystem an, JAR-Dateien in das Verzeichnis app/libs/
im Kompilierungsklassenpfad und in das endgültige Paket Ihrer App aufzunehmen.
Wenn Sie über Module verfügen, für die lokale binäre Abhängigkeiten erforderlich sind, kopieren Sie die JAR-Dateien für diese Abhängigkeiten in <moduleName>/libs
in Ihrem Projekt.
Wenn Sie AAR-Dateien hinzufügen möchten, können Sie hier weitere Details lesen.
Ferne binäre Abhängigkeiten
Sie können Remote-Abhängigkeiten in Gradle mit dieser Struktur hinzufügen:
compile 'group:name:version'
oder diese alternative Syntax:
compile group: 'xxx', name: 'xxxxx', version: 'xxxx'
Zum Beispiel:
compile 'com.android.support:appcompat-v7:24.1.0'
Die Zeile compile 'com.android.support:appcompat-v7:24.1.0
" deklariert eine Abhängigkeit von Version 24.1.0 der Android Support Library.
Deklarieren Sie Abhängigkeiten für Konfigurationen
Abhängigkeiten können für bestimmte Konfigurationen wie test / androidTest hinzugefügt werden
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
testCompile 'junit:junit:3.8.1'
Alternativ können Sie Ihre eigene Konfiguration erstellen
configurations {
myconfig
}
Laden Sie dann die Abhängigkeit für diese Konfiguration herunter
myconfig group: 'com.mycompany', name: 'my_artifact', version: '1.0.0'
Deklarieren Sie Abhängigkeiten für Geschmacksrichtungen
Abhängigkeiten für bestimmte Produktvarianten können auf ähnliche Weise wie Build-Konfigurationen hinzugefügt werden.
android {
...
productFlavors {
flavor1 {
//...
}
flavor2 {
//...
}
}
}
dependencies {
flavor1Compile 'com.android.support:appcompat-v7:24.1.1'
flavor1Compile 'com.google.firebase:firebase-crash:9.4.0'
flavor2Compile 'com.android.support:appcompat-v7:24.1.1'
}
Deklarieren Sie Abhängigkeiten für Build-Typen
Abhängigkeiten können für bestimmte Build-Typen hinzugefügt werden :
android {
...
buildTypes {
release {
//...
}
debug {
//....
}
}
}
dependencies {
debugCompile 'com.android.support:appcompat-v7:24.1.1'
releaseCompile 'com.google.firebase:firebase-crash:9.4.0'
}