Skip to main content
Glama

flutter_release_build

Build signed release versions for Android and iOS platforms from Flutter projects, including APK, AAB, and IPA files with optional code obfuscation.

Instructions

Build release versions for all platforms: APK, AAB, IPA with signing

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdYesWorking directory (Flutter project root)
platformsNoPlatforms to build for
obfuscateNoObfuscate Dart code

Implementation Reference

  • The handler function for the flutter_release_build tool. It iterates over specified platforms, calls the flutter_build tool in release mode for each, collects results, and returns success status with build artifacts paths.
    handler: async (args: any) => { const builds: Record<string, any> = {}; const buildTool = flutterTools.get('flutter_build'); for (const platform of args.platforms || ['apk', 'appbundle']) { try { const result = await buildTool.handler({ cwd: args.cwd, target: platform, buildMode: 'release' }); builds[platform] = result; } catch (error) { builds[platform] = { success: false, error: error instanceof Error ? error.message : String(error) }; } } return { success: Object.values(builds).some((b: any) => b.success), data: { builds, artifacts: { apk: 'build/app/outputs/flutter-apk/app-release.apk', appbundle: 'build/app/outputs/bundle/release/app-release.aab', ipa: 'build/ios/ipa/*.ipa' } } }; }
  • Input schema validation for the tool, defining parameters cwd (required), platforms (array of apk/appbundle/ipa/ios, default apk/appbundle), and obfuscate (boolean, default true).
    inputSchema: { type: 'object', properties: { cwd: { type: 'string', description: 'Working directory (Flutter project root)' }, platforms: { type: 'array', items: { type: 'string', enum: ['apk', 'appbundle', 'ipa', 'ios'] }, description: 'Platforms to build for', default: ['apk', 'appbundle'] }, obfuscate: { type: 'boolean', description: 'Obfuscate Dart code', default: true } }, required: ['cwd'] },
  • Registration of the flutter_release_build tool in the tools map, including name, description, input schema, and handler function.
    // Flutter Release Build - Multi-platform release builder tools.set('flutter_release_build', { name: 'flutter_release_build', description: 'Build release versions for all platforms: APK, AAB, IPA with signing', inputSchema: { type: 'object', properties: { cwd: { type: 'string', description: 'Working directory (Flutter project root)' }, platforms: { type: 'array', items: { type: 'string', enum: ['apk', 'appbundle', 'ipa', 'ios'] }, description: 'Platforms to build for', default: ['apk', 'appbundle'] }, obfuscate: { type: 'boolean', description: 'Obfuscate Dart code', default: true } }, required: ['cwd'] }, handler: async (args: any) => { const builds: Record<string, any> = {}; const buildTool = flutterTools.get('flutter_build'); for (const platform of args.platforms || ['apk', 'appbundle']) { try { const result = await buildTool.handler({ cwd: args.cwd, target: platform, buildMode: 'release' }); builds[platform] = result; } catch (error) { builds[platform] = { success: false, error: error instanceof Error ? error.message : String(error) }; } } return { success: Object.values(builds).some((b: any) => b.success), data: { builds, artifacts: { apk: 'build/app/outputs/flutter-apk/app-release.apk', appbundle: 'build/app/outputs/bundle/release/app-release.aab', ipa: 'build/ios/ipa/*.ipa' } } }; } });
  • Helper metadata in tool registry providing category (ESSENTIAL), platform (flutter), required tools (FLUTTER, GRADLE, XCODEBUILD), performance estimates, and safety flags.
    'flutter_release_build': { name: 'flutter_release_build', category: ToolCategory.ESSENTIAL, platform: 'flutter', requiredTools: [RequiredTool.FLUTTER, RequiredTool.GRADLE, RequiredTool.XCODEBUILD], description: 'Build release versions for all platforms: APK, AAB, IPA with signing', safeForTesting: false, performance: { expectedDuration: 300000, timeout: 1200000 } },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cristianoaredes/mcp-mobile-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server