# Sources

# Sources

<br />

```
@Incubating interface Sources
```

<br />

*** ** * ** ***

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

since 7.2

## Summary

|                                                                                                                                                                                                                                                                                                   ### Public functions                                                                                                                                                                                                                                                                                                   ||
|---------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Flat) | [getByName](https://developer.android.com/reference/tools/gradle-api/7.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/7.4/com/android/build/api/variant/Sources#getByName(kotlin.String)). |

|                                                                                                                                                                                                                                                          ### Public properties                                                                                                                                                                                                                                                          ||
|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [aidl](https://developer.android.com/reference/tools/gradle-api/7.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/7.4/com/android/build/api/dsl/BuildFeatures#aidl())is true otherwise null                                          |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [assets](https://developer.android.com/reference/tools/gradle-api/7.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/7.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [java](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Sources#java()) Access to the Java source folders.                                                                                                                                                                                                                              |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [jniLibs](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Sources#jniLibs()) Access to the JNI libraries folders                                                                                                                                                                                                                       |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [kotlin](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Sources#kotlin()) Access ot the Kotlin source folders.                                                                                                                                                                                                                        |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [mlModels](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Sources#mlModels()) Access to the machine learning models folders.                                                                                                                                                                                                          |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [renderscript](https://developer.android.com/reference/tools/gradle-api/7.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/7.4/com/android/build/api/dsl/BuildFeatures#renderScript())is true otherwise null. |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [res](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Sources#res()) Access to the Android resources sources folders.                                                                                                                                                                                                                  |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/SourceDirectories.Flat)`?`       | [resources](https://developer.android.com/reference/tools/gradle-api/7.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/7.4/com/android/build/api/variant/SourceDirectories.Layered)`?` | [shaders](https://developer.android.com/reference/tools/gradle-api/7.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/7.4/com/android/build/api/dsl/BuildFeatures#shaders())is true otherwise null                           |

## Public functions

### getByName

```
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/7.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/7.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

```
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/7.4/com/android/build/api/dsl/BuildFeatures#aidl())is true otherwise null  

### assets

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

Access to the Android assets sources folders.  

### java

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

Access to the Java source folders.  

### jniLibs

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

Access to the JNI libraries folders  

### kotlin

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

Access ot the Kotlin source folders.  

### mlModels

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

Access to the machine learning models folders.  

### renderscript

```
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/7.4/com/android/build/api/dsl/BuildFeatures#renderScript())is true otherwise null.  

### res

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

Access to the Android resources sources folders.  

### resources

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

Access to the Java-style resources sources folders.  

### shaders

```
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/7.4/com/android/build/api/dsl/BuildFeatures#shaders())is true otherwise null