Groovy & Android编译中的异常(@CompileStatic)
发布时间:2020-12-14 16:47:25 所属栏目:大数据 来源:网络整理
导读:为Groovy编写的Activity添加 @CompileStatic注解,结果编译中出现了一个异常 Error:Gradle: Execution failed for task ':ToDoList:compileDebugGroovy'. BUG! exception in phase 'instruction selection' in source unit 'F:Develandroidprofessional-a
为Groovy编写的Activity添加@CompileStatic注解,结果编译中出现了一个异常
Error:Gradle: Execution failed for task ':ToDoList:compileDebugGroovy'. > BUG! exception in phase 'instruction selection' in source unit 'F:Develandroidprofessional-androidToDoListsrcmaingroovycommistytodolistappToDoList.groovy' unexpected NullpointerException尝试更改Plugin版本,Groovy版本,Gradle版本,都无法解决。于是崩溃了,然后找到了之前编译成功的一个项目,一个个文件比较两个项目的区别,又把编译通过的Activity拷到新项目,编译通过。于是把编译失败的Activity代码全部注释掉,一行一行调试。
private ArrayAdapter<String> aa @Override protected void onCreate(Bundle savedInstanceState) { aa = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1) // Error }最后确定是泛型类型推断的空尖括号出的问题。解决办法是把类型写上(new ArrayAdapter<String>)或者干脆把空尖括号删掉。
aa = new ArrayAdapter(this,android.R.layout.simple_list_item_1) // Ok可以看出@CompileStatic是不支持(<>)这种用法的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |