• Login
en
afsqam ar hy az eu be bn bs bg ca ceb ny zh-CN zh-TWco hr cs da nl en eo et tl fi fr fy gl ka de el gu ht ha haw iw hi hmn hu is ig id ga it ja jw kn kk km ko ku ky lo la lv lt lb mk mg ms ml mt mi mr mn my ne no ps fa pl pt pa ro ru sm gd sr st sn sd si sk sl so es su sw sv tg ta te th tr uk ur uz vi cy xh yi yo zu
Victor Mochere
No Result
View All Result
  • Business
    Digital marketing strategies for brand development

    Digital marketing strategies for brand development

    How to run a successful PR campaign

    How to run a successful PR campaign

    How to develop a PR strategy

    How to develop a PR strategy

    Guide to digital PR

    Guide to digital PR

    Effective PR strategies for new businesses

    Effective PR strategies for new businesses

    Skills needed for effective management

    Skills needed for effective management

    Business practices that every entrepreneur must adopt

    Business practices that every entrepreneur must adopt

    Common marketing mistakes

    Common marketing mistakes

    How to register an export business in Kenya

    How to register an export business in Kenya

    How to deal with difficult employees

    How to deal with difficult employees

    How to resist negative social influence at work

    How to resist negative social influence at work

    Benefits of vendor due diligence

    Benefits of vendor due diligence

    How to effectively track your business expenses

    How to effectively track your business expenses

    How to increase your market share

    How to increase your market share

    How to effectively leverage collaborations and partnerships

    How to effectively leverage collaborations and partnerships

    Marketing strategies for small businesses

    Marketing strategies for small businesses

    How to become a successful solopreneur

    How to become a successful solopreneur

    How to boost employee wellbeing

    How to boost employee wellbeing

    Office outfit ideas for women

    Office outfit ideas for women

    Guide to database marketing for beginners

    Guide to database marketing for beginners

  • Finance
    How to apply for NYOTA fund

    How to apply for NYOTA fund

    How bank loans work in Kenya

    How bank loans work in Kenya

    Kylian Mbappé Net Worth

    Kylian Mbappé Net Worth 2025

    Thierry Henry Net Worth

    Thierry Henry Net Worth 2025

    Top 20 richest architects in the world

    Top 20 richest architects in the world 2025

    Norman Foster Net Worth

    Norman Foster Net Worth 2025

    How to legally reduce your tax burden in Kenya

    How to legally reduce your tax burden in Kenya

    Gordon Ramsay Net Worth

    Gordon Ramsay Net Worth 2025

    Jamie Oliver Net Worth

    Jamie Oliver Net Worth 2025

    Top 20 richest chefs in the world

    Top 20 richest chefs in the world 2025

    Top 20 richest TikTokers in the world

    Top 20 richest TikTokers in the world 2025

    Top 10 best millionaire books for entrepreneurs

    Top 10 best millionaire books for entrepreneurs 2025

    Top 10 best personal finance books

    Top 10 best personal finance books 2025

    Emma Watson Net Worth

    Emma Watson Net Worth 2025

    How to refinance a personal loan

    How to refinance a personal loan

    Top 20 richest heirs in the world

    Top 20 richest heirs in the world 2025

    Christopher Nolan Net Worth

    Christopher Nolan Net Worth 2025

    Celine Dion Net Worth

    Celine Dion Net Worth 2025

    Madonna Net Worth

    Madonna Net Worth 2025

    Katy Perry Net Worth

    Katy Perry Net Worth 2025

  • Education
    Best quotes from D. H. Lawrence

    Best quotes from D. H. Lawrence

    Guide to IB Middle Years Programme

    Guide to IB Middle Years Programme

    How to improve your handwriting

    How to improve your handwriting

    How to change university on KUCCPS

    How to change university on KUCCPS

    Best quotes from J. Robert Oppenheimer

    Best quotes from J. Robert Oppenheimer

    E-learning tools that address learning challenges

    E-learning tools that address learning challenges

    Top 10 best success books

    Top 10 best success books 2025

    Types of insurance to consider for college students

    Types of insurance to consider for college students

    Best self-guided tech courses

    Best self-guided tech courses 2025

    How to check for plagiarism

    How to check for plagiarism

    Benefits of poetry

    Benefits of poetry

    How to introduce education to your child with ADHD

    How to introduce education to your child with ADHD

    Reasons to practice creative writing

    Reasons to practice creative writing

    How to write a good essay for TOEFL

    How to write a good essay for TOEFL

    How learning leads to healthy living

    How learning leads to healthy living

    Top 10 best data science books

    Top 10 best data science books 2025

    Best quotes from PLO Lumumba

    Best quotes from PLO Lumumba

    Best quotes from Amin Maalouf

    Best quotes from Amin Maalouf

    How to write a good thesis

    How to write a good thesis

    Best quotes from Michael Faraday

    Best quotes from Michael Faraday

  • Travel
    Top 20 most innovative car brands in the world

    Top 20 most innovative car brands in the world 2025

    Top 20 best car brands in the world

    Top 20 best car brands in the world 2025

    Cars with the best resale value in Kenya

    Cars with the best resale value in Kenya

    Things that lower your car’s resale value

    Things that lower your car’s resale value

    How to score the best flight ticket deals

    How to score the best flight ticket deals

    How to beat jet lag

    How to beat jet lag

    Scientific explanation for the Bermuda Triangle

    Scientific explanation for the Bermuda Triangle

    Top 20 longest international land borders in the world

    Top 20 longest international land borders in the world 2025

    Top 20 oldest metro systems in the world

    Top 20 oldest metro systems in the world 2025

    Top 20 tallest mountains in the world

    Top 20 tallest mountains in the world

    Landlocked countries in Africa

    Landlocked countries in Africa

    Landlocked countries in the world

    Landlocked countries in the world

    Canada visa requirements for Kenyan citizens

    Canada visa requirements for Kenyan citizens

    United Kingdom visa requirements for Kenyan citizens

    United Kingdom visa requirements for Kenyan citizens

    United States visa requirements for Kenyan citizens

    United States visa requirements for Kenyan citizens

    Top 10 largest underground structures in the world

    Top 10 largest underground structures in the world 2025

    Top 20 largest deserts in the world

    Top 20 largest deserts in the world 2025

    Top 20 deadliest accidents in aviation history

    Top 20 deadliest accidents in aviation history

    Global choke points

    Global choke points

    How to apply for eTA to Kenya

    How to apply for eTA to Kenya

  • Technology
    How to remove watermarks from ChatGPT text

    How to remove watermarks from ChatGPT text

    Things to know about Starlink satellite internet

    Things to know about Starlink satellite internet

    Data security in the age of AI

    Data security in the age of AI

    Best PPC ad networks for high-performance campaigns

    Best PPC ad networks for high-performance campaigns

    Evolution of self-driving technology

    Evolution of self-driving technology

    How social media platforms spy on their users

    How social media platforms spy on their users

    How to create an HTML sitemap

    How to create an HTML sitemap

    Common content marketing mistakes

    Common content marketing mistakes

    Goals of content marketing

    Goals of content marketing

    How to create a killer content marketing strategy

    How to create a killer content marketing strategy

    Types of content marketing

    Types of content marketing

    How Google Search ranking works

    How Google Search ranking works

    Important international boundary lines in the world

    Important international boundary lines in the world

    How to create a Wikipedia page

    How to create a Wikipedia page

    Top 20 most viewed Wikipedia pages

    Top 20 most viewed Wikipedia pages 2025

    How to go viral on TikTok

    How to go viral on TikTok

    How to crack the TikTok algorithm

    How to crack the TikTok algorithm

    How the TikTok algorithm works

    How the TikTok algorithm works

    How to use .htaccess to block a domain

    How to use .htaccess to block a domain

    Tricks for uncrackable passwords

    Tricks for uncrackable passwords

  • Living
    Top 20 largest churches in the world

    Top 20 largest churches in the world 2025

    Best quotes from Gordon Ramsay

    Best quotes from Gordon Ramsay

    Top 10 medical tests to do before you marry

    Top 10 medical tests to do before you marry

    How to choose the best grass for your lawn

    How to choose the best grass for your lawn

    A birthday and beyond

    A birthday and beyond

    How to recognize backhanded compliments

    How to recognize backhanded compliments

    Top 20 friendliest animals in the world

    Top 20 friendliest animals in the world

    Health benefits of flax seeds

    Health benefits of flax seeds

    Health benefits of chia seeds

    Health benefits of chia seeds

    Health benefits of pumpkin seeds

    Health benefits of pumpkin seeds

    How to ensure food safety in online delivery

    How to ensure food safety in online delivery

    Types of generations

    Types of generations

    Top 20 most expensive human organs

    Top 20 most expensive human organs

    Top 10 countries that are impossible to invade

    Top 10 countries that are impossible to invade

    How to become the Pope

    How to become the Pope

    How the Berlin wall worked

    How the Berlin wall worked

    The science behind meditation

    The science behind meditation

    Benefits of 963 Hz solfeggio frequency

    Benefits of 963 Hz solfeggio frequency

    Benefits of 852 Hz solfeggio frequency

    Benefits of 852 Hz solfeggio frequency

    Benefits of 741 Hz solfeggio frequency

    Benefits of 741 Hz solfeggio frequency

  • Entertainment
    Best quotes from Christopher Nolan

    Best quotes from Christopher Nolan

    Best quotes from Celine Dion

    Best quotes from Celine Dion

    Influence of technology on slot game design

    Influence of technology on slot game design

    How to pay for Netflix in Kenya

    How to pay for Netflix in Kenya

    How to stream a video game on X

    How to stream a video game on X (Twitter)

    How to fix game lag on PC

    How to fix game lag on PC

    Best quotes from Meryl Streep

    Best quotes from Meryl Streep

    Best quotes from House of Cards

    Best quotes from House of Cards

    How to win in life by playing odds

    How to win in life by playing odds

    How online casinos use hip hop

    How online casinos use hip hop

    Online betting guides and strategies

    Online betting guides and strategies

    Best quotes from Kevin Spacey

    Best quotes from Kevin Spacey

    Things to consider when buying a smart TV

    Things to consider when buying a smart TV

    Mistakes to avoid when playing in an online casino

    Mistakes to avoid when playing in an online casino

    Benefits of online casinos

    Benefits of online casinos

    Top 20 best-selling video games of all time

    Top 20 best-selling video games of all time

    Top 20 most complex movies of all time

    Top 20 most complex movies of all time

    Best quotes from Whitney Houston

    Best quotes from Whitney Houston

    Top 10 most rewatchable movies

    Top 10 most rewatchable movies 2025

    Best quotes from Denzel Washington

    Best quotes from Denzel Washington

  • Governance
    Forms of government

    Forms of government

    Best quotes from Jimmy Carter

    Best quotes from Jimmy Carter

    How the U.S. Electoral College works

    How the U.S. Electoral College works

    Virtues that make great leaders

    Virtues that make great leaders

    Best quotes from Lee Hsien Loong

    Best quotes from Lee Hsien Loong

    Top 20 countries with the most embassies in the world

    Top 20 countries with the most embassies in the world 2025

    NATO defense spending

    NATO defense spending 2025

    Top 20 countries most in debt to China

    Top 20 countries most in debt to China 2025

    Top 10 least free countries in Africa

    Top 10 least free countries in Africa 2025

    Top 10 freest countries in Africa

    Top 10 freest countries in Africa 2025

    Top 20 least free countries in the world

    Top 20 least free countries in the world 2025

    Top 20 freest countries in the world

    Top 20 freest countries in the world 2025

    Best quotes from Shirley Chisholm

    Best quotes from Shirley Chisholm

    The UN Security Council

    The UN Security Council

    Top 10 revolutions that changed the world

    Top 10 revolutions that changed the world

    Best quotes from Mao Zedong

    Best quotes from Mao Zedong

    Best quotes from Fidel Castro

    Best quotes from Fidel Castro

    Best quotes from Napoleon Bonaparte

    Best quotes from Napoleon Bonaparte

    Best quotes from Henry Kissinger

    Best quotes from Henry Kissinger

    Presidents of the United States

    Presidents of the United States

  • Sports
    Interesting facts about Kylian Mbappé

    Interesting facts about Kylian Mbappé

    Best quotes from Kylian Mbappé

    Best quotes from Kylian Mbappé

    Best quotes from Thierry Henry

    Best quotes from Thierry Henry

    Top 20 fastest football players of all time

    Top 20 fastest football players of all time

    Best quotes from O. J. Simpson

    Best quotes from O. J. Simpson

    Top 10 most successful Formula 1 drivers in the world

    Top 10 most successful Formula 1 drivers in the world 2025

    Top 10 highest paid Formula 1 drivers in the world

    Top 10 highest paid Formula 1 drivers in the world 2025

    Gift ideas for football fans

    Gift ideas for football fans

    Africa Cup of Nations (AFCON) winners

    Africa Cup of Nations (AFCON) winners 2025

    Top 10 greatest marathon runners of all time

    Top 10 greatest marathon runners of all time

    Best quotes from Eliud Kipchoge

    Best quotes from Eliud Kipchoge

    Ballon d'Or winners

    Ballon d’Or winners 2025

    How athletes overcome challenges and achieve success

    How athletes overcome challenges and achieve success

    Best quotes from Pelé

    Best quotes from Pelé

    How to bet on the NFL

    How to bet on the NFL

    How to bet on the Breeders' Cup

    How to bet on the Breeders’ Cup

    Types of swimming styles and strokes

    Types of swimming styles and strokes

    Benefits of swimming

    Benefits of swimming

    Safety rules every swimmer should follow

    Safety rules every swimmer should follow

    Must-have equipment for softball coaches

    Must-have equipment for softball coaches

