AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误

使用AndroidAnnotations(以下简称AA)已经有一段时间了,挺好用的,基本上完全可以满足Android开发需要,可以简化代码,所以现在在岗编写的所有的项目都是基于AA实现的。

AA现在最新版本为3.2

官方地址:http://androidannotations.org/

github地址:https://github.com/excilys/androidannotations

需要的可以去下载,官方的wiki写的也很全面,完全可以当教科书来看,不用找其他的资料了。

因为项目需要,需要将项目拆分成多个library项目,最终组合成为成品,所以刚开始的时候,我将项目进行了模块划分,并且创建了相对应的Library项目。

在测试模块的过程中,写入了部分代码,代码没有报任何的异常。

但是当Library项目,设置勾选is Library属性时,项目代码开始报错

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误_第1张图片

除了@EActivity注解报错之外,@ViewById等标签均有这样的错误提示。

错误提示大概是讲EActivity注解中的Value值必须是一个常量。

之前单独项目都正常,为什么勾选了is Library 项目变成Library项目 AA 就报这样的错误呢?带着疑惑,我查看了项目生成的R文件

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误_第2张图片

这是library项目下生成的R文件

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误_第3张图片

这是去掉is Library后生成的R文件

一眼就看出区别,同样的资源,在is Library勾选之后,将原来的final 属性去掉了。

所以AA在编译过程中发现资源不是常量,所以报错。

那怎么处理呢?

查阅了AA 的Github上的Wiki内容 发现有这样一个说明

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误_第4张图片

地址:https://github.com/excilys/androidannotations/wiki/Cookbook

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误_第5张图片


点击进入之后文章的开头就已经写的很清楚了,所以我们照着这个文档中的说明来操作

AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误_第6张图片

只是需要将原来的 R.资源.资源名的方式 换成使用resName的方式即可

这样就在library 项目中使用AA 了


你可能感兴趣的:(Android)