Android: Après la construction d'une plate-forme de source, comment le signe arbitraire APK avec plate-forme de clé?
Comme une expérience, je voudrais utiliser la plate-forme de clé de mon custom construit la plate-forme Android de signer un arbitraire APK, qui est construit par le NDK. Quelle est la procédure à faire?
- vous devez également supprimer le répertoire META-INF dans apk = zip -d mon_application.apk META-INF/*
Vous devez vous connecter pour publier un commentaire.
Si vous avez votre plate-forme clé/certificat paire (.pk8 + x509.pem). Qui peut être trouvé sous build/cible/produit/sécurité dans le pulbic sdk.
Vous pouvez utiliser la SignApk.jar à partir de la ligne de commande
Ou de faire de l'automatisation de plus facile, vous pouvez importer la clé/cert paire dans votre java fichier de magasin de clés, avec la keytool-importkeypair, et d'utiliser une fourmi makefile ou eclipse pour la signature.
L'signapk.jar (tout en minuscules) le fichier mentionné à l' aprock réponse peut être trouvé à
prebuilts/sdk/tools/lib/signapk.jar
(ouout/host/linux-x86/framework/signapk.jar
).Ci-dessous, je vais décrire comment gérer le fichier de clés utilisé par Eclipse et
ant release
.La commande suivante prend le fichier de clé plate-forme.pk8 et certificat X509 plate-forme.x509.pem et sorties de la restitution du matériel de clé dans tmp.p12. Le nom platformkey est utilisé pour
Eclipse et
ant debug
utiliser le fichier de clés à ~/.android/debug.fichier de clés qui est verrouillé avec le mot de passeandroid
. (Vous pouvez également spécifier un autre fichier de magasin de clés si vous voulez, par exemple,~/.android/mykeys.keystore
.) La prochaine commande stocke le matériel de clé de tmp.p12 dans le fichier de clés (sans mot de passe pour les clés, si vous le souhaitez, modifier-srcstorepass ''
ci-dessous):À ce stade, vous pouvez supprimer le tmp.p12 fichier car il n'est plus nécessaire.
Afin de vérifier ce qui est dans votre fichier de clés, vous pouvez exécuter la prochaine
keytool
de commande (la sortie indiqué sur la ligne par la suite):Lorsque vous n'avez plus besoin de la clé, il peut être retiré par:
Dans votre
local.properties
fichier, mettre (si vous omettez lekey.*.password
options, vous devez l'entrer à chaque fois que vous vous connectez l'APK):Maintenant, vous pouvez exécuter
ant release
de signer votre APK en utilisant la plate-forme de clé que vous avez stockées dans un fichier de clés.