Estoy tratando de cargar una aplicación en la tienda Google Play. Estoy creando el .apk y firmándolo con Maven. He usado maven-jarsigner-plugin para firmar el archivo .apk. Estoy usando la clave que creé con el asistente de Eclipse para firmar otra aplicación de Android. Zipalign el archivo .apk usando el siguiente comando: zipalign [-f] [-v] archivo de entrada.apk archivo de salida.apk
Cuando intento cargar la aplicación en la tienda de juegos, aparece el error Cargaste un APK que se firmó en modo de depuración. Debes firmar tu APK en modo de lanzamiento. ¿Alguien puede decirme cómo firmar el apk en modo de lanzamiento? Soy nuevo en Maven (comencé a usarlo hoy). Gracias
Cambiar a: signatureConfig signatureConfigs.release
de firmaConfig firmaConfigs.debug
en su nivel de aplicación build.gradle
-
Pasé horas lidiando con esto mientras intentaba implementar una aplicación Flutter, esto definitivamente necesita estar mejor documentado, una simple TODO en el archivo simplemente no es suficiente… ¡gracias!
– mchurichi
1 de julio de 2020 a las 6:37
-
@mchurichi En realidad, está documentado aquí flutter.dev/docs/deployment/android#configure-signing-in-gradle pero también me lo perdí
– señorvcs
8 sep 2020 a las 21:46
-
no me funciona, dio
Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.
al correrflutter build apk --release
– Phoujdar duro
9 de agosto de 2021 a las 22:07
-
¡Funciona hombre! ¡Muchas gracias!
– Jesús Erwin Suárez
13 de febrero a las 15:49
Ir Android/aplicación/build.gradle
Al final del archivo:
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug <==== change this to release
}
}
El resultado debería ser como:
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
}
}
-
¡Funciona hombre! ¡Muchas gracias!
– Jesús Erwin Suárez
13 de febrero a las 15:49
No sé cómo haces eso en Maven, pero necesitas compilar tu aplicación con un almacén de claves de lanzamiento. Puedes crear uno con keytool
que está disponible en su carpeta bin de Java:
$ keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Al crearlo, debe proporcionar dos contraseñas, una para el almacén de claves y otra para la clave. Cuando se crea su almacén de claves, puede usar el asistente de exportación de Eclipse para compilar su aplicación en modo de lanzamiento.
Para obtener más detalles, consulte http://developer.android.com/tools/publishing/app-signing.html#releasemode
-
El problema es que no quiero usar Eclipse para compilar la aplicación. Lo probé y pude hacerlo sin ningún problema. Necesito compilarlo usando Maven,
– Nemín
22 de mayo de 2013 a las 0:08
-
Esta es la explicación correcta, ¡solo use este almacén de claves generado en maven!
– thiagolr
23 de mayo de 2013 a las 12:33
Cree siempre su almacén de claves con un nombre y un alias que contengan “liberación” y no “depuración”. Si tiene el mensaje “Cargó un APK que se firmó en modo de depuración. Debe firmar su APK en el error de modo de lanzamiento”, es seguro que está utilizando el almacén de claves predeterminado que es ‘debug.keystore’, por lo tanto, genera apk en modo de depuración.
Solución
- Generar nuevo almacén de claves
- Dar referencia en el archivo build.gradle
- Cambiar variante de compilación a ‘lanzamiento’
- Construir
esto debería solucionar el problema.
Por error de aleteo,
Por defecto, flutter crea tipos de compilación como los siguientes
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
debe cambiar la línea de configuración de firma
signingConfig signingConfigs.release
yendis
Tuve el mismo problema con mi aplicación flutter,
Agrégalos a tu android/app/build. Gradle:
antes de android { compileSdkVersion 30
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
Y después de defaultConfig {
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
romain ni
Usar -genkeypair en lugar de -genkey me resolvió el problema.
Entonces: keytool -genkeypair -keystore name.keystore -alias nameapp -keyalg RSA
A ver si la respuesta aquí ayuda.
– yorkw
30 mayo 2013 a las 22:00
Tengo el mismo problema al usar unity stackoverflow.com/questions/60603203/…
– INDRAJITH EKANAYAKE
9 de marzo de 2020 a las 16:32