en
afsqam ar hy az eu be bn bs bg ca ceb ny zh-CN zh-TWco hr cs da nl en eo et tl fi fr fy gl ka de el gu ht ha haw iw hi hmn hu is ig id ga it ja jw kn kk km ko ku ky lo la lv lt lb mk mg ms ml mt mi mr mn my ne no ps fa pl pt pa ro ru sm gd sr st sn sd si sk sl so es su sw sv tg ta te th tr uk ur uz vi cy xh yi yo zu
Victor Mochere
No Result
View All Result
en
afsqam ar hy az eu be bn bs bg ca ceb ny zh-CN zh-TWco hr cs da nl en eo et tl fi fr fy gl ka de el gu ht ha haw iw hi hmn hu is ig id ga it ja jw kn kk km ko ku ky lo la lv lt lb mk mg ms ml mt mi mr mn my ne no ps fa pl pt pa ro ru sm gd sr st sn sd si sk sl so es su sw sv tg ta te th tr uk ur uz vi cy xh yi yo zu
Victor Mochere
No Result
View All Result
Home Passé

How to publish a PWA on Google Play Store

Victor Mochere by Victor Mochere
in Passé, Technology
Reading Time: 17 mins read
A A
0
How to publish a PWA on Google Play Store

A progressive web application (PWA) is a type of application software delivered through the web, built using common web technologies including HTML, CSS and JavaScript. It is intended to work on any platform that uses a standards-compliant browser. Functionality includes working offline, push notifications, and device hardware access, enabling creating user experiences similar to native applications on desktop and mobile devices.

