我试图将我的Android应用程序分成几个模块。例如,我想要2个额外的模块 - Core和ViewModels。它们都是纯java模块。但是,在将Dagger 2依赖项添加到这些java模块时,我遇到了麻烦。这是其中一个模块的构建gradle文件
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.dagger:dagger:2.15'
annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
implementation 'org.greenrobot:eventbus:3.1.1'
}
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
但是,当我同步gradle时,我收到以下错误
Could not find method classpath() for arguments [com.neenbedankt.gradle.plugins:android-apt:1.8] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Open File
任何想法为什么会发生这种情况?
答案 0 :(得分:1)
我已经解决了这个问题。这是我的最终build.gradle
自定义模块的样子
plugins {
id "net.ltgt.apt" version "0.15"
}
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.dagger:dagger:2.15'
apt 'com.google.dagger:dagger-compiler:2.13'
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
Dagger 2成功地生成了必要的代码,app就像魔法一样。