# Instalación y configuración

Este tutorial te guía a través del proceso de integración de la biblioteca `PeripheralsLib` en tu proyecto de Android Studio. Aprenderás cómo importar el archivo de la biblioteca, configurar tus dependencias de compilación y actualizar el manifest de tu aplicación para soportar Android 12 y superior.

## Requisitos previos

* Un proyecto existente en Android Studio.  
* El archivo `peripheralslib.jar` proporcionado con el paquete de integración.

## Paso 1: Importar la biblioteca

1. Abre tu proyecto en **Android Studio**.  
2. Navega a la vista **Project** (no la vista Android) en el "Project Explorer".  
3. Localiza el módulo de tu aplicación (generalmente llamado `app`).  
4. Expande el módulo y busca una carpeta llamada `libs`.  
   * Si la carpeta no existe, haz clic derecho en la carpeta `app`, selecciona **New > Directory** y nómbrala `libs`.  
5. Copia el archivo `peripheralslib.jar` y pégalo en el directorio `libs`.

## Paso 2: Configurar dependencias de Gradle

Para que las clases de la biblioteca estén disponibles para tu código, debes añadirla como dependencia en tu configuración de compilación.

1. Abre el archivo `build.gradle` del módulo de tu aplicación (a menudo etiquetado como `Module: app`).  
2. Localiza el bloque `dependencies`.  
3. Añade la siguiente línea para incluir el archivo JAR: 
   
   ```gradle
   implementation files('libs/peripheralslib.jar')
   ```

4. Sincroniza tu proyecto con los archivos de Gradle.

## Paso 3: Configurar el Android Manifest (Android 12+)

Los dispositivos que ejecutan **Android 12 (nivel de API 31)** o superior requieren permisos específicos para interactuar con los servicios del sistema utilizados por PeripheralsLib. Debes declarar estos permisos en tu `AndroidManifest.xml`.

1. Abre `app/src/main/AndroidManifest.xml`.  
2. Añade el permiso `QUERY_ALL_PACKAGES` y el bloque `<queries>` necesario dentro de la etiqueta `<manifest>`, pero fuera de la etiqueta `<application>`.  
   
   ```xml
   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       package="com.your.package">

       <!-- Required for Android 12+ visibility -->
       <uses-permission
           android:name="android.permission.QUERY_ALL_PACKAGES"
           tools:ignore="QueryAllPackagesPermission" />

       <queries>
           <package android:name="com.redsys.t_android.appservice" />
       </queries>

       <application ...>
           ...
       </application>

   </manifest>
   ```

<Callout type="note">

El bloque `<queries>` garantiza que tu aplicación pueda detectar y comunicarse con el servicio subyacente (`com.redsys.t_android.appservice`) en las versiones más recientes de Android.

</Callout>

## Resumen

Has importado la biblioteca correctamente y has configurado los permisos necesarios. Tu proyecto ya está listo para instanciar el `PeripheralsManager`.