APK firmado con Android que muestra como APK no firmado al intentar subir a la producción
Firmé mi APK en Android Studio 2.3 (build-> generar APK firmado). Cuando intento subirlo a Google Play Store, muestra el error de que he subido un APK sin firmar. ¿Podría alguien responder por qué está sucediendo y cómo resolverlo?
- Android studio no puede resolver com.google.android.gms.location.places.AutocompleteFilter
- Gradle versión 1.8 es necesario. La versión actual es 1.9-rc-3 - Android Studio
- Problema de ejecución instantánea en Android Studio 2.2
- Android Studio: emulator ya está en ejecución
- Depuración de "Android Studio": muestra variables como hexadecimal
- Android studio no reconoce las carpetas de origen
- Cómo solucionar "No se puede ejecutar mksdcard SDK herramienta" al instalar Android Studio en Fedora 21?
- Google Analytics - NetworkOnMainThreadException en enviar en AsyncTask
- Problema "La prueba del repositorio tiene un error" al intentar importar el proyecto de bitbucket al android studio
- Cómo cambiar el diseño (sin codificación) en Android Studio
- Tratando de eliminar el fragmento de la vista me da NullPointerException en mNextAnim
- Android Studio: "La instalación del SDK no tiene" Extras> Android Support Repository "instalado", PERO HA SIDO INSTALADO
- Solución automática de estudio de Android
Se cargó correctamente cuando comprobé V1 (Jar Signature) en lugar de V2 (Full APK Signature) al generar el APK firmado en Android Studio 2.3
Android 7.0 introduce APK Signature Scheme v2, un nuevo esquema de firma de aplicaciones que ofrece tiempos de instalación de aplicaciones más rápidos y más protección contra las alteraciones no autorizadas a los archivos APK.
Mientras que genera apk firmado hay dos casilla de verificación.
- V1 (firma del frasco)
- V2 (firma completa de apk)
Hay tres opciones disponibles para nosotros:
-
Seleccione V1 (Para la versión anterior de la firma) – apk se carga correctamente
-
Seleccione V2 (Para la versión más reciente de la firma) – Tenga en cuenta que la selección por sí sola no funcionará.
-
Seleccione V1 y V2 (Para versiones más antiguas y más recientes) – apk se sube correctamente
¿Por qué elegir V2 por sí solo no funciona?
Porque APK Signature Scheme v2 fue introducido en Android 7.0 (Nougat). Para hacer un APK instalable en Android 6.0 (Marshmallow) y dispositivos más viejos, el APK debe ser firmado usando la firma JAR antes de ser firmado con el esquema de v2.
Para más información, presione aquí
Firmado para Ambos v1 y v2 . Se cargará con éxito.
Esto es porque usted está utilizando solamente la firma de v2 mientras que toma la estructura de la liberación.
Entonces, ¿qué es v1 y v2 mencionados?
V1 es el mecanismo de firma por defecto y v2 es el mecanismo más reciente agregado, que verifica mucho más rápido. Esto significa que APKs firmados con v2 instalan / actualizan un poco más rápido en Android Nougat (Android 7.0, API Level 24) y más reciente.
Entonces, ¿qué debería hacer?
Si quieres firmar una aplicación sin cambios
Marque v1 (jar Signature only) que es el valor predeterminado.
Si desea la más reciente firma y soporte para las versiones 7.x
Compruebe v2 (Firma Apk completa), que también reduce el tamaño de la aplicación.
Si quieres que la aplicación sea más pequeña, podrás instalarla de forma más rápida y compatible con todas las versiones de Android.
Compruebe tanto v1 como v2.
PS: Sólo es aplicable para firmar aplicaciones con Studio, aparte de usar tuberías para crear.
Para más referencias Link
Es un problema de Google y se publica hace dos días en esta página
Cómo firmar APK utilizando V2
https://developer.android.com/studio/command-line/apksigner.html
Paso 1) Android Studio, seleccione Ver> Herramienta Windows> Terminal
gradlew assembleRelease
2) Alinee el APK sin firmar con zipalign:
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
3) Firme su APK con su clave privada usando apksigner:
apksigner sign --ks my-release-key.jks my-app-unsigned-aligned.apk --out my-app-release.apk
Nota: Para utilizar la herramienta apksigner, debe tener instalada la revisión 24.0.3 o superior de las herramientas de compilación SDK de Android. Puede actualizar este paquete utilizando el SDK Manager.
4) Verifique que su APK esté firmado:
apksigner verify my-app-release.apk
Nota: paso 2 a 4 Ejecutar en el símbolo del sistema G: \ AndroidStudio \ Sdk \ build-tools \ 25.0.0 \
- ¿Debo usar Maven para una aplicación para Android?
- Cómo bloquear la orientación de la aplicación android en modo retrato?