Sök…


Hur man lägger till beroenden

Exemplet nedan beskriver hur man deklarerar tre olika typer av direkta beroenden i app / modulens build.gradle fil:

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

Hur man lägger till ett arkiv

För att ladda ner beroenden, förklara förvaret så att Gradle kan hitta dem. För att göra detta lägger du till repositories { ... } till app / modulens build.gradle i den översta filen.

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

Modulberoenden

I en gradle build kan du ha ett beroende med en annan modul i din build.

Exempel:

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

Linjen compile project(':mylibrary') förklarar en lokal Android-biblioteksmodul med namnet "mylibrary" som ett beroende, och kräver att byggsystemet ska kompilera och inkludera den lokala modulen när du bygger din app.

Lokala binära beroenden

Du kan ha ett beroende med en enda burk eller flera burkfiler.

Med en enda burkfil kan du lägga till:

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

Det är möjligt att lägga till en katalog med burkar att kompilera.

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

fileTree(dir: 'libs', include: ['*.jar'] ) fileTree(dir: 'libs', include: ['*.jar'] berättar att build-systemet ska inkludera eventuella JAR-filer i app/libs/ katalogen i kompileringsklassvägen och i det slutliga paketet för din app.

Om du har moduler som kräver lokala binära beroenden, kopiera JAR-filerna för dessa beroenden till <moduleName>/libs i ditt projekt.

Om du behöver lägga till aar-filer kan du läsa mer information här.

Avlägsna binära beroenden

Du kan lägga till fjärravhängigheter i Gradle-anpassa denna struktur:

compile 'group:name:version'

eller denna alternativa syntax:

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

Till exempel:

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

Linjen compile 'com.android.support:appcompat-v7:24.1.0 ' förklarar ett beroende av version 24.1.0 i Android Support Library.

Förklara beroenden för konfigurationer

Beroende kan läggas till för specifik konfiguration som test / androidTest

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

Alternativt kan du skapa din egen konfiguration

configurations {
    myconfig
}

Och ladda ner beroende för den här konfigureringen

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

Förklara beroenden för smaker

Beroende kan läggas till för specifika produktsmaker på liknande sätt som byggkonfigurationer .

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

Förklara beroende för byggtyper

Beroende kan läggas till för specifika Build-typer :

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow