How to sign an android apk file

I am trying to sign my apk file. I can't figure out how to do it. I can't find good in-depth directions. I have very little programing experience, so any help would be appreciated.


The manual is clear enough. Please specify what part you get stuck with after you work through it, I'd suggest:

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

Okay, a small overview without reference or eclipse around, so leave some space for errors, but it works like this

  • Open your project in eclipse
  • Press right-mouse - > tools (android tools?) - > export signed application (apk?)
  • Go through the wizard:
  • Make a new key-store. remember that password
  • Sign your app
  • Save it etc.
  • Also, from the link:

    Compile and sign with Eclipse ADT

    If you are using Eclipse with the ADT plugin, you can use the Export Wizard to export a signed .apk (and even create a new keystore, if necessary). The Export Wizard performs all the interaction with the Keytool and Jarsigner for you, which allows you to sign the package using a GUI instead of performing the manual procedures to compile, sign, and align, as discussed above. Once the wizard has compiled and signed your package, it will also perform package alignment with zip align. Because the Export Wizard uses both Keytool and Jarsigner, you should ensure that they are accessible on your computer, as described above in the Basic Setup for Signing.

    To create a signed and aligned .apk in Eclipse:

  • Select the project in the Package Explorer and select File > Export.
  • Open the Android folder, select Export Android Application, and click Next.

    The Export Android Application wizard now starts, which will guide you through the process of signing your application, including steps for selecting the private key with which to sign the .apk (or creating a new keystore and private key).

  • Complete the Export Wizard and your application will be compiled, signed, aligned, and ready for distribution.

  • Here is a guide on how to manually sign an APK. It includes info about the new apk-signer introduced in build-tools 24.0.3 (10/2016)

    Automated Process:

    Use this tool (uses the new apksigner from Google):

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

    Disclaimer: Im the developer :)

    Manual Process:

    Step 1: Generate Keystore (only once)

    You need to generate a keystore once and use it to sign your unsigned apk. Use the keytool provided by the JDK found in %JAVA_HOME%/bin/

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

    Step 2 or 4: Zipalign

    zipalign which is a tool provided by the Android SDK found in eg %ANDROID_HOME%/sdk/build-tools/24.0.2/ is a mandatory optimzation step if you want to upload the apk to the Play Store.

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

    Note: when using the old jarsigner you need to zipalign AFTER signing. When using the new apksigner method you do it BEFORE signing (confusing, I know). Invoking zipalign before apksigner works fine because apksigner preserves APK alignment and compression (unlike jarsigner).

    You can verify the alignment with

    zipalign -c 4 my-aligned.apk
    

    Step 3: Sign & Verify

    Using build-tools 24.0.2 and older

    Use jarsigner which, like the keytool, comes with the JDK distribution found in %JAVA_HOME%/bin/ and use it like so:

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

    and can be verified with

    jarsigner -verify -verbose my_application.apk
    

    Using build-tools 24.0.3 and newer

    Android 7.0 introduces APK Signature Scheme v2, a new app-signing scheme that offers faster app install times and more protection against unauthorized alterations to APK files (See here and here for more details). Threfore Google implemented their own apk signer called apksigner (duh!) The script file can be found in %ANDROID_HOME%/sdk/build-tools/24.0.3/ (the .jar is in the /lib subfolder). Use it like this

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

    and can be verified with

    apksigner verify my-app.apk
    

    The official documentation can be found here.


    For users of IntelliJ IDEA or Android Studio make these steps:
    * From the menu Build/Generate signed APK
    * You need to create a keystore path. From the dialog click Create new . You will create a jks file that includes your keys. Select folder, define a password. So your keystore ok.
    * Create new key by for your application by using alias, key password, your name etc.
    * Click next.
    * From the dialog either select Proguard or not.

    Your signed APK file is ready.

    Help file: https://www.jetbrains.com/idea/webhelp/generate-signed-apk-wizard.html

    链接地址: http://www.djcxy.com/p/90692.html

    上一篇: 安装错误:INSTALL

    下一篇: 如何签署android apk文件