java.lang.NullPointerException
空指针大家应该很常见把,并且大家都知道空指针应该时运行时异常,今天的一个空指针异常缺颠覆了我的认识,因为我在编译的时候也出现了空指针,(严格的说,本文中的空指针也不能完整的说就是编译时错误,下面我给大家详说)
场景 Android studio 2.3.1
app 的build.gradle 中配置 了dagger2,也就是在配置完dagger后才报的空指针,
compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.4'
报的异常为:
Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.NullPointerException
其实,这里的空指针问题,是我在使用dagger2框架的时候,它会动态的编译 xxxxComponemt 的实现类,由于我使用了不同版本的dagger,导致在编译生成该实现类的时候,找不见相关的资源,故报出这个错误,大家在导依赖的时候也应该注意了
转载自:https://blog.csdn.net/mwthe/article/details/78673748