This centralized configuration system allows you to manage all app metadata (name, version, icons, package identifiers) from a single location instead of editing multiple platform-specific files.
Edit app_config/app_config.yaml
with your desired settings:
# App Identity
app_name: "LGKA+"
app_description: "LGKA+ App - Digitaler Vertretungsplan"
package_name: "com.lgka"
# Version Configuration
version_name: "1.6.0"
version_code: "19"
# App Icon Configuration
app_icon_path: "assets/images/app-icons/app-logo.png"
Run the update script:
./scripts/update_app_config.sh
That’s it! The script will automatically update all platform-specific files and regenerate app icons.
android/app/build.gradle.kts
- applicationId, namespaceandroid/app/src/main/AndroidManifest.xml
- app labelandroid/app/src/main/res/mipmap-*
ios/Runner/app_config.xcconfig
- display nameios/Runner/Info.plist
- uses variables from xcconfigios/Runner/Assets.xcassets/AppIcon.appiconset/
pubspec.yaml
- version, description, launcher icons configapp_name
: Display name shown to usersversion_name
: Semantic version (e.g., “1.6.0”)version_code
: Build number (incremental integer)app_icon_path
: Path to source icon imageapp_description
: App descriptionpackage_name
: Bundle/package identifierdevelopment_team
: iOS development team IDapp_icon_path
./scripts/update_app_config.sh
Icon Requirements:
Update version by editing the config file:
version_name: "1.7.0" # Semantic version for users
version_code: "20" # Build number (must increment)
The script applies this to:
pubspec.yaml
as version: 1.7.0+20
versionName
and versionCode
CFBundleShortVersionString
and CFBundleVersion
If you need to make changes manually:
dart run scripts/apply_app_config.dart
dart run flutter_launcher_icons
flutter pub get
“❌ Error: app_config/app_config.yaml not found”
“Package yaml not found”
flutter pub get
firstIcons not updating
flutter clean
before rebuildingAfter running the script, verify updates:
# Check version in pubspec.yaml
grep "version:" pubspec.yaml
# Check Android app name
grep "android:label" android/app/src/main/AndroidManifest.xml
# Check iOS app name
cat ios/Runner/app_config.xcconfig
app_config/app_config.yaml
./scripts/update_app_config.sh
flutter clean && flutter build <platform>
version_code
for any releaseversion_name
for feature releasesThis system ensures consistency across platforms and eliminates the need to manually edit multiple configuration files.