web-dev-qa-db-fra.com

Comment signer un apk en ligne de commande

Soyez informé que nous avons créé un fichier apk par ligne de commande à l'aide du SDK Android. Maintenant, depuis le télécharger sur Google Play Store, l'apk doit être signé. Comment allons-nous faire cela.

4
Ahamed Husain

Étape 1

Tout d'abord, vous devez générer une clé de signature privée

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

Cette commande vous demandera un mot de passe pour votre magasin de clés et votre clé (ainsi que pour certains champs supplémentaires). N'oubliez pas de garder votre keystore file private à tout moment.

Étape 2

Ensuite, vous devez configurer gradle 

  1. Placez my-release-key.keystore que vous avez généré à l'étape 1 sous Android/app 
  2. Mettez à jour votre ~/.gradle/gradle.properties sous Android/app et ajoutez ce qui suit

    MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
    MYAPP_RELEASE_KEY_ALIAS=my-key-alias
    MYAPP_RELEASE_STORE_PASSWORD=<The password you choose earlier with the keytool>
    MYAPP_RELEASE_KEY_PASSWORD=<The password you choose earlier with the keytool>
    

Étape 3

Enfin, vous devez mettre à jour votre Android/app/build.gradle

Android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}

Maintenant, vous pouvez simplement générer une version signée via la ligne de commande en exécutant la commande suivante dans votre répertoire Android

./gradlew assembleRelease

L'apk généré peut ensuite être trouvé dans votre répertoire build/outputs/apk/release

8
jomis
  1. Tout d'abord, vous avez besoin d'un magasin de clés pour commencer le processus. Vous allez signer votre apk avec ce magasin de clés et vous devez vous connecter avec le même magasin de clés pour les futures mises à jour. En savoir plus sur le fichier de clés ici: https://developer.Android.com/studio/publish/app-signing#generate-key

  2. Une fois que vous avez généré le fichier de clés, vous devez utiliser l'utilitaire jarsigner (disponible dans le dossier JDK).

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore votre-release-key.keystore Android-release-unsigned.apk alias -storepass mot de passe

  3. La prochaine étape consiste à utiliser l'outil zipalign (disponible dans le dossier du SDK Android) pour vérifier l'apk.

    chemin d'accès à Android-sdk/build-tools/version/zipalign -v 4 Android-release-unsigned.apk Android-prod-release-signed.apk

  4. La dernière étape consiste à vérifier avec l'outil apksigner (disponible dans le dossier du SDK Android)

    chemin d'accès à Android-sdk/build-tools/version/apksigner vérifier Android-prod-release-signed.apk

PS: Remplacer les chemins, fichiers et mots de passe par les valeurs réelles

1
Kalyan Dechiraju

Suivez ces commandes pour préparer le Play Store apk:

Étape 1: Créez un apk non signé:

./gradlew assembleRelease

Étape 2: Créez un apk signé:

jarsigner -keystore YOUR_KEYSTORE_PATH -storepass YOUR_KEYSTORE_PASSWORD app/build/outputs/apk/release/app-release-unsigned.apk YOUR_KEY_ALIAS

Étape 3: Zipaligning the apk:

your_Android-sdk_path/Android-sdk/build-tools/your_build_tools_version/zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk release.apk
0
borosuman