/ / Cordova build and signing error quando provo a caricare su google play store, nessuna firma v2 - android, cordova, jar-signing

Cordova build and signing error quando provo a caricare su google play store, nessuna firma v2 - android, cordova, jar-signing

Sto cercando di caricare il mio apk firmato nel Play Store di Google

Il messaggio di errore è:

Error de apksigner: ERRORE (firmatario Jar CERT.DSA): Nessuna firma APK Schema v2 firma da questo firmatario ERROR (APK Signature Scheme v2 firmatario n. 0): nessuna firma JAR da questo firmatario

Ho le informazioni sul keystore nel mio file build.json

Il keystore è stato creato con Visual Studio 2015

Ho creato l'apk con

cordova costruisce android --release

Il file apk funziona perfettamente nel mio telefono Android, cosa dovrei fare per creare un apk per Google Play Store?

risposte:

1 per risposta № 1

Questo suggerisce che i certificati di firma inla firma JAR dell'APK non corrisponde ai certificati di firma nella firma dell'APK Signature Scheme v2. In genere ciò è causato da strumenti di firma non standard che non riescono a rimuovere le firme esistenti (di solito debug) quando firma.

Un tale APK installerà bene perché pre-NougatGli androidi vedono solo le firme JAR mentre Nougat e gli Androidi nuovi ignorano le firme JAR di questo APK (perché c'è una firma V2 Schema di firma APK). Tuttavia, si verificherà un problema quando si installa un Android pre-Nougat con questo APK aggiornamenti a Nougat o più recenti Gli aggiornamenti a questo APK saranno rifiutati perché saranno visti come firmati con un certificato diverso. Questa situazione è ciò che Play sta cercando di prevenire.

Per risolvere i problemi, prova a eseguire:

apksigner verify -v --print-certs --max-sdk-version 23 my.apk
apksigner verify -v --print-certs --min-sdk-version 24 my.apk

Il primo comando produrrà la firmacertificato / i come visto dagli Androidi pre-Nougat. Il secondo comando mostrerà i certificati di firma come visti da Nougat e dai nuovi Androidi. Questo potrebbe darti un'idea dei certificati di firma sbagliati.