# Build & Deploy Android app

Android made it simple to publish web-wrapper-based apps to the marketplace. But, it also provides a little bit more security by introducing the concept of [**Trusted Web Activity**](https://developer.chrome.com/docs/android/trusted-web-activity/overview/).

## Building an app

### 1. Create a Developer Account

Visit [**the official site**](https://play.google.com/console/u/0/signup) and register for a developer account.

### 2. Clone ScandiPWA Android app template

You can download ZIP for [this repository](https://github.com/scandipwa/scandipwa-android-app), or clone with a command below:

```
git clone git@github.com:scandipwa/scandipwa-android-app.git
```

### 3. Change the site URL in `MainActivity.java`

Replace <https://demo.scandipwa.com/> with your site's URL.

### 4. Replace the package name with the one you want

Find and replace all `com.scandipwa` of this String in a cloned repository and replace it with your custom value.&#x20;

### 5. Verify your site by uploading a file

Upload the file of a similar structure to your server's `.well-known/assetlinks.json` URL. **Make sure it's publicly accessible!**

```
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target" : { "namespace": "android_app", "package_name": "<PACKAGE_NAME>",
               "sha256_cert_fingerprints": ["<FINGERPRINT>"] }
}]
```

Make sure to replace `PACKAGE_NAME` with the one, you chose in [**step 4**](/developing-with-scandi/deploying-your-app/build-and-deploy-android-app.md#4-replace-the-package-name-with-the-one-you-want).

`FINGERPRINT` with values obtained from your **Google Play Console > Release Management > App Signing**.

## Publishing the app

{% hint style="warning" %}
You will need an Android Studio installed. You can[ download it here](https://developer.android.com/studio).
{% endhint %}

1. Open the project, and navigate to **Build -> Generate Signed Bundle / APK**.
2. Choose **APK**,  select (and create) key store file, enter passwords
3. Choose **release** build variant and check both **Signature versions**
4. Go to your [developer console](https://play.google.com/console), navigate to **All applications**
5. Click **Create Application** and enter required fields
6. Prepare description and screenshots ([requirements](https://support.google.com/googleplay/android-developer/answer/9866151?visit_id=637547733930810820-3881892387\&rd=1)) for your app
7. Navigate to **Release management > App releases**
8. Select the `.apk` file created on step 3
9. Select your release and click **Review**

For a more detailed guide, please [see The Manifests's guide](https://themanifest.com/mobile-apps/how-publish-app-google-play-step-step-guide).

The process of review might take up to 7 days and result in refusal. ScandiPWA does not guarantee your app publishing. Please make sure the app you build complies with [**PlayStore guidelines**](https://play.google.com/about/developer-content-policy/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.scandipwa.com/developing-with-scandi/deploying-your-app/build-and-deploy-android-app.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
