原来的Android项目突然出现问题:
报错内容大致如下:
Error:Uninitialized object exists on backward branch 70
Exception Details:
Location:
com/android/build/gradle/tasks/BuildArtifactReportTask.newArtifact(Lcom/android/build/api/artifact/BuildableArtifact;)Lcom/android/build/gradle/tasks/BuildArtifactReportTask$BuildableArtifactData; @119: goto
Reason:
Error exists in the bytecode
Bytecode:
0000000: bb00 f459 2bb9 0139 0100 c000 6b2b b901
查到的解决方案:
- 升级JDK1.8至更高版本(亲测无用)
- ButterKnife 9.0.0-SNAPSHOT 版本导致的(都是它惹的祸)
Jake Wharton / ButterKnife help: I get a big problem
解决方案
方案一
修改ButterKnife至稳定版本(推荐8.5.0 版本)
亲测 8.8.1版本无效,报错:
* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
> com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;
> java.lang.reflect.InvocationTargetException (no error message)
方案二
不使用ButterKnife。Kotlin的出现,完全没有必要再使用ButterKnife了,直接可以使用资源id进行操作。
注意
去掉已存在的ButterKnife库时,要删干净,记录如下: