Intenté cambiar mi actividad predeterminada / principal / de inicio (como se llame) editando el androidmanifest.xml
archivo. Todo lo que hice fue cambiar la android:name
propiedad. Sin embargo, esto rompió por completo toda la aplicación. cuando intento instalarlo falla y lee.
Error de instalación: INSTALL_PARSE_FAILED_NO_CERTIFICATES
Cuando intenté volver a cambiarlo a su estado anterior, todavía me daba el mismo error ... ¿Qué he hecho?
android
installation
apk
android-install-apk
mtmurdock
fuente
fuente
INSTALL_PARSE_FAILED_NO_CERTIFICATES
es un error-103
que puede obtener / ver a través deadb log
( src ), por ejemplo.D/PackageInstaller(21320): Installation error code: -103
Respuestas:
¿Editó el
AndroidManifest.xml
directamente en el.apk
archivo? Si es así, eso no funcionará.Cada Android
.apk
debe estar firmado si se va a instalar en un teléfono , incluso si no lo está instalando a través de Market. Las herramientas de desarrollo resuelven esto firmando con un certificado de desarrollo pero el.apk
todavía está firmado.Un uso de esto es para que un dispositivo pueda determinar si una
.apk
actualización es válida para una aplicación instalada, ya que si es así, los Certificados serán los mismos.Entonces, si realiza algún cambio en su aplicación, deberá reconstruirla
.apk
para que se firme correctamente.fuente
flutter clean
y corran / depuren nuevamente! ¡Esta operación es similar a la solución anterior, ya que limpia la carpeta de compilación y reconstruye el archivo de compilación nuevamente en ejecución / depuración!Descubrí que este error ahora también puede ocurrir cuando se usa la configuración de firma incorrecta. Como se describe aquí , Android 7.0 presenta un nuevo esquema de firma, V2 . El esquema V2 firma todo el APK en lugar de solo el JAR, como se hace en el esquema V1. Si firma solo con V2 e intenta instalar en un destino anterior a 7.0, obtendrá este error ya que los JAR no están firmados y el PackageManager anterior a 7.0 no puede detectar la presencia de la firma APK V2.
Para ser compatible con todos los sistemas de destino, asegúrese de que el APK esté firmado con ambos esquemas marcando los dos cuadros de versión de firma en el cuadro de diálogo Generar APK firmado de Android Studio como se muestra aquí:
Si solo se anticipan 7.0 objetivos, entonces no hay necesidad de incluir la firma V1.
fuente
Encontré que esto fue causado por mi versión JDK.
Estaba teniendo este problema con 'hormiga' y fue debido a esta PRECAUCIÓN mencionada en la documentación:
Tengo JDK 7. En mi registro Ant, usé -v para verbose y mostró
Firmé el JAR manualmente y lo alineé, pero me dio un error ligeramente diferente:
Encontré eso respondido aquí.
Cómo lidiar con INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES sin desinstalación
¡Solo necesitaba desinstalarlo y luego funcionó!
¡Ahora solo necesito modificar el build.xml para usar esas opciones al firmar!
Ok, aquí está: C: \ Archivos de programa \ Java \ android-sdk \ tools \ ant \ build.xml
fuente
La mayoría de las veces la solución para este error es realmente simple:
fuente
resuelto (para mí) usando en keytool los args
y usando en jarsigner
solución encontrada en
¿Qué tipo de fallas existen para la firma de Android APK?
fuente
También estaba enfrentando el mismo problema. Primero generé la compilación usando V2 y la instalé en dispositivos móviles que se ejecutan en OS 5.1 y obtuve el mismo problema. Pero la compilación funcionaba bien en la tableta que se ejecuta en OS 7.0. Así que generé una compilación con la firma V1 Jar y funcionó bien en ambos dispositivos.
Conclusión: si es compatible con el dispositivo debajo de Android OS 7.0. Use la firma jar V1 para generar la compilación.
fuente
En mi caso, podría compilar y ejecutar versiones de lanzamiento, pero obtuve el
INSTALL_PARSE_FAILED_NO_CERTIFICATES
error al intentar hacer una compilación de depuración.La solución fue eliminar mi
debug.keystore
archivo y dejar que ADT lo recreara. Aparentemente había expirado.Una mejor solución a largo plazo es crear explícitamente uno
debug.keystore
que no caduque después de solo un año, en lugar de dejar que ADT lo cree. Aquí está el comando para hacer eso:Cuando se le solicite, ingrese estos valores:
fuente
Esta es una solución fea pero rápida: use JDK 6 en lugar de 7.
Después de leer la respuesta de Chloe, desinstalé mi JDK 7 (de todos modos no lo necesito actualmente) e instalé JDK 6. Eso lo solucionó. Una solución mejor haría que Ant use JDK 6 (sin desinstalar 7). Quizás sea posible cambiar / configurar esta propiedad:
java.library.path
en el archivo local.properties. Está en el directorio del proyecto (raíz).
Android no funciona con JDK 7 de todos modos (solo 6 o 5), por lo que hacer que el script de hormiga también use JDK 6 o 5 es probablemente una buena solución.
fuente
Es porque la compilación generada anteriormente y la actual tienen conflictos en la versión de firma entre v1 (firma jar) y v2 (firma APK completa),
Para corregir la versión de firma adecuada en el cuadro de diálogo Generar APK firmado
fuente
Recientemente tuve este error al actualizar a Android Studio 4.0. La causa fue que el proyecto tenía V2 Signing Disabled en la configuración de inicio de sesión
build.gradle
.La solución fue eliminarlo
v2SigningEnabled false
o establecerlo explícitamente entrue
, que es el valor predeterminado.fuente
En las versiones más recientes de Android Studio 3.2+, si está intentando ejecutar la
release
instalación y no ha definido ninguna configuración de firma, mostrará el mensaje de error y la instalación fallará. Lo que debe hacer es ejecutar ladebug
compilación o configurar la configuración de firma (V1 o V2) correctamente.fuente
La mayoría de las respuestas son ciertas. y algunas otras razones que suceden son
fuente
Esto podría suceder si intenta incluir una
.jar
biblioteca que contenga unAndroidManifest.xml
archivo.fuente
También puedes comprobar
Project Structure
->Default Config
->Signing Config
después de agregar todo lo que necesitas
fuente
Establecer la variable de entorno
JAVA_HOME
en JDK 5 o 6 (en lugar de JDK 7) corrigió el error.fuente
Después de un tiempo y múltiples hilos en línea sobre el tema, logré arreglar mi proyecto.
Principalmente está teniendo en cuenta los últimos archivos (que podrían ser imágenes o diseños ) que ha introducido. Si los elimina, funcionará y podrá construir su proyecto nuevamente.
fuente
Estaba teniendo este error en mi consola Eclipse. Resulta que tenía dos frascos con el mismo contenido pero con nombres diferentes y estaban en conflicto entre sí. Acabo de eliminar uno de ellos y logré instalar la aplicación en el dispositivo.
fuente
Recibí este error porque publiqué que
ant release
estaba fallando porque me quedé sin espacio en disco.fuente
Recibí este error cuando intenté instalar un proyecto de Xamarin construido con la vista previa de Android N en un teléfono con api v23. La solución es no hacer eso.
fuente
Otra forma de obtener este error es compilar usando
ant
macOS y tener un archivo de icono Finder (Icon\r
) en el árbol fuente de la aplicación. Parecejarsigner
que no puede hacer frente al retorno de carro en el nombre de archivo y, aunque afirmará que la firma es válida si tiene-verify
el APK, siempre da como resultado un APK que no se instalará en un dispositivo. Irónicamente, el complemento Google Drive Finder es una gran fuente de archivos de iconos de Finder.La solución es excluir los archivos ofensivos (que de todos modos son inútiles en el APK) con un especificador como este en
fileset
:fuente
Este problema ocurrirá si está instalando una versión no firmada de APK. Comprueba si estás instalando el APK correcto.
fuente
Tuve ese problema con el código iónico / Visual Studio (Ejecutar Android en el dispositivo):
Desinstalé la aplicación en el dispositivo móvil (Configuración / Aplicaciones), el error desapareció y la aplicación se está iniciando.
fuente
Hoy me está arrojando este error porque tengo una aplicación con un SDK mínimo de 28 y estoy jugando en un emulador con una versión SDK de 23. Por lo general, esto no es posible (AS gris está fuera del botón de reproducción), pero hoy no es así mucho.
fuente
En primer lugar, solo intenta hacer eso:
fuente
Si está utilizando el emulador, intente restablecerlo y si en el móvil primero desinstala la aplicación, apague el modo desarrollador y luego enciéndalo, el problema se resolverá.
fuente