Configurar proyectos de Lumberyard para Android - Guía del usuario de Lumberyard

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar proyectos de Lumberyard para Android

Además de larequisitos de configuración para todo el sistemapara compilar para Android, Amazon Lumberyard también requiere algunos ajustes específicos del proyecto. Esta configuración no solo incluye elementos como el suministro de valores a laManifiesto Android, también controlan la capacidad de la aplicación para conectarse al compilador de sombreadores y cómo se cargan los activos en el dispositivo. Con el sistema de archivos virtual (VFS) que ofrece el Asset Processor, puede incluso recargar activos en vivo en el dispositivo a medida que cambian.

En esta sección se describen los conceptos básicos de la configuración de tu proyecto para que puedas trabajar con Android. Para ver todos los ajustes disponibles, consulteReferencia para Android.

importante

Dado que la configuración del proyecto afecta la forma en que la aplicación se comunica con algunos servicios del host de Asset Processor y modifica el manifiesto de Android, para cambiar cualquier configuración del proyecto será necesario reconstruirla.

Gestión de activos en Android

Trabajar con Android en Lumberyard puede resultar complicado debido a las restricciones de la plataforma Android, lo que afecta a cómo se crean e implementan los paquetes de aplicaciones de Android (APK). Las diferentes configuraciones de implementación de activos pueden afectar en gran medida al rendimiento durante el proceso de desarrollo, así que asegúrese de seleccionar la adecuada para su caso de uso. Esta sección te ayuda a desglosar qué opciones están disponibles, cuándo son las más adecuadas y cómo configuras tu proyecto de Lumberyard para respaldarlas.

Estos son los modos de activos disponibles para la implementación de activos en dispositivos:

  • configuration_default— los activos se empaquetan según la configuración de compilación:

    • LadebugyPerfil deconfiguraciones de usoloose_filesModo.

    • LaversiónyperformanceLas configuraciones utilizan elproject_settingspara determinar cómo crear activos, el APK y cualquier archivo OBB.

  • loose_filesyloose_paks— los activos sonsuelto, lo que significa que se copian en medios de almacenamiento de información. Para obtener más información sobre archivos sueltos, consulteModos sueltos.

  • apk_filesyapk_paks— los activos sonembalado, lo que significa que se incluyen como parte de tu APK. Para obtener más información acerca de los archivos empaquetados de, consulteModos de paquete.

  • project_settings— los activos se empaquetan según la configuración.

Para configurar qué modo de activo utilizan las implementaciones, abralumberyard_install_dir\dev\_WAF_\user_settings.optionsen un editor de texto y modifique el[Android Options]sección.

[Android Options] android_asset_mode = [ configuration_default | loose_files | loose_paks | apk_files | apk_paks | project_settings ]

Modos sueltos

Enarchivos sueltosmodo (loose_filesorloose_paks), ninguno de sus activos se incluye en el APK. En cambio, los activos se copian directamente en los medios de almacenamiento del dispositivo Android y el motor Lumberyard los carga en tiempo de ejecución. Cuando se utilizaloose_paks, los activos se colocan por primera vez en un.paky luego se envía al dispositivo.

Es probable que el modo de archivos sueltos sea lo que desee utilizar para el desarrollo diario y para iterar rápidamente los activos e implementar actualizaciones en el dispositivo.

Al utilizar activos sueltos, recomendamos elloose_filespara facilitar la inspección manual de la tarjeta SD del dispositivo y agilizar las implementaciones de activos bajo demanda, a costa de un pequeño impacto en el rendimiento cuando se carga el activo inicial. Para configurar las implementaciones de modo que utilicen el modo de archivos sueltos, abralumberyard_install_dir\dev\_WAF_\user_settings.optionsen un editor de texto y modifique el[Android Options]sección.

[Android Options] android_asset_mode = loose_files

Modos de paquete

A diferencia de muchos escenarios de Lumberyard en los que los activos empaquetados hacen referencia a.pakarchivos, elactivos empaquetados(apk_filesyapk_paks) agrupan sus activos como parte del APK implementado, con la opción de colocarlos en un.pakfirst. Este APK es lo que a veces se denominaAPK empaquetada, que hace referencia al hecho de que los activos se empaquetan en el APK y no se distribuyen por separado.

La agrupación de los activos en un APK permite la implementación de un único artefacto, lo que hace que estos modos sean ideales para crear APK para distribuirlos para pruebas o previsualizaciones.

Cuando se utilizan activos empaquetados, recomendamos laapk_paks, que ofrece algunas mejoras de rendimiento. Para configurar las implementaciones de modo que utilicen el modo de activos empaquetados, abralumberyard_install_dir\dev\_WAF_\user_settings.optionsen un editor de texto y modifique el[Android Options]sección.

[Android Options] android_asset_mode = apk_paks
sugerencia

