Compilar aplicaciones de Linux con Flutter
Consideraciones específicas de la plataforma al compilar para Linux con Flutter.
Esta página analiza las consideraciones exclusivas para compilar aplicaciones Linux con Flutter, incluyendo la integración con el shell y la preparación de aplicaciones para su distribución.
Integrar con Linux
#La interfaz de programación de Linux,
que comprende funciones de biblioteca y llamadas al sistema,
está diseñada en torno al lenguaje C y la ABI.
Afortunadamente, Dart proporciona el paquete dart:ffi,
que permite a los programas de Dart realizar llamadas a bibliotecas de C.
Las Interfaces de Funciones Extranjeras (FFI) permiten a las aplicaciones de Flutter realizar lo siguiente con bibliotecas nativas:
- asignar memoria nativa con
mallococalloc - admitir punteros, structs y callbacks
- admitir tipos de Interfaz Binaria de Aplicación (ABI) como
longysize_t
Para obtener más información sobre cómo llamar a bibliotecas de C desde Flutter,
consulta Interoperabilidad de C usando dart:ffi.
Para empaquetar y vincular tu propio código nativo de C o C++ con tu aplicación,
consulta Vincular con código nativo usando FFI.
Muchas aplicaciones se benefician del uso de un paquete que envuelve las llamadas a la biblioteca subyacente en una API de Dart más conveniente e idiomática. Canonical ha creado una serie de paquetes centrados en habilitar Dart y Flutter en Linux, que incluyen soporte para notificaciones de escritorio, dbus, gestión de red y Bluetooth.
En general, muchos otros paquetes admiten la creación de aplicaciones para Linux,
incluyendo paquetes comunes como url_launcher,
shared_preferences,
file_selector y path_provider.
Preparar aplicaciones Linux para su distribución
#El binario ejecutable se puede encontrar en tu proyecto bajo
build/linux/x64/<build mode>/bundle/.
Junto a tu binario ejecutable en el directorio bundle,
puedes encontrar dos directorios:
libcontiene los archivos de biblioteca.sorequeridosdatacontiene los recursos de datos de la aplicación, como fuentes o imágenes
Además de estos archivos, tu aplicación también depende de varias
bibliotecas del sistema operativo contra las cuales ha sido compilada.
Para ver la lista completa de bibliotecas,
usa el comando ldd en el directorio de tu aplicación.
Por ejemplo, para crear una nueva aplicación de escritorio de Flutter llamada
linux_desktop_test, compilarla e inspeccionar las dependencias de la biblioteca de su sistema,
ejecuta los siguientes comandos:
flutter create linux_desktop_test
cd linux_desktop_test
flutter build linux --release
ldd build/linux/x64/release/bundle/linux_desktop_test
Para empaquetar esta aplicación para su distribución,
incluye todo lo que está en el directorio bundle
y verifica que el sistema Linux de destino tenga todas las bibliotecas de sistema requeridas.
Puede que esto solo requiera usar el siguiente comando.
sudo apt-get install libgtk-3-0 libblkid1 liblzma5
Para aprender cómo publicar una aplicación de Linux en la Snap Store, consulta Compilar y lanzar una aplicación de Linux en la Snap Store.
Recursos adicionales
#Para aprender cómo crear compilaciones de Linux Debian (.deb) y RPM (.rpm)
de tu aplicación de escritorio Flutter,
consulta la guía de empaquetado de Linux paso a paso.
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-06-08. Ver código fuente oreportar un problema.