Thunkable Docs
Build an AppDrag and Drop DocsSnap to Place DocsAcademy
Drag and Drop
Drag and Drop
  • What is Thunkable?
  • 🗺️Getting Started
    • Gen AI
    • Getting Started Guide
    • Keyboard Shortcuts
    • Undo Redo
    • Thunkable Account
      • Account Management
    • Preview and Test your App
    • Versioning
    • Data Sources
      • Google Sheets Data Source
      • Airtable Data Source
      • Webflow Data Source
      • Local Table Data Source
    • Project Collaboration
      • Organizations
    • 🎓Sample Apps & Tutorials
      • Thunkable Community Forums
      • Sample Apps
      • Video Tutorials
        • Thunkable Live App
          • How to Test and Troubleshoot with Thunkable Live App
        • Data Source Tutorials
          • Connecting to Data Sources
            • Google Sheets
            • Local Table
          • Create Data in a Thunkable Data Source
          • Read Data in a Thunkable Data Source
          • Update Data in a Thunkable Data Source
          • Delete Data in a Thunkable Data Source
        • User Auth & Management
          • Firebase
            • User Sign-Up, Sign-In, and Auth
            • User Sign Out and Password Reset
          • Google
            • User Sign-Up, Sign-In, Sign-Out, and Auth
          • Apple
            • User Sign-Up, Sign-In, Sign-Out, and Auth
        • Projects
          • How to Save Versions of Your Thunkable Project
          • How to Copy and Customize Public or Sample Thunkable Projects
        • User Interface & Design
          • Screens
            • Save and Reuse Thunkable Screens
            • Change Thunkable Screens with a Button Click
            • Create Scrollable Screens in Your Thunkable App
          • Navigators
            • How to Use the Thunkable Stack Navigator
            • How to Use Thunkable Top and Bottom Tab Navigators
            • How to Use the Thunkable Drawer Navigator
            • Combine Figma Frames with Thunkable Navigators
          • Components
            • How to Use the Visibility Property to Create Modals in Thunkable
          • Data Visualization
            • Customize a Data Viewer
          • Text
            • Implement Text Input Validation
        • Alerts & Notifications
          • Display Alert Messages in Your Thunkable App
          • How to Create Three-Button Alert Messages
        • Files
          • Cloudinary
            • Store and Access Cloudinary Files in Your Thunkable App
        • Camera
          • How to Use the Device’s Camera
          • How to Use the Device’s Video Camera
          • Use the Device’s Camera as a QR or Barcode Scanner
        • Realtime Databases
          • Firebase
            • How to Read Data in a Firebase Realtime Database
            • How to Update Data in a Firebase Realtime Database
        • Advanced Blocks
          • Connect Your Thunkable App to a Web API
        • Thunkable Academy
          • Building Your First Thunkable App
            • Getting Started with Thunkable
            • How to Design a Thunkable App
            • How to Connect a Thunkable App to a Data Source
            • How to Make A Thunkable App Interactive with Blocks
          • Thunkable No Code App Creation Basics
            • Thunkable UI Components and App Features
            • Understanding Thunkable's Drag and Drop Block Builder
            • Design, Develop, Debug, and Deploy Your App
        • Hour of Code
          • 2021 - Build an Informational App
          • 2022 - Build a Scavenger Hunt App
          • 2023 - Build a Translator and Text-to-Speech App
        • App Building
          • How to Build a Translation App in Thunkable
          • How to Create an Image Recognition App with Thunkable
          • How to Create a Text-to-Speech App in Thunkable
  • 🎨App Design
    • User Interface (UI) Components
      • Basic Components
        • Button Component
        • Label Component
        • Rich Text Component
        • Image Component
        • Text Input Component
        • Layout Component
        • Group Component
      • Data Components
        • Simple List Component
        • Data Viewer Components
          • Data Viewer List Component
          • Data Viewer Grid Component
          • Custom Data Viewer
      • Input Components
        • Switch Component
        • Slider Component
        • Checkbox Component
        • Date Input Component
        • Time Input Component
      • Media Components
        • Animation Component
        • Video Component
        • Loading Icon Component
      • Embed Components
        • Web Viewer Component
        • Map Component
        • Canvas Component
        • PDF Reader Component
        • Rating Component
      • Modules
        • Introduction
        • User Guide
      • Generative AI
    • Screens
      • Save and Reuse Screens
      • Improve Thunkable Load Time
    • Navigators
      • Top Tab Navigator
      • Bottom Tab Navigator
      • Drawer Navigator
      • Stack Navigator
    • Figma Integration
  • 🛠️Blocks
    • Thunkable Blocks Overview
    • Core Blocks
      • Control Blocks
      • Logic Blocks
      • Math Blocks
      • Text Blocks
      • Lists Blocks
      • Color Blocks
      • Device Blocks
      • Objects Blocks
      • Variables Overview
        • Connect a Firebase Realtime Database
        • Variables Blocks
      • Functions Blocks
    • App Features Blocks
      • Speech Blocks
      • Sound Blocks
      • Share Blocks
      • Camera Blocks
      • Files Blocks
      • Sign In Blocks
        • User Sign Up, Sign In, and Authentication with Firebase
        • User Sign Up, Sign In, and Authentication with Google
        • User Sign Up, Sign In, and Authentication with Apple
      • Location Blocks
      • Push Notification Blocks
      • In-App Purchase Blocks (with RevenueCat)
      • Data Sources Blocks
      • Alerts Blocks
      • Timer Blocks
      • Sensors Blocks
        • Gyroscope
        • Magnetometer
        • Accelerometer
        • Location Sensor
      • Ads by AdMob
    • Advanced Blocks
      • Web APIs Blocks
        • CORS Policy
        • 🆓No Auth APIs
          • Update Data in a Data Source
          • CRUD Operations
          • Setting Headers
        • 📊Charting APIs
          • Create a chart template
          • Charting in Thunkable
      • Bluetooth Low Energy Blocks
      • OpenAI Services ChatGPT Integration Blocks
      • "Any Component" Blocks
      • JavaScript Web Bridge
  • ⚙️Settings
    • App Settings
      • Tablet View
    • Assets
    • Cloud Variable Viewer
    • Manage your Projects
      • My Projects Page
      • Thunkable Projects
      • Duplicate Project
      • Share Your App
      • Download Your App
        • Download Your App on iOS
        • Download Your App on Android
      • Add to Home Screen
      • Managing Project Storage
      • App Data Privacy
      • Delete Project
  • 📱Publishing
    • Overview
    • Publish to the Apple App Store
      • User Guide
      • Troubleshooting
      • Review Process
      • Tracking Usage Description
    • Publish to Google Play Store
      • User Guide
      • Troubleshooting
      • Review Process
    • Publish as a Web App
      • User Guide
      • Custom Domains
      • Troubleshooting
    • Testing
      • Testing on iOS via TestFlight
      • Testing on Android
    • Troubleshooting
      • Publishing Checklist
      • Generate Screenshots
  • 🎮Gaming
    • Gaming Overview
      • Canvas Label
      • Sprites
      • Sprite Gallery
    • Gaming Blocks
      • Events
      • Motion
      • Looks
      • Direction
      • Sensing
      • Add & Remove
      • Stage
  • 🗃️Additional Resources
    • Release Notes
      • Release Notes 2025
      • Release Notes 2024
      • Release Notes 2023
    • Troubleshooting
      • Can't Sign in to Thunkable?
      • FAQs
    • Minimum Requirements
    • Bugs and Product Feedback
    • App Services and Emulators
