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. Zenith Setup Guide: Run, Rebrand and Release the Flutter App

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

Last updated: November 9, 2026

On this page

Before you startStep 1: Run the project unchangedStep 2: Change the sounds, moods and radio tracksStep 3: RebrandStep 4: Change the package nameStep 5: Add your AdMob IDsStep 6: Sign and build the releaseTroubleshootingGetting help
Before you startStep 1: Run the project unchangedStep 2: Change the sounds, moods and radio tracksStep 3: RebrandStep 4: Change the package nameStep 5: Add your AdMob IDsStep 6: Sign and build the releaseTroubleshootingGetting help

You bought Zenith on Gumroad or CodeCanyon, unzipped the download, and want to see it working before you change anything. This Zenith setup guide follows the order that holds up: run it untouched, swap the content, rebrand, then build a signed release with your own AdMob IDs. The official Zenith Quick Setup guide is the short checklist. This article adds the spots where buyers get stuck, and why. Specs and the v1.1.0 changelog are on the Zenith Flutter app template page.

Before you start

  • Flutter 3.44 or newer on the stable channel, which includes Dart 3.12. pubspec.yaml requires Dart ^3.12.0, so an older SDK fails at flutter pub get.
  • Android Studio for the Android SDK.
  • macOS with Xcode and CocoaPods if you build for iOS.
  • An AdMob account if you will ship with ads. Zenith shows interstitial ads, so a release needs your own App ID and ad unit IDs.
  • Audio hosting, if you want your own. The included cloud links work out of the box, so this can wait.

Run flutter doctor and fix anything marked with a red cross.

Step 1: Run the project unchanged

Open the zenith_app folder in your editor and run:

flutter pub get
cd ios && pod install && cd ..
flutter run

The middle line is for iOS on a Mac only. Skip it on Windows or Linux.

Run it before you edit anything. Debug builds use Google's sample AdMob IDs and the bundled audio links, so test ads load and sounds play with no setup. If it fails now, the problem is your toolchain, not your changes. Tracks stream from URLs, so test on a device with a connection.

Step 2: Change the sounds, moods and radio tracks

All content lives in three JSON files in assets/data/. No Dart changes are needed.

File Feeds Fields per entry
atmosphere.json Sound mixer id, name, icon, url, category
moods.json Mood tiles id, name, icon, url, category
radio.json Lofi radio id, title, artist, url, image

Three things the official guide mentions only briefly:

  1. Use direct HTTPS links that end in the file (.mp3, .jpg), not a share page that wraps the file in HTML.
  2. Keep the category values. The code shows mixer sounds whose category is nature or atmosphere, and mood tiles whose category is mood. An entry with any other category loads but appears on neither screen.
  3. One typo empties two screens. atmosphere.json and moods.json are parsed together inside one error handler. A missing or trailing comma in either file leaves both the mixer and the moods empty, and the only sign is an Error fetching sounds line in the debug console. Run a JSON validator over the file before you rebuild.

The files ship inside the app, so users see a new catalog only in a new build.

Step 3: Rebrand

  • App name: android:label in android/app/src/main/AndroidManifest.xml and CFBundleDisplayName in ios/Runner/Info.plist. Both say Zenith today.
  • Colours: AppColors in lib/config/theme.dart. primary is 0xFF6C63FF and background is 0xFF0F0F1E.
  • Logo and splash: replace assets/images/logo.png, then run dart run flutter_native_splash:create. The splash background (#0F172A) is set in the flutter_native_splash block of pubspec.yaml.
  • Launcher icon: the official guide skips this one. pubspec.yaml also points flutter_launcher_icons at logo.png, so run dart run flutter_launcher_icons too, or the home-screen icon stays Zenith's.

Step 4: Change the package name

Zenith ships as com.stacklyn.zenith: namespace and applicationId in android/app/build.gradle.kts, the package line of MainActivity.kt, and PRODUCT_BUNDLE_IDENTIFIER in ios/Runner.xcodeproj/project.pbxproj. The official guide says to use Replace in Files. That changes the strings, but MainActivity.kt stays in the kotlin/com/stacklyn/zenith/ folder, which you have to move yourself. The full process is in how to change your Flutter app's package name. Do it before your first upload, because the stores tie the app to that ID for good.

Step 5: Add your AdMob IDs

Nothing in Dart needs editing. You pass the IDs at build time:

ID Android iOS
App ID -PadmobAppId=... on the build command, or admobAppId=... in ~/.gradle/gradle.properties ADMOB_APP_ID in ios/Flutter/Release.xcconfig
Interstitial unit --dart-define=ADMOB_ANDROID_INTERSTITIAL=... --dart-define=ADMOB_IOS_INTERSTITIAL=...

The trap is that forgetting them doesn't fail the build. Every value falls back to Google's sample ID, so a plain flutter build appbundle ships test ads. The official guide warns that Google can suspend accounts that show test ad units in a live app. Also create a GDPR message under Privacy & messaging in AdMob. Without it, no consent form is shown.

Step 6: Sign and build the release

Copy android/key.properties.example to android/key.properties. Watch two defaults in the example:

  • It sets keyAlias=zenith, but the guide's keytool command creates the alias upload. keyAlias must match the alias you actually created.
  • It sets storeFile=../keystore/zenith-release.jks. That path is resolved from android/app/, so it points at android/keystore/. An absolute path avoids the guesswork.

If key.properties is missing, the release still builds, signed with debug keys, and Gradle only prints a warning. Play Console rejects those builds. Raise the number after + in pubspec.yaml (version: 1.1.0+2 today) before every upload, then build:

flutter build appbundle -PadmobAppId=YOUR_APP_ID --dart-define=ADMOB_ANDROID_INTERSTITIAL=YOUR_UNIT_ID
flutter build ipa --dart-define=ADMOB_IOS_INTERSTITIAL=YOUR_UNIT_ID

The Android bundle lands in build/app/outputs/bundle/release/app-release.aab. Creating the keystore, checking the signature and Xcode signing are covered step by step in your first Flutter release build and signing. The Zenith Complete Setup guide has the full AdMob and Play Store commands.

Between the package rename, the AdMob flags, the keystore and Xcode signing, several of the mistakes in a first Zenith release still produce a build with no error, and you find out from a store rejection or a test ad in production. If you'd rather hand that part off, our app reskinning service covers the branding, package name and signed store-ready builds.

Troubleshooting

The mixer and moods are empty, but the radio works. A JSON syntax error in atmosphere.json or moods.json, or a category other than nature, atmosphere or mood. See Step 2.

A tile shows but never plays. The url isn't a direct HTTPS link to the audio file. Open it in a browser: it should play or download the file, not show a web page.

Your release shows test ads. The --dart-define flags or the App ID were left off the build command, or Release.xcconfig still has the sample ID. Rebuild with your IDs from Step 5.

Play Console says the bundle is debug-signed. android/key.properties wasn't found when you built. Check it sits in android/, not android/app/.

Gradle can't find the key alias. keyAlias still says zenith while your keystore uses upload, or the other way round.

flutter pub get fails on the Dart SDK version. Your Flutter is older than 3.44. Run flutter upgrade.

The home-screen icon is still Zenith's. You ran the splash command but not dart run flutter_launcher_icons.

Getting help

Email support@stacklynlabs.com with your Flutter version (flutter --version), the exact command you ran and the full error text.

Was this article helpful?

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

Contact Support

Related Articles

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

You bought Vet Vault on Gumroad or CodeCanyon, unzipped it, and want it running on a phone before…

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