Fir*_*enk 21 android dependency-injection dagger-2
我一段时间使用匕首2,但今天尝试编译得到了这个错误:
错误:(13,31)错误:找不到符号类Dagger_GlobalComponent
错误:(38,21)错误:找不到符号变量Dagger_GlobalComponent
所以这是代码:
public class MyAppApplication extends Application {
private static GlobalComponent component;
@Override
public void onCreate() {
super.onCreate();
component = Dagger_GlobalComponent.builder()
.busModule(new BusModule())
.syncModule(new SyncModule())
.serviceModule(new ServiceModule())
.contextModule(new ContextModule(this))
.persistenceModule(new PersistenceModule(this))
.build();
}}
Run Code Online (Sandbox Code Playgroud)
和gradle依赖:
...
compile 'com.google.dagger:dagger:2.0-SNAPSHOT'
apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT'
provided 'org.glassfish:javax.annotation:10.0-b28'
...
Run Code Online (Sandbox Code Playgroud)
有解决方案吗 已经尝试过:清理,重建,更改依赖版本,还删除Gradle缓存并重新安装Android Studio.
如果它有助于此示例项目也出现相同的错误:
lus*_*tig 36
我试图遵循tutsplus的Dagger2教程这里,并试图使用下划线语法(Dagger_ClassnameComponent)时遇到了同样的问题.
正如其他人所说,新的Dagger API不使用下划线语法,而是使用语法DaggerClassnameComponent.但是,在我的简单应用程序中尝试使用新语法时,找不到类DaggerClassnameComponent.我相信它应该位于app/build/generated/source/apt/debug/packagename/component文件夹中.
起初,我没有在上述文件夹下生成任何文件.但是,我的解决方案是清理和构建项目,然后我可以按预期使用Component类.
ste*_*oid 10
Dagger 2现已发布,因此您需要更改您的gradle依赖项:
compile 'com.google.dagger:dagger:2.0'
provided 'com.google.dagger:dagger-compiler:2.0'
provided 'org.glassfish:javax.annotation:10.0-b28'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23077 次 |
| 最近记录: |