mar*_*den 7 android dagger android-studio android-gradle-plugin
我让我的项目与Butterknife一起工作,以观察注射.但是我需要添加Dagger才能注入依赖项.
我添加了Annotation Processor Tool Gradle插件以及相应的Dagger要求(为简洁起见,仅显示修改过的部分);
buildScript {
repositories {
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
...
classpath 'com.jimdo.gradle:gradle-apt-plugin:0.2-SNAPSHOT'
}
}
apply plugin: 'apt'
dependencies {
apt "com.squareup.dagger:dagger-compiler:${daggerVersion}"
...
}
Run Code Online (Sandbox Code Playgroud)
此时,当我构建并运行应用程序时,标记有@InjectView注释的属性不会被注入Butterknife发出的以下调试消息;
D/ButterKnife? Looking up view injector for com.example.MainActivity
D/ButterKnife? Not found. Trying superclass com.example.FactListAbstractActivity
D/ButterKnife? Not found. Trying superclass android.app.Activity
Run Code Online (Sandbox Code Playgroud)
事实证明我需要做的就是添加另一个apt依赖项,以便让注释处理器工具拾取包含在Butterknife中的处理器.这是将它包含为编译时依赖项的补充;
dependency {
apt "com.jakewharton:butterknife:${butterknifeVersion}"
compile "com.jakewharton:butterknife:${butterknifeVersion}"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4366 次 |
| 最近记录: |