🌊 SplashKit

SplashKit is a Dart CLI tool that automates the creation and configuration of native Android 12+ splash screens using Animated Vector Drawable (AVD) for Flutter apps.


πŸš€ Features

  • βœ… Adds required Android dependencies for native splash
  • πŸ›  Modifies AndroidManifest.xml, styles.xml, and MainActivity.kt
  • 🎨 Applies your custom AVD splash icon
  • βš™οΈ Easily configurable via pubspec.yaml

πŸ“¦ Installation

Installation & Usage

Run Locally (Inside Your Project)

If you have SplashKit added as a dev dependency or are inside its folder, run:

dart run splashkit

windows :

To use SplashKit from anywhere in your terminal, install it globally:

1. Activate the package globally

dart pub global activate --source=path .

(Run the above command inside your SplashKit project folder.)

2. Add Dart’s global executables folder to your system PATH

  • Open System Properties β†’ Environment Variables
  • Under User variables, find or create a variable named Path
  • Add:
%USERPROFILE%\AppData\Local\Pub\Cache\bin

3. Restart your terminal

After updating your environment variables, restart your terminal (Command Prompt, PowerShell, etc.).

βœ… Done!

Now, you can run SplashKit anywhere:

splashkit

macOS/Linux :

To use SplashKit from anywhere in your terminal, install it globally:

1. Activate the package globally

dart pub global activate --source=path .

(Run the above command inside your SplashKit project folder.)

2. Add Dart’s global executables folder to your system PATH

export PATH="$PATH:$HOME/.pub-cache/bin"

Add the above line to your shell config file (~/.zshrc, ~/.bashrc, or ~/.bash_profile) to make it permanent.

3. Reload your shell configuration

source ~/.zshrc  # or source ~/.bashrc or ~/.bash_profile

βœ… Done!

Now, you can run SplashKit anywhere:

splashkit

πŸ“ Sample AVD

You can use this sample Animated Vector Drawable to test the plugin:

πŸ”— Download sample_avd.xml

SplashKit will:

  • Read config from pubspec.yaml
  • Locate the AVD XML file
  • Update your native Android splash screen setup

βš™οΈ Configuration

Add a block to your pubspec.yaml:

avd_splash:
  animated_icon: assets/animated_icon.xml
  post_theme: AppTheme
  package: com.example.myapp
Key Description
animated_icon Path to your AVD XML file
post_theme The theme to apply after the splash screen
package_name Your app’s package name (as used in AndroidManifest.xml)


βœ… What It Edits

  • android/app/build.gradle β€” adds androidx.core:core-splashscreen
  • AndroidManifest.xml β€” sets splash theme
  • styles.xml β€” applies post-splash theme
  • MainActivity.kt β€” invokes setTheme(...)

🧾 Requirements

  • Flutter app targeting Android 12 (API 31+) or newer
  • A valid AVD XML file
  • compileSdkVersion 35 or above

πŸ›£ Roadmap

  • Lottie-to-AVD converter
  • Pre-Android 12 fallback
  • Web and desktop splash support

Support Me β˜•

If you enjoy my work, consider buying me a coffee!

Buy Me a Coffee

πŸ™‹ Author

Built with ❀️ by Jasir Bin Shihabudeen

Contributions welcome! Star ⭐️ the repo and open issues/PRs to improve it!


πŸ“„ License

MIT License. See LICENSE for details.