Now it’s easy to upload a PWA to digital distribution systems like Google Play Store, Apple App Store, Microsoft Store or Samsung Galaxy Store. Users can then download your PWA just like any other app. Google allows you to publish your PWA as a native app on Google Play Store via a trusted web activity (TWA). Trusted Web Activities are a new way to integrate your web-app content such as your PWA with your Android app using a protocol based on custom tabs.

RelatedPosts

How to remove watermarks from ChatGPT text

Things to know about Starlink satellite internet

Data security in the age of AI

Best PPC ad networks for high-performance campaigns

1. Download and install Android Studio

Setting up a Trusted Web Activity (TWA) doesn’t require developers to author Java code, but Android Studio is required. So first, download the Android Studio and install it on your development device.

2. Create a Trusted Web Activity project

This section will guide you on setting up a new project on Android Studio.

  1. Open Android Studio and click on “Start a new Android Studio project”.
  2. Android Studio will prompt to choose an Activity type. Since TWAs use an Activity provided by support library, choose “Add No Activity” and click “Next”.
  3. Next step, the wizard will prompt for configurations for the project. Here’s a short description of each field:
    • Name: The name that will be used for your application on the Android Launcher.
    • Package Name: An unique identifier for Android Applications on the Play Store and on Android devices.
    • Save location: Where Android Studio will create the project in the file system.
    • Language: The project doesn’t require writing any Java or Kotlin code. Select Java, as the default.
    • Minimum API Level: The Support Library requires at least API Level 16. Select API 16 any version above.
  4. Leave the remaining checkboxes unchecked, as we will not be using Instant Apps or AndroidX artifacts, and click “Finish”.

