J'essaie d'ajouter Dagger2 à mon projet dans Android Studio mais je ne trouve pas la dépendance appropriée à coller dans build.gradle. Pouvez-vous m'aider et m'envoyer la ligne appropriée?
// Application build.gradle
dependencies {
compile 'com.google.dagger:dagger:2.4'
annotationProcessor "com.google.dagger:dagger-compiler:2.4"
}
Dépôts Maven:
Recherchez les dernières versions des dépendances ci-dessus dans le référentiel Maven:
Les anciennes versions de Android Studio need Android-apt
pour le traitement des annotations.
// Project build.gradle
buildscript {
dependencies {
// Assists in working with annotation processors for Android Studio.
// No longer needed with Android Studio 2.2+
classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.4'
}
}
apply plugin: 'com.neenbedankt.Android-apt'
Et
// Application build.gradle
dependencies {
compile 'com.google.dagger:dagger:2.4'
apt "com.google.dagger:dagger-compiler:2.4"
}
Pour Dagger <2.1-SNAPSHOT, le javax.annotation
est nécessaire pour le @Generated
annotation utilisée dans le code généré par Dagger (voir github.com/google/dagger/issues/95 ). L'annotation n'est pas incluse dans le fichier jar de l'API Android, vous devrez donc utiliser l'une de ces bibliothèques ( voir différences ):
// Application build.gradle
dependencies {
compile 'javax.annotation:jsr250-api:1.0'
}
Vous n'avez plus besoin du plugin Android-apt , toutes les fonctionnalités précédemment fournies par Android-apt sont désormais disponibles dans le Android Gradle version 2.2 du plugin
https://bitbucket.org/hvisser/Android-apt/wiki/Migration
Mettre à jour le plugin Gradle sur
classpath 'com.Android.tools.build:gradle:2.2.0'
et dépendances Dague à
compile 'com.google.dagger:dagger:2.4'
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
À votre santé!
dependencies {
implementation 'com.google.dagger:dagger:2.0-SNAPSHOT'
}
dans votre application/build.gradle
et
allprojects {
repositories {
...
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
}
}
dans build.gradle de votre projet.
J'ai eu quelques problèmes avec cela plus tôt aujourd'hui. Voici ce qui a fonctionné pour moi avec les dernières versions à cette date en utilisant Android Studio 2.0 preview 8:
buid.gradle (Module: app)
apply plugin: 'com.Android.application'
apply plugin: 'com.neenbedankt.Android-apt'
Android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
applicationId 'com.example.Android.redacted.app'
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
repositories {
mavenCentral()
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.0.2'
provided 'org.glassfish:javax.annotation:10.0-b28'
}
build.gradle (Projet: proj):
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.0.0-alpha8'
classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
}
Ajoutez ces dernières dépendances dans votre application/build.gradle avec la dernière version de Android studios 3.0
dependencies {
//Dagger
implementation 'com.google.dagger:dagger:2.24'
implementation 'com.google.dagger:dagger-Android:2.24'
implementation 'com.google.dagger:dagger-Android-support:2.24'
}
Implémentation simple de Dagger 2 Dagger 2 with MVP