"Invalid keystore format" al intentar firmar una aplicación

595 views
Skip to first unread message

.::Javier::.

unread,
Oct 18, 2013, 2:38:40 PM10/18/13
to android...@googlegroups.com
Hola,

Estoy intentando firmar una aplicación con Gradle en Android Studio pero algo estoy haciendo mal que el IDE me dice Invalid keystore format (debe de ser que no añadí bien la clave pública que proporciona Google desde el Play Store al archivo debug.keystore):

Gradle: Execution failed for task ':CatalogoCliente:packageDebug'.
> Failed to read key AndroidDebugKey from store "/media/USB_PROYECTOS/AndroidStudioProjects/CatalogoClienteProject/CatalogoCliente/debug.keystore": Invalid keystore format

Quiero publicar la app en el Play Store pero en el Beta Testing antes de Producción para ver si puedo recibir un feedback con bugs y/o sugerencias.
El alineado ya lo hice y funciona (zipAlign true) pero me queda firmar la aplicación con la clave del Play Store porque la del SDK ya saben que no vale.

Este es un poco el contenido del build.gradle:

signingConfigs {

        debug {
            storeFile file("debug.keystore")
        }
}

 buildTypes {

        debug {
            packageNameSuffix ".debug"
            zipAlign true
            runProguard false
            proguardFile getDefaultProguardFile('proguard-android.txt')
        }
}

Y lo que hice fue crear un archivo ("debug.keystore") en el proyecto (dentro de CatalogoClienteProject/CatalogoCliente/debug.keystore) y le añadí la clave pública RSA codificada en base 64 que proporcionan en play.google.com/apps/publish

¿Alguna idea de cuál es el error?

Saludos

.::Javier::.

unread,
Oct 20, 2013, 4:04:21 AM10/20/13
to android...@googlegroups.com
¿Cómo se crea el keystore teniendo la clave pública RSA codificad en base 64?

Saludos

.::Javier::.

unread,
Oct 20, 2013, 6:06:01 PM10/20/13
to android...@googlegroups.com
Disculpen, tenía una confusión con todo esto, la clave pública del Play Store es para la licencia, luego hay que generar el keystore para almacenar la clave pública y privada con la que se firma la aplicación.

Ya lo solucioné todo.

En el método allow(reason) de la librería Vending Licensing que está en el SDK añadí un toast para comprobar si aceptaba la licencia y funciona perfectamente, algo así:

 @Override
    public void allow(int reason) {
        Toast.makeText(this, "Licencia válida: " + reason,
                Toast.LENGTH_LONG).show();
    }

Saludos
Reply all
Reply to author
Forward
0 new messages