3. Get the TWA support library

To setup the TWA library in the project you will need to edit the Application build file. Look for the Gradle Scripts section in the Project Navigator. There are two files called build.gradle, which may be a bit confusing and the descriptions in parenthesis help identifying the correct one. The file we are looking for is the one with Module next to its name. The Trusted Web Activities library uses Java 8 features and the first change enables Java 8. Add a compileOptions section to the bottom of the android section, as below:

android {
        ...
    compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
    }
}

The next step will add the TWA Support Library to the project. Add a new dependency to the dependencies section:

dependencies {
    implementation 'com.google.androidbrowserhelper:androidbrowserhelper:1.0.0'
}

Android Studio will show prompt asking to synchronize the project once more. Click on the ‘Sync Now’ link and synchronize it.

4. Add the TWA activity

Setting up the TWA Activity is achieved by editing the Android App Manifest.

  1. On the Project Navigator, expand the app section, followed by the manifests and double click on AndroidManifest.xml to open the file.
  2. Since we asked Android Studio not to add any activity to our project when creating it, the manifest is empty and contains only the application tag. Add the TWA activity by inserting an activity tag into the application tag.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.twa.myapplication">



<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity
            android:name="com.google.androidbrowserhelper.trusted.LauncherActivity">




           <meta-data
               android:name="android.support.customtabs.trusted.DEFAULT_URL"
               android:value="https://yourwebsite.com" />





               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />






               <action android:name="android.intent.action.VIEW"/>
               <category android:name="android.intent.category.DEFAULT" />
               <category android:name="android.intent.category.BROWSABLE"/>




               <data
                 android:scheme="https"
                 android:host="yourwebsite.com"/>

