Skip to content
Stacklyn Labs
  • Products
  • Services
  • Contact
  • About
  • GuidesStep-by-step buying and building playbooksBlogTutorials, architecture notes, updatesHelp CenterSetup, licence and support articles
  • Hire Us
  1. Home
  2. Help Center
  3. Vet Vault Setup Guide: Run, Rebrand and Release the Flutter App

Vet Vault Setup Guide: Run, Rebrand and Release the Flutter App

Last updated: November 9, 2026

On this page

What you need before you startStep 1: Install and runStep 2: Rebrand the appStep 3: Change the package nameStep 4: Change the data model safelyStep 5: Build a signed releaseTroubleshootingWhere to get help
What you need before you startStep 1: Install and runStep 2: Rebrand the appStep 3: Change the package nameStep 4: Change the data model safelyStep 5: Build a signed releaseTroubleshootingWhere to get help

You bought Vet Vault on Gumroad or CodeCanyon, unzipped it, and want it running on a phone before you change a thing. This Vet Vault setup guide goes from the download to a signed release build, with the edits buyers make first and where they trip. The official Vet Vault Quick Setup guide is the short version; this article adds the reasons behind each step. Features and the current version (1.2.0) are on the Vet Vault Flutter template page.

What you need before you start

  • Flutter 3.44 or later on the stable channel, which includes Dart 3.12. The project's pubspec.yaml sets sdk: ^3.12.0, so an older SDK stops with an SDK constraint error.
  • For Android: Android SDK 36 and JDK 17.
  • For iOS: a Mac with Xcode 16 or later and CocoaPods. The deployment target is iOS 14.0.
  • An Android or iOS device or emulator. Not a browser: the app relies on device storage, local notifications and the file system. Desktop targets are not officially supported.

There is no server, Firebase project, API key or .env file to configure. All data lives in a local Hive CE database on the device.

Step 1: Install and run

  1. Unzip the download and open a terminal in the folder that contains pubspec.yaml.

  2. Check your toolchain and fix anything it reports. Unaccepted Android licences are a common item:

    flutter doctor
    flutter doctor --android-licenses
    
  3. Install packages, then confirm the untouched project is healthy:

    flutter pub get
    flutter analyze
    flutter test
    

    Run these before you edit anything. If they pass now and fail later, the cause is in your changes, not the template.

  4. Run it:

    flutter devices
    flutter run
    

You should see a three-page onboarding, then an empty dashboard with four tabs: Pets, Insights, Gallery and Settings. The generated Hive adapters ship with the project, so you don't need build_runner for this first run.

Step 2: Rebrand the app

Most branding sits in lib/core/app_config.dart: appName, appTagline, companyName, website, the light and dark colours, fontFamily, defaultCurrency, reminderHour and filePrefix (used in backup and PDF file names).

Three things catch people out here:

  • Hot reload won't show the change. These are static const values, so use hot restart.
  • The name under the icon is separate. Change android:label in android/app/src/main/AndroidManifest.xml and CFBundleDisplayName in ios/Runner/Info.plist as well, or the launcher keeps saying Vet Vault.
  • The PDF has its own font. The Health Passport uses the bundled Noto Sans files, not your app font. If your users write in a script Noto Sans doesn't cover, such as Arabic, Sinhala, Tamil or CJK, replace those two files with a matching Noto font.

For the icon and splash, replace assets/branding/icon.png (1024 by 1024 px) and assets/branding/logo.png (a transparent PNG works best), then regenerate:

dart run flutter_launcher_icons
dart run flutter_native_splash:create

Species, record types and expense categories are lists in lib/core/constants.dart. Finally, review the in-app privacy policy in lib/screens/privacy_policy_screen.dart and update privacyPolicyLastUpdated. Both stores also want the policy at a public URL.

Step 3: Change the package name

The default ID is com.stacklynlabs.vetvault, and you can't publish under it. In android/app/build.gradle.kts, change both namespace and applicationId. Move MainActivity.kt out of android/app/src/main/kotlin/com/stacklynlabs/vetvault/ into the folder matching your new ID and update its package line. On iOS, set the Bundle Identifier in Xcode under Runner, Signing & Capabilities. Then run flutter clean and flutter pub get.

Store IDs are permanent once you publish, so pick yours deliberately. The walkthrough on changing your Flutter app's package name explains each file involved and what to check afterwards.

Step 4: Change the data model safely

