JniLibsApkPackaging

interface JniLibsApkPackaging : JniLibsPackaging

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

Summary

Properties

abstract Provider<Boolean>

Whether to use the legacy convention of compressing all .

abstract Provider<Boolean>

Whether to use the legacy convention of compressing all .

Inherited properties

SetProperty<String> excludes

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

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

SetProperty<String> keepDebugSymbols

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

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

SetProperty<String> pickFirsts

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")

Properties

useLegacyPackaging

abstract val useLegacyPackaging: Provider<Boolean>

Whether to use the legacy convention of compressing all .so files in the APK. This does not affect APKs generated from the app bundle; see useLegacyPackagingFromBundle.

useLegacyPackagingFromBundle

abstract val useLegacyPackagingFromBundle: Provider<Boolean>

Whether to use the legacy convention of compressing all .so files when generating APKs from the app bundle. If true, .so files will always be compressed when generating APKs from the app bundle, regardless of the API level of the target device. If false, .so files will be compressed only when targeting devices with API level < M.