The tags added to the XML are standard Android App Manifest. There are two relevant pieces of information for the context of Trusted Web Activities:

  1. The meta-data tag tells the TWA Activity which URL it should open. Change the android:value attribute with the URL of the PWA you want to open. In this example, it is https://yourwebsite.com.
  2. The second intent-filter tag allows the TWA to intercept Android Intents that open https://yourwebsite.com. The android:host attribute inside the data tag must point to the domain being opened by the TWA.

5. Remove the URL bar

Trusted Web Activities require an association between the Android application and the website to be established to remove the URL bar. This association is created via Digital Asset Links and the association must be established in both ways, linking from the app to the website and from the website to the app. It is possible to setup the app to website validation and setup Chrome to skip the website to app validation, for debugging purposes.

a. Establish an association the from app to your website

Open the string resources file app > res > values > strings.xml and add the Digital AssetLinks statement below:

<string name="app_name">My App
<string name="asset_statements">
    [{
        \"relation\": [\"delegate_permission/common.handle_all_urls\"],
        \"target\": {
            \"namespace\": \"web\",
                \"site\": \"https://yourwebsite.com\"}
    }]

Change the contents for the site attribute to match the schema and domain opened by the TWA. Back in the Android App Manifest file, AndroidManifest.xml, link to the statement by adding a new meta-data tag, but this time as a child of the application tag:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.twa.myapplication">



<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">



<meta-data
            android:name="asset_statements"
            android:resource="@string/asset_statements" />




            ...

b. Debug mode

After establishing a relationship from the Android application to the website. It is helpful to debug this part of the relationship without creating the website to application validation. Here’s how to test this on a development device:

  1. Open Chrome on the development device, navigate to chrome://flags, search for an item called Enable command line on non-rooted devices and change it to ENABLED and then restart the browser.
  2. Next, on the Terminal application of your operating system, use the Android Debug Bridge (installed with Android Studio), and run the following command:
adb shell "echo '_ --disable-digital-asset-link-verification-for-url=\"https://yourwebsite.com\"' > /data/local/tmp/chrome-command-line"

Close Chrome and re-launch your application from Android Studio. The application should now be shown in full-screen.

c. Establish an association from your website to the app

There are 2 pieces of information that the developer needs to collect from the app in order to create the association:

  1. Package Name: The first information is the package name for the app. This is the same package name generated when creating the app. It can also be found inside the Module build.gradle, under Gradle Scripts > build.gradle (Module: app), and is the value of the applicationId attribute.
  2. SHA-256 Fingerprint: Android applications must be signed in order to be uploaded to the Play Store. The same signature is used to establish the connection between the website and the app through the SHA-256 fingerprint of the upload key. You will need the keytool to extract the SHA-256 fingerprint.

How to generate an upload key and keystore using Android studio

