AAR包内R.txt文件的用途及相关异常场景咨询
AAR包中R.txt的用途及无R.txt的合理性
R.txt文件的具体用途
- R.txt是Android构建流程里生成的资源索引映射文件,里面记录了当前AAR包内所有资源的类型(比如drawable、string)、名称,还有对应的占位符资源ID(像
0x7f010000这类格式)。 - 它最核心的作用是给依赖这个AAR的主项目做资源合并时提供参考:主项目能快速通过R.txt定位AAR里的资源,避免资源ID冲突,同时让主项目可以直接用
R.xxx.xxx的语法引用AAR内的资源。 - 另外,Gradle这类构建工具处理AAR时,会靠R.txt直接生成最终的R类,不用重新扫描整个res目录解析资源,能提升构建速度。
有非空res目录却无R.txt是否正常?
这种情况完全正常,主要有两种常见原因:
- 部分AAR是纯资源类包,构建时只打包资源供主项目直接引用,不需要生成R类映射,所以会跳过R.txt的生成。
- 旧版本的Android构建工具(比如Gradle Plugin 3.x之前的版本),对于仅包含raw、assets这类原始资源的AAR,可能不会自动生成R.txt。只要主项目能正常合并并访问AAR里的资源,就不会有任何问题。
内容的提问来源于stack exchange,提问作者zeus
相关产品推荐
相关产品推荐

