Un proyecto en Android Studio for Platform (ASfP) contiene todo lo que define tu espacio de trabajo para tu base de código de AOSP, desde código fuente y recursos hasta código de prueba y configuraciones de compilación.
Cuando inicias un proyecto nuevo, ASfP crea la estructura necesaria para todos tus archivos y los hace visibles en la ventana Project. Para abrir la ventana, selecciona View > Tool Windows > Project.
En esta página, se proporciona una descripción general de los componentes clave de la configuración de tu proyecto.
Configuración del proyecto (.asfp-project
)
La configuración del proyecto de ASfP se controla con el archivo .asfp-project
, que se encuentra en la raíz del directorio del proyecto. Este archivo YAML es fundamental para controlar lo que se incluye en tu proyecto y cómo operan las funciones críticas. Puedes abrirlo desde el menú principal con ASfP > Project > Open Config o buscándolo en la vista del proyecto.
Cuando se crea un proyecto, se genera una configuración según las especificaciones proporcionadas por el usuario. Todos los parámetros de la configuración se pueden editar en cualquier momento para modificar las especificaciones del proyecto, por ejemplo, para actualizar los directorios o módulos del proyecto, después de lo cual se requiere una sincronización para que se reflejen los cambios.
Parámetros de configuración
Estos son los parámetros clave que puedes configurar en el archivo .asfp-project
:
repo
Obligatorio
Es una ruta de acceso absoluta a la raíz del repositorio de la plataforma de Android.
repo: /path/to/aosp
lunch
Obligatorio
Es el objetivo de lanzamiento que se vinculará con tu proyecto. Se usa para todas las acciones de compilación de Soong, incluidas las configuraciones de ejecución relevantes y de sincronización.
lunch: your-product-variant-userdebug
directories
Opcional
Directorios que se incluirán en tu proyecto o se excluirán de él. Estas deben ser rutas de acceso relativas con respecto a la raíz de repo
.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
Opcional
Son los módulos que se pueden incluir en tu proyecto o excluir de él. Estos parámetros funcionan en conjunto con el directories
especificado anteriormente. Se admiten tanto los nombres completos como los abreviados.
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Opcional
La ASfP intenta diferenciar entre las fuentes de producción y las de prueba, pero, en algunos casos, es posible que debas indicar explícitamente las fuentes de prueba. Proporciona estas rutas de acceso como rutas relativas con respecto a la raíz de repo
. Las raíces de origen que sean subdirectorios de las rutas especificadas se marcarán como de prueba.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
Opcional
La compatibilidad con Java se incluye de forma predeterminada. Puedes agregar compatibilidad con otros idiomas.
ASfP también admite C/C++ (cpp
) y Rust (rust
).
other_languages:
- cpp
- rust
build_config
Opcional
Este parámetro te permite agregar marcas o variables de entorno personalizadas a los eventos de compilación de Soong. Esta configuración se aplica a todas las acciones del IDE que generan una compilación de Soong, incluidas las configuraciones de sincronización y ejecución.
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value