signBundle function
Future<void>
signBundle({
- required BuildContext ctx,
- required ResolvedToolchain toolchain,
- required String unsignedBundle,
- required String signedBundle,
- SigningConfig? signing,
- AndroidProcessRunner processRunner = runAndroidProcess,
Implementation
Future<void> signBundle({
required BuildContext ctx,
required ResolvedToolchain toolchain,
required String unsignedBundle,
required String signedBundle,
SigningConfig? signing,
AndroidProcessRunner processRunner = runAndroidProcess,
}) async {
final configured =
signing ?? await SigningConfig.autoResolve(ctx) ?? const SigningConfig();
if (!configured.isConfigured && ctx.mode.isRelease) {
print(
'⚠️ No signing configuration found — signing the AAB with the DEBUG '
'keystore. Store uploads will be rejected.',
);
}
await signAab(
unsignedAabPath: unsignedBundle,
keystorePath: configured.isConfigured
? configured.keystorePath
: await debugKeystore(processRunner: processRunner),
keyAlias: configured.isConfigured ? configured.keyAlias : 'androiddebugkey',
storePass: configured.isConfigured ? configured.storePassword : 'android',
signedAabPath: signedBundle,
jarsignerPath: await findJarsigner(toolchain, processRunner: processRunner),
);
}