首页 > 其他分享 >AndroidAnnotations 使用在library项目中出现无法找到R文件下资源索引的错误

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

时间:2023-07-28 10:36:25浏览次数:44  
标签:AA 项目 Library AndroidAnnotations 索引 报错 library 勾选


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

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

AA现在最新版本为3.2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

那怎么处理呢?

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

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

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

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


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

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

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

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

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


标签:AA,项目,Library,AndroidAnnotations,索引,报错,library,勾选
From: https://blog.51cto.com/u_13912333/6879036

相关文章

  • Mysql高级3-索引的结构和分类
    一、索引概述1.1索引的介绍索引index:是帮助Mysql 高效获取数据 的 有序的数据结构,在数据之外,数据库系统维护着的满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引1.2索......
  • Mysql索引优化实战
    Mysql索引优化实战在进行Mysql数据库的查询优化时,索引的优化是至关重要的一环。索引可以大大提高数据库的查询速度,减少查询的资源消耗。本文将介绍Mysql索引的基本原理和常用的索引优化技巧,并提供一些代码示例供读者参考。什么是索引?索引是一种数据结构,可以帮助数据库系统快速定......
  • Mysql > <会走索引嘛
    Mysql><会走索引嘛在MySQL中,索引是一种用于提高查询效率的数据结构。通过创建索引,可以加速数据库的查询操作,减少数据库的IO操作,从而提高整体性能。但是,并不是所有的查询都会走索引,有时候即使创建了索引,查询也可能不会使用索引。索引的作用索引在数据库中起到了加快查询的作用,......
  • 【报错修复】HRESULT: 0x80070057 The library hostfxr.dll was found, but loading i
    我写了一个winform程序,拷贝到win7系统上,提示需要下载.net给的链接是https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win7-x64&apphost_version=5.0.3&gui=true这台win7上不了网我用win10下载了这个链接的桌面运行时windowsdesktop-runtime-5.0......
  • hash索引、B-树索引、B+树索引
    hash索引哈希索引是一种基于哈希表的索引结构,它是一种需要精确匹配才生效的索引结构。实现原理:对索引列计算哈希值把记录映射到哈希槽中,然后指向对应记录行的地址。因此,在查询的时候只要正确匹配到索引列,就能在O(1)的时间复杂度内查到记录。以下是一个哈希索引的示例,左边是哈希......
  • Azure OpenAI client library for .NET
    usingAzure;usingAzure.AI.OpenAI;OpenAIClientclient=newOpenAIClient( newUri("AZURE_OPENAI_ENDPOINT"), newAzureKeyCredential("AZURE_OPENAI_API_KEY"));Response<ChatCompletions>responseWithoutStream=awaitclient.Get......
  • Google tile 和 TMS 的索引算法
    Googletile和TMS的索引算法TMS是tilemapservice的缩写,是一种瓦片地图服务,也称之为WMTS(webmaptileservice),具体的标准可以见OGC网站。TMS的算法很简单,就是把投影后的世界地图按照层级进行四叉树(待验证)切割,切割后的瓦片数量随层级呈金字塔型,数量和层级关系如下表所示: 对......
  • 【随手记录】关于关系型数据库索引的建立
    1、索引不是万能的,每类索引都有对应使用情况2、索引不是越多越好,建立索引对应需要维护索引数据3、对于like进行模糊搜索时,并不是所有的情况都走索引,需要根据具体的写法来判断4、where语句最好不要出现in!=等操作符5、对于大量重复的数据查询索引可能不生效6、尽量避免在where条......
  • 转:MySQL数据库给表添加索引
    MySQL数据库给表添加索引   ......
  • 学好Elasticsearch系列-索引的CRUD
    本文已收录至Github,推荐阅读......