Stay organized with collections
Save and categorize content based on your preferences.
Ndk
@Incubating interface Ndk
DSL object for per-variant NDK settings, such as the ABI filter.
Summary
Properties
|
abstract MutableSet<String> |
Specifies the Application Binary Interfaces (ABI) that Gradle should build outputs for and
package with your APK.
|
abstract String? |
The C Flags
|
abstract String? |
The type of debug metadata which will be packaged in the app bundle.
|
abstract Int? |
Number of parallel threads to spawn.
|
abstract MutableList<String>? |
The LD Libs
|
abstract String? |
The module name
|
abstract 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,
as shown below:
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—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.
moduleName
abstract var moduleName: String?
The module name
stl
abstract var stl: String?
The APP_STL value
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# Ndk\n===\n\n```\n@Incubating interface Ndk\n```\n\n|------------------------------------|\n| [com.android.build.api.dsl.Ndk](#) |\n\nDSL object for per-variant NDK settings, such as the ABI filter.\n\nSummary\n-------\n\n| ### Properties ||\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [MutableSet](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html)\\\u003c[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\\\u003e | [abiFilters](#abiFilters:kotlin.collections.MutableSet) Specifies the Application Binary Interfaces (ABI) that Gradle should build outputs for and package with your APK. |\n| abstract [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? | [cFlags](#cFlags:kotlin.String) The C Flags |\n| abstract [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? | [debugSymbolLevel](#debugSymbolLevel:kotlin.String) The type of debug metadata which will be packaged in the app bundle. |\n| abstract [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)? | [jobs](#jobs:kotlin.Int) Number of parallel threads to spawn. |\n| abstract [MutableList](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html)\\\u003c[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\\\u003e? | [ldLibs](#ldLibs:kotlin.collections.MutableList) The LD Libs |\n| abstract [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? | [moduleName](#moduleName:kotlin.String) The module name |\n| abstract [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)? | [stl](#stl:kotlin.String) The APP_STL value |\n\nProperties\n----------\n\n### abiFilters\n\n```\nabstract val abiFilters: MutableSet\u003cString\u003e\n```\n\nSpecifies the Application Binary Interfaces (ABI) that Gradle should build outputs for and\npackage with your APK.\n\nYou can list any subset of the\n[ABIs the NDK supports](https://developer.android.com/ndk/guides/abis.html#sa),\nas shown below: \n\n```carbon\nandroid {\n // Similar to other properties in the defaultConfig block, you can override\n // these properties for each product flavor in your build configuration.\n defaultConfig {\n ndk {\n // Tells Gradle to build outputs for the following ABIs and package\n // them into your APK.\n abiFilters 'x86', 'x86_64', 'armeabi'\n }\n }\n}\n```\n\nWhen this flag is not configured, Gradle builds and packages all available ABIs.\n\nTo reduce the size of your APK, consider\n[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\nversions of your native libraries, Gradle creates a separate APK for each ABI you want to\nsupport and only packages the files each ABI needs. \n\n### cFlags\n\n```\nabstract var cFlags: String?\n```\n\nThe C Flags \n\n### debugSymbolLevel\n\n```\nabstract var debugSymbolLevel: String?\n```\n\nThe type of debug metadata which will be packaged in the app bundle. \n\n### jobs\n\n```\nabstract var jobs: Int?\n```\n\nNumber of parallel threads to spawn. \n\n### ldLibs\n\n```\nabstract val ldLibs: MutableList\u003cString\u003e?\n```\n\nThe LD Libs \n\n### moduleName\n\n```\nabstract var moduleName: String?\n```\n\nThe module name \n\n### stl\n\n```\nabstract var stl: String?\n```\n\nThe APP_STL value"]]