You can generate an upload key using Android Studio as follows:

  1. In the menu bar, click Build > Build > Generate Signed Bundle/APK.
  2. In the “Generate Signed Bundle or APK” dialog, select “Android App Bundle or APK” and click “Next”.
  3. Below the field for Key store path, click “Create new”.
  4. On the New Key Store window, provide the following information for your keystore and key:
    • Key store path: Select the location where your keystore should be created.
    • Password: Create and confirm a secure password for your keystore.
    • Alias: Enter an identifying name for your key.
    • Password: Create and confirm a secure password for your key. This should be different from the password you chose for your keystore.
    • Validity (years): Set the length of time in years that your key will be valid. Your key should be valid for at least 25 years, so you can sign app updates with the same key through the lifespan of your app.
    • Certificate: Enter some information about yourself for your certificate. This information is not displayed in your app, but is included in your certificate as part of the APK.
  5. Once you complete the form, click “OK”.
  6. The next dialog box is about signing your app, click “Cancel” as still we are still building the app.

How to use the keytool on Microsoft Windows

You must have Java installed in your Windows PC. To located the keytool;

  1. Go to Drive C:
  2. Open the “Programs Files/Programs Files (x86)” folder.
  3. Open the “Java” folder.
  4. The keytool is located under the “bin” folder.
  5. Copy the location of the Java bin folder. For example: C:Program Files (x86)Javajre1.8.0_60bin
  6. Go to the Start Menu and search for the Command Prompt, just by typing “cmd”.
  7. Open the Command Prompt.
  8. Type “cd” then paste the Java bin folder location and press enter. For example: cd C:Program Files (x86)Javajre1.8.0_60bin
  9. Now you should be able to use the keytool to extract the SHA-256 fingerprint.

Make sure to take note the path, alias and passwords for the key store, as you will need it for the next step. Extract the SHA-256 fingerprint using the keytool, with the following command:

keytool -list -v -keystore  -alias  -storepass  -keypass

If the above command does not work. Just copy your keystore file to your computer’s admin user folder. For example; C:UsersVictor Mochere. Rename the keystore file to simply ‘.keystore‘ and then type the following command:

keytool -list -v

The value for the SHA-256 fingerprint is printed under the certificate fingerprints section. Here’s an example output:

keytool -list -v -keystore ./mykeystore.ks -alias test -storepass password -keypass password
Alias name: key0
Creation date: 28 Jan 2019
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Test Test, OU=Test, O=Test, L=London, ST=London, C=GB
Issuer: CN=Test Test, OU=Test, O=Test, L=London, ST=London, C=GB
Serial number: ea67d3d
Valid from: Mon Jan 28 14:58:00 GMT 2019 until: Fri Jan 22 14:58:00 GMT 2044
Certificate fingerprints:
SHA1: 38:03:D6:95:91:7C:9C:EE:4A:A0:58:43:A7:43:A5:D2:76:52:EF:9B
SHA256: F5:08:9F:8A:D4:C8:4A:15:6D:0A:B1:3F:61:96:BE:C7:87:8C:DE:05:59:92:B2:A3:2D:05:05:A5:62:A5:2F:34
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

With both pieces of information at hand, head over to the assetlinks generator, fill-in the fields and hit “Generate Statement”. Copy the generated statement and serve it from your domain, from the URL /.well-known/assetlinks.json. You can then hit “Test Statement” to see if the association has been established correctly.

How to create and upload .json file to the root of your domain

Here is a simple way to create and upload .json file to your website.

  1. After copying the generated statement.
  2. Go to the location you want to create the file on your computer.
  3. Right click on a black space.
  4. Then go to New > Text Document.
  5. Paste the statement and close the text document.
  6. You will be prompted to save the changes.
  7. Rename that document to “assetlinks.json”.
  8. Go to your website’s cPanel, click on File Manager > File Manager > public_html > .well-known.
  9. You can then upload the assetlinks.json file to the .well-known folder.

Note:

If you have opted into Google Play signing your app releases. Then to remove the URL bar, you will have to use the SHA-256 fingerprint generated by Google Play for your assetlinks.json file. Go to Google Play Console > Release management > App signing, then copy the App signing certificate SHA-256 fingerprint and paste it into your assetlinks.json file.

6. Creating an icon

When Android Studio creates a new project, it will come with a default icon. As a developer, you will want to create your own icon and differentiate your application from others on the Android Launcher. Android Studio contains the Image Asset Studio, which provides the tools necessary to create the correct icons, for every resolution and shape your application needs. Inside Android Studio, navigate to File > New > Image Asset, select Launcher Icons (Adaptative and Legacy) and follow the steps from the wizard to create a custom icon for the application.

