Error:Uninitialized object exists on backward branch 70

原来的Android项目突然出现问题:


bug.jpeg

报错内容大致如下:

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

查到的解决方案:

  1. 升级JDK1.8至更高版本(亲测无用)
  2. 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库时,要删干净,记录如下:


1.jpeg
2.jpeg

3.jpeg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容