JniLibsPackaging

public interface JniLibsPackaging


Packaging options for native library (.so) files

Summary

Public methods

abstract @NonNull Set<@NonNull String>

The set of excluded patterns.

abstract @NonNull Set<@NonNull String>

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

abstract @NonNull Set<@NonNull String>

The set of patterns where the first occurrence is packaged in the APK.

abstract Boolean

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

abstract void
setUseLegacyPackaging(Boolean useLegacyPackaging)

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

Public methods

getExcludes

abstract @NonNull Set<@NonNull StringgetExcludes()

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

Example: android.packagingOptions.jniLibs.excludes += "**/exclude.so"

getKeepDebugSymbols

abstract @NonNull Set<@NonNull StringgetKeepDebugSymbols()

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

Example: android.packagingOptions.jniLibs.keepDebugSymbols += "**/doNotStrip.so"

getPickFirsts

abstract @NonNull Set<@NonNull StringgetPickFirsts()

The set of patterns where 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: android.packagingOptions.jniLibs.pickFirsts += "**/pickFirst.so"

getUseLegacyPackaging

abstract Boolean getUseLegacyPackaging()

Whether to use the legacy convention of compressing all .so files in the APK. If null, .so files will be uncompressed and page-aligned when minSdk >= 23.

setUseLegacyPackaging

abstract void setUseLegacyPackaging(Boolean useLegacyPackaging)

Whether to use the legacy convention of compressing all .so files in the APK. If null, .so files will be uncompressed and page-aligned when minSdk >= 23.