Comment signer un fichier apk Android

J’essaie de signer mon fichier apk. Je ne peux pas comprendre comment le faire. Je ne trouve pas de bonnes directions en profondeur. J’ai très peu d’expérience en programmation, alors toute aide serait appréciée.

Le manuel est suffisamment clair. S’il vous plaît spécifier quelle partie vous êtes coincé après avoir travaillé, je suggère:

https://developer.android.com/studio/publish/app-signing.html

Ok, un petit aperçu sans référence ou éclipse autour, alors laissez un peu d’espace pour les erreurs, mais ça marche comme ça

  • Ouvrez votre projet en eclipse
  • Appuyez sur le bouton droit de la souris -> outils (outils Android?) -> exportation d’une application signée (apk?)
  • Parcourez l’assistant:
  • Créez un nouveau magasin de clés. rappelez-vous ce mot de passe
  • Signer votre application
  • Enregistrez-le, etc.

Aussi, à partir du lien:

Comstackr et signer avec Eclipse ADT

Si vous utilisez Eclipse avec le plug-in ADT, vous pouvez utiliser l’assistant d’exportation pour exporter un fichier .apk signé (et même créer un nouveau fichier de clés, si nécessaire). L’assistant d’exportation effectue toutes les interactions avec Keytool et Jarsigner pour vous, ce qui vous permet de signer le package à l’aide d’une interface graphique au lieu d’effectuer les procédures manuelles pour comstackr, signer et aligner, comme indiqué ci-dessus. Une fois que l’assistant a compilé et signé votre paquet, il effectuera également l’alignement du paquet avec l’alignement zip. Étant donné que l’Assistant Exportation utilise à la fois Keytool et Jarsigner, vous devez vous assurer qu’ils sont accessibles sur votre ordinateur, comme décrit ci-dessus dans la configuration de base pour la signature.

Pour créer un fichier .apk signé et aligné dans Eclipse:

  1. Sélectionnez le projet dans l’Explorateur de packages et sélectionnez Fichier> Exporter.
  2. Ouvrez le dossier Android, sélectionnez Exporter une application Android et cliquez sur Suivant.

    L’assistant d’exportation d’Application Android démarre maintenant, ce qui vous guidera tout au long du processus de signature de votre application, y compris les étapes de sélection de la clé privée avec laquelle vous souhaitez signer le fichier .ap ou créer un nouveau fichier de clés et clé privée.

  3. Complétez l’assistant d’exportation et votre application sera compilée, signée, alignée et prête pour la dissortingbution.

Voici un guide sur la façon de signer manuellement un APK. Il inclut des informations sur le nouveau apk-signer build-tools 24.0.3 introduit dans les build-tools 24.0.3 (10/2016)

Processus automatisé:

Utilisez cet outil (utilise le nouvel apksigner de Google):

https://github.com/pasortingckfav/uber-apk-signer

Disclaimer: Im le développeur 🙂

Processus manuel:

Étape 1: Générer le fichier de clés (une seule fois)

Vous devez générer un fichier de clés une fois et l’utiliser pour signer votre unsigned apk unsigned . Utilisez l’ keytool fourni par le JDK trouvé dans %JAVA_HOME%/bin/

 keytool -genkey -v -keystore my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app 

Étape 2 ou 4: Zipalign

zipalign qui est un outil fourni par le SDK Android trouvé par exemple dans %ANDROID_HOME%/sdk/build-tools/24.0.2/ est une étape d’optimisation obligatoire si vous souhaitez télécharger l’apk sur le Play Store.

 zipalign -p 4 my.apk my-aligned.apk 

Remarque: lorsque vous utilisez l’ancien jarsigner vous devez créer un zipalign APRÈS la signature. Lorsque vous utilisez la nouvelle méthode apksigner , vous le faites AVANT de signer (confus, je sais). Invoquer zipalign avant que apksigner ne fonctionne correctement car apksigner préserve l’alignement et la compression APK (contrairement à jarsigner).

Vous pouvez vérifier l’alignement avec

 zipalign -c 4 my-aligned.apk 

Étape 3: Signer et vérifier

Utiliser des outils de compilation 24.0.2 et plus anciens

Utilisez jarsigner qui, comme l’ jarsigner keytool, est livré avec la dissortingbution JDK trouvée dans %JAVA_HOME%/bin/ et l’utilise comme ceci:

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore my-app.apk my_alias_name 

et peut être vérifié avec

 jarsigner -verify -verbose my_application.apk 

Utiliser des outils de compilation 24.0.3 et plus récents

Android 7.0 introduit APK Signature Scheme v2, un nouveau système de signature d’application qui offre des temps d’installation plus rapides et une meilleure protection contre les modifications non autorisées des fichiers APK (voir ici et ici pour plus de détails). Par conséquent, Google a implémenté son propre signataire apksigner appelé apksigner (duh!). Le fichier de script se trouve dans %ANDROID_HOME%/sdk/build-tools/24.0.3/ (le .jar se trouve dans le sous-dossier /lib ). Utilisez-le comme ça

 apksigner sign --ks my.keystore my-app.apk --ks-key-alias alias_name 

