---
title: 'Resource Compiler'
url: 'https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools/resource-compiler'
markdown: 'https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools/resource-compiler.md'
date: '2026-09-25'
description: 'Vaandroid uses a proprietary compiler to index and package plugin resources.'
taxonomy:
  category:
    - docs
  devtype:
    - beta
---

[](#)  [ Home ](https://www.twelvetone.tv/docs/)     [ Developer Tools ](https://www.twelvetone.tv/docs/developer-tools)     [ Gradle Plugins ](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins)     [ Vaandroid Gradle Plugin ](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin)     [ Tools ](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools)      Resource Compiler    

This product is in *beta state*. 
It is available to registered beta testers only.

Vaandroid uses a proprietary compiler to index and package plugin resources.

#### Table of Contents

- [Overview](#overview)
- [IDs](#ids)
- [Resource Functions](#resource-functions)
- [Custom XML Attributes](#custom-xml-attributes)
- [package/R.java](#package-r-java)
- [idmaps/bundleid.map.xml](#idmaps-bundleid-map-xml)
- [About Android Resources](#about-android-resources)

# Overview

This module creates the Android R class and kotlinx classes. It is invoked by Maven during the validate goal of the build lifecycle, and by Gradle using the task generateVaandroidResources.

# IDs

This tool creates a class containing indentifiers for:

- Layouts
- Drawables
- Strings
- Menus
- View IDs

# Resource Functions

A variety of functions are defined for dynamic querying of resources.

# Custom XML Attributes

- vaandroid:type\_arguments
- vaandroid:group
- vaandroid:folder

# package/R.java

Android Studio projects require a resource file called R. This file contains identifiers for layouts, strings, plurals, etc.

# idmaps/bundleid.map.xml

The system bundle also contains an R file. Each plugin keeps a copy of the R file settings of the core plugin, and any other shared bundle, to keep them in sync in case an id changes.

# About Android Resources

Resources are placed in a res folder and are identical to Android. Vaandroid will pre-compile your resources to a class file in your declared package and create the R class.

- res
- layout
- anim
- drawable
- color
- menu
- dimension
- values
- strings
- plurals
- string-arrays
- formatting
- replacement
- style
- ID
- raw

 [ ](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools) [](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools/kotlinx)

---

## Navigation

- Parent: [Tools](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools.md)
- Next: [KotlinX](https://www.twelvetone.tv/docs/developer-tools/gradle-plugins/vaandroid-gradle-plugin/tools/kotlinx.md)