Data is stored in four Hive CE boxes: pets, medical_records, expenses and settingsBox. The models are in lib/data/models/. To add a field:

  1. Give it the next unused @HiveField number and make it nullable or give it a default, so records already on users' phones still load.

  2. Add it to toJson() and fromJson(). Skip this and backups won't carry the field.

  3. Regenerate the adapters:

    dart run build_runner build --delete-conflicting-outputs
    

Never change or reuse an existing typeId or @HiveField number. It corrupts data your users already have, and you won't see it on a fresh emulator install. Route every write through PetProvider rather than calling DatabaseService from a screen, so reminders, stored photos and every screen stay in sync.

Step 5: Build a signed release

  1. Set the version in pubspec.yaml. 1.2.0+2 means version name 1.2.0 and build number 2. Raise the number after + for every store upload.

  2. Create an upload keystore with keytool, then copy android/key.properties.example to android/key.properties and fill it in. Use an absolute path for storeFile: the file sits in android/, but build.gradle.kts resolves storeFile from android/app/, so a relative path points to the wrong folder.

  3. Build:

    flutter build appbundle --release
    flutter build ipa --release
    

The quiet failure is a missing key.properties. It isn't an error: the release build falls back to the debug key, flutter run --release works, and Google Play rejects the bundle later. Also keep android/app/proguard-rules.pro (R8 keep rules for the notification plugin) and the photo and camera permission strings in Info.plist, which App Review requires. The guide to Flutter release build signing shows how to confirm the bundle was signed with your key and covers iOS upload.

Between the rename, the icons, the keystore and two store builds, a first release touches Gradle, Xcode and several config files, and one missed step tends to surface only at upload time. If you'd rather hand that off, our Flutter app reskinning service does the branding, package name and Android signing, then gives you store-ready builds plus the keystore and passwords.

Troubleshooting

Gradle sync or build fails on Android. The project uses AGP 9, Gradle 9.1 and Java 17. Update Android Studio, set the Gradle JDK to 17 or newer, and run flutter clean. If your setup can't use AGP 9, the official guide gives an AGP 8.11.1 and Gradle 8.14 fallback.

"No Android SDK found". Install Android SDK 36 and the command-line tools in Android Studio's SDK Manager, then accept licences.

Missing .g.dart file or registerAdapters error. You changed a model without regenerating. Run the build_runner command from Step 4.

CocoaPods error on iOS. In ios/, delete Pods and Podfile.lock, then run pod repo update and pod install.

Reminders don't appear. Check notification permission for the app. Some Android brands delay alarms through battery optimisation, so set the app to Unrestricted. Reminders use inexact alarms and can arrive a few minutes late, and a due date of today after reminderHour shows in the app without a notification.

A "Could not open its data" screen at launch. The local database couldn't be opened. During development, uninstall and reinstall. Remember that uninstalling deletes local data, so test backup and restore before you switch phones.

Where to get help

The Vet Vault Complete Setup guide covers the project structure, upgrading from 1.1.0 and the store checklist, including the Data safety and privacy label answers. If you're still stuck, email support@stacklynlabs.com with your flutter --version output, your platform and the full error message.

Was this article helpful?

If you're still stuck, our team is happy to help directly.

Contact Support

Related Articles

Zenith Setup Guide: Run, Rebrand and Release the Flutter App

You bought Zenith on Gumroad or CodeCanyon, unzipped the download, and want to see it working before you…

Nov 09, 2026 · 6 min readRead article
SubZero Setup Guide: Run, Rebrand and Release the Flutter Template

You have downloaded the SubZero subscription manager template /product/subzero/ and want to see it running before you change…

Nov 09, 2026 · 6 min readRead article
Flutter Build Errors After Purchase: Troubleshooting Guide

You unzipped the template, opened a terminal, ran flutter run , and got a screen of red text…

Oct 23, 2026 · 7 min readRead article
Stacklyn Labs

Empowering businesses and developers with secure, high-performance digital tools, source templates, and scalable backend platforms.

FlutterWordPressBootstrap 5
Explore
  • Home
  • Products
  • Services
  • App Reskinning
  • Backend Setup
  • Store Deployment
  • Guides
  • About
  • Blog
  • Contact
Developer Portfolios
  • CodeCanyon Store
  • Codester Profile
Support Resources
  • License Activation
  • Help Center
  • Buying Flutter Templates
Connect & Support
Direct Email Supportsupport@stacklynlabs.com
Business Operating HoursMon - Fri: 9:00 AM - 6:00 PM

© 2026 Stacklyn Labs. All Rights Reserved.
  • Privacy Policy
  • •
  • Terms of Service