# Ndk

# Ndk

```
@Incubating interface Ndk
```

|------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.dsl.Ndk](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#) |

DSL object for per-variant NDK settings, such as the ABI filter.

## Summary

|                                                                                                                                                                                                                              ### Properties                                                                                                                                                                                                                               ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\>    | [abiFilters](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#abiFilters:kotlin.collections.MutableSet) Specifies the Application Binary Interfaces (ABI) that Gradle should build outputs for and package with your APK. |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?                                                                                                            | [cFlags](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#cFlags:kotlin.String) The C Flags                                                                                                                               |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?                                                                                                            | [debugSymbolLevel](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#debugSymbolLevel:kotlin.String) The type of debug metadata which will be packaged in the app bundle.                                                  |
| abstract[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?                                                                                                                  | [jobs](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#jobs:kotlin.Int) Number of parallel threads to spawn.                                                                                                             |
| abstract[MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\>? | [ldLibs](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#ldLibs:kotlin.collections.MutableList) The LD Libs                                                                                                              |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?                                                                                                            | [moduleName](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#moduleName:kotlin.String) The module name                                                                                                                   |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?                                                                                                            | [stl](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Ndk#stl:kotlin.String) The APP_STL value                                                                                                                               |

## Properties

### abiFilters

```
abstract val abiFilters: MutableSet<String>
```

Specifies the Application Binary Interfaces (ABI) that Gradle should build outputs for and package with your APK.

You can list any subset of the[ABIs the NDK supports](https://developer.android.com/ndk/guides/abis.html#sa), as shown below:  

```carbon
android {
    // Similar to other properties in the defaultConfig block, you can override
    // these properties for each product flavor in your build configuration.
    defaultConfig {
        ndk {
            // Tells Gradle to build outputs for the following ABIs and package
            // them into your APK.
            abiFilters 'x86', 'x86_64', 'armeabi'
        }
    }
}
```

When this flag is not configured, Gradle builds and packages all available ABIs.

To reduce the size of your APK, consider[configuring multiple APKs based on ABI](https://developer.android.com/studio/build/configure-apk-splits.html#configure-abi-split)---instead of creating one large APK with all versions of your native libraries, Gradle creates a separate APK for each ABI you want to support and only packages the files each ABI needs.  

### cFlags

```
abstract var cFlags: String?
```

The C Flags  

### debugSymbolLevel

```
abstract var debugSymbolLevel: String?
```

The type of debug metadata which will be packaged in the app bundle.  

### jobs

```
abstract var jobs: Int?
```

Number of parallel threads to spawn.  

### ldLibs

```
abstract val ldLibs: MutableList<String>?
```

The LD Libs  

### moduleName

```
abstract var moduleName: String?
```

The module name  

### stl

```
abstract var stl: String?
```

The APP_STL value