[Parte 3] De Rust a Android: integra tu ...

[Parte 3] De Rust a Android: integra tu librería UniFFI en Android Studio

Aug 26, 2025
  • Instalar los targets de Rust:

    rustup target add aarch64-linux-android # arm64-v8a

    rustup target add armv7-linux-androideabi # armeabi-v7a

    rustup target add i686-linux-android # x86

    rustup target add x86_64-linux-android # x86_64
  • Generar bindings Kotlin

cargo run --bin uniffi-bindgen generate src/lib.udl --language kotlin
cargo ndk -t armeabi-v7a -t arm64-v8a -t x86 -t x86_64 -o ./android-libs build --release
  • Dentro de la carpeta raiz-proyecto/android-libs/ copia todas las carpetas de cada plataforma.

  • Para la integración en Android, crea la carpeta jniLibs en src/main/ y pega las carpetas de las plataformas (paso 5).

  • Agregamos los bindings (.kt) generados por UniFFI al proyecto de Android (en src/paquete/configurado/, como se menciona en la parte 2) y llamamos a nuestras funciones.

        //Métodos expuestos por UniFfi
    
        val pwd = generatePassword(
        100u, 
        includeUppercase = true,
        includeNumbers = true,
        includeSymbols = true
        )
    
        checkStrength(pwd)

Conclusión

En esta tercera parte logramos dar un paso clave: llevar nuestra librería escrita en Rust a Android Studio utilizando UniFFI.
Ya no solo tenemos nuestro código compilado en Rust, sino que ahora está empaquetado en un .so compatible con las arquitecturas de Android (armeabi-v7a, arm64-v8a, x86 y x86_64), listo para integrarse de manera nativa dentro de cualquier app Android.

Con esto abrimos la puerta a:

  • Reutilizar lógica crítica de Rust (seguridad, performance, criptografía, etc.) en aplicaciones Android.

  • Reducir duplicación de código al tener la misma librería disponible en múltiples plataformas.

  • Aprovechar UniFFI para generar bindings de forma automática, lo que simplifica la integración con Kotlin/Java.

En la siguiente parte de la serie veremos cómo usar la librería dentro de un proyecto iOS, importaremos las funciones expuestas desde Rust y construiremos un pequeño ejemplo funcional en swift.

Si te ha gustado este contenido y quieres apoyar la serie, considera dejar tu feedback o unirte como suscriptor. Así podremos seguir profundizando en Rust + UniFFI + Android/iOS con proyectos prácticos y avanzados.

Ti piace questo post?

Offri un caffè a wuilmerj24

Altro da wuilmerj24