Cha*_*ham 12 gradle kotlin android-gradle-plugin
在尝试构建时,我得到了这个堆栈跟踪:
Exception in thread "main" java.lang.NullPointerException: Couldn't find outer class com/xxx/CheckListPresenter$onAttached$1$5 of com/xxx/CheckListPresenter$onAttached$1$5$1
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:1079)
at com.google.devtools.build.android.desugar.ClassVsInterface.isOuterInterface(ClassVsInterface.java:56)
at com.google.devtools.build.android.desugar.InterfaceDesugaring.visitOuterClass(InterfaceDesugaring.java:246)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:638)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477)
at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361)
at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314)
at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)
Run Code Online (Sandbox Code Playgroud)
我检查了CheckListPresenter课程,似乎没有任何问题.我尝试删除该类只是为了看它是否会构建,但错误只是转移到另一个类,说明相同的问题.
几个月前我最后一次触摸这段代码是好的,所以我不确定是什么触发了这一变化.
可能重要的事情:这是一个Android项目.这是用Kotlin写的.这在transformClassesWithDesugarForDebuggradle任务上失败
这些都只是在我尝试的黑暗中刺伤:
创建一个新项目并仅移入我的源代码和gradle文件.
从java 8到7.
不同版本的JDK.我试过1.8.0_151和1.8.0_152.
添加javaMaxHeapSize "4g"到build.gradle.
升级所有内容:gradle包装器和每个依赖项.
删除了Dagger,转而支持Koin
删除了Kapt
同时使用Android Studio的预览版和稳定版
这是我的构建扫描,它会做什么好事
这是破坏我的代码片段:
view?.let { v ->
v.getCancelClicks()
.doOnSubscribe({ disposables.add(it) })
.subscribe({
v.showExitDialog()
.filter { it }
.subscribe({
cancel()
}, this::onError)
}, this::onError)
}
Run Code Online (Sandbox Code Playgroud)
令人感到奇怪的是,这些没有一个单独给我的问题
view?.let { v ->
v.getCancelClicks()
.doOnSubscribe({ disposables.add(it) })
.subscribe({
//removed
}, this::onError)
}
}
Run Code Online (Sandbox Code Playgroud)
要么
view?.let { v ->
v.showExitDialog()
.filter { it }
.subscribe({
cancel()
}, this::onError)
}
Run Code Online (Sandbox Code Playgroud)
但他们在一起是个问题.
其他注意事项,view在基类中定义,是一个通用的.
目前,我的工作是删除view?.let{和使用view!!.这显然是一个错误,但我不确定将其报告给谁.Gradle,Kotlin,JetBrains,上帝?
小智 1
我有一个方法来解决这个错误:java.lang.NullPointerException: Couldn't find outer class com/iconfitness/iconaudit/common/fragments/SettingsFragment$onCreate$1$1 of com/iconfitness/iconaudit/common/fragments/SettingsFragment$onCreate$1$1$1。
只需移动此块代码即可
v.showExitDialog()
.filter { it }
.subscribe({
cancel()
Run Code Online (Sandbox Code Playgroud)
其他方法。我不再遇到这个问题了。我希望这能帮到您。
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |