Prerrequisitos
Android Studio instalado
Cuenta en GitHub
Git instalado y configurado
Token de acceso personal de GitHub
Repositorio Github
Paso 1: Crear el proyecto de librería en Android Studio
1.1. Crear nuevo proyecto
Abre Android Studio
Selecciona "Empty Activity"
Configura el nombre del proyecto y package name
1.2. Crear módulo de librería
File → New → New Module
Selecciona "Android Library"
Define el nombre del módulo (ej: SafePasswordLib)
Configura el package name
Haz clic en Finish
Paso 2: Configurar la librería
2.1. Actualizar build.gradle.kts del módulo de librería
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("maven-publish") // Plugin necesario para publicar
}
dependencies {
//agregamos dependencia necesaria para la lib rust
implementation("net.java.dev.jna:jna:5.17.0@aar")
}
afterEvaluate {
publishing {
publications {
register<MavenPublication>("release") {
groupId = "upinn.tech"
artifactId = "safepasswordlib"
version = "1.0.0"
from(components["release"])
pom {
name.set("Safe Password Rust Lib")
description.set("# SafePasswordApp \uD83D\uDD10\n" +
"\n" +
"Lib **Android** que utiliza la librería **Rust `safe_password`** creada en la **Parte 1**. \n" +
"\n" +
"Permite:\n" +
"- Generar contraseñas seguras. \n" +
"- Verificar la fuerza de las contraseñas (Weak, Moderate, Strong). ")
url.set("URL_REPO")
licenses {
license {
name.set("Apache-2.0 license")
url.set("URL_REPO/blob/main/LICENSE")
distribution.set("repo")
}
}
developers {
developer {
id.set("wuilmerj24")
name.set("Wuilmer Medrano")
}
}
scm {
connection.set("scm:git:github.com/URL_REPO")
developerConnection.set("scm:git:ssh://URL_REPO")
url.set("URL_REPO/tree/main")
}
}
}
}
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/USER/REPO")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN")
}
}
}
}
}
Paso 3: Configurar el token de acceso de GitHub en Android Studio
3.1. Configurar variables de entorno
En gradle.properties de tu proyecto
gpr.user=tu-usuario-github
gpr.token=tu-token-de-accesoPaso 4: Crear repo en GitHub
Paso 5: Agrega los archivos de la lib rust a la lib android (Post 3)
Paso 6: Publicar la librería
6.1. Ejecutar tarea de publicación
En la carpeta raiz del proyecto, abre la terminal y ejecuta:
./gradlew publishReleasePublicationToGitHubPackagesRepositoryPaso 7: Usar la librería en otro proyecto(1.1. Crear nuevo proyecto)
7.1. Configurar el repositorio en el proyecto consumidor
En settings.gradle.kts del proyecto:
maven {
url = uri("https://maven.pkg.github.com/USER_GITHUB/REPO_NAME")
credentials {
username = System.getenv("GITHUB_ACTOR") ?: "USER_GITHUB"
password = System.getenv("GITHUB_TOKEN") ?: "TOKEN_GITHUB"
}
}7.2. Agrega la dependencia
En build.gradle.kts del módulo:
dependencies {
implementation("com.example:mylibrary:1.0.0")
}7.3. Usar los métodos.
//Métodos definido en mi lib rust y bindings kotlin
generatePassword(ULong,Boolean,Boolean,Boolean):String
checkStrength( password: String): PasswordStrength
//Enum PasswordStrength
enum class PasswordStrength {
WEAK,
MODERATE,
STRONG,
;companion object
}En esta parte dimos un gran paso: convertimos nuestra librería Rust en una librería Android lista para usar, la publicamos en GitHub Packages y la instalamos en un proyecto nuevo.
Ahora ya no solo tienes tu código funcionando, sino que también puedes compartirlo, versionarlo y reutilizarlo como cualquier librería profesional. A partir de aquí, el camino queda abierto para seguir mejorando y creando nuevas funcionalidades que conecten Rust con Android de forma elegante.
Si este contenido te ha sido útil, considera apoyar este proyecto en buymeacoffee: tu apoyo me permite seguir creando estas guías paso a paso y compartir más recursos con la comunidad.
