# JniLibsPackaging

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


```
interface JniLibsPackaging
```

<br />

Known direct subclasses [JniLibsApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsApkPackaging), [JniLibsTestedComponentPackaging](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsTestedComponentPackaging)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsApkPackaging` | Build-time properties for packaging native libraries (.so) inside an APK `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component`. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsTestedComponentPackaging` | Build-time properties for packaging native libraries (.so) inside a tested `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component`. |

Known indirect subclasses [JniLibsTestedApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsTestedApkPackaging)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsTestedApkPackaging` | Build-time properties for packaging native libraries (.so) inside a tested APK `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component`. |

*** ** * ** ***

Build-time properties for packaging native libraries (.so) inside a `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component`.

This is accessed via `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Packaging#jniLibs()`

## Summary

| ### Public properties |
|---|---|
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/SetProperty.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsPackaging#excludes()` The set of excluded patterns. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/SetProperty.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsPackaging#keepDebugSymbols()` The set of patterns for native libraries that should not be stripped of debug symbols. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/SetProperty.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JniLibsPackaging#pickFirsts()` The set of patterns for which the first occurrence is packaged in the APK. |

## Public properties

### excludes

Added in 7.0.0

```
val excludes: SetProperty<String>
```

The set of excluded patterns. Native libraries matching any of these patterns do not get packaged.

Example usage: `packaging.jniLibs.excludes.add("**`/`exclude.so")`

### keepDebugSymbols

Added in 7.0.0

```
val keepDebugSymbols: SetProperty<String>
```

The set of patterns for native libraries that should not be stripped of debug symbols.

Example: `packaging.jniLibs.keepDebugSymbols.add("**`/`doNotStrip.so")`

### pickFirsts

Added in 7.0.0

```
val pickFirsts: SetProperty<String>
```

The set of patterns for which the first occurrence is packaged in the APK. For each native library APK entry path matching one of these patterns, only the first native library found with that path gets packaged.

Example usage: `packaging.jniLibs.pickFirsts.add("**`/`pickFirst.so")`