expo-keystore-manager
Version:
A comprehensive Expo config plugin for managing Android release keystore configuration
29 lines (28 loc) • 1.32 kB
TypeScript
import { Config } from "@expo/config-plugins/build/ios/Updates";
import { KeystoreOptions } from "../types";
/**
* Complete Expo Release Keystore Manager Plugin
*
* This plugin handles all aspects of Android release keystore configuration:
* - Validates keystore configuration
* - Sets up Gradle properties for signing
* - Configures app/build.gradle with signing configs
* - Optionally sets up ProGuard/R8 for code obfuscation
*
* @param {Object} config - Expo config object
* @param {Object} options - Keystore configuration options
* @param {string} options.keystoreFile - Path to keystore file (required)
* @param {string} options.keystorePassword - Keystore password (required)
* @param {string} options.keyAlias - Key alias (required)
* @param {string} options.keyPassword - Key password (required)
* @param {string} [options.storeType="JKS"] - Keystore type (JKS, PKCS12, BKS)
* @param {boolean} [options.enableProguard=true] - Enable ProGuard/R8 minification
* @param {boolean} [options.enableR8=true] - Enable R8 optimization
* @param {string} [options.customProguardRules] - Custom ProGuard rules
* @returns {Object} Modified Expo config
*/
declare const withKeystoreManager: {
(config: Config, options?: KeystoreOptions): Config;
utils: any;
};
export default withKeystoreManager;