Skip to content
sysout.dev

Publishing asciitor to the Google Play Store

Contributor checklist for preparing, signing, and publishing an asciitor release through Google Play.

This guide outlines the steps to take asciitor from a debug prototype to a production release on the Google Play Store.

1. Technical Preparation

Before you can upload anything, you need to sign your app securely and build a release bundle.

Generate a Signing Key (Keystore)

You need a cryptographic key to sign your app. Keep this file safe! If you lose it, you cannot update your app.

  1. Open a terminal in the project root.

  2. Run the following command to generate a keystore file named release.keystore:

    keytool -genkey -v -keystore release.keystore -alias asciitor-key -keyalg RSA -keysize 2048 -validity 10000
  3. You will be prompted for a password and some details (Name, Organization, etc.).

  4. Move release.keystore to the androidApp folder (make sure to add it to .gitignore so you don’t commit it!).

Configure the Release Build

Update androidApp/build.gradle.kts to use your new key.

  1. Open androidApp/build.gradle.kts.

  2. Add the signing configuration inside the android { …​ } block:

android {
    // ... existing config ...

    signingConfigs {
        create("release") {
            storeFile = file("release.keystore")
            storePassword = "YOUR_STORE_PASSWORD" // Ideally, read this from local.properties
            keyAlias = "asciitor-key"
            keyPassword = "YOUR_KEY_PASSWORD"
        }
    }

    buildTypes {
        getByName("release") {
            isMinifyEnabled = false // Set to true if you want code obfuscation (ProGuard/R8)
            signingConfig = signingConfigs.getByName("release")
        }
    }
}
Do not commit hardcoded passwords to Git. Use local.properties or environment variables in a real CI/CD pipeline.

Build the App Bundle (.aab)

Google Play requires an Android App Bundle (.aab), not an APK.

  1. Run the release build command:

    ./gradlew :androidApp:bundleRelease
  2. Your file will be generated at: androidApp/build/outputs/bundle/release/androidApp-release.aab

2. Google Play Console Setup

Create Application

  1. Go to the Google Play Console.

  2. Click Create app.

  3. App Name: asciitor

  4. Default Language: English (US)

  5. App or Game: App

  6. Free or Paid: Free

Store Listing Assets

You need to provide the following assets. Use the files in docs/ and assets/ as a base.

  • App Icon: 512 x 512 px PNG (32-bit). Use a high-res version of the a logo.

  • Feature Graphic: 1024 x 500 px PNG/JPEG. This appears at the top of the store listing. Use the Brand colors (Blush Rose background, Teal text).

  • Screenshots:

    • At least 2 screenshots for Phone.

    • At least 2 for 7-inch Tablet.

    • At least 2 for 10-inch Tablet.

    • Tip: Run the app in Android Studio emulators for these devices and take screenshots.

Descriptions

Short description (80 chars):

+

A modern, distraction-free AsciiDoc viewer for Android.

Full description:

+

asciitor is a clean and simple viewer for AsciiDoc (.adoc) files.

Features:

  • Local File Support: Open .adoc, .asciidoc, .md, .txt, and .log files directly from your device.

  • Modern Rendering: Full AsciiDoc rendering support powered by Asciidoctor.js.

  • Custom Styling: Enjoy a beautiful reading experience with our Nordic-inspired theme.

  • Responsive: Optimized for mobile screens with adjustable fonts.

  • Offline First: No internet connection required. Your files stay on your device.

3. Privacy & Policy

Privacy Policy URL

Since the app reads local files, Google requires a privacy policy. The current policy is published at asciitor privacy policy.

  • Content: State clearly that asciitor does not collect, store, or transmit any user data. All file processing happens locally on the device using Android’s native WebView.

Data Safety Form

In the Play Console "App Content" section, you must fill out the Data Safety form. * Does your app collect or share any of the required user data types?No.

4. Release Process

  1. Go to Testing > Internal testing.

  2. Click Create new release.

  3. Upload your androidApp-release.aab file.

  4. Add a release note (e.g., "Initial release of asciitor").

  5. Review and rollout.

  6. Add your own email list to the testers tab so you can download it.

Once you verified the app works via the Internal Test track: 1. Promote the release to Production. 2. Wait for Google’s review (can take 1-7 days).

Checklist

  • versionCode incremented in build.gradle.kts?

  • release.keystore generated and backed up?

  • Signed .aab built successfully?

  • Store listing (Icon, Screenshots, Description) ready?

  • Privacy Policy URL active?

  • Data Safety form completed?

Good luck with the launch!