7. Adding a splash screen

Android Studio contains the Vector Asset Studio, which provides the tools to help developers to transform SVGs into Android Vector Drawables. Inside Android Studio, navigate to File > New > Vector Asset to get started. Android devices can have different screen sizes and pixel densities. 

To ensure the splash screen looks good on all devices, you will need to generate the image for each pixel density. Below is a list with the pixel densities, the multiplier applied to the base size (320x320dp), the resulting size in pixels and the location where the image should be added in the Android Studio project.

DensityMultiplierSizeProject Location
mdpi (baseline)1.0x320×320 px/res/drawable-mdpi/
ldpi0.75x240×240 px/res/drawable-ldpi/
hdpi1.5x480×480 px/res/drawable-hdpi/
xhdpi2.0x640×640 px/res/drawable-xhdpi/
xxhdpi3.0x960×960 px/res/drawable-xxhdpi/
xxxhdpi4.0x1280×1280 px/res/drawable-xxxhdpi/

8. Updating the application

With the images for the icon and splash screen generated, it’s time to add the necessary configurations to the project. First, add a content-provider to the Android Manifest (AndroidManifest.xml).

...
<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="com.example.twa.myapplication.fileprovider"
    android:grantUriPermissions="true"
    android:exported="false">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/filepaths" />

Make sure to change the android:authorities attribute when creating the provider, as two applications cannot have the same authority on a device. Then, add res/xml/filepaths.xml resource, and specify the path to the twa splash screen:

<files-path path="twa_splash/" name="twa_splash" />

Finally, add meta-tags to the Android Manifest to customize the LauncherActivity:

<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity">
...
<meta-data android:name="android.support.customtabs.trusted.SPLASH_IMAGE_DRAWABLE"
           android:resource="@drawable/splash"/>
<meta-data android:name="android.support.customtabs.trusted.SPLASH_SCREEN_BACKGROUND_COLOR"
           android:resource="@color/colorPrimary"/>
<meta-data android:name="android.support.customtabs.trusted.SPLASH_SCREEN_FADE_OUT_DURATION"
           android:value="300"/>
<meta-data android:name="android.support.customtabs.trusted.FILE_PROVIDER_AUTHORITY"
           android:value="com.example.twa.myapplication.fileprovider"/>
...

Ensure that the value of the android.support.customtabs.trusted.FILE_PROVIDER_AUTHORITY tag matches the value defined of the android:authorities attribute inside the provider tag.

9. Making the LauncherActivity transparent

Additionally, make sure the LauncherActivity is transparent to avoid a white screen showing before the splash. Add a new theme to res/styles.xml:

<style name="Theme.LauncherActivity" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowAnimationStyle">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

Then, add a reference to the new style in the Android Manifest:

...
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
          android:theme="@style/Theme.LauncherActivity">
...

10. Building an app bundle

Building an app bundle instead of APK for upload to Google Play Store has the following benefits.

  1. Smaller download size.
  2. On-demand app features.
  3. Asset-only modules.

To build your app ready for signing; in the menu bar, click Build > Build Bundle(s) / APK(s) > Build Bundle(s).

11. Generating a signed app bundle

Here is how to generate a signed app bundle.

  1. In the menu bar, click Build > Generate Signed Bundle/APK.
  2. In the Generate Signed Bundle or APK dialog, select Android App Bundle or APK and click “Next”.
  3. Select a module from the drop down.
  4. Specify the path to your keystore, the alias for your key, and enter the passwords for both.
  5. If you’re signing an app bundle with an existing app signing key, and you’d like to later opt your app into app signing by Google Play, check the box next to Export encrypted key and specify a path to save your signing key as an encrypted *.pepk file. You can then use your encrypted app signing key to opt in an existing app into app signing by Google Play.
  6. Click “Next”.
  7. In the next window, select a destination folder for your signed app bundle, select the build type, choose the product flavor(s) if applicable. If your project uses product flavors, you can select multiple product flavors while holding down the Control key on Windows/Linux, or the Command key on Mac OSX. Android Studio will generate a separate APK or app bundle for each product flavor you select.
  8. Select which Signature Versions you want your app to support.
  9. Click “Finish”.

12. Uploading your app bundle to Google Play Store

