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 № 1Questo 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.