# Resolving v1.11.0 assetlinks.json Not Generated by Bubblewrap Build and Empty Fingerprint Issue

Soefyan Syah
Soefyan Syah2 Feb 2025
Bubblewrapassetlinks

In the world of Android development, using tools like Bubblewrap can significantly streamline the process of creating Progressive Web Apps (PWAs). However, developers may encounter issues, such as the **v1.11.0 assetlinks.json not being generated** during the Bubblewrap build process, along with an empty fingerprint when attempting to generate the asset links. This article will explore the root causes of these issues and provide a step-by-step solution to resolve them effectively.

Photo by <a href="https://unsplash.com/@wanderfleur?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Wander Fleur</a> on <a href="https://unsplash.com/photos/white-and-gray-floral-window-curtain-pdFLNMuMuzk?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>
In the world of Android development, using tools like Bubblewrap can significantly streamline the process of creating Progressive Web Apps (PWAs). However, developers may encounter issues, such as the **v1.11.0 assetlinks.json not being generated** during the Bubblewrap build process, along with an empty fingerprint when attempting to generate the asset links. This article will explore the root causes of these issues and provide a step-by-step solution to resolve them effectively.

Understanding the Problem

When building a PWA with Bubblewrap, the assetlinks.json file is crucial for establishing a secure connection between your web app and the Android app. This file contains the necessary information for Android to verify that the app is indeed associated with the web domain. If the assetlinks.json file is not generated, or if the SHA256 fingerprint is empty, it can lead to issues with app linking and functionality.

Common Causes

  1. Incorrect Keystore Configuration: One of the primary reasons for the failure to generate the assetlinks.json file is an incorrect or missing keystore configuration. The keystore is essential for signing your app, and if it is not set up correctly, the build process may not be able to generate the necessary fingerprints.

  2. Missing SHA256 Fingerprint: The SHA256 fingerprint is a unique identifier for your app's signing certificate. If this fingerprint is not generated or is empty, the assetlinks.json file will not contain the required information for Android to validate the app.

  3. Bubblewrap Version Issues: Sometimes, specific versions of Bubblewrap may have bugs or issues that affect the generation of the assetlinks.json file. Ensuring you are using the latest version can help mitigate these problems.

Step-by-Step Solution

To resolve the issue of the assetlinks.json file not being generated and the empty fingerprint, follow these steps:

Step 1: Generate the SHA256 Fingerprint

You can manually generate the SHA256 fingerprint for your keystore using the keytool command. This command is part of the Java Development Kit (JDK) and allows you to inspect your keystore. Here’s how to do it:

  1. Open your terminal or command prompt.

  2. Run the following command to list the details of your keystore:
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    This command is specifically for the default Android debug keystore, which is typically located in your home directory. If you are using a custom keystore, replace the path accordingly.

  3. Look for the SHA256 fingerprint in the output. It will look something like this:
    SHA256: AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF

Step 2: Create the assetlinks.json File

Once you have the SHA256 fingerprint, you can create the assetlinks.json file with the correct package name and fingerprint. Here’s an example of how to structure the file:

[ { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "[your package name e.g. com.stuff.app]", "sha256_cert_fingerprints": ["AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF"] } } ]

Make sure to replace [your package name e.g. com.stuff.app] with the actual package name of your application and insert the SHA256 fingerprint you obtained earlier.

Step 3: Place the assetlinks.json File

After creating the assetlinks.json file, you need to host it on your web server. The file should be accessible at the following URL:

https://[your-domain]/.well-known/assetlinks.json

Ensure that the file is publicly accessible, as Android will attempt to fetch it during the app linking process.

Step 4: Rebuild Your Application

With the assetlinks.json file in place, you can now rebuild your application using Bubblewrap. Run the following command:

bubblewrap build

This command will initiate the build process, and if everything is configured correctly, the assetlinks.json file should be generated without any issues.

Conclusion

Encountering the v1.11.0 assetlinks.json not generated issue and an empty fingerprint can be frustrating for developers using Bubblewrap. However, by following the steps outlined in this article, you can effectively resolve these problems. Generating the SHA256 fingerprint using the keytool command and creating a properly structured assetlinks.json file are crucial steps in ensuring your PWA is correctly linked to your Android app.

By taking the time to configure your keystore and asset links properly, you can enhance the functionality of your application and provide a seamless experience for your users. If you continue to face issues, consider checking the Bubblewrap documentation or community forums for additional support. Happy coding!

Soefyan Syah

Written by Soefyan Syah

Hey there! I hope you find this post useful. If you have anything to say, questions or feedback, send me a tweet or an email.