dagger2 配置方案.....

本文介绍如何在不同版本的Android Studio中配置Dagger2依赖项和插件,包括适用于2.33版和3.0版的具体步骤。通过在build.gradle文件中添加必要的依赖项和插件应用,实现代码注入。

注意AS版本:

2.33版

  • 在整个项目的build.gradle中加入:
    dependencies {
       // other classpath definitions here
       classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
  • app/build.gradle中分别加入:
    // add after applying plugin: 'com.android.application'  
    apply plugin: 'com.neenbedankt.android-apt'
    dependencies {
      // apt command comes from the android-apt plugin
      apt 'com.google.dagger:dagger-compiler:2.2'
      compile 'com.google.dagger:dagger:2.2'
      provided 'javax.annotation:jsr250-api:1.0'
    }
3.0版

在app/build.gradle中
dependencies{
//Dagger2
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
compile 'com.google.dagger:dagger:2.4'
provided 'javax.annotation:jsr250-api:1.0'
}

sys组件报错 ===== OPLUS TRACES START ==== ----- 编译报错(ERROR):0 ------ 报错目标: //vendor/oplus/packages/apps/systemui/oplus_systemui:Oplus-SystemUI-core-domestic turbine apt [common]. 报错原因: could not resolve OplusSeparateNotificationAndQSEx 错误内容: com/oplus/systemui/shade/OplusNotificationShadeWindowControllerExImpl.java:95: error: could not resolve OplusSeparateNotificationAndQSEx dagger.Lazy separateNotificationAndQSEx, @org.jetbrains.annotations.NotNull() ^ ----- 编译报错(ERROR):1 ------ 报错目标: //vendor/oplus/packages/apps/systemui/oplus_systemui:Oplus-SystemUI-core-domestic turbine apt [common]. 报错原因: could not resolve OplusSeparateNotificationAndQSEx 错误内容: com/oplus/systemui/shade/OplusNotificationShadeWindowControllerExImpl.java:66: error: could not resolve OplusSeparateNotificationAndQSEx private final dagger.Lazy separateNotificationAndQSEx = null; ^ ----- 编译报错(ERROR):2 ------ 报错目标: //vendor/oplus/packages/apps/systemui/oplus_systemui:Oplus-SystemUI-core-domestic turbine apt [common]. 报错原因: InjectProcessingStep was unable to process 'OplusNotificationShadeWindowControllerExImpl(android.content.Context,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,com.android.systemui.panelanimation.PanelAnimationEx,dagger.Lazy,dagger.Lazy,dagger.Lazy)' because 'OplusSeparateNotificationAndQSEx' could not be resolved. 错误内容: <>: error: InjectProcessingStep was unable to process 'OplusNotificationShadeWindowControllerExImpl(android.content.Context,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,com.android.systemui.panelanimation.PanelAnimationEx,dagger.Lazy,dagger.Lazy,dagger.Lazy)' because 'OplusSeparateNotificationAndQSEx' could not be resolved. Dependency trace: => element (CLASS): com.oplus.systemui.shade.OplusNotificationShadeWindowControllerExImpl => element (CONSTRUCTOR): OplusNotificationShadeWindowControllerExImpl(android.content.Context,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,com.android.systemui.panelanimation.PanelAnimationEx,dagger.Lazy,dagger.Lazy,dagger.Lazy) => type (EXECUTABLE constructor): (android.content.Context,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,dagger.Lazy,com.android.systemui.panelanimation.PanelAnimationEx,dagger.Lazy,dagger.Lazy,dagger.Lazy)void => type (DECLARED parameter type): dagger.Lazy => type (ERROR type argument): OplusSeparateNotificationAndQSEx If type 'OplusSeparateNotificationAndQSEx' is a generated type, check above for compilation errors that may have prevented the type from being generated. Otherwise, ensure that type 'OplusSeparateNotificationAndQSEx' is on your classpath. Failed to run command '/work/0008/workspace/Personal_Build_Release/pro/code/source/sys/vendor/oplus/build/ci/trace/starcoderGPT.py com/oplus/systemui/shade/OplusNotificationShadeWindowControllerExImpl.java:95: error: could not resolve OplusSeparateNotificationAndQSEx dagger.Lazy separateNotificationAndQSEx, @org.jetbrains.annotations.NotNull() ^' (exit code 1): ===== OPLUS TRACES END =====什么报错
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值