Szukaj…


Jak dodać zależności

Poniższy przykład opisuje, jak zadeklarować trzy różne typy bezpośrednich zależności w pliku build.gradle aplikacji / modułu:

   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'])
    }

Jak dodać repozytorium

Aby pobrać zależności, zadeklaruj repozytorium, aby Gradle mógł je znaleźć. Aby to zrobić, dodaj repositories { ... } do build.gradle aplikacji / modułu w pliku najwyższego poziomu.

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
  }
}

Zależności modułów

W wielu projektów gradle build , można mieć zależność z innym modułem w swojej budowie.

Przykład:

  dependencies {
        // Dependency on the "mylibrary" module from this project
        compile project(":mylibrary")
  }

compile project(':mylibrary') deklaruje lokalny moduł biblioteki Androida o nazwie „mylibrary” jako zależność i wymaga systemu kompilacji do kompilacji i włączenia modułu lokalnego podczas tworzenia aplikacji.

Lokalne zależności binarne

Możesz mieć zależność od jednego słoika lub wielu plików jar.

Za pomocą jednego pliku jar możesz dodać:

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

Możliwe jest dodanie katalogu słoików do skompilowania.

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

fileTree(dir: 'libs', include: ['*.jar'] kompilacji fileTree(dir: 'libs', include: ['*.jar'] ) informuje system kompilacji o dołączeniu plików JAR do katalogu app/libs/ w ścieżce klas kompilacji oraz w końcowym pakiecie aplikacji.

Jeśli masz moduły wymagające lokalnych zależności binarnych, skopiuj pliki JAR tych zależności do <moduleName>/libs w swoim projekcie.

Jeśli chcesz dodać pliki AAR , możesz przeczytać więcej informacji tutaj.

Zdalne zależności binarne

Możesz dodać zdalne zależności w Gradle, używając tej struktury:

compile 'group:name:version'

lub ta alternatywna składnia:

compile group: 'xxx', name: 'xxxxx', version: 'xxxx'

Na przykład:

compile 'com.android.support:appcompat-v7:24.1.0'

Wiersz compile 'com.android.support:appcompat-v7:24.1.0 ” deklaruje zależność od wersji 24.1.0 biblioteki obsługi systemu Android.

Zadeklaruj zależności dla konfiguracji

Zależności można dodać dla konkretnej konfiguracji, takiej jak test / androidTest

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
testCompile 'junit:junit:3.8.1'

Alternatywnie utwórz własną konfigurację

configurations {
    myconfig
}

A następnie pobierz zależność dla tej konfiguracji

myconfig group: 'com.mycompany', name: 'my_artifact', version: '1.0.0'

Deklaruj zależności dla smaków

Zależności można dodawać dla określonych smaków produktów w podobny sposób, jak konfiguracje kompilacji .

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'
} 

Deklaruj zależności dla typów kompilacji

Dla określonych typów kompilacji można dodać zależności :

android {
    ...   
    buildTypes {
        release {
            //...
        }

        debug {
            //....
        }
    }
}

dependencies {
    debugCompile 'com.android.support:appcompat-v7:24.1.1'
    releaseCompile 'com.google.firebase:firebase-crash:9.4.0'            
} 


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