Skip to content

android_resource

Android resource target.

Description

Compiles Android resources into a static resource package with aapt2 and propagates assets to Android package targets. This is the preferred place to declare shared res/ and assets/ trees. Android libraries and binaries can depend on it through deps.

Attributes

AttributeTypeRequiredDefaultDescription
manifeststringnoAndroidManifest.xmlPackage-relative Android manifest
resource_fileslist<string>nofiles under resAndroid resource file glob patterns
resource_dirslist<string>no["res"]Resource roots passed to aapt2 compile
assetslist<string>no[]Android asset file glob patterns
asset_dirslist<string>no["assets"]Asset roots propagated to Android package targets
assets_dirstringnoSingle package-relative asset root alias
packagestringnoGenerated R package fallback
namespacestringnoJava package for generated R classes
custom_packagestringnoAlias for generated R package
compile_sdkintnohighest installedAndroid SDK API level used for android.jar
min_sdk_versionintno23Minimum Android API level
target_sdk_versionintnocompile_sdkTarget Android API level
build_tools_versionstringnohighest installedAndroid SDK build-tools version
android_sdkstringnoenvAndroid SDK root, otherwise ANDROID_HOME or ANDROID_SDK_ROOT
aapt2stringnoSDK build-toolsOverride aapt2 path
javacstringnohost PATHOverride javac path
javastringnohost PATHOverride Java runtime path
java_homestringnoenvOverride JAVA_HOME passed to Android SDK tools

Dependency Edges

EdgeAcceptsDescription
depsandroid_resourceAndroid resources merged into this resource package

Providers

The target emits android_resource.

Capabilities

CapabilityOutput groups
builddefault, resources

Source References

Target kind discovery returns these external concepts for partial graph adoption:

Use them when only a resource or asset node needs to move into the Once graph.

Outputs

OutputLocation
Static resource package.once/out/<target>/resources.apk
R source directory.once/out/<target>/generated/r
R text symbols.once/out/<target>/R.txt

Example

toml
[[target]]
name = "SharedResources"
kind = "android_resource"

[target.attrs]
package = "dev.once.shared"
manifest = "AndroidManifest.xml"
resource_files = ["res/**"]
min_sdk_version = 23

Released under an open-source license.