Si desea realizar pruebas automatizadas a gran escala en varios dispositivos, puede crear APK empaquetados y distribuirlos enAWS Device Farm.

Distribución de recursos a través del sistema de archivos virtuales (VFS)

Durante las primeras etapas de desarrollo con Lumberyard, y para los usuarios que iteran rápidamente los activos de una forma que requiere recarga en directo, puede utilizar el sistema de archivos virtual (VFS) para transmitir activos a un dispositivo desde su máquina de desarrollo. El VFS utiliza Asset Processor como proxy al que se conecta su dispositivo Android para recibir activos actualizados. Cada vez que el Asset Processor vuelve a crear un activo de producto, ese activo se copia en el dispositivo y se vuelve a cargar. El VFS no realiza implementaciones de activos iniciales (se respeta el modo de activos de la configuración de compilación) solo se recarga.

Para activar el VFS

  1. Abra el archivo lumberyard_install_dir\dev\bootstrap.cfg en un editor de texto.

  2. Activa la compatibilidad con Asset Processor VFS cambiando elremote_filesystemValor para1.

    remote_filesystem=1
  3. Configure la información de conexión para el VFS cambiando los valores deremote_ip,remote_port, ywhite_list. Para un Asset Processor que se ejecuta localmente, tanto la dirección IP remota como la lista de permisos deben ser127.0.0.1. El puerto predeterminado del Asset Processor es45643.

    remote_ip=127.0.0.1 remote_port=asset_processor_port white_list=127.0.0.1
  4. Configure el motor de Lumberyard para que se conecte al VFS y arranque sin que algunos activos estén precargados.

    connect_to_remote=1 wait_for_connect=0
  5. Configure la conexión desde el dispositivo al compilador del sombreador. Puede hacerlo iniciando el compilador de sombreadores usted mismo o transfiriendo tráfico al compilador de sombreadores a través del Asset Processor.

    • Connect directamente al compilador de sombreadores— ConsulteConnect al compilador de sombreadoresPara obtener instrucciones, consulte.

    • Connect a Asset Processor— Edite la configuración de Android para utilizar el proceso de compilador de sombreadores del Asset Processor.

      1. Abra el archivo lumberyard_install_dir\dev\system_android_es3.cfg en un editor de texto.

      2. Cambie el valor der_AssetProcessorShaderCompilerDe a1.

        r_AssetProcessorShaderCompiler=1
  6. Configure el reenvío de puertos desde el dispositivo al Asset Processor.

    adb reverse tcp:45643 tcp:45643
  7. Reconstruye tu proyecto de Lumberyard para Android e implementarlo en el dispositivo.

Ahora, cuando inicie su proyecto de Lumberyard, se conectará al host de Asset Processor para realizar recargas de activos en vivo a través del VFS.

Manifiestos de Android personalizados

Como parte de cada aplicación de Android, Google requiere una lista de las actividades que realizará la aplicación y qué capacidades de dispositivo se requieren. Por ejemplo, si tu proyecto utiliza datos de ubicación activa en un dispositivo Android, tendrás que asegurarte de que tu proyecto tenga los permisos adecuados para recopilar datos en los intervalos correctos y con la precisión de ubicación adecuada. Debido a que los proyectos de Lumberyard se componen de muchos componentes, durante el proceso de compilación, las herramientas de compilación recogen varios manifiestos y los fusionan.

Si utilizas una gema u otro componente que requiere acceso especial al dispositivo o que ejecuta su propio AndroidActividadorIntención, la gema requiere un archivo de manifiesto de Android. Este archivo debe cumplir los siguientes criterios para ser recogido por el sistema de compilación:

  • El archivo debe denominarseAndroidManifest.xmly se ajustan a laFormato de manifiesto de Android.

  • La gema o el módulowscriptel archivo de compilación debe incluirandroid_manifest_pathcomo clave en la definición de gema que se pasa al sistema de compilación. El valor de esta clave debe ser elabsolutaRuta del directorio que contiene el manifiesto.

Por ejemplo,gema Microphoneutiliza un manifiesto de Android para dar a tu proyecto acceso al micrófono. A continuación se muestra una parte de la gema del micrófonowscriptque define cómo localizar el archivo de manifiesto de Android. Este fragmento configura la gema para utilizar el manifiesto enlumberyard_install_dir\dev\Gems\Microphone\Code\Source\Android\AndroidManifest.xml.

def build(bld): manifest_src_root = bld.path.make_node(os.path.join('Source', 'Android')) kw_dict = dict( # ... android_manifest_path = [ manifest_src_root.abspath() ], # ... ) bld.DefineGem( **kw_dict )

Para obtener más información sobre el sistema de creación de gemas y el usowscriptarchivos, consulteEstructura de la gemayArchivos del módulo Waf (wscript). Para obtener más información sobre los manifiestos de Android, su finalidad y cómo estructurar su contenido, consulte laDocumentación oficial de Android.