> For the complete documentation index, see [llms.txt](https://ftcoders.first-tech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ftcoders.first-tech.com/first-tech-ttp-sdk/developer-zone/for-developers-setting-up-the-environment-to-get-started.md).

# For Developers: Setting Up the Environment to Get Started

You can start the project in **two ways**:

1. **Creating a new project from scratch** in your IDE.
2. **Using our prebuilt sample projects**, which are already set up for testing and compilation.

In this page, we will focus on **creating the project from the ground up**.

Below, we highlight the **essential points** to ensure the correct functionality of our **Tap On Phone SDK**.

### Creating a New Android Project

{% stepper %}
{% step %}

### Restoring the Development Mobile Device Factory Mode

It is **strongly recommended** that the developer **starts the project using a factory-reset mobile device**.

This practice prevents contamination from **previous device usage**, ensuring a **clean and reliable environment** for **development and testing**. Additionally, it helps **avoid unnecessary troubleshooting processes**, which can be **time-consuming**.
{% endstep %}

{% step %}

### Starting Android Project

We understand that there are various approaches to **creating a new project**, whether through a **graphical user interface (GUI)** or the **command line**.

We will follow the GUI path here:

In **Android Studio**, start a new project by selecting the **'Phone and Tablet'** template and choosing the **'Empty Activity'** model.

<figure><img src="/files/I65ldVMbtcgqdnNXgpoO" alt=""><figcaption><p>New Android Project Creation Screen in [Android Studio]</p></figcaption></figure>

Click **Next** to proceed to the configuration step for two of the most important project elements: the **application name** and the **package name**.

<figure><img src="/files/MoR9OAgXnSbHP2awA32u" alt=""><figcaption><p>New Android Project Information Screen in [Android Studio]</p></figcaption></figure>

These details are **essential** for **credential generation**, troubleshooting, and ensuring the **SDK functions correctly** within the application.

#### **Field Descriptions:**

* **Name:** Enter the project name (e.g., *My Application*).
* **Package Name:** Define a **unique and meaningful package name** (e.g., *com.companyname.payments.myapp*).

{% hint style="info" %}
The **Package Name** is a critical piece of information required to authorize the application during deployment. If you change this field after the app has been deployed to production, you **must notify First Tech** to have it reauthorized. Otherwise, **session activation errors may occur during Tap to Phone transactions.**
{% endhint %}

* **Save Location:** Choose the directory where the project will be saved (e.g., *E:\Dev\FirstTech\AppNative\MyApplication*).
* **Minimum SDK:** Select the **minimum Android SDK version** that the application should support.

{% hint style="info" %}
**Minimum Android SDK version supported by the Tap On Phone SDK:**\
\&#xNAN;**\[Android 10 - API Level 29]**
{% endhint %}

● **Language:** Choose the programming language (e.g., **Kotlin \[recommended]** or **Java**).

After filling in these details, click **Finish** to create the project.

Wait until the **Gradle synchronization** is fully completed and the project is ready for editing.

Once everything is loaded and set up, your **Android Studio file structure** should resemble the one shown bellow:

<figure><img src="/files/1SbpAmlYk64PF4nu54bH" alt=""><figcaption><p>Android Studio IDE Loaded and Ready for Development</p></figcaption></figure>
{% endstep %}

{% step %}

### First Build & Testing

At this point, you can already perform the **Build** process for the project and validate that everything is set up correctly before proceeding to the next steps. To do this, you need a **configured device or emulator** in your development environment.

To list the **devices/emulators** connected to your development environment, open the **Android Studio terminal** (**\[ALT + F12]**) and enter the following command:

```
adb devices
```

<figure><img src="/files/E7sqmYLwFRUEkr1BzcaY" alt=""><figcaption><p>Android Studio IDE Terminal Listing Devices Ready for Use in the Development Environment.</p></figcaption></figure>
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://ftcoders.first-tech.com/first-tech-ttp-sdk/developer-zone/for-developers-setting-up-the-environment-to-get-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
