# Sources

# Sources

[View Source](https://cs.android.com/search?q=file:com/android/build/api/variant/Sources.kt+class:com.android.build.api.variant.Sources)  
Added in 7.2.0  

<br />

```
interface Sources
```

<br />

*** ** * ** ***

Provides access to all source directories for a[Variant](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Variant).

## Summary

|                                                            ### Public functions                                                             |
|---------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat) | `@`[Incubating](https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html) [getByName](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#getByName(kotlin.String))`(name: `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Access (and potentially creates) a new Flat for a custom source type that can be referenced by its[name](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#getByName(kotlin.String)). |

|                                                                ### Public properties                                                                 |
|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [aidl](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#aidl()) Access to the aidl sources folders if[com.android.build.api.dsl.BuildFeatures.aidl](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/BuildFeatures#aidl())is true otherwise null                                                                                                                        |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [assets](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#assets()) Access to the Android assets sources folders.                                                                                                                                                                                                                                                                                             |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [baselineProfiles](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#baselineProfiles()) Access to the Baseline profiles source folders.                                                                                                                                                                                                                                                                       |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [java](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#java()) Access to the Java source folders.                                                                                                                                                                                                                                                                                                            |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [jniLibs](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#jniLibs()) Access to the JNI libraries folders                                                                                                                                                                                                                                                                                                     |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [kotlin](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#kotlin()) Access to the Kotlin source folders.                                                                                                                                                                                                                                                                                                      |
| [ManifestFiles](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/ManifestFiles)                            | [manifests](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#manifests()) Access to all android manifest files.                                                                                                                                                                                                                                                                                               |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [mlModels](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#mlModels()) Access to the machine learning models folders if[com.android.build.api.dsl.ApplicationBuildFeatures.mlModelBinding](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/ApplicationBuildFeatures#mlModelBinding())is true otherwise null                                                           |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [renderscript](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#renderscript()) Access to the renderscript sources folders if[com.android.build.api.dsl.BuildFeatures.renderScript](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/BuildFeatures#renderScript())is true otherwise null.                                                                               |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [res](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#res()) Access to the Android resources sources folders if the component supports android resources or if[com.android.build.api.dsl.LibraryBuildFeatures.androidResources](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/LibraryBuildFeatures#androidResources())is true for library variants, otherwise null. |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [resources](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#resources()) Access to the Java-style resources sources folders.                                                                                                                                                                                                                                                                                 |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [shaders](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#shaders()) Access to the shaders sources folders if[com.android.build.api.dsl.BuildFeatures.shaders](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/BuildFeatures#shaders())is true otherwise null                                                                                                         |

## Public functions

### getByName

Added in 7.2.0  

```
@Incubating
fun getByName(name: String): SourceDirectories.Flat
```

Access (and potentially creates) a new Flat for a custom source type that can be referenced by its[name](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#getByName(kotlin.String)).

The first caller will create the new instance, other callers with the same[name](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/variant/Sources#getByName(kotlin.String))will get the same instance returned. Any callers can obtain the final list of the folders registered under this custom source type by calling Flat.all.

These sources directories are attached to the variant and will be visible to Android Studio.  

## Public properties

### aidl

Added in 7.3.0  

```
val aidl: SourceDirectories.Flat?
```

Access to the aidl sources folders if[com.android.build.api.dsl.BuildFeatures.aidl](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/BuildFeatures#aidl())is true otherwise null  

### assets

Added in 7.3.0  

```
val assets: SourceDirectories.Layered?
```

Access to the Android assets sources folders.  

### baselineProfiles

Added in 8.0.0  

```
val baselineProfiles: SourceDirectories.Flat?
```

Access to the Baseline profiles source folders.  

### java

Added in 7.2.0  

```
val java: SourceDirectories.Flat?
```

Access to the Java source folders.  

### jniLibs

Added in 7.3.0  

```
val jniLibs: SourceDirectories.Layered?
```

Access to the JNI libraries folders  

### kotlin

Added in 7.3.0  

```
val kotlin: SourceDirectories.Flat?
```

Access to the Kotlin source folders.  

### manifests

Added in 8.4.2  

```
val manifests: ManifestFiles
```

Access to all android manifest files. Main manifest file is always the first one.  

### mlModels

Added in 7.3.0  

```
val mlModels: SourceDirectories.Layered?
```

Access to the machine learning models folders if[com.android.build.api.dsl.ApplicationBuildFeatures.mlModelBinding](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/ApplicationBuildFeatures#mlModelBinding())is true otherwise null  

### renderscript

Added in 7.3.0  
Deprecated in 7.3.0  

```
val renderscript: SourceDirectories.Flat?
```

Access to the renderscript sources folders if[com.android.build.api.dsl.BuildFeatures.renderScript](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/BuildFeatures#renderScript())is true otherwise null. RenderScript APIs are deprecated starting in Android 12[See more](https://developer.android.com/guide/topics/renderscript/migrate).  

### res

Added in 7.3.0  

```
val res: SourceDirectories.Layered?
```

Access to the Android resources sources folders if the component supports android resources or if[com.android.build.api.dsl.LibraryBuildFeatures.androidResources](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/LibraryBuildFeatures#androidResources())is true for library variants, otherwise null.  

### resources

Added in 7.4.0  

```
val resources: SourceDirectories.Flat?
```

Access to the Java-style resources sources folders.  

### shaders

Added in 7.3.0  

```
val shaders: SourceDirectories.Layered?
```

Access to the shaders sources folders if[com.android.build.api.dsl.BuildFeatures.shaders](https://developer.android.com/reference/tools/gradle-api/8.4/com/android/build/api/dsl/BuildFeatures#shaders())is true otherwise null