Configuración Android
Las propiedades de identidad y el manifest específicos de Android se gestionan a través de
ludens.properties en la raíz del proyecto. Este sistema te permite personalizar tu aplicación sin
tocar código Kotlin ni scripts de compilación complejos.
Identidad de la Aplicación
Sección titulada «Identidad de la Aplicación»Estas propiedades definen el nombre del paquete, la versión y los nombres mostrados por el sistema Android.
# ----- Android Identity -----ludens.android.id=com.ludens.compose.ludensludens.android.version=0.3.0ludens.android.versionCode=1ludens.android.name=Ludensludens.android.launcherName=Ludensludens.android.minSDK=21ludens.android.targetSDK=36ludens.android.immersive=trueConfigura estas propiedades usando el prefijo ludens.android.*:
| Propiedad | Tipo | Por defecto | Descripción |
|---|---|---|---|
id | String | com.ludens.compose.ludens | Identificador único de la aplicación (package name). |
version | String | 0.3.0 | Nombre de la versión visible para el usuario. |
versionCode | Entero | 1 | Código de versión interno para actualizaciones en la Play Store. |
name | String | Ludens | Nombre completo de la aplicación en ajustes del sistema. |
launcherName | String | Ludens | Nombre mostrado bajo el icono en la pantalla de inicio. |
minSDK | Entero | 21 | Nivel mínimo de API de Android soportado. |
targetSDK | Entero | 36 | Nivel de API de Android al que se dirige la compilación. |
immersive | Booleano | true | Activa el modo inmersivo (oculta las barras del sistema). |
Icono de la Aplicación
Sección titulada «Icono de la Aplicación»Reemplaza el icono predeterminado actualizando las imágenes en los directorios
composeApp/src/androidMain/res/mipmap-*, o usa la herramienta Image Asset Studio en Android
Studio:
- Haz clic derecho en
composeApp/src/androidMain/res. - Selecciona New > Image Asset.
- Configura el icono usando el arte de tu juego.
![]()
Los directorios mipmap-* contienen iconos en diferentes resoluciones:
| Directorio | Resolución |
|---|---|
mipmap-mdpi | 48×48 px |
mipmap-hdpi | 72×72 px |
mipmap-xhdpi | 96×96 px |
mipmap-xxhdpi | 144×144 px |
mipmap-xxxhdpi | 192×192 px |
Configuración del Manifest
Sección titulada «Configuración del Manifest»Ludens genera automáticamente el archivo AndroidManifest.xml basándose en estas propiedades. Esto
permite una gestión
segura y predecible del manifest.
# ----- Android Manifest -----ludens.android.manifest.allowBackup=trueludens.android.manifest.largeHeap=trueludens.android.manifest.hardwareAccelerated=trueludens.android.manifest.screenOrientation=sensorLandscapeludens.android.manifest.usesCleartextTraffic=falseludens.android.manifest.resizeableActivity=falseOrientación del Juego
Sección titulada «Orientación del Juego»Por defecto, Ludens fuerza la aplicación al modo horizontal usando sensorLandscape. Esto asegura
que el juego rote
según el sensor del dispositivo pero se mantenga en una orientación horizontal. Para cambiar esto,
modifica la propiedad
ludens.android.manifest.screenOrientation.
Orientaciones Comunes
Sección titulada «Orientaciones Comunes»| Valor | Comportamiento |
|---|---|
sensorLandscape | (Predeterminado) Solo horizontal, rota automáticamente entre horizontal izquierdo y derecho según el sensor. |
sensorPortrait | Solo vertical, rota automáticamente entre vertical normal e invertido según el sensor. |
landscape | Orientación horizontal fija (ignorando el sensor). |
portrait | Orientación vertical fija (ignorando el sensor). |
fullSensor | Permite la rotación a cualquiera de las 4 orientaciones. |
Referencia de Propiedades
Sección titulada «Referencia de Propiedades»Configura estas propiedades usando el prefijo ludens.android.manifest.*:
| Propiedad | Tipo | Mapeo | Descripción |
|---|---|---|---|
allowBackup | Booleano | android:allowBackup | Indica si Android puede realizar copias de seguridad en Google Drive. |
largeHeap | Booleano | android:largeHeap | Solicita un montón más grande para juegos pesados. |
hardwareAccelerated | Booleano | android:hardwareAccelerated | Activa la aceleración por GPU para la interfaz. |
screenOrientation | String | android:screenOrientation | Define la orientación de pantalla (ver tabla arriba). |
usesCleartextTraffic | Booleano | android:usesCleartextTraffic | Permite tráfico HTTP en claro (No recomendado). |
resizeableActivity | Booleano | android:resizeableActivity | Permite que el sistema cambie el tamaño de la actividad. |
Permisos
Sección titulada «Permisos»Si tus plugins de RPG Maker requieren acceso al hardware del dispositivo o servicios de red, debes declarar esos permisos. Ludens facilita esto con interruptores integrados.
Por ejemplo, si tu juego obtiene puntuaciones de una tabla de clasificación en línea, necesitarás el
permiso internet.
Si tu juego debe evitar que la pantalla se apague durante escenas largas, usa el permiso wakeLock.
# ----- Android Permissions -----ludens.android.permissions.internet=falseludens.android.permissions.networkState=falseludens.android.permissions.wakeLock=falseludens.android.permissions.accessWifiState=falseludens.android.permissions.changeWifiState=falseDeclara estos permisos bajo el prefijo ludens.android.permissions.*:
| Propiedad | Tipo | Mapeo | Descripción |
|---|---|---|---|
internet | Booleano | INTERNET | Otorga acceso a la red para funciones online. |
networkState | Booleano | ACCESS_NETWORK_STATE | Acceso al estado y tipo de red. |
wakeLock | Booleano | WAKE_LOCK | Mantiene la CPU activa mientras se renderiza o juega. |
accessWifiState | Booleano | ACCESS_WIFI_STATE | Acceso al estado de la conexión Wi-Fi. |
changeWifiState | Booleano | CHANGE_WIFI_STATE | Permiso para cambiar la conectividad Wi-Fi. |
Avanzado: Personalización Manual del Manifest
Sección titulada «Avanzado: Personalización Manual del Manifest»Para configuraciones no cubiertas por ludens.properties, puedes editar el manifest directamente en
composeApp/src/androidMain/AndroidManifest.xml.
Añadir Permisos Personalizados
Sección titulada «Añadir Permisos Personalizados»Si tus plugins requieren acceso al hardware como la Cámara o el Micrófono, añade la etiqueta
<uses-permission> como
hijo directo del elemento <manifest>.
Ejemplo: Añadir permiso de Micrófono:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Añadir nuevos permisos aquí --> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<application>...</application></manifest>Configuración de Firma
Sección titulada «Configuración de Firma»Para compilaciones de producción, necesitas un almacén de llaves. Crea un archivo
keystore.properties en la raíz del
proyecto basado en el archivo keystore.properties.template:
storePassword=tu_store_passwordkeyPassword=tu_key_passwordkeyAlias=tu_aliasstoreFile=C:/Ruta/A/Tu/llave.jks