"A long time ago in a galaxy far, far away...."
Run Code Online (Sandbox Code Playgroud)
好吧,长话短说 - 我决定尝试Android Studio 3.0 Preview (Canary 2)一下,我不能Dagger 2使用annotationProcessor而不是使用它android-apt.
我得到的错误消息是一个简单的消化:
Error:(59, 24) error: cannot find symbol variable DaggerAppComponent
Run Code Online (Sandbox Code Playgroud)
我已经阅读了文档(我想没有什么花哨的):https://developer.android.com/studio/preview/features/new-android-plugin-migration.html#annotationProcessor_config
并将build.gradle文件更改为:
implementation "com.google.dagger:dagger:$rootProject.ext.daggerVersion"
annotationProcessor "com.google.dagger:dagger-android-processor:$rootProject.ext.daggerVersion"
Run Code Online (Sandbox Code Playgroud)
哪里 daggerVersion = '2.11'
此外,我确保在Android Studio中检查了相应的选项(默认情况下未选中):
File -> Other Settings -> Default Settings ->
Build, Execution, Deployment -> Compiler -> Annotation Processors ->
Enable annotation processors -> IS CHECKED
Run Code Online (Sandbox Code Playgroud)
不幸的是,它没有帮助.
摇篮:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip
Run Code Online (Sandbox Code Playgroud)
Gradle的Android插件: …
android dagger-2 android-apt annotation-processor android-studio-3.0