Поиск…


Как добавить зависимости

В приведенном ниже примере описывается, как объявить три разных типа прямых зависимостей в файле build.gradle приложения / модуля:

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

Как добавить репозиторий

Чтобы загрузить зависимости, объявите репозиторий, чтобы Gradle мог их найти. Для этого добавьте repositories { ... } в файл build.gradle приложения / модуля в build.gradle верхнего уровня.

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

Зависимости модулей

В многопроектной gradle build вы можете иметь зависимость от другого модуля в своей сборке.

Пример:

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

Строка compile project(':mylibrary') объявляет локальный модуль библиотеки Android с именем «mylibrary» как зависимость и требует, чтобы система сборки собирала и включала локальный модуль при создании вашего приложения.

Локальные двоичные зависимости

У вас может быть зависимость с одним банком или несколькими файлами jar.

С помощью одного файла jar вы можете добавить:

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

Можно добавить каталог jars для компиляции.

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

В fileTree(dir: 'libs', include: ['*.jar'] компиляции fileTree(dir: 'libs', include: ['*.jar'] ) система сборки должна включать любые файлы JAR внутри каталога app/libs/ в пути класса компиляции и в конечном пакете вашего приложения.

Если у вас есть модули, для которых требуются локальные двоичные зависимости, скопируйте файлы JAR для этих зависимостей в <moduleName>/libs внутри вашего проекта.

Если вам нужно добавить файлы aar, вы можете прочитать здесь более подробную информацию.

Удаленные двоичные зависимости

Вы можете добавить удаленные зависимости в Gradle, используя эту структуру:

compile 'group:name:version'

или этот альтернативный синтаксис:

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

Например:

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

Строка compile 'com.android.support:appcompat-v7:24.1.0 ' объявляет зависимость от версии 24.1.0 в Библиотеке поддержки Android.

Объявлять зависимости для конфигураций

Зависимости могут быть добавлены для конкретной конфигурации, например test / androidTest

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

Альтернативно создайте свою собственную конфигурацию

configurations {
    myconfig
}

А затем загрузить зависимость для этой конфигурации

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

Объявлять зависимости для ароматов

Зависимости могут быть добавлены для определенных продуктов вкусов аналогично конфигурации сборки .

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

Объявлять зависимости для типов сборки

Зависимости могут быть добавлены для определенных типов сборки :

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow