J'essaie de flasher un update.zip personnalisé sur un appareil pré-Kitkat.
Dans le zip il y a 2 fichiers avec les signatures SHA1 des autres fichiers de la mise à jour. Mais ils ont des signatures différentes pour les mêmes fichiers.
Exemple :
META-INF/MANIFEST.MF :
Name: system/lib/libcustom_jni.so
SHA1-Digest: +PhV5XphkQTNTyM2TSRTeiaDlCA=
MÉTA-INF/CERT.SF :
Name: system/lib/libcustom_jni.so
SHA1-Digest: 7ooFhqk1oYWF5pmVuSAhF2pFVNw=
Je peux obtenir le premier en utilisant :
sha1sum system/lib/libcustom_jni.so | cut -d\ -f1 | xxd -p -r | base64
+PhV5XphkQTNTyM2TSRTeiaDlCA=
Comment est calculée la seconde ? Le deuxième fichier a un hachage du premier fichier, alors peut-être que les autres hachages sont salés avec le premier fichier ou quelque chose comme ça ?
D'après ce que j'ai trouvé dans doc java les SHAs devraient être identiques, sauf que tous les SHAs sont la version 1 dans le update.zip original.
Il semble que le certificat utilisé pour signer la mise à jour était le certificat de test Android, donc il devrait fonctionner, mais il s'arrête au lieu de cela.