Powered by GitBook
On this page
  • Common Android Publishing Issues
  • The Keystore / Signing Key
  • Exporting / importing a keystore to your app
  • Resetting Your Keystore
  • Manage Your Own App Signing
  • Remove your app from the Play Store

Was this helpful?

Export as PDF
  1. Publishing
  2. Publish to Google Play Store

Troubleshooting

PreviousUser GuideNextReview Process

Last updated 7 months ago

Was this helpful?

Common Android Publishing Issues

The Keystore / Signing Key

Keystores in Android are storage mechanisms for security certificates to prevent others from updating your app on the Google Play store. Your keystore contains a private key that is unique to your app.

Duplicated apps within an account () maintain the same keystore as the original app. Apps copied from a link do not have the same keystore.

You must save your Android keystore and password somewhere safe. Google will not provide it for you if you lose it.

If your app was deleted, and you have not downloaded a copy of your keystore, it is permanently lost. We strongly recommend you use so that you can update your published apps if your keystore is lost.

Exporting / importing a keystore to your app

Export keystore from a Thunkable project

A Thunkable project will not have a keystore until either a keystore is imported or the project is downloaded as an Android app for the first time.

If you make a copy of a Thunkable project, the copy will have a different keystore to the original project.

To export a keystore from a Thunkable project:

  • Click the gear icon of on the left hand side of your Design tab your app in upper left corner to bring up App Settings

  • Scroll to Android Keystore and click Export Keystore

