Almacenes de claves de Android y firma
Interoperabilidad de claves de carga y Play App Signing - el libro de recetas enfocado en EAS para la identidad de lanzamiento de Android en Expo SDK 57.
Busca en todas las páginas de la documentación
Interoperabilidad de claves de carga y Play App Signing - el libro de recetas enfocado en EAS para la identidad de lanzamiento de Android en Expo SDK 57.
Tarjeta de referencia rápida - lista para copiar y pegar.
# Primera compilación de producción - dejar que EAS genere el keystore
eas build --platform android --profile production
# Inspecciona credenciales remotas (admin)
eas credentials --platform android
# Compilación de producción en CI
eas build --platform android --profile production --non-interactive// eas.json
{
"build": {
"production": {
"distribution": "store",
"android": {
"buildType": "app-bundle"
}
},
"preview": {
"distribution": "internal",
"android": {
"buildType": "apk"
}
}
}
}// app.config.ts
export default {
expo: {
version: "2.4.0",
android: {
package: "com.example.shopapp",
versionCode: 240001,
},
},
};Cuándo usarlo:
eas build --platform android solicita generación del keystore.assetlinks.json.Paso 1 - Habilitar Play App Signing (app nueva)
Paso 2 - Generar credenciales de carga con EAS
eas credentials --platform android? What do you want to do? › Set up a new keystore
? Generate a new Android Keystore? › YesEAS almacena:
Paso 3 - Compilación de AAB de producción
eas build --profile production --platform android
eas submit --platform android --profile production --latestPaso 4 - Registrar App Links con la huella digital de firma de Play
# Play Console → Release → App integrity → App signing key certificate
# Copia SHA-256 - NO la huella digital de la clave de carga// https://shop.example.com/.well-known/assetlinks.json
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.shopapp",
"sha256_cert_fingerprints": ["PLAY_APP_SIGNING_SHA256_HERE"]
}
}
]Consulta Signing & Play App Signing para el recorrido completo de Play Console.
| Clave | Quién la mantiene | Se usa para |
|---|---|---|
| Clave de carga | Tu equipo / EAS | Firmar AABs que cargas a Play |
| Clave de firma de app | Google (Play App Signing) | Firmar APKs que descargan los usuarios de Play |
# Huella digital de clave de carga (descarga de eas credentials - solo admin)
eas credentials --platform android
# Keystore de depuración - solo desarrollo local
keytool -list -v -keystore ~/.android/debug.keystore \
-alias androiddebugkey -storepass android -keypass android | grep SHA256assetlinks.json de producciónLas apps brownfield ya en Play deben cargar la misma clave de carga que EAS usará:
eas credentials --platform android
# Elige: Upload existing keystore
# Proporciona: ruta .jks, contraseña de almacén, alias de clave, contraseña de claveChecklist:
eas build y eas submit de prueba en la pista interna antes de produccióneas credentials --platform android# Admin descarga copia de seguridad de credenciales (exportación única) y almacena en bóveda del equipo
eas credentials --platform android
# Elimina .jks local de laptops - CI usa solo credenciales remotas de EAS{
"build": {
"production": {
"android": {
"buildType": "app-bundle",
"gradleCommand": ":app:bundleRelease"
}
},
"development": {
"android": {
"buildType": "apk",
"withoutCredentials": false
}
}
}
}buildType": "app-bundle" - requerido para producción en PlaybuildType": "apk" - vista previa / carga lateral interna sin PlaywithoutCredentials": true - compilaciones sin firmar de estilo debug solamente; raro para apps RNeas credentials.{
"cli": { "appVersionSource": "remote" },
"build": {
"production": { "autoIncrement": true }
}
}versionCode duplicado - siempre incrementa en la cargaapplicationId y conceptos básicos de GradleVersiones de stack: Esta página fue escrita para React 19.2.3, React Native 0.86.0, y Expo SDK 57 (
expo~57.0.4).
Revisado por Chris St. John·Última actualización: 16 jul 2026