# JniLibsApkPackagingOptions

# JniLibsApkPackagingOptions

```
@Incubating interface JniLibsApkPackagingOptions : JniLibsPackagingOptions
```

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.variant.JniLibsApkPackagingOptions](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/JniLibsApkPackagingOptions#) |

Defines an APK variant's packaging options for native library (.so) files.

## Summary

|                                                                                                                                                                                                                   ### Properties                                                                                                                                                                                                                   ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Property](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html)\<[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)\> | [useLegacyPackaging](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/JniLibsApkPackagingOptions#useLegacyPackaging:org.gradle.api.provider.Property) Whether to use the legacy convention of compressing all . |

| ### Inherited properties ||
|---|---|
| From class[JniLibsPackagingOptions](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/JniLibsPackagingOptions) |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [SetProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/SetProperty.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> | [excludes](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/JniLibsPackagingOptions#excludes:org.gradle.api.provider.SetProperty) <br /> The set of excluded patterns. Native libraries matching any of these patterns do not get packaged. Example usage:`packagingOptions.jniLibs.excludes.add("**`/`exclude.so")` <br />                                                                                                                          | | [SetProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/SetProperty.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> | [keepDebugSymbols](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/JniLibsPackagingOptions#keepDebugSymbols:org.gradle.api.provider.SetProperty) <br /> The set of patterns for native libraries that should not be stripped of debug symbols. Example:`packagingOptions.jniLibs.keepDebugSymbols.add("**`/`doNotStrip.so")` <br />                                                                                                                 | | [SetProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/SetProperty.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)> | [pickFirsts](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/JniLibsPackagingOptions#pickFirsts:org.gradle.api.provider.SetProperty) <br /> 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:`packagingOptions.jniLibs.pickFirsts.add("**`/`pickFirst.so")` <br /> | ||

## Properties

### useLegacyPackaging

```
abstract val useLegacyPackaging: Property<Boolean>
```

Whether to use the legacy convention of compressing all .so files in the APK.