# Packaging

# Packaging

<br />

```
public interface Packaging
```

<br />

*** ** * ** ***

## Summary

|                                                                                                                                                                                                     ### Public methods                                                                                                                                                                                                      |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | [dex](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#dex(kotlin.Function1))`(` ` @`[ExtensionFunctionType](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html)` @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` Function1<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[DexPackaging](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DexPackaging)`, `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`> action` `)` PackagingOptions for dex                                    |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | ~~[doNotStrip](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#doNotStrip(kotlin.String))~~`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern)` **This method is deprecated.**This method is deprecated.                                                                                                                                                                                                                                                                                                                                                  |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | ~~[exclude](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#exclude(kotlin.String))~~`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern)` **This method is deprecated.**This method is deprecated.                                                                                                                                                                                                                                                                                                                                                        |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[DexPackaging](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DexPackaging)                                                                                                                                                                             | [getDex](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getDex())`()` PackagingOptions for dex                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Set](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>` | [getDoNotStrip](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getDoNotStrip())`()` The set of patterns for native library that should not be stripped of debug symbols.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Set](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>` | [getExcludes](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getExcludes())`()` The set of excluded paths.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[JniLibsPackaging](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/JniLibsPackaging)                                                                                                                                                                     | [getJniLibs](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getJniLibs())`()` PackagingOptions for jniLibs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Set](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>` | [getMerges](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getMerges())`()` The set of patterns where all occurrences are concatenated and packaged in the APK.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Set](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>` | [getPickFirsts](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getPickFirsts())`()` The set of patterns where the first occurrence is packaged in the APK.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[ResourcesPackaging](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ResourcesPackaging)                                                                                                                                                                 | [getResources](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#getResources())`()` PackagingOptions for java resources                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | [jniLibs](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#jniLibs(kotlin.Function1))`(` ` @`[ExtensionFunctionType](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html)` @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` Function1<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[JniLibsPackaging](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/JniLibsPackaging)`, `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`> action` `)` PackagingOptions for jniLibs                |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | ~~[merge](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#merge(kotlin.String))~~`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern)` **This method is deprecated.**This method is deprecated.                                                                                                                                                                                                                                                                                                                                                            |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | ~~[pickFirst](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#pickFirst(kotlin.String))~~`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern)` **This method is deprecated.**This method is deprecated.                                                                                                                                                                                                                                                                                                                                                    |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                             | [resources](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#resources(kotlin.Function1))`(` ` @`[ExtensionFunctionType](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html)` @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` Function1<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[ResourcesPackaging](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ResourcesPackaging)`, `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`> action` `)` PackagingOptions for java resources |

## Public methods

### dex

```
abstract void dex(
    @ExtensionFunctionType @NonNull Function1<@NonNull DexPackaging, Unit> action
)
```

PackagingOptions for dex  

### doNotStrip

```
abstract void [doNotStrip](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#doNotStrip(kotlin.String))(@NonNull String pattern)
```
| **This method is deprecated.**   
| This method is deprecated. Use jniLibs.keepDebugSymbols.add() instead.

Adds a doNotStrip pattern.  

|                                                                                                      Parameters                                                                                                      |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern` | the pattern, as packaged in the APK |

### exclude

```
abstract void [exclude](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#exclude(kotlin.String))(@NonNull String pattern)
```
| **This method is deprecated.**   
| This method is deprecated. Use resources.excludes.add() or jniLibs.excludes.add() instead. Use jniLibs.excludes.add() for .so file patterns, and use resources.excludes.add() for all other file patterns.

Adds an excluded pattern.  

|                                                                                                      Parameters                                                                                                      |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern` | the pattern |

### getDex

```
abstract @NonNull DexPackaging getDex()
```

PackagingOptions for dex  

### getDoNotStrip

```
abstract @NonNull Set<@NonNull String> getDoNotStrip()
```

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

### getExcludes

```
abstract @NonNull Set<@NonNull String> getExcludes()
```

The set of excluded paths.  

### getJniLibs

```
abstract @NonNull JniLibsPackaging getJniLibs()
```

PackagingOptions for jniLibs  

### getMerges

```
abstract @NonNull Set<@NonNull String> getMerges()
```

The set of patterns where all occurrences are concatenated and packaged in the APK.  

### getPickFirsts

```
abstract @NonNull Set<@NonNull String> getPickFirsts()
```

The set of patterns where the first occurrence is packaged in the APK. First pick patterns do get packaged in the APK, but only the first occurrence found gets packaged.  

### getResources

```
abstract @NonNull ResourcesPackaging getResources()
```

PackagingOptions for java resources  

### jniLibs

```
abstract void jniLibs(
    @ExtensionFunctionType @NonNull Function1<@NonNull JniLibsPackaging, Unit> action
)
```

PackagingOptions for jniLibs  

### merge

```
abstract void [merge](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#merge(kotlin.String))(@NonNull String pattern)
```
| **This method is deprecated.**   
| This method is deprecated. Use resources.merges.add() instead.

Adds a merge pattern.  

|                                                                                                      Parameters                                                                                                      |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern` | the pattern, as packaged in the APK |

### pickFirst

```
abstract void [pickFirst](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Packaging#pickFirst(kotlin.String))(@NonNull String pattern)
```
| **This method is deprecated.**   
| This method is deprecated. Use resources.pickFirsts.add() or jniLibs.pickFirsts.add() instead. Use jniLibs.pickFirsts.add() for .so file patterns, and use resources.pickFirsts.add() for all other file patterns.

Adds a first-pick pattern.  

|                                                                                                      Parameters                                                                                                      |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` pattern` | the path to add. |

### resources

```
abstract void resources(
    @ExtensionFunctionType @NonNull Function1<@NonNull ResourcesPackaging, Unit> action
)
```

PackagingOptions for java resources