Alias and Password

In the dialog that comes up, you will see the keystore's password and a button that says Export Keystore. You will need this password to import your keystore to other projects. You can change the password at this stage by editing the password in the text box.

The default keystore alias used by Thunkable will be AndroidKey.

Click OK to save the .keystore file to your computer.

Import keystore to Thunkable

Importing a keystore to a Thunkable project will override its existing keystore. Make sure you don't need this project's keystore to publish an update to your app before continuing!

To import a keystore to a Thunkable project:

  • Click the gear icon of on the left hand side of your Design tab your app in upper left corner to bring up App Settings

  • Scroll to Android Keystore and click Import Keystore

Enter the password and select the .keystore file you previously saved to your computer into the Import Keystore dialog.

Resetting Your Keystore

Create a new project in Thunkable for exporting the Keystore zip and .pem file.

You will then need to download the Android App Bundle to create a keystore and .pem file.

To download your Android App Bundle (AAB) file:

  1. Within your Thunkable project, click the Publish and Download icon.

  2. Select Publish Android from the drop-down menu.

  3. A publishing modal is provided to guide you through the publication process.

  4. Enter the email address you want the app download link sent to.

  5. Click Send.

You will not need to do anything with the AAB file that is sent to your email, you may delete it.

You will then need to download your Keystore Zip. This is a compressed version of your app's Android Keystore.

You can download this from your project settings under Keystore Zip:

Save that zip file to a location where you can easily find it.

From here, you will need to go to your . Go to Setup > App Signing and click on Request upload key resetGoogle Play Console

For the reason for resetting your upload key, select I lost my upload key. In step 3, upload the .pem file from the Thunkable project you created earlier. The .pem file is located in your Keystore Zip.

After you have selected the .pem file, click Request

You should immediately receive an email from Google Play Console letting you know that they have received your request and the date the new key will become valid.

Please note: you will need to wait until the new key is valid to update your app.

However, you can now update the key in your existing app.

In the existing app, click on Import Keystore and then upload the Keystore zip from your new project into the existing project.

Manage Your Own App Signing

If you don't want Google to manage your App Signing, you can do so yourself. This is not necessary.

In Thunkable:

Download your Keystore Zip

You will need to download your Keystore Zip. This is a compressed version of your app's Android Keystore.

You can download this from your project settings under Keystore Zip:

We recommend creating a new folder on your computer. Download your AAB file and your Keystore Zip to this new folder. That way, the correct AAB file and Keystore Zip will be together.

In the Play Store:

Click Manage App Signing:

Click Export and upload a key from Java keystore:

Click Continue.

Remove your app from the Play Store

  1. Scroll down to “Release” and click on “Setup”

  2. Then “Advanced Settings”.

  3. Click the “Unpublished” radio button

  4. Then click “Save” to unpublish your app.

You can see the relevant areas below:

Removing your app from the Play Store will not delete it from devices which have previously downloaded the app.

You can skip straight to Step 3: Upload generated ZIP and Upload the

Continue following the instructions in this document from .

To make your app unavailable for download on the Play Store, open your app listing on the and do the following:

📱
Google Play Console
Duplicate Your Project
Share
Google's App Signing Service
Keystore ZIP you downloaded from your project settings.
Upload your AAB file