et peut être vérifié avec

 apksigner verify my-app.apk 

La documentation officielle est disponible ici.

Ne t’inquiète pas …! Suivez les étapes ci-dessous et vous obtiendrez votre fichier .apk signé. J’étais aussi inquiet à ce sujet, mais ces étapes me font perdre de la frustration. Étapes pour signer votre demande:

  1. Exportez le package non signé:

Faites un clic droit sur le projet dans Eclipse -> Outils Android -> Exporter le package d’application non signé (comme ici, nous exportons notre GoogleDriveApp.apk vers le bureau)

Signez l’application à l’aide de votre fichier de clés et de l’outil jarsigner (suivez les étapes ci-dessous):

Ouvrez cmd -> changez le répertoire où se trouve votre “jarsigner.exe” (comme ici dans mon système il existe à “C: \ Program Files \ Java \ jdk1.6.0_17 \ bin”

Maintenant, entrez la commande belwo dans cmd:

jarsigner -verbose -keystore c: \ users \ android \ debug.keystore c: \ users \ pir fahim \ Desktops \ GoogleDriveApp.apk my_keystore_alias

Il vous demandera de fournir votre mot de passe: Entrez Passphrase for keystore: Il signera votre apk. Pour vérifier que la signature a réussi, vous pouvez exécuter:

jarsigner -verify c: \ users \ pir fahim \ Desktops \ GoogleDriveApp.apk

Il devrait revenir avec: pot vérifié.

Méthode 2

Si vous utilisez eclipse avec ADT, il est simple de comstackr, de signer, d’aligner et de préparer le fichier pour la dissortingbution. Suivez simplement les étapes ci-dessous.

  • Fichier> Exporter.
  • Exporter l’application Android
  • Parcourir -> sélectionnez votre projet
  • Suivant -> Suivant

Ces étapes seront compilées, signées et alignées sur votre projet et vous êtes maintenant prêt à dissortingbuer votre projet ou à le télécharger sur Google Play Store.

Pour les utilisateurs d’IntelliJ IDEA ou d’Android Studio, procédez comme suit:
* Depuis le menu Build/Generate signed APK
* Vous devez créer un chemin de fichier de clés. Dans la boîte de dialog, cliquez sur Create new . Vous allez créer un fichier jks contenant vos clés. Sélectionnez le dossier, définissez un mot de passe. Donc, votre magasin de clés est correct.
* Créer une nouvelle clé pour votre application en utilisant un alias, un mot de passe, votre nom, etc.
* Cliquez sur Suivant.
* Dans la boîte de dialog, sélectionnez Proguard ou non.

Votre fichier APK signé est prêt.

Fichier d’aide: https://www.jetbrains.com/idea/webhelp/generate-signed-apk-wizard.html

J’ai rencontré ce problème et j’ai été résolu en vérifiant la version de mini sdk dans le manifeste. Il était réglé sur 15 (ICS), mais mon téléphone fonctionnait 10 (Gingerbread)

APK Signing Process


Pour signer manuellement Android APK fichier, nous avons besoin ci-dessous trois commandes

1 Générer un fichier de clés

 keytool -genkey -v -keystore <_your_keystore_name>.keystore -alias <_alias_name> -keyalg RSA -keysize 2048 -validity 10000 

2 Sign Your APK fichier en utilisant Jarsigner

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <_keystore_file_path> <_unsigned_apk_path> <_alias_name> 

3 Align Signed APK en utilisant l’outil zipalign

 zipalign -v 4 <_jarsigned_apk_file_path> <_zipaligned_signed_apk_file_path> 

#STEP-1#

Generate Keystore file


F: \ ru \ ru_doc \ Signed_apk \ MySignedApp> outil-clé -genkey -v -keystore <_your_keystore_name> .keystore -alias <_alias_name> -keyalg RSA -keysize 2048 -validity 10000

Exemple_

 F:\ru\ru_doc\Signed_apk\MySignedApp>keytool -genkey -v -keystore id.keystore -alias MySignedApp -keyalg RSA -keysize 2048 -validity 10000 

mot de passe keystore: votre mot de passe yourApp @ 123 : votreApp @ 123

CMD O / P-

 D:\ru\SignedBuilds\MySignedApp>keytool -genkey -v -keystore id.keystore -alias MySignedApp -keyalg RSA -keysize 2048 -validity 10000 Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: MySignedApp Sample What is the name of your organizational unit? [Unknown]: Information Technology What is the name of your organization? [Unknown]: MySignedApp Demo What is the name of your City or Locality? [Unknown]: Mumbai What is the name of your State or Province? [Unknown]: Maharashtra What is the two-letter country code for this unit? [Unknown]: IN Is CN=MySignedApp Demo, OU=Information Technology, O=MySignedApp Demo, L=Mumbai, ST=Maharashtra, C=IN corr ect? [no]: y Generating 2,048 bit RSA key pair and self-signed certificatee (SHA256withRSA) with a validity of 10, 000 days for: CN=MySignedApp Demo, OU=Information Technology, O=MySignedApp Demo, L=Mumbai, ST=Maharashtra, C=IN Enter key password for  (RETURN if same as keystore password): Re-enter new password: They don't match. Try again Enter key password for  (RETURN if same as keystore password): Re-enter new password: [Storing id.keystore] D:\ru\SignedBuilds\MySignedApp> 

#STEP-2#

Sign your app with your private keystore using jarsigner

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <_keystore_file_path> <_unsigned_apk_path> <_alias_name>

Exemple_

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore D:\ru\SignedBuilds\MySignedApp\id.keystore D:\ru\SignedBuilds\MySignedApp\MySignedAppS1-release-unsigned.apk id 

CMD O / P-

 D:\ru\SignedBuilds\MySignedApp>jarsigner -verbose -sigalg SHA1withRSA - digestalg SHA1 -keystore D:\ru\SignedBuilds\MySignedApp\id.keystore D:\ru\SignedBuilds\MySignedApp\MySignedAppS1-release-unsigned.apk id --- ect Enter Passphrase for keystore: adding: META-INF/MANIFEST.MF adding: META-INF/---.SF adding: META-INF/---.RSA signing: AndroidManifest.xml ..... signing: classes.dex signing: lib/commons-codec-1.6.jar signing: lib/armeabi/libkonyjsvm.so jar signed. Warning: No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificatee's expiration date (2044-02-07) or after an y future revocation date. D:\ru\SignedBuilds\MySignedApp> 

Verify that your APK is signed


jarsigner -verify -verbose -certs <_jarsigned_apk_file_path>

Exemple_

 jarsigner -verify -verbose -certs MySignedAppS1-release-unsigned.apk 

CMD O / P-

 D:\ru\SignedBuilds\MySignedApp>jarsigner -verify -verbose -certs MySignedAppS1-release-unsigned.apk s = signature was verified m = entry is listed in manifest k = at least one certificatee was found in keystore i = at least one certificatee was found in identity scope jar verified. Warning: This jar contains ensortinges whose certificatee chain is not validated. This jar contains signatures that does not include a timestamp. Without a timestamp, users may not b e able to validate this jar after the signer certificatee's expiration date (2044-02-09) or after any future revocation date. D:\ru\SignedBuilds\MySignedApp> 

#STEP 3#

Aligner le package APK final à l’aide de zipalign

zipalign -v 4 <_jarsigned_apk_file_path> <_zipaligned_signed_apk_file_path_with_name_ofsignedapk_>

Exemple_

 zipalign -v 4 D:\ru\SignedBuilds\MySignedApp\MySignedAppS1-release-unsigned.apk D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk 

CMD O / P-

 D:\Android\android-sdk\build-tools\19.1.0>zipalign -v 4 D:\ru\ru_doc\Signed_apk\MySignedApp\28.09.16 _prod_playstore\MySignedAppS1-release-unsigned.apk D:\ru\ru_doc\Signed_apk\MySignedApp\28.09.16_prod _playstore\MySignedApp.apk Verifying alignment of D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk ( 4)... 4528613 classes.dex (OK - compressed) 5656594 lib/commons-codec-1.6.jar (OK - compressed) 5841869 lib/armeabi/libkonyjsvm.so (OK - compressed) Verification succesful D:\Android\android-sdk\build-tools\19.1.0> 

Verify that your APK is Aligned succesfully


zipalign -c -v 4 <_your_apk_path>

Exemple_

 zipalign -c -v 4 D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk 

CMD O / P-

 D:\Android\android-sdk\build-tools\19.1.0>zipalign -c -v 4 D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk Verifying alignment of D:\ru\SignedBuilds\MySignedApp\MySignedApp.apk ( 4)... 4453984 res/drawable/zoomout.png (OK) 4454772 res/layout/tabview.xml (OK - compressed) 4455243 res/layout/wheel_item.xml (OK - compressed) 4455608 resources.arsc (OK) 4470161 classes.dex (OK - compressed) 5597923 lib/commons-codec-1.6.jar (OK - compressed) 5783198 lib/armeabi/libkonyjsvm.so (OK - compressed) Verification succesful D:\Android\android-sdk\build-tools\19.1.0> 

Remarque:

Verify commandes de Verify sont juste pour vérifier si APK est construit et signé correctement!

Référence

signature manuelle

processus de signature de code androidapk

J’espère que cela aidera sur e et tout 🙂