Android StudioでDagger2をプロジェクトに追加しようとしていますが、build.gradleに貼り付けるための適切な依存関係が見つかりません。
// Application build.gradle
dependencies {
compile 'com.google.dagger:dagger:2.4'
annotationProcessor "com.google.dagger:dagger-compiler:2.4"
}
Mavenリポジトリ:
Mavenリポジトリで上記の依存関係の最新バージョンを検索します。
古いバージョンのAndroid Studioでは、注釈処理にAndroid-apt
が必要です。
// 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'
そして
// Application build.gradle
dependencies {
compile 'com.google.dagger:dagger:2.4'
apt "com.google.dagger:dagger-compiler:2.4"
}
Dagger <2.1-SNAPSHOTの場合、Dagger生成コードで使用されるjavax.annotation
アノテーションに@Generated
が必要です( github.com/google/dagger/issues/95 を参照)。注釈はAndroid API jarに含まれていないため、これらのライブラリのいずれかを使用する必要があります( 違いを参照 ):
// Application build.gradle
dependencies {
compile 'javax.annotation:jsr250-api:1.0'
}
Android-aptプラグインはもう必要ありません。以前Android-aptで提供されていたすべての機能は、AndroidGradleプラグインバージョン2.2
https://bitbucket.org/hvisser/Android-apt/wiki/Migration
Gradleプラグインを更新
classpath 'com.Android.tools.build:gradle:2.2.0'
およびDaggerの依存関係
compile 'com.google.dagger:dagger:2.4'
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
乾杯!
dependencies {
implementation 'com.google.dagger:dagger:2.0-SNAPSHOT'
}
app/build.gradleで
そして
allprojects {
repositories {
...
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
}
}
プロジェクトのbuild.gradle内。
今日、これについていくつかの問題がありました。 Android Studio 2.0 preview 8:
buid.gradle(モジュール:アプリ)
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(Project: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/'
}
}
}
最新バージョンのAndroid studios 3.0を使用して、これらの最新の依存関係をapp/build.gradleに追加します
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'
}
Dagger 2のシンプルな実装 MVPを備えたDagger 2