文档章节

Groovy & Android编译中的异常(@CompileStatic)

E
 Ellipse
发布于 2015/05/14 23:46
字数 270
阅读 21
收藏 0

为Groovy编写的Activity添加@CompileStatic注解,结果编译中出现了一个异常

Error:Gradle: Execution failed for task ':ToDoList:compileDebugGroovy'.
> BUG! exception in phase 'instruction selection' in source unit 'F:\Devel\android\professional-android\ToDoList\src\main\groovy\com\misty\todolist\app\ToDoList.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是不支持(<>)这种用法的。




© 著作权归作者所有

上一篇: 收藏夹
E
粉丝 46
博文 65
码字总数 41290
作品 0
大连
程序员
私信 提问
Groovy 现在可运行在 Android 系统上了!

在最近的GR8Conf Europe 2014期间,SpringSource/Pivotal的Groovy高级软件工程师 Cédric Champeau已经在Andriod上完成一次Groovy代码的现场pull请求的合并。 Groovy开发人员为了在Android上...

oschina
2014/06/08
9K
15
Apache Groovy 2.5.6 发布

Apache Groovy 2.5.6 发布了,Groovy 是一种功能强大的可选类型和动态的语言,具有静态类型和静态编译功能,适用于 Java 平台,旨在通过简洁、熟悉且易于学习的语法提高开发人员的工作效率。...

程六金
02/05
0
0
Groovy-Eclipse 2.7.2 发布

Groovy-Eclipse 2.7.2 发布了,Groovy Eclipse Plugin(插件)是script语言Groovy的开发辅助工具,它提供编辑,编译,以及执行groovy脚本的功能。支持Eclipse 3.2以及以上的版本。官网上有详...

oschina
2012/12/21
2.5K
2
Groovy 2.4.3 发布,JVM 动态脚本语言

Groovy 2.4.3 发布,此版本更新内容如下: Bug 修复 [GROOVY-6757] - Explicit type hints are not respected [GROOVY-7307] - Narrower generic type not taken into account when calling ......

oschina
2015/03/24
1K
9
Groovy 2.0 新特性之:静态类型检查

Groovy 2.0 刚刚发布,其中一项最大的改进就是支持静态类型检查。今天我们将对这个新特性进行全方位的介绍。 静态类型检查 Groovy 天生就是一个动态编程语言,它经常被当作是 Java 脚本语言,...

王振威
2012/11/27
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

linux下ctrl+c中止不了

有一台centos7的服务器,ctrl+c无效,并且tail -f也无效,只能关掉终端或者crtl+z放入后台再删掉,但是ping的时候使用ctrl+c是有效果的。 出现这种情况的原因可能是因为有人要使用ruby安装r...

gaolongquan
13分钟前
0
0
Android三年工作面经

工作三年出来看看新的机会,依次面试过如下公司: 小米(北京) iHandy(北京) 涂鸦智能(杭州) 微软(北京) 宜信(北京) 蚂蚁金服(杭州) 瓜子二手车(北京) 高德(北京) 基本上投递的简历都得到了面...

JerryLin123
16分钟前
1
0
开发函数计算的正确姿势——tensorflow serving

前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计...

阿里云云栖社区
19分钟前
5
0
社区角色(Kubernetes社区Maintainer是什么角色?)

社区成员按照角色,分为member、reviewer、approver、subproject owner。 下面我们介绍一下每个角色的职责和要求。 member reviewer approver subproject owner...

恋恋美食
36分钟前
0
0
【JavaScript】callee 与 caller

callee callee是函数参数arguments对象的一个属性,它指向参数arguments对象所在的函数自身。 function foo (x) {console.log(arguments.callee);return x;}foo(); 从控制台中可以看...

小草先森
40分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部