2010-03-25 25 views
41

Recientemente he subido mi aplicación para el Android Market sin embargo se niega a ejecutar cuando se descargan debido al errorPublicado apk Android da error "archivo de paquete no se ha firmado correctamente"

archivo de paquete no se ha firmado correctamente

Primero publiqué el paquete usando eclipse, clic derecho en exportar, creando un almacén de claves y publicando, sin embargo, se niega a funcionar.

Luego descargué keytool y jarsigner y los usé para firmar una actualización que publiqué en su lugar. Sin embargo, esto da el mismo error.

No tengo idea de lo que he hecho mal, y como no puedo eliminar la aplicación, no puedo intentar y comenzar de nuevo ¿alguien me puede ayudar?

Gracias

+0

Hrm, he hecho esto, pero ahora estoy recibiendo un error "incompatible Actualizar" en su lugar. o_0 –

+1

Si bien la respuesta aceptada es probablemente la correcta para su caso, no es la única. Mira lo que dijo Melloware, eso fue lo que resolvió mi problema. ¡Realmente SDK 1.7 no funciona! Use el antiguo, a menos que alguien en algún lugar solucione este problema. – zmilojko

Respuesta

53

Es muy probable que tenga su copia de depuración instalada en su dispositivo. Ahora ha descargado una copia diferente de la misma aplicación y está causando este error.

Desinstale completamente la aplicación de su dispositivo. Luego, descárguelo del mercado nuevamente y debería funcionar.

+1

No puede tener dos instancias de una aplicación en el mismo dispositivo. Si tuviera la copia de depuración con el mismo número de versión, tendría que desinstalarlo antes de que pudiera descargarlo. Sin embargo, instalar una versión más alta sobre una versión de depuración podría ser el culpable. – jqpubliq

+0

Para mí, fue borrar los datos de la aplicación (de la configuración) que resolvió el problema. –

+0

¿Dónde están los datos de la aplicación (desde la configuración)? En el teléfono? ¿En la computadora? – theJerm

1

Este error normalmente se produce porque está intentando empujar una actualización que fue firmado con una clave diferente a la que utilizó en la presentación inicial. Debe encontrar la clave que usó la primera vez que publicó la aplicación y usarla para firmar la actualización.

+3

El error al que te refieres es el error que obtienes al subir al mercado. Obtiene un error cuando intenta ejecutar la aplicación. –

+1

En mi caso, fue porque comencé a firmar de forma accidental mi aplicación con la herramienta clave JDK7, que no debe gustarle a Market. Al volver a la herramienta de teclado 1.6, este problema desapareció. – Melloware

23

OK Tuve este mismo problema y ninguna de las resoluciones sugeridas trabajado para mí. Estaba firmando mi aplicación de la misma manera que lo he hecho durante 2 años y Android Market lo aceptaba bien, solo que los usuarios no podían descargarlo del mercado con el error "Paquete no firmado".

Lo que resultó ser fue para otro proyecto en el que estoy trabajando Tenía JDK7 instalado. Se convirtió en el JDK predeterminado y, por alguna razón, la herramienta de claves para JDK7 está firmando el paquete de una manera que no debe gustar a Android. Así que volví a JDK 1.6.0_23 y volví a ejecutar mi compilación y lo puse en el mercado y todo volvió a la normalidad.

Espero que esto ayude a alguien más.

+0

Tenía el mismo problema. Este fue el culpable (en mi caso, de todos modos)! Me pregunto qué cambió en JDK7 para que su keytool no sea compatible con JDK6 así ... – Santa

+0

He agregado una nueva respuesta para firmar APK con JDK7 –

+0

Melloware También estoy enfrentando el mismo problema. Y creo que la solución que le dieron a la aplicación de reconstrucción con 1.6 es totalmente correcta. Pero estoy usando Unix. ¿Cómo puedo especificar que la aplicación debe compilarse utilizando la versión 1.6? Construyo aplicaciones usando comandos ejecutados en la terminal. –

4

Hay un problema al firmar APK con JDK7. Se puede resolver añadiendo esto a build.xml

<presetdef name="signjar"> 
    <signjar sigalg="MD5withRSA" digestalg="SHA1" /> 
</presetdef> 

Fuente: KIYUT Developer Blog

+0

¿Qué archivo build.xml, dónde? Estoy usando MonoDroid ... – theJerm

+0

Lo siento, no tengo idea acerca de MonoDroid, si usa los mismos archivos que utiliza un proyecto estándar de Android. Si no me equivoco, en un proyecto estándar de Androd, build.xml está en la carpeta raíz del proyecto. –

+0

Hmm, no puedo encontrar un build.xml. Estoy usando Eclipse; bastante estándar, ¿verdad? ¿Le corresponde uno de los otros archivos, como project.properties, default.properties, AndroidManifest.xml o .project? – Erhannis

0

Soy nuevo en Android pero era capaz de resolver el problema mágicamente: D
Solía ​​Java 1.7 con mi aplicación y utilidades de línea de comando usadas [keytool, jarsinger y zipalign] para firmar mi aplicación y obtuve el mismo error.
Luego volví a Eclipse y usé la herramienta de Android "Exportar el paquete de solicitud firmado" con el mismo almacén de claves con el que originalmente había publicado mi aplicación; tomó esa APK y usó la línea de comando para zipalignarla. [Tenía que incrementar el código de versión en el manifiesto por cierto]. No publiqué el antiguo APK y publiqué este nuevo. Una vez que haga esto, no lo pruebe inmediatamente.
No estoy seguro de cuánto tiempo tiene que esperar pero el mío estaba funcionando 4 horas después cuando lo marqué :)

16

En una tableta, tenga en cuenta que si instala una versión de depuración de la aplicación y luego desinstálela de manera normal (arrastrando a basura hasta que dice "desinstalar") eso no es suficiente. Debido a que las tabletas tienen el potencial para varios usuarios, que tienen que ir a

Settings > Apps > All 

y luego desplazamiento de todo el camino hasta el fondo. Allí, verás tu aplicación. Toque, y luego pulse Menu en la barra de acciones (los tres puntos), y luego uninstall for all users. Entonces estarás listo para irte.

+2

Tenía exactamente esta situación: versión de depuración en una tableta, ponerla en beta en Play Store, probada para descargar, obtuvo el error. Desinstalado a través de Configuración, pero no funcionó hasta que seguí tus instrucciones. ¡Gracias! – Andrea

+2

¡GRACIAS! ¡Eso me salvó el día! – Akli

+1

Esta debería ser la respuesta aceptada. –

Cuestiones relacionadas