After you build and sign the release version of your app, the next step is to upload it to Google Play Store. And remember that Google Play supports compressed app downloads of only 150 MB or less.

  1. Go to Google Play Console.
  2. Pay the mandatory $25 for your developer account.
  3. Fill the details required.
  4. Click on All Applications > Create Application.
  5. Select the language of your app and key in the name/title of your app.
  6. Enroll into app signing by Google Play, which is the recommended way to upload and sign your app. If you build and upload an Android App Bundle, you must enroll in app signing by Google Play. You can do this under App signing in the Play Console.
  7. You must fill out all the required information for the store listing, content rating, app content and, pricing and distribution. You should see four green checkmarks on the sidebar when this process is complete.
  8. Navigate to App releases > Production > Create release. Then upload your Android App Bundle and review. When ready to submit the app for review by Google, hit “Roll-out Production” and the “Confirm roll-out”.
  9. Your app will be in pending publication status, just wait a few hours for it to be approved.
Tags: AppsGoogle
Previous Post

Australian passport Visa Free countries 2025

Next Post

It’s my birthday, but who cares

Victor Mochere

Victor Mochere

Blogger, YouTuber, internet personality, and netpreneur creating and marketing digital content.

Related Posts

FA Cup winners
Passé

FA Cup winners 2025

Payment methods for online casinos
Business

Payment methods for online casinos

Top 20 least generous countries in the world
Living

Top 20 least generous countries in the world 2025

How to apply for TSC number
Living

How to apply for TSC number

How to become a KRA tax agent
Business

How to become a KRA tax agent

How to perform a motor vehicle search in Kenya
Passé

How to perform a motor vehicle search in Kenya

Next Post
It's my birthday, but who cares

It's my birthday, but who cares

How to change Android application ID

How to change Android application ID

Romanian passport Visa Free countries

Romanian passport Visa Free countries 2025

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

I agree to the Terms & Conditions and Privacy Policy.

Trending articles

  • Educational mobile app features that boost the learning process

    Educational mobile app features that boost the learning process

    1 shares
    Share 0 Tweet 0
  • YouTube Copyright School questions and answers

    2 shares
    Share 0 Tweet 0
  • Top 20 most expensive human organs

    1 shares
    Share 0 Tweet 0
  • Top 20 highest military spending countries in the world 2025

    1 shares
    Share 0 Tweet 0
  • Top 20 most courageous people of all time

    1 shares
    Share 0 Tweet 0

Latest articles

How to remove watermarks from ChatGPT text
Technology

How to remove watermarks from ChatGPT text

by Victor Mochere
0

The world of artificial intelligence (AI) is ever-evolving, with innovations that continually push the boundaries of what we thought was...

Read moreDetails
Top 20 largest churches in the world

Top 20 largest churches in the world 2025

Things to know about Starlink satellite internet

Things to know about Starlink satellite internet

Top 20 most innovative car brands in the world

Top 20 most innovative car brands in the world 2025

Top 20 best car brands in the world

Top 20 best car brands in the world 2025

Recommended articles

Top 20 countries with the highest life expectancies in the world
Living

Top 20 countries with the highest life expectancies in the world 2025

by Victor Mochere
0

Tales of a fountain of youth have spread around the world for centuries, and while so far no one's discovered...

Read moreDetails

How to get verified on TikTok 2025

How to upload long videos on Twitter

How to get more likes on Instagram

How to increase your market share

Victor Mochere

Victor Mochere is one of the biggest informational blogs on the web. We publish well curated up-to-date facts and important updates from around the world.

Sections

  • Business
  • Education
  • Entertainment
  • Finance
  • Flacked
  • Governance
  • Living
  • Passé
  • Sports
  • Technology
  • Travel

Follow us

  • Advertise
  • Disclaimer
  • Cookies
  • Privacy Policy
  • Copyright
  • DMCA
  • Guest blogger
  • Blog tip
  • Contact us

© 2025 Victor Mochere. All rights reserved.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
[gtranslate]
No Result
View All Result
  • Login
  • Sections
    • Business
    • Finance
    • Education
    • Travel
    • Technology
    • Living
    • Entertainment
    • Governance
    • Sports
  • About us
  • Victor Mochere Biography
  • Sitemap
  • Social Media Policy
  • Corrections
  • Comment Policy

© 2025 Victor Mochere. All rights reserved.

This website uses cookies. By continuing to use this website you are giving consent to cookies being used. Visit our Cookie Policy.