Los proyectos de Android contienen muchos archivos relacionados con la compilación y estructuras de directorios para organizar el código fuente y los recursos de la aplicación. Antes de sumergirte en de la configuración de Terraform, veremos la estructura general y los conceptos básicos de lo que pertenece a cada parte.
En esta tabla, se muestran los archivos típicos de un proyecto de Android. Las descripciones de cada uno archivo o directorio incluyen notas sobre qué tipo de contenido pertenece allí. Recom. las prácticas evolucionan con el tiempo y es posible que estas descripciones no coincidan con un proyecto que haya heredado o descargado de Internet.
Cuando escribas tus archivos de compilación, usa un enfoque declarativo. lógica de compilación y tarea Las definiciones solo deben aparecer en complementos. Al limitar la lógica de compilación a complementos, los archivos de compilación se convierten en declaraciones de datos, que son más directas para la comprensión y edición. Las versiones futuras pueden incluir una especificación alternativa, como Gradle declarativa, que impedirá la lógica de compilación en la archivos.
Carpeta/Archivo |
Usar |
---|---|
gradle/ |
Directorio de caché del proyecto de Gradle Administrado por Gradle y contiene la distribución de Gradle descargada, la caché del proyecto y los archivos de configuración. No modifiques los archivos de este directorio. |
.idea/ |
Metadatos de proyectos de Android Studio No modifiques los archivos de este directorio. |
build.gradle(.kts) |
Solo debe contener declaraciones de complementos para configurar una ruta de clase de complemento común en todos los subproyectos. El resto del código debe residir en la configuración o en los archivos de compilación anidados a nivel de proyecto. |
gradle.properties |
Configuración de ejecución de Gradle Contiene propiedades de Gradle y controla aspectos del entorno de compilación de Gradle, como el tamaño de montón, el almacenamiento en caché y la ejecución paralela. Aquí se definen algunas propiedades temporales de Android para reducir los cambios en la DSL de AGP a medida que se agregan y, luego, se quitan. |
gradlew (linux y Mac) gradlew.bat (Windows) |
Archivo de wrapper de Gradle Para iniciar tu compilación, se descarga una distribución de Gradle y, luego, se le reenvía comandos. De esta manera, puedes ejecutar compilaciones sin tener que preinstalar Gradle. |
local.properties |
Configuración de máquinas locales Contiene propiedades relacionadas con la máquina local, como la ubicación del SDK de Android. Excluir este archivo del control de código fuente |
settings.gradle(.kts) |
Inicialización de compilación de Gradle Contiene información de compilación global para la inicialización de Gradle y la configuración del proyecto, como
|
Gradle |
|
❯ libs.versions.toml |
Define variables para dependencias y complementos que se usan dentro de tu compilación. Debes especificar las versiones que quieres usar aquí, lo que garantiza la coherencia en todos los subproyectos de tu proyecto. |
❯ wrapper/ |
|
❯ gradle‐wrapper.jar |
Inicio de Gradle ejecutable Descarga la distribución de Gradle especificada (si no existe), la ejecuta y pasa los argumentos. |
❯ gradle‐wrapper.properties |
Configuración del wrapper de Gradle Especifica dónde descargar la distribución de Gradle (incluida la versión que se usará). |
app/ |
Los subproyectos (conocidos como "módulos" en Android Studio) pueden compilar aplicaciones o bibliotecas, y pueden depender de otros subproyectos o dependencias externas.
|
❯ build.gradle(.kts) |
Archivo de compilación a nivel de subproyecto Declara cómo compilar este subproyecto. Cada subproyecto requiere un archivo de compilación independiente y debe contener
No debes incluir lógica de compilación (como condiciones o definiciones de funciones de Kotlin) ni declaraciones de tareas en tus archivos de compilación. La lógica de compilación y las tareas solo deben incluirse dentro de los complementos. |
❯ src/ |
Archivos de origen del subproyecto Agrupa los archivos fuente (recursos y código de la aplicación) en conjuntos de orígenes. El conjunto de orígenes |
❯ principal/ |
Conjunto de orígenes principal Código fuente y recursos comunes en todas las variantes de compilación. Esta fuente actúa como base para todas las compilaciones y otros conjuntos de orígenes más específicos que se agregan a ella o la anulan. |
❯ java/ ❯ kotlin/ |
Código fuente de Kotlin y Java El directorio |
❯ res/ |
Archivos de recursos de Android Contiene recursos de aplicación, como imágenes y archivos XML. Todas las aplicaciones utilizan algunos recursos básicos, como los íconos de selectores, pero muchos de estos recursos, como los diseños y los menús, solo se usan en aplicaciones basadas en vistas. Las aplicaciones de Compose usan recursos de String definidos en este directorio. |
❯ AndroidManifest.xml |
Metadatos de la aplicación para Android Leer por el administrador de paquetes de Android para indicarle al sistema
|
❯ androidTest/ |
Conjunto de orígenes de prueba del dispositivo Contiene fuentes para las pruebas que se ejecutarán en un dispositivo o emulador con Android. Estas pruebas tienen acceso a un entorno de Android real, pero se ejecutan más lento que las pruebas de host. |
❯ probar/ |
Conjunto de orígenes de prueba de host Contiene fuentes para pruebas que se ejecutan localmente en una JVM, a diferencia de las pruebas que se ejecutan en un dispositivo. Estas pruebas se ejecutan mucho más rápido que las pruebas de dispositivos. Sin embargo, cualquier llamada al sistema (incluidos los ciclos de vida que ejecutan tu aplicación) debe ser simulada, falsa, con stubs o de algún otro modo simulada. Todos los archivos de origen del conjunto de orígenes |
❯ proguard-rules.pro |
Define reglas para controlar la reducción, la optimización y la ofuscación de las aplicaciones. R8 quita el código y los recursos innecesarios, optimiza el rendimiento del tiempo de ejecución y minimiza aún más tu código cambiando el